diff options
Diffstat (limited to 'src/3rdparty/assimp/code/NFFLoader.h')
-rw-r--r-- | src/3rdparty/assimp/code/NFFLoader.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/src/3rdparty/assimp/code/NFFLoader.h b/src/3rdparty/assimp/code/NFFLoader.h deleted file mode 100644 index 0640d4405..000000000 --- a/src/3rdparty/assimp/code/NFFLoader.h +++ /dev/null @@ -1,214 +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 NFFLoader.h - * @brief Declaration of the NFF importer class. - */ -#ifndef AI_NFFLOADER_H_INCLUDED -#define AI_NFFLOADER_H_INCLUDED - -#include "BaseImporter.h" -#include <assimp/types.h> -#include <assimp/material.h> -#include <vector> - - -namespace Assimp { - -// ---------------------------------------------------------------------------------- -/** NFF (Neutral File Format) Importer class. - * - * The class implements both Eric Haynes NFF format and Sense8's NFF (NFF2) format. - * Both are quite different and the loading code is somewhat dirty at - * the moment. Sense8 should be moved to a separate loader. -*/ -class NFFImporter : public BaseImporter -{ -public: - NFFImporter(); - ~NFFImporter(); - - -public: - - // ------------------------------------------------------------------- - /** Returns whether the class can handle the format of the given file. - * See BaseImporter::CanRead() for details. - */ - bool CanRead( const std::string& pFile, IOSystem* pIOHandler, - bool checkSig) const; - -protected: - - // ------------------------------------------------------------------- - /** Return importer meta information. - * See #BaseImporter::GetInfo for the details - */ - const aiImporterDesc* GetInfo () const; - - // ------------------------------------------------------------------- - /** Imports the given file into the given scene structure. - * See BaseImporter::InternReadFile() for details - */ - void InternReadFile( const std::string& pFile, aiScene* pScene, - IOSystem* pIOHandler); - -private: - - - // describes face material properties - struct ShadingInfo - { - ShadingInfo() - : color (0.6f,0.6f,0.6f) - , diffuse (1.f,1.f,1.f) - , specular (1.f,1.f,1.f) - , ambient (0.f,0.f,0.f) - , emissive (0.f,0.f,0.f) - , refracti (1.f) - , twoSided (false) // for NFF2 - , shaded (true) // for NFF2 - , opacity (1.f) - , shininess (0.f) - , mapping (aiTextureMapping_UV) - {} - - aiColor3D color,diffuse,specular,ambient,emissive; - float refracti; - - std::string texFile; - - // For NFF2 - bool twoSided; - bool shaded; - float opacity, shininess; - - std::string name; - - // texture mapping to be generated for the mesh - uv is the default - // it means: use UV if there, nothing otherwise. This property is - // used for locked meshes. - aiTextureMapping mapping; - - // shininess is ignored for the moment - bool operator == (const ShadingInfo& other) const - { - return color == other.color && - diffuse == other.diffuse && - specular == other.specular && - ambient == other.ambient && - refracti == other.refracti && - texFile == other.texFile && - twoSided == other.twoSided && - shaded == other.shaded; - - // Some properties from NFF2 aren't compared by this operator. - // Comparing MeshInfo::matIndex should do that. - } - }; - - // describes a NFF light source - struct Light - { - Light() - : intensity (1.f) - , color (1.f,1.f,1.f) - {} - - aiVector3D position; - float intensity; - aiColor3D color; - }; - - enum PatchType - { - PatchType_Simple = 0x0, - PatchType_Normals = 0x1, - PatchType_UVAndNormals = 0x2 - }; - - // describes a NFF mesh - struct MeshInfo - { - MeshInfo(PatchType _pType, bool bL = false) - : pType (_pType) - , bLocked (bL) - , radius (1.f,1.f,1.f) - , dir (0.f,1.f,0.f) - , matIndex (0) - { - name[0] = '\0'; // by default meshes are unnamed - } - - ShadingInfo shader; - PatchType pType; - bool bLocked; - - // for spheres, cones and cylinders: center point of the object - aiVector3D center, radius, dir; - - char name[128]; - - std::vector<aiVector3D> vertices, normals, uvs; - std::vector<unsigned int> faces; - - // for NFF2 - std::vector<aiColor4D> colors; - unsigned int matIndex; - }; - - - // ------------------------------------------------------------------- - /** Loads the material table for the NFF2 file format from an - * external file. - * - * @param output Receives the list of output meshes - * @param path Path to the file (abs. or rel.) - * @param pIOHandler IOSystem to be used to open the file - */ - void LoadNFF2MaterialTable(std::vector<ShadingInfo>& output, - const std::string& path, IOSystem* pIOHandler); - -}; - -} // end of namespace Assimp - -#endif // AI_NFFIMPORTER_H_IN |