diff options
Diffstat (limited to 'src/3rdparty/assimp/code/AMFImporter_Node.hpp')
-rw-r--r-- | src/3rdparty/assimp/code/AMFImporter_Node.hpp | 400 |
1 files changed, 0 insertions, 400 deletions
diff --git a/src/3rdparty/assimp/code/AMFImporter_Node.hpp b/src/3rdparty/assimp/code/AMFImporter_Node.hpp deleted file mode 100644 index 522e6ccca..000000000 --- a/src/3rdparty/assimp/code/AMFImporter_Node.hpp +++ /dev/null @@ -1,400 +0,0 @@ -/* ---------------------------------------------------------------------------- -Open Asset Import Library (assimp) ---------------------------------------------------------------------------- - -Copyright (c) 2006-2017, assimp team - - -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above -copyright notice, this list of conditions and the -following disclaimer. - -* Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the -following disclaimer in the documentation and/or other -materials provided with the distribution. - -* Neither the name of the assimp team, nor the names of its -contributors may be used to endorse or promote products -derived from this software without specific prior -written permission of the assimp team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- -*/ - -/// \file AMFImporter_Node.hpp -/// \brief Elements of scene graph. -/// \date 2016 -/// \author smal.root@gmail.com - -#pragma once -#ifndef INCLUDED_AI_AMF_IMPORTER_NODE_H -#define INCLUDED_AI_AMF_IMPORTER_NODE_H - -// Header files, stdlib. -#include <list> -#include <string> -#include <vector> - -// Header files, Assimp. -#include "assimp/types.h" -#include "assimp/scene.h" - -/// \class CAMFImporter_NodeElement -/// Base class for elements of nodes. -class CAMFImporter_NodeElement { - -public: - /// Define what data type contain node element. - enum EType { - ENET_Color, ///< Color element: <color>. - ENET_Constellation,///< Grouping element: <constellation>. - ENET_Coordinates, ///< Coordinates element: <coordinates>. - ENET_Edge, ///< Edge element: <edge>. - ENET_Instance, ///< Grouping element: <constellation>. - ENET_Material, ///< Material element: <material>. - ENET_Metadata, ///< Metadata element: <metadata>. - ENET_Mesh, ///< Metadata element: <mesh>. - ENET_Object, ///< Element which hold object: <object>. - ENET_Root, ///< Root element: <amf>. - ENET_Triangle, ///< Triangle element: <triangle>. - ENET_TexMap, ///< Texture coordinates element: <texmap> or <map>. - ENET_Texture, ///< Texture element: <texture>. - ENET_Vertex, ///< Vertex element: <vertex>. - ENET_Vertices, ///< Vertex element: <vertices>. - ENET_Volume, ///< Volume element: <volume>. - - ENET_Invalid ///< Element has invalid type and possible contain invalid data. - }; - - const EType Type;///< Type of element. - std::string ID;///< ID of element. - CAMFImporter_NodeElement* Parent;///< Parent element. If nullptr then this node is root. - std::list<CAMFImporter_NodeElement*> Child;///< Child elements. - -public: /// Destructor, virtual.. - virtual ~CAMFImporter_NodeElement() { - // empty - } - -private: - /// Disabled copy constructor. - CAMFImporter_NodeElement(const CAMFImporter_NodeElement& pNodeElement); - - /// Disabled assign operator. - CAMFImporter_NodeElement& operator=(const CAMFImporter_NodeElement& pNodeElement); - - /// Disabled default constructor. - CAMFImporter_NodeElement(); - -protected: - /// In constructor inheritor must set element type. - /// \param [in] pType - element type. - /// \param [in] pParent - parent element. - CAMFImporter_NodeElement(const EType pType, CAMFImporter_NodeElement* pParent) - : Type(pType) - , ID() - , Parent(pParent) - , Child() { - // empty - } -};// class IAMFImporter_NodeElement - -/// \struct CAMFImporter_NodeElement_Constellation -/// A collection of objects or constellations with specific relative locations. -struct CAMFImporter_NodeElement_Constellation : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Constellation(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Constellation(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Constellation, pParent) - {} - -};// struct CAMFImporter_NodeElement_Constellation - -/// \struct CAMFImporter_NodeElement_Instance -/// Part of constellation. -struct CAMFImporter_NodeElement_Instance : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - std::string ObjectID;///< ID of object for instantiation. - /// \var Delta - The distance of translation in the x, y, or z direction, respectively, in the referenced object's coordinate system, to - /// create an instance of the object in the current constellation. - aiVector3D Delta; - - /// \var Rotation - The rotation, in degrees, to rotate the referenced object about its x, y, and z axes, respectively, to create an - /// instance of the object in the current constellation. Rotations shall be executed in order of x first, then y, then z. - aiVector3D Rotation; - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Instance(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Instance(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Instance, pParent) - {} - -};// struct CAMFImporter_NodeElement_Instance - -/// \struct CAMFImporter_NodeElement_Metadata -/// Structure that define metadata node. -struct CAMFImporter_NodeElement_Metadata : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - std::string Type;///< Type of "Value". - std::string Value;///< Value. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Metadata(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Metadata(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Metadata, pParent) - {} - -};// struct CAMFImporter_NodeElement_Metadata - -/// \struct CAMFImporter_NodeElement_Root -/// Structure that define root node. -struct CAMFImporter_NodeElement_Root : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - std::string Unit;///< The units to be used. May be "inch", "millimeter", "meter", "feet", or "micron". - std::string Version;///< Version of format. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Root(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Root(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Root, pParent) - {} - -};// struct CAMFImporter_NodeElement_Root - -/// \struct CAMFImporter_NodeElement_Color -/// Structure that define object node. -struct CAMFImporter_NodeElement_Color : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - bool Composed;///< Type of color stored: if true then look for formula in \ref Color_Composed[4], else - in \ref Color. - std::string Color_Composed[4];///< By components formulas of composed color. [0..3] => RGBA. - aiColor4D Color;///< Constant color. - std::string Profile;///< The ICC color space used to interpret the three color channels <r>, <g> and <b>.. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Color(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Color(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Color, pParent) - {} - -};// struct CAMFImporter_NodeElement_Color - -/// \struct CAMFImporter_NodeElement_Material -/// Structure that define material node. -struct CAMFImporter_NodeElement_Material : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Material(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Material(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Material, pParent) - {} - -};// struct CAMFImporter_NodeElement_Material - -/// \struct CAMFImporter_NodeElement_Object -/// Structure that define object node. -struct CAMFImporter_NodeElement_Object : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Object(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Object(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Object, pParent) - {} - -};// struct CAMFImporter_NodeElement_Object - -/// \struct CAMFImporter_NodeElement_Mesh -/// Structure that define mesh node. -struct CAMFImporter_NodeElement_Mesh : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Mesh(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Mesh(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Mesh, pParent) - {} - -};// struct CAMFImporter_NodeElement_Mesh - -/// \struct CAMFImporter_NodeElement_Vertex -/// Structure that define vertex node. -struct CAMFImporter_NodeElement_Vertex : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Vertex(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Vertex(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Vertex, pParent) - {} - -};// struct CAMFImporter_NodeElement_Vertex - -/// \struct CAMFImporter_NodeElement_Edge -/// Structure that define edge node. -struct CAMFImporter_NodeElement_Edge : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Edge(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Edge(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Edge, pParent) - {} - -};// struct CAMFImporter_NodeElement_Vertex - -/// \struct CAMFImporter_NodeElement_Vertices -/// Structure that define vertices node. -struct CAMFImporter_NodeElement_Vertices : public CAMFImporter_NodeElement -{ - /// \fn CAMFImporter_NodeElement_Vertices(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Vertices(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Vertices, pParent) - {} - -};// struct CAMFImporter_NodeElement_Vertices - -/// \struct CAMFImporter_NodeElement_Volume -/// Structure that define volume node. -struct CAMFImporter_NodeElement_Volume : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - std::string MaterialID;///< Which material to use. - std::string Type;///< What this volume describes can be “region” or “support”. If none specified, “object” is assumed. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Volume(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Volume(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Volume, pParent) - {} - -};// struct CAMFImporter_NodeElement_Volume - -/// \struct CAMFImporter_NodeElement_Coordinates -/// Structure that define coordinates node. -struct CAMFImporter_NodeElement_Coordinates : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - aiVector3D Coordinate;///< Coordinate. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Coordinates(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Coordinates(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Coordinates, pParent) - {} - -};// struct CAMFImporter_NodeElement_Coordinates - -/// \struct CAMFImporter_NodeElement_TexMap -/// Structure that define texture coordinates node. -struct CAMFImporter_NodeElement_TexMap : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - aiVector3D TextureCoordinate[3];///< Texture coordinates. - std::string TextureID_R;///< Texture ID for red color component. - std::string TextureID_G;///< Texture ID for green color component. - std::string TextureID_B;///< Texture ID for blue color component. - std::string TextureID_A;///< Texture ID for alpha color component. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_TexMap(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_TexMap(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_TexMap, pParent) - {} - -};// struct CAMFImporter_NodeElement_TexMap - -/// \struct CAMFImporter_NodeElement_Triangle -/// Structure that define triangle node. -struct CAMFImporter_NodeElement_Triangle : public CAMFImporter_NodeElement -{ - /****************** Variables ******************/ - - size_t V[3];///< Triangle vertices. - - /****************** Functions ******************/ - - /// \fn CAMFImporter_NodeElement_Triangle(CAMFImporter_NodeElement* pParent) - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Triangle(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Triangle, pParent) - {} - -};// struct CAMFImporter_NodeElement_Triangle - -/// Structure that define texture node. -struct CAMFImporter_NodeElement_Texture : public CAMFImporter_NodeElement { - size_t Width, Height, Depth;///< Size of the texture. - std::vector<uint8_t> Data;///< Data of the texture. - bool Tiled; - - /// Constructor. - /// \param [in] pParent - pointer to parent node. - CAMFImporter_NodeElement_Texture(CAMFImporter_NodeElement* pParent) - : CAMFImporter_NodeElement(ENET_Texture, pParent) - , Width( 0 ) - , Height( 0 ) - , Depth( 0 ) - , Data() - , Tiled( false ){ - // empty - } -};// struct CAMFImporter_NodeElement_Texture - -#endif // INCLUDED_AI_AMF_IMPORTER_NODE_H |