diff options
Diffstat (limited to 'src/3rdparty/assimp/code/LWSLoader.h')
-rw-r--r-- | src/3rdparty/assimp/code/LWSLoader.h | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/src/3rdparty/assimp/code/LWSLoader.h b/src/3rdparty/assimp/code/LWSLoader.h deleted file mode 100644 index e36d27b77..000000000 --- a/src/3rdparty/assimp/code/LWSLoader.h +++ /dev/null @@ -1,253 +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 LWSLoader.h - * @brief Declaration of the LightWave scene importer class. - */ -#ifndef AI_LWSLOADER_H_INCLUDED -#define AI_LWSLOADER_H_INCLUDED - -#include "LWOFileData.h" -#include <assimp/SceneCombiner.h> -#include "BaseImporter.h" - -struct aiImporterDesc; - -namespace Assimp { - class BatchLoader; - class Importer; - class IOSystem; - - namespace LWS { - -// --------------------------------------------------------------------------- -/** Represents an element in a LWS file. - * - * This can either be a single data line - <name> <value> or a data - * group - { name <data_line0> ... n } - */ -class Element -{ -public: - Element() - {} - - // first: name, second: rest - std::string tokens[2]; - std::list<Element> children; - - //! Recursive parsing function - void Parse (const char*& buffer); -}; - -#define AI_LWS_MASK (0xffffffff >> 4u) - -// --------------------------------------------------------------------------- -/** Represents a LWS scenegraph element - */ -struct NodeDesc -{ - NodeDesc() - : type() - , id() - , number (0) - , parent (0) - , name ("") - , isPivotSet (false) - , lightColor (1.f,1.f,1.f) - , lightIntensity (1.f) - , lightType (0) - , lightFalloffType (0) - , lightConeAngle (45.f) - , lightEdgeAngle() - , parent_resolved (NULL) - {} - - enum { - - OBJECT = 1, - LIGHT = 2, - CAMERA = 3, - BONE = 4 - } type; // type of node - - // if object: path - std::string path; - unsigned int id; - - // number of object - unsigned int number; - - // index of parent index - unsigned int parent; - - // lights & cameras & dummies: name - const char* name; - - // animation channels - std::list< LWO::Envelope > channels; - - // position of pivot point - aiVector3D pivotPos; - bool isPivotSet; - - - - // color of light source - aiColor3D lightColor; - - // intensity of light source - float lightIntensity; - - // type of light source - unsigned int lightType; - - // falloff type of light source - unsigned int lightFalloffType; - - // cone angle of (spot) light source - float lightConeAngle; - - // soft cone angle of (spot) light source - float lightEdgeAngle; - - - - // list of resolved children - std::list< NodeDesc* > children; - - // resolved parent node - NodeDesc* parent_resolved; - - - // for std::find() - bool operator == (unsigned int num) const { - if (!num) - return false; - unsigned int _type = num >> 28u; - - return _type == static_cast<unsigned int>(type) && (num & AI_LWS_MASK) == number; - } -}; - -} // end namespace LWS - -// --------------------------------------------------------------------------- -/** LWS (LightWave Scene Format) importer class. - * - * This class does heavily depend on the LWO importer class. LWS files - * contain mainly descriptions how LWO objects are composed together - * in a scene. -*/ -class LWSImporter : public BaseImporter -{ -public: - LWSImporter(); - ~LWSImporter(); - - -public: - - // ------------------------------------------------------------------- - // Check whether we can read a specific file - bool CanRead( const std::string& pFile, IOSystem* pIOHandler, - bool checkSig) const; - -protected: - - // ------------------------------------------------------------------- - // Get list of supported extensions - const aiImporterDesc* GetInfo () const; - - // ------------------------------------------------------------------- - // Import file into given scene data structure - void InternReadFile( const std::string& pFile, aiScene* pScene, - IOSystem* pIOHandler); - - // ------------------------------------------------------------------- - // Setup import properties - void SetupProperties(const Importer* pImp); - -private: - - - // ------------------------------------------------------------------- - // Read an envelope description - void ReadEnvelope(const LWS::Element& dad, LWO::Envelope& out ); - - // ------------------------------------------------------------------- - // Read an envelope description for the older LW file format - void ReadEnvelope_Old(std::list< LWS::Element >::const_iterator& it, - const std::list< LWS::Element >::const_iterator& end, - LWS::NodeDesc& nodes, - unsigned int version); - - // ------------------------------------------------------------------- - // Setup a nice name for a node - void SetupNodeName(aiNode* nd, LWS::NodeDesc& src); - - // ------------------------------------------------------------------- - // Recursively build the scenegraph - void BuildGraph(aiNode* nd, - LWS::NodeDesc& src, - std::vector<AttachmentInfo>& attach, - BatchLoader& batch, - aiCamera**& camOut, - aiLight**& lightOut, - std::vector<aiNodeAnim*>& animOut); - - // ------------------------------------------------------------------- - // Try several dirs until we find the right location of a LWS file. - std::string FindLWOFile(const std::string& in); - -private: - - bool configSpeedFlag; - IOSystem* io; - - double first,last,fps; - - bool noSkeletonMesh; -}; - -} // end of namespace Assimp - -#endif // AI_LWSIMPORTER_H_INC |