Browse Source

Merge branch 'master' into new_obj_stream_handling

Kim Kulling 8 years ago
parent
commit
cbe2e9af49
58 changed files with 862 additions and 11278 deletions
  1. 1 0
      .gitignore
  2. 10 9
      CMakeLists.txt
  3. 2 1
      code/AMFImporter_Postprocess.cpp
  4. 3 3
      code/AssimpCExport.cpp
  5. 2 2
      code/AssxmlExporter.cpp
  6. 1 1
      code/BlenderLoader.cpp
  7. 134 0
      code/CInterfaceIOWrapper.cpp
  8. 18 81
      code/CInterfaceIOWrapper.h
  9. 1 0
      code/CMakeLists.txt
  10. 1 1
      code/CalcTangentsProcess.cpp
  11. 4 3
      code/ColladaExporter.cpp
  12. 5 1
      code/ColladaExporter.h
  13. 5 5
      code/ColladaLoader.cpp
  14. 1 1
      code/ColladaParser.cpp
  15. 9 9
      code/ComputeUVMappingProcess.cpp
  16. 27 20
      code/D3MFImporter.cpp
  17. 2 1
      code/D3MFOpcPackage.cpp
  18. 1 1
      code/DefaultIOStream.cpp
  19. 75 16
      code/FBXBinaryTokenizer.cpp
  20. 3 3
      code/FixNormalsStep.cpp
  21. 0 5034
      code/IFCReaderGen.cpp
  22. 1 1
      code/LWOAnimation.cpp
  23. 1 1
      code/LWOMaterial.cpp
  24. 2 2
      code/MD3FileData.h
  25. 15 6
      code/MD5Parser.cpp
  26. 0 5658
      code/Makefile
  27. 7 2
      code/ObjFileParser.cpp
  28. 7 8
      code/OpenGEXImporter.cpp
  29. 1 1
      code/Q3BSPFileData.h
  30. 2 11
      code/Q3BSPFileImporter.cpp
  31. 1 1
      code/Q3BSPFileImporter.h
  32. 1 1
      code/Q3BSPFileParser.cpp
  33. 1 1
      code/Q3BSPFileParser.h
  34. 1 1
      code/Q3BSPZipArchive.cpp
  35. 42 76
      code/Q3BSPZipArchive.h
  36. 2 2
      code/SIBImporter.cpp
  37. 4 13
      code/STEPFile.h
  38. 2 1
      code/StringUtils.h
  39. 1 0
      code/X3DExporter.cpp
  40. 75 50
      code/X3DImporter.cpp
  41. 1 1
      code/X3DImporter_Geometry2D.cpp
  42. 5 5
      code/X3DImporter_Light.cpp
  43. 13 12
      code/X3DImporter_Postprocess.cpp
  44. 1 1
      code/XFileParser.cpp
  45. 1 1
      code/XGLLoader.cpp
  46. 3 1
      code/glTFAsset.h
  47. 10 13
      code/glTFAsset.inl
  48. 2 2
      code/glTFAssetWriter.inl
  49. 196 63
      code/glTFExporter.cpp
  50. 6 1
      code/glTFExporter.h
  51. 2 2
      code/glTFImporter.cpp
  52. 8 8
      include/assimp/cfileio.h
  53. 9 9
      include/assimp/matrix4x4.inl
  54. 0 1
      include/assimp/types.h
  55. 6 5
      tools/assimp_qt_viewer/CMakeLists.txt
  56. 126 123
      tools/assimp_qt_viewer/glview.cpp
  57. 1 1
      tools/assimp_qt_viewer/mainwindow.cpp
  58. 1 1
      tools/assimp_qt_viewer/mainwindow.hpp

+ 1 - 0
.gitignore

@@ -31,6 +31,7 @@ assimp-config-version.cmake
 
 # MakeFile
 Makefile
+code/Makefile
 test/Makefile
 test/headercheck/Makefile
 tools/assimp_cmd/Makefile

+ 10 - 9
CMakeLists.txt

@@ -40,20 +40,20 @@ cmake_minimum_required( VERSION 2.8 )
 PROJECT( Assimp )
 
 # All supported options ###############################################
-OPTION( BUILD_SHARED_LIBS 
-  "Build package with shared libraries." 
+OPTION( BUILD_SHARED_LIBS
+  "Build package with shared libraries."
   ON
 )
 OPTION( ASSIMP_DOUBLE_PRECISION
   "Set to ON to enable double precision processing"
   OFF
 )
-OPTION( ASSIMP_OPT_BUILD_PACKAGES 
-  "Set to ON to generate CPack configuration files and packaging targets" 
+OPTION( ASSIMP_OPT_BUILD_PACKAGES
+  "Set to ON to generate CPack configuration files and packaging targets"
   OFF
 )
-OPTION( ASSIMP_ANDROID_JNIIOSYSTEM 
-  "Android JNI IOSystem support is active" 
+OPTION( ASSIMP_ANDROID_JNIIOSYSTEM
+  "Android JNI IOSystem support is active"
   OFF
 )
 OPTION( ASSIMP_NO_EXPORT
@@ -77,6 +77,7 @@ OPTION ( ASSIMP_BUILD_TESTS
   ON
 )
 IF(MSVC)
+  set (CMAKE_PREFIX_PATH "D:\\libs\\devil")
   OPTION( ASSIMP_INSTALL_PDB
     "Install MSVC debug files."
     ON
@@ -336,10 +337,10 @@ IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
   # Why here? Maybe user do not want Qt viewer and have no Qt.
   # Why assimp_qt_viewer/CMakeLists.txt still contain similar check?
   # Because viewer can be build independently of Assimp.
-  FIND_PACKAGE(Qt5 QUIET)
+  FIND_PACKAGE(Qt5Widgets QUIET)
   FIND_PACKAGE(DevIL QUIET)
   FIND_PACKAGE(OpenGL QUIET)
-  IF ( Qt5_FOUND AND IL_FOUND AND OPENGL_FOUND)
+  IF ( Qt5Widgets_FOUND AND IL_FOUND AND OPENGL_FOUND)
     ADD_SUBDIRECTORY( tools/assimp_qt_viewer/ )
   ELSE()
     SET ( ASSIMP_QT_VIEWER_DEPENDENCIES "")
@@ -356,7 +357,7 @@ IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
     ENDIF (NOT OPENGL_FOUND)
 
     MESSAGE (WARNING "Build of assimp_qt_viewer is disabled. Unsatisfied dendencies: ${ASSIMP_QT_VIEWER_DEPENDENCIES}")
-  ENDIF ( Qt5_FOUND AND IL_FOUND AND OPENGL_FOUND)
+  ENDIF ( Qt5Widgets_FOUND AND IL_FOUND AND OPENGL_FOUND)
 ENDIF ( ASSIMP_BUILD_ASSIMP_TOOLS )
 
 IF ( ASSIMP_BUILD_SAMPLES)

+ 2 - 1
code/AMFImporter_Postprocess.cpp

@@ -51,6 +51,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 // Header files, Assimp.
 #include "SceneCombiner.h"
 #include "StandardShapes.h"
+#include "StringUtils.h"
 
 // Header files, stdlib.
 #include <algorithm>
@@ -950,7 +951,7 @@ nl_clean_loop:
 		pScene->mMaterials = new aiMaterial*[pScene->mNumMaterials];
 		for(const SPP_Texture& tex_convd: mTexture_Converted)
 		{
-			const aiString texture_id(AI_EMBEDDED_TEXNAME_PREFIX + std::to_string(idx));
+			const aiString texture_id(AI_EMBEDDED_TEXNAME_PREFIX + to_string(idx));
 			const int mode = aiTextureOp_Multiply;
 			const int repeat = tex_convd.Tiled ? 1 : 0;
 

+ 3 - 3
code/AssimpCExport.cpp

@@ -70,11 +70,11 @@ ASSIMP_API const aiExportFormatDesc* aiGetExportFormatDescription( size_t index)
     }
 
     aiExportFormatDesc *desc = new aiExportFormatDesc;
-    desc->description = new char[ strlen( orig->description ) + 1 ];
+    desc->description = new char[ strlen( orig->description ) + 1 ]();
     ::strncpy( (char*) desc->description, orig->description, strlen( orig->description ) );
-    desc->fileExtension = new char[ strlen( orig->fileExtension ) + 1 ];
+    desc->fileExtension = new char[ strlen( orig->fileExtension ) + 1 ]();
     ::strncpy( ( char* ) desc->fileExtension, orig->fileExtension, strlen( orig->fileExtension ) );
-    desc->id = new char[ strlen( orig->id ) + 1 ];
+    desc->id = new char[ strlen( orig->id ) + 1 ]();
     ::strncpy( ( char* ) desc->id, orig->id, strlen( orig->id ) );
 
     return desc;

+ 2 - 2
code/AssxmlExporter.cpp

@@ -299,7 +299,7 @@ void WriteDump(const aiScene* scene, IOStream* io, bool shortened) {
             else if (!shortened){
                 ioprintf(io,"\t\t<Data length=\"%i\"> \n",tex->mWidth*tex->mHeight*4);
 
-                // const unsigned int width = (unsigned int)log10((double)std::max(tex->mHeight,tex->mWidth))+1;
+                // const unsigned int width = (unsigned int)std::log10((double)std::max(tex->mHeight,tex->mWidth))+1;
                 for (unsigned int y = 0; y < tex->mHeight;++y) {
                     for (unsigned int x = 0; x < tex->mWidth;++x) {
                         aiTexel* tx = tex->pcData + y*tex->mWidth+x;
@@ -457,7 +457,7 @@ void WriteDump(const aiScene* scene, IOStream* io, bool shortened) {
         ioprintf(io,"<MeshList num=\"%i\">\n",scene->mNumMeshes);
         for (unsigned int i = 0; i < scene->mNumMeshes;++i) {
             aiMesh* mesh = scene->mMeshes[i];
-            // const unsigned int width = (unsigned int)log10((double)mesh->mNumVertices)+1;
+            // const unsigned int width = (unsigned int)std::log10((double)mesh->mNumVertices)+1;
 
             // mesh header
             ioprintf(io,"\t<Mesh types=\"%s %s %s %s\" material_index=\"%i\">\n",

+ 1 - 1
code/BlenderLoader.cpp

@@ -1143,7 +1143,7 @@ aiCamera* BlenderImporter::ConvertCamera(const Scene& /*in*/, const Object* obj,
     out->mUp = aiVector3D(0.f, 1.f, 0.f);
     out->mLookAt = aiVector3D(0.f, 0.f, -1.f);
     if (cam->sensor_x && cam->lens) {
-        out->mHorizontalFOV = atan2(cam->sensor_x,  2.f * cam->lens);
+        out->mHorizontalFOV = std::atan2(cam->sensor_x,  2.f * cam->lens);
     }
     out->mClipPlaneNear = cam->clipsta;
     out->mClipPlaneFar = cam->clipend;

+ 134 - 0
code/CInterfaceIOWrapper.cpp

@@ -0,0 +1,134 @@
+/*
+---------------------------------------------------------------------------
+Open Asset Import Library (assimp)
+---------------------------------------------------------------------------
+
+Copyright (c) 2006-2016, 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 aiFileIO -> IOSystem wrapper*/
+
+#include "CInterfaceIOWrapper.h"
+
+namespace Assimp    {
+
+CIOStreamWrapper::~CIOStreamWrapper(void)
+{
+    /* Various places depend on this destructor to close the file */
+    if (mFile) {
+        mIO->mFileSystem->CloseProc(mIO->mFileSystem, mFile);
+        mFile = nullptr;
+    }
+}
+
+// ...................................................................
+size_t CIOStreamWrapper::Read(void* pvBuffer,
+    size_t pSize,
+    size_t pCount
+){
+    // need to typecast here as C has no void*
+    return mFile->ReadProc(mFile,(char*)pvBuffer,pSize,pCount);
+}
+
+// ...................................................................
+size_t CIOStreamWrapper::Write(const void* pvBuffer,
+    size_t pSize,
+    size_t pCount
+){
+    // need to typecast here as C has no void*
+    return mFile->WriteProc(mFile,(const char*)pvBuffer,pSize,pCount);
+}
+
+// ...................................................................
+aiReturn CIOStreamWrapper::Seek(size_t pOffset,
+    aiOrigin pOrigin
+){
+    return mFile->SeekProc(mFile,pOffset,pOrigin);
+}
+
+// ...................................................................
+size_t CIOStreamWrapper::Tell(void) const {
+    return mFile->TellProc(mFile);
+}
+
+// ...................................................................
+size_t CIOStreamWrapper::FileSize() const {
+    return mFile->FileSizeProc(mFile);
+}
+
+// ...................................................................
+void CIOStreamWrapper::Flush () {
+    return mFile->FlushProc(mFile);
+}
+
+// ------------------------------------------------------------------------------------------------
+// Custom IOStream implementation for the C-API
+bool CIOSystemWrapper::Exists( const char* pFile) const {
+    aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,"rb");
+    if (p){
+        mFileSystem->CloseProc(mFileSystem,p);
+        return true;
+    }
+    return false;
+}
+
+// ...................................................................
+char CIOSystemWrapper::getOsSeparator() const {
+#ifndef _WIN32
+    return '/';
+#else
+    return '\\';
+#endif
+}
+
+// ...................................................................
+IOStream* CIOSystemWrapper::Open(const char* pFile,const char* pMode) {
+    aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,pMode);
+    if (!p) {
+        return NULL;
+    }
+    return new CIOStreamWrapper(p, this);
+}
+
+// ...................................................................
+void CIOSystemWrapper::Close( IOStream* pFile) {
+    if (!pFile) {
+        return;
+    }
+    delete pFile;
+}
+
+}

+ 18 - 81
code/CInterfaceIOWrapper.h

@@ -50,106 +50,43 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 namespace Assimp    {
 
+class CIOSystemWrapper;
+
 // ------------------------------------------------------------------------------------------------
 // Custom IOStream implementation for the C-API
 class CIOStreamWrapper : public IOStream
 {
-    friend class CIOSystemWrapper;
 public:
-
-    explicit CIOStreamWrapper(aiFile* pFile)
-        : mFile(pFile)
+    explicit CIOStreamWrapper(aiFile* pFile, CIOSystemWrapper* io)
+        : mFile(pFile),
+        mIO(io)
     {}
+    ~CIOStreamWrapper(void);
 
-    // ...................................................................
-    size_t Read(void* pvBuffer,
-        size_t pSize,
-        size_t pCount
-    ){
-        // need to typecast here as C has no void*
-        return mFile->ReadProc(mFile,(char*)pvBuffer,pSize,pCount);
-    }
-
-    // ...................................................................
-    size_t Write(const void* pvBuffer,
-        size_t pSize,
-        size_t pCount
-    ){
-        // need to typecast here as C has no void*
-        return mFile->WriteProc(mFile,(const char*)pvBuffer,pSize,pCount);
-    }
-
-    // ...................................................................
-    aiReturn Seek(size_t pOffset,
-        aiOrigin pOrigin
-    ){
-        return mFile->SeekProc(mFile,pOffset,pOrigin);
-    }
-
-    // ...................................................................
-    size_t Tell(void) const {
-        return mFile->TellProc(mFile);
-    }
-
-    // ...................................................................
-    size_t  FileSize() const {
-        return mFile->FileSizeProc(mFile);
-    }
-
-    // ...................................................................
-    void Flush () {
-        return mFile->FlushProc(mFile);
-    }
+    size_t Read(void* pvBuffer, size_t pSize, size_t pCount);
+    size_t Write(const void* pvBuffer, size_t pSize, size_t pCount);
+    aiReturn Seek(size_t pOffset, aiOrigin pOrigin);
+    size_t Tell(void) const;
+    size_t FileSize() const;
+    void Flush();
 
 private:
     aiFile* mFile;
+    CIOSystemWrapper* mIO;
 };
 
-// ------------------------------------------------------------------------------------------------
-// Custom IOStream implementation for the C-API
 class CIOSystemWrapper : public IOSystem
 {
+    friend class CIOStreamWrapper;
 public:
     explicit CIOSystemWrapper(aiFileIO* pFile)
         : mFileSystem(pFile)
     {}
 
-    // ...................................................................
-    bool Exists( const char* pFile) const {
-        aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,"rb");
-        if (p){
-            mFileSystem->CloseProc(mFileSystem,p);
-            return true;
-        }
-        return false;
-    }
-
-    // ...................................................................
-    char getOsSeparator() const {
-#ifndef _WIN32
-        return '/';
-#else
-        return '\\';
-#endif
-    }
-
-    // ...................................................................
-    IOStream* Open(const char* pFile,const char* pMode = "rb") {
-        aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,pMode);
-        if (!p) {
-            return NULL;
-        }
-        return new CIOStreamWrapper(p);
-    }
-
-    // ...................................................................
-    void Close( IOStream* pFile) {
-        if (!pFile) {
-            return;
-        }
-        mFileSystem->CloseProc(mFileSystem,((CIOStreamWrapper*) pFile)->mFile);
-        delete pFile;
-    }
+    bool Exists( const char* pFile) const;
+    char getOsSeparator() const;
+    IOStream* Open(const char* pFile,const char* pMode = "rb");
+    void Close( IOStream* pFile);
 private:
     aiFileIO* mFileSystem;
 };

+ 1 - 0
code/CMakeLists.txt

@@ -128,6 +128,7 @@ SET( Common_SRCS
   DefaultIOStream.h
   DefaultIOSystem.cpp
   DefaultIOSystem.h
+  CInterfaceIOWrapper.cpp
   CInterfaceIOWrapper.h
   Hash.h
   Importer.cpp

+ 1 - 1
code/CalcTangentsProcess.cpp

@@ -256,7 +256,7 @@ bool CalcTangentsProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex)
     }
     std::vector<unsigned int> verticesFound;
 
-    const float fLimit = cosf(configMaxAngle);
+    const float fLimit = std::cos(configMaxAngle);
     std::vector<unsigned int> closeVertices;
 
     // in the second pass we now smooth out all tangents and bitangents at the same local position

+ 4 - 3
code/ColladaExporter.cpp

@@ -48,6 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "fast_atof.h"
 #include "SceneCombiner.h"
 #include "DefaultIOSystem.h"
+#include "StringUtils.h"
 #include "XMLTools.h"
 #include <assimp/IOSystem.hpp>
 #include <assimp/Exporter.hpp>
@@ -637,7 +638,7 @@ void ColladaExporter::WriteMaterials()
     aiString name;
     if( mat->Get( AI_MATKEY_NAME, name) != aiReturn_SUCCESS )
       name = "mat";
-    materials[a].name = std::string( "m") + std::to_string(a) + name.C_Str();
+    materials[a].name = std::string( "m") + to_string(a) + name.C_Str();
     for( std::string::iterator it = materials[a].name.begin(); it != materials[a].name.end(); ++it ) {
       if( !isalnum_C( *it ) ) {
         *it = '_';
@@ -813,7 +814,7 @@ void ColladaExporter::WriteGeometry( size_t pIndex)
     {
         if( mesh->HasTextureCoords( a) )
         {
-            WriteFloatArray( idstr + "-tex" + std::to_string(a), mesh->mNumUVComponents[a] == 3 ? FloatType_TexCoord3 : FloatType_TexCoord2,
+            WriteFloatArray( idstr + "-tex" + to_string(a), mesh->mNumUVComponents[a] == 3 ? FloatType_TexCoord3 : FloatType_TexCoord2,
                 (ai_real*) mesh->mTextureCoords[a], mesh->mNumVertices);
         }
     }
@@ -822,7 +823,7 @@ void ColladaExporter::WriteGeometry( size_t pIndex)
     for( size_t a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++a)
     {
         if( mesh->HasVertexColors( a) )
-            WriteFloatArray( idstr + "-color" + std::to_string(a), FloatType_Color, (ai_real*) mesh->mColors[a], mesh->mNumVertices);
+            WriteFloatArray( idstr + "-color" + to_string(a), FloatType_Color, (ai_real*) mesh->mColors[a], mesh->mNumVertices);
     }
 
     // assemble vertex structure

+ 5 - 1
code/ColladaExporter.h

@@ -53,6 +53,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <vector>
 #include <map>
 
+#include "StringUtils.h"
+
 struct aiScene;
 struct aiNode;
 
@@ -122,7 +124,9 @@ protected:
     void PopTag() { ai_assert( startstr.length() > 1); startstr.erase( startstr.length() - 2); }
 
     /// Creates a mesh ID for the given mesh
-    std::string GetMeshId( size_t pIndex) const { return std::string( "meshId" ) + std::to_string(pIndex); }
+    std::string GetMeshId( size_t pIndex) const {
+        return std::string( "meshId" ) + to_string(pIndex);
+    }
 
 public:
     /// Stringstream to write all output into

+ 5 - 5
code/ColladaLoader.cpp

@@ -420,13 +420,13 @@ void ColladaLoader::BuildCamerasForNode( const ColladaParser& pParser, const Col
             out->mHorizontalFOV = srcCamera->mHorFov;
 
             if (srcCamera->mVerFov != 10e10f && srcCamera->mAspect == 10e10f) {
-                out->mAspect = tan(AI_DEG_TO_RAD(srcCamera->mHorFov)) /
-                    tan(AI_DEG_TO_RAD(srcCamera->mVerFov));
+                out->mAspect = std::tan(AI_DEG_TO_RAD(srcCamera->mHorFov)) /
+                    std::tan(AI_DEG_TO_RAD(srcCamera->mVerFov));
             }
         }
         else if (srcCamera->mAspect != 10e10f && srcCamera->mVerFov != 10e10f)  {
-            out->mHorizontalFOV = 2.0f * AI_RAD_TO_DEG(atan(srcCamera->mAspect *
-                tan(AI_DEG_TO_RAD(srcCamera->mVerFov) * 0.5f)));
+            out->mHorizontalFOV = 2.0f * AI_RAD_TO_DEG(std::atan(srcCamera->mAspect *
+                std::tan(AI_DEG_TO_RAD(srcCamera->mVerFov) * 0.5f)));
         }
 
         // Collada uses degrees, we use radians
@@ -1181,7 +1181,7 @@ void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pPars
                       const ai_real last_eval_angle = last_key_angle + (cur_key_angle - last_key_angle) * (time - last_key_time) / (cur_key_time - last_key_time);
                       const ai_real delta = std::abs(cur_key_angle - last_eval_angle);
 				      if (delta >= 180.0) {
-						const int subSampleCount = static_cast<int>(floorf(delta / 90.0));
+						const int subSampleCount = static_cast<int>(std::floor(delta / 90.0));
 						if (cur_key_time != time) {
 							const ai_real nextSampleTime = time + (cur_key_time - time) / subSampleCount;
 							nextTime = std::min(nextTime, nextSampleTime);

+ 1 - 1
code/ColladaParser.cpp

@@ -300,7 +300,7 @@ void ColladaParser::ReadAnimationClipLibrary()
 				else if (indexID >= 0)
 					animName = mReader->getAttributeValue(indexID);
 				else
-					animName = std::string("animation_") + std::to_string(mAnimationClipLibrary.size());
+					animName = std::string("animation_") + to_string(mAnimationClipLibrary.size());
 
 				std::pair<std::string, std::vector<std::string> > clip;
 

+ 9 - 9
code/ComputeUVMappingProcess.cpp

@@ -206,7 +206,7 @@ void ComputeUVMappingProcess::ComputeSphereMapping(aiMesh* mesh,const aiVector3D
         // lon  = arctan (y/x)
         for (unsigned int pnt = 0; pnt < mesh->mNumVertices;++pnt)  {
             const aiVector3D diff = (mesh->mVertices[pnt]-center).Normalize();
-            out[pnt] = aiVector3D((atan2 (diff.z, diff.y) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
+            out[pnt] = aiVector3D((std::atan2(diff.z, diff.y) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
                 (std::asin  (diff.x) + AI_MATH_HALF_PI_F) / AI_MATH_PI_F, 0.0);
         }
     }
@@ -214,7 +214,7 @@ void ComputeUVMappingProcess::ComputeSphereMapping(aiMesh* mesh,const aiVector3D
         // ... just the same again
         for (unsigned int pnt = 0; pnt < mesh->mNumVertices;++pnt)  {
             const aiVector3D diff = (mesh->mVertices[pnt]-center).Normalize();
-            out[pnt] = aiVector3D((atan2 (diff.x, diff.z) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
+            out[pnt] = aiVector3D((std::atan2(diff.x, diff.z) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
                 (std::asin  (diff.y) + AI_MATH_HALF_PI_F) / AI_MATH_PI_F, 0.0);
         }
     }
@@ -222,7 +222,7 @@ void ComputeUVMappingProcess::ComputeSphereMapping(aiMesh* mesh,const aiVector3D
         // ... just the same again
         for (unsigned int pnt = 0; pnt < mesh->mNumVertices;++pnt)  {
             const aiVector3D diff = (mesh->mVertices[pnt]-center).Normalize();
-            out[pnt] = aiVector3D((atan2 (diff.y, diff.x) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
+            out[pnt] = aiVector3D((std::atan2(diff.y, diff.x) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
                 (std::asin  (diff.z) + AI_MATH_HALF_PI_F) / AI_MATH_PI_F, 0.0);
         }
     }
@@ -234,8 +234,8 @@ void ComputeUVMappingProcess::ComputeSphereMapping(aiMesh* mesh,const aiVector3D
         // again the same, except we're applying a transformation now
         for (unsigned int pnt = 0; pnt < mesh->mNumVertices;++pnt)  {
             const aiVector3D diff = ((mTrafo*mesh->mVertices[pnt])-center).Normalize();
-            out[pnt] = aiVector3D((atan2 (diff.y, diff.x) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
-                (asin  (diff.z) + AI_MATH_HALF_PI_F) / AI_MATH_PI_F, 0.0);
+            out[pnt] = aiVector3D((std::atan2(diff.y, diff.x) + AI_MATH_PI_F ) / AI_MATH_TWO_PI_F,
+                (std::asin(diff.z) + AI_MATH_HALF_PI_F) / AI_MATH_PI_F, 0.0);
         }
     }
 
@@ -268,7 +268,7 @@ void ComputeUVMappingProcess::ComputeCylinderMapping(aiMesh* mesh,const aiVector
             aiVector3D& uv  = out[pnt];
 
             uv.y = (pos.x - min.x) / diff;
-            uv.x = (atan2 ( pos.z - center.z, pos.y - center.y) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
+            uv.x = (std::atan2( pos.z - center.z, pos.y - center.y) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
         }
     }
     else if (axis * base_axis_y >= angle_epsilon)   {
@@ -281,7 +281,7 @@ void ComputeUVMappingProcess::ComputeCylinderMapping(aiMesh* mesh,const aiVector
             aiVector3D& uv  = out[pnt];
 
             uv.y = (pos.y - min.y) / diff;
-            uv.x = (atan2 ( pos.x - center.x, pos.z - center.z) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
+            uv.x = (std::atan2( pos.x - center.x, pos.z - center.z) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
         }
     }
     else if (axis * base_axis_z >= angle_epsilon)   {
@@ -294,7 +294,7 @@ void ComputeUVMappingProcess::ComputeCylinderMapping(aiMesh* mesh,const aiVector
             aiVector3D& uv  = out[pnt];
 
             uv.y = (pos.z - min.z) / diff;
-            uv.x = (atan2 ( pos.y - center.y, pos.x - center.x) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
+            uv.x = (std::atan2( pos.y - center.y, pos.x - center.x) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
         }
     }
     // slower code path in case the mapping axis is not one of the coordinate system axes
@@ -310,7 +310,7 @@ void ComputeUVMappingProcess::ComputeCylinderMapping(aiMesh* mesh,const aiVector
             aiVector3D& uv  = out[pnt];
 
             uv.y = (pos.y - min.y) / diff;
-            uv.x = (atan2 ( pos.x - center.x, pos.z - center.z) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
+            uv.x = (std::atan2( pos.x - center.x, pos.z - center.z) +(ai_real)AI_MATH_PI ) / (ai_real)AI_MATH_TWO_PI;
         }
     }
 

+ 27 - 20
code/D3MFImporter.cpp

@@ -44,8 +44,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <assimp/IOStream.hpp>
 #include <assimp/IOSystem.hpp>
 #include <assimp/DefaultLogger.hpp>
-#include <contrib/unzip/unzip.h>
-#include "irrXMLWrapper.h"
 #include "StringComparison.h"
 #include "StringUtils.h"
 
@@ -61,10 +59,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include <assimp/ai_assert.h>
 
-#include "D3MFOpcPackage.h"
-
 #ifndef ASSIMP_BUILD_NO_3MF_IMPORTER
 
+#include "D3MFOpcPackage.h"
+#include <contrib/unzip/unzip.h>
+#include "irrXMLWrapper.h"
+
 namespace Assimp {
 namespace D3MF {
 
@@ -113,7 +113,7 @@ public:
         std::vector<aiNode*> children;
 
         while(ReadToEndElement(D3MF::XmlTag::model))
-        {         
+        {
 
             if(xmlReader->getNodeName() == D3MF::XmlTag::object)
             {
@@ -123,7 +123,7 @@ public:
             {
 
             }
-        }        
+        }
 
         if(scene->mRootNode->mName.length == 0)
             scene->mRootNode->mName.Set("3MF");
@@ -143,24 +143,31 @@ public:
 
 private:
     aiNode* ReadObject(aiScene* scene)
-    {        
+    {
         ScopeGuard<aiNode> node(new aiNode());
 
         std::vector<unsigned long> meshIds;
 
-        int id = std::atoi(xmlReader->getAttributeValue(D3MF::XmlTag::id.c_str()));
-        std::string name(xmlReader->getAttributeValue(D3MF::XmlTag::name.c_str()));
-        std::string type(xmlReader->getAttributeValue(D3MF::XmlTag::type.c_str()));
+        const char *attrib( nullptr );
+        std::string name, type;
+        attrib = xmlReader->getAttributeValue( D3MF::XmlTag::name.c_str() );
+        if ( nullptr != attrib ) {
+            name = attrib;
+        }
+        attrib = xmlReader->getAttributeValue( D3MF::XmlTag::name.c_str() );
+        if ( nullptr != attrib ) {
+            type = attrib;
+        }
 
         node->mParent = scene->mRootNode;
-        node->mName.Set(name);        
+        node->mName.Set(name);
 
-        unsigned long meshIdx = meshes.size();
+        size_t meshIdx = meshes.size();
 
         while(ReadToEndElement(D3MF::XmlTag::object))
         {
             if(xmlReader->getNodeName() == D3MF::XmlTag::mesh)
-            {                
+            {
                 auto mesh = ReadMesh();
 
                 mesh->mName.Set(name);
@@ -186,7 +193,7 @@ private:
         aiMesh* mesh = new aiMesh();
 
         while(ReadToEndElement(D3MF::XmlTag::mesh))
-        {            
+        {
             if(xmlReader->getNodeName() == D3MF::XmlTag::vertices)
             {
                 ImportVertices(mesh);
@@ -204,12 +211,12 @@ private:
 
     void ImportVertices(aiMesh* mesh)
     {
-        std::vector<aiVector3D> vertices;        
+        std::vector<aiVector3D> vertices;
 
         while(ReadToEndElement(D3MF::XmlTag::vertices))
-        {                        
+        {
             if(xmlReader->getNodeName() == D3MF::XmlTag::vertex)
-            {                
+            {
                 vertices.push_back(ReadVertex());
             }
         }
@@ -220,7 +227,7 @@ private:
 
     }
     aiVector3D ReadVertex()
-    {        
+    {
         aiVector3D vertex;
         vertex.x = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::x.c_str()), nullptr);
         vertex.y = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::y.c_str()), nullptr);
@@ -231,7 +238,7 @@ private:
 
     void ImportTriangles(aiMesh* mesh)
     {
-         std::vector<aiFace> faces;         
+         std::vector<aiFace> faces;
 
 
          while(ReadToEndElement(D3MF::XmlTag::triangles))
@@ -337,7 +344,7 @@ D3MFImporter::~D3MFImporter()
 }
 
 bool D3MFImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool checkSig) const
-{    
+{
     const std::string extension = GetExtension(pFile);
     if(extension == "3mf") {
         return true;

+ 2 - 1
code/D3MFOpcPackage.cpp

@@ -42,7 +42,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "D3MFOpcPackage.h"
 #include "Exceptional.h"
 
-#include <contrib/unzip/unzip.h>
 #include <assimp/IOStream.hpp>
 #include <assimp/IOSystem.hpp>
 #include <assimp/DefaultLogger.hpp>
@@ -57,6 +56,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #ifndef ASSIMP_BUILD_NO_3MF_IMPORTER
 
+#include <contrib/unzip/unzip.h>
+
 namespace Assimp {
 
 namespace D3MF {

+ 1 - 1
code/DefaultIOStream.cpp

@@ -120,7 +120,7 @@ size_t DefaultIOStream::FileSize() const
         //
         // See here for details:
         // https://www.securecoding.cert.org/confluence/display/seccode/FIO19-C.+Do+not+use+fseek()+and+ftell()+to+compute+the+size+of+a+regular+file
-#if defined _WIN32 && !defined __GNUC__
+#if defined _WIN32
         struct __stat64 fileStat;
         int err = _stat64(  mFilename.c_str(), &fileStat );
         if (0 != err)

+ 75 - 16
code/FBXBinaryTokenizer.cpp

@@ -55,6 +55,46 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 namespace Assimp {
 namespace FBX {
 
+enum Flag
+{
+   e_unknown_0 = 1 << 0,
+   e_unknown_1 = 1 << 1,
+   e_unknown_2 = 1 << 2,
+   e_unknown_3 = 1 << 3,
+   e_unknown_4 = 1 << 4,
+   e_unknown_5 = 1 << 5,
+   e_unknown_6 = 1 << 6,
+   e_unknown_7 = 1 << 7,
+   e_unknown_8 = 1 << 8,
+   e_unknown_9 = 1 << 9,
+   e_unknown_10 = 1 << 10,
+   e_unknown_11 = 1 << 11,
+   e_unknown_12 = 1 << 12,
+   e_unknown_13 = 1 << 13,
+   e_unknown_14 = 1 << 14,
+   e_unknown_15 = 1 << 15,
+   e_unknown_16 = 1 << 16,
+   e_unknown_17 = 1 << 17,
+   e_unknown_18 = 1 << 18,
+   e_unknown_19 = 1 << 19,
+   e_unknown_20 = 1 << 20,
+   e_unknown_21 = 1 << 21,
+   e_unknown_22 = 1 << 22,
+   e_unknown_23 = 1 << 23,
+   e_flag_field_size_64_bit = 1 << 24, // Not sure what is 
+   e_unknown_25 = 1 << 25,
+   e_unknown_26 = 1 << 26,
+   e_unknown_27 = 1 << 27,
+   e_unknown_28 = 1 << 28,
+   e_unknown_29 = 1 << 29,
+   e_unknown_30 = 1 << 30,
+   e_unknown_31 = 1 << 31
+};
+
+bool check_flag(uint32_t flags, Flag to_check)
+{
+   return (flags & to_check) != 0;
+}
 
 // ------------------------------------------------------------------------------------------------
 Token::Token(const char* sbegin, const char* send, TokenType type, unsigned int offset)
@@ -118,6 +158,21 @@ uint32_t ReadWord(const char* input, const char*& cursor, const char* end)
     return word;
 }
 
+uint64_t ReadDoubleWord(const char* input, const char*& cursor, const char* end)
+{
+    const size_t k_to_read = sizeof(uint64_t);
+    if(Offset(cursor, end) < k_to_read) {
+        TokenizeError("cannot ReadDoubleWord, out of bounds",input, cursor);
+    }
+
+    uint64_t dword = *reinterpret_cast<const uint64_t*>(cursor);
+    AI_SWAP8(dword);
+
+    cursor += k_to_read;
+
+    return dword;
+}
+
 
 // ------------------------------------------------------------------------------------------------
 uint8_t ReadByte(const char* input, const char*& cursor, const char* end)
@@ -287,10 +342,10 @@ void ReadData(const char*& sbegin_out, const char*& send_out, const char* input,
 
 
 // ------------------------------------------------------------------------------------------------
-bool ReadScope(TokenList& output_tokens, const char* input, const char*& cursor, const char* end)
+bool ReadScope(TokenList& output_tokens, const char* input, const char*& cursor, const char* end, uint32_t const flags)
 {
     // the first word contains the offset at which this block ends
-    const uint32_t end_offset = ReadWord(input, cursor, end);
+    const uint64_t end_offset = check_flag(flags, e_flag_field_size_64_bit) ? ReadDoubleWord(input, cursor, end) : ReadWord(input, cursor, end);
 
     // we may get 0 if reading reached the end of the file -
     // fbx files have a mysterious extra footer which I don't know
@@ -308,10 +363,10 @@ bool ReadScope(TokenList& output_tokens, const char* input, const char*& cursor,
     }
 
     // the second data word contains the number of properties in the scope
-    const uint32_t prop_count = ReadWord(input, cursor, end);
+    const uint64_t prop_count = check_flag(flags, e_flag_field_size_64_bit) ? ReadDoubleWord(input, cursor, end) : ReadWord(input, cursor, end);
 
     // the third data word contains the length of the property list
-    const uint32_t prop_length = ReadWord(input, cursor, end);
+    const uint64_t prop_length = check_flag(flags, e_flag_field_size_64_bit) ? ReadDoubleWord(input, cursor, end) : ReadWord(input, cursor, end);
 
     // now comes the name of the scope/key
     const char* sbeg, *send;
@@ -337,29 +392,28 @@ bool ReadScope(TokenList& output_tokens, const char* input, const char*& cursor,
 
     // at the end of each nested block, there is a NUL record to indicate
     // that the sub-scope exists (i.e. to distinguish between P: and P : {})
-    // this NUL record is 13 bytes long.
-#define BLOCK_SENTINEL_LENGTH 13
+    // this NUL record is 13 bytes long on 32 bit version and 25 bytes long on 64 bit.
+    const size_t sentinel_block_length = check_flag(flags, e_flag_field_size_64_bit) ? (sizeof(uint64_t) * 3 + 1) : (sizeof(uint32_t) * 3 + 1);
 
     if (Offset(input, cursor) < end_offset) {
-
-        if (end_offset - Offset(input, cursor) < BLOCK_SENTINEL_LENGTH) {
+        if (end_offset - Offset(input, cursor) < sentinel_block_length) {
             TokenizeError("insufficient padding bytes at block end",input, cursor);
         }
 
         output_tokens.push_back(new_Token(cursor, cursor + 1, TokenType_OPEN_BRACKET, Offset(input, cursor) ));
 
         // XXX this is vulnerable to stack overflowing ..
-        while(Offset(input, cursor) < end_offset - BLOCK_SENTINEL_LENGTH) {
-            ReadScope(output_tokens, input, cursor, input + end_offset - BLOCK_SENTINEL_LENGTH);
+        while(Offset(input, cursor) < end_offset - sentinel_block_length) {
+            ReadScope(output_tokens, input, cursor, input + end_offset - sentinel_block_length, flags);
         }
         output_tokens.push_back(new_Token(cursor, cursor + 1, TokenType_CLOSE_BRACKET, Offset(input, cursor) ));
 
-        for (unsigned int i = 0; i < BLOCK_SENTINEL_LENGTH; ++i) {
+        for (unsigned int i = 0; i < sentinel_block_length; ++i) {
             if(cursor[i] != '\0') {
                 TokenizeError("failed to read nested block sentinel, expected all bytes to be 0",input, cursor);
             }
         }
-        cursor += BLOCK_SENTINEL_LENGTH;
+        cursor += sentinel_block_length;
     }
 
     if (Offset(input, cursor) != end_offset) {
@@ -386,12 +440,17 @@ void TokenizeBinary(TokenList& output_tokens, const char* input, unsigned int le
     }
 
 
-    //uint32_t offset = 0x1b;
+    //uint32_t offset = 0x15;
+    const char* cursor = input + 0x15;
+
+    const uint32_t flags = ReadWord(input, cursor, input + length);
 
-    const char* cursor = input + 0x1b;
+    const uint8_t padding_0 = ReadByte(input, cursor, input + length); // unused
+    const uint8_t padding_1 = ReadByte(input, cursor, input + length); // unused
 
-    while (cursor < input + length) {
-        if(!ReadScope(output_tokens, input, cursor, input + length)) {
+    while (cursor < input + length)
+    {
+        if(!ReadScope(output_tokens, input, cursor, input + length, flags)) {
             break;
         }
     }

+ 3 - 3
code/FixNormalsStep.cpp

@@ -148,9 +148,9 @@ bool FixInfacingNormalsProcess::ProcessMesh( aiMesh* pcMesh, unsigned int index)
     // Check whether this is a planar surface
     const float fDelta1_yz = fDelta1_y * fDelta1_z;
 
-    if (fDelta1_x < 0.05f * sqrtf( fDelta1_yz ))return false;
-    if (fDelta1_y < 0.05f * sqrtf( fDelta1_z * fDelta1_x ))return false;
-    if (fDelta1_z < 0.05f * sqrtf( fDelta1_y * fDelta1_x ))return false;
+    if (fDelta1_x < 0.05f * std::sqrt( fDelta1_yz ))return false;
+    if (fDelta1_y < 0.05f * std::sqrt( fDelta1_z * fDelta1_x ))return false;
+    if (fDelta1_z < 0.05f * std::sqrt( fDelta1_y * fDelta1_x ))return false;
 
     // now compare the volumes of the bounding boxes
     if (std::fabs(fDelta0_x * fDelta0_y * fDelta0_z) <

+ 0 - 5034
code/IFCReaderGen.cpp

@@ -1,5034 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2010, ASSIMP Development 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 Development 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.
-
-----------------------------------------------------------------------
-*/
-
-/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
-
-
-#ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
-
-#include "IFCReaderGen.h"
-
-namespace Assimp {
-using namespace IFC;
-
-namespace {
-
-    typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry;
-    const SchemaEntry schema_raw[] =  {
-        SchemaEntry("ifcabsorbeddosemeasure",NULL )
-,       SchemaEntry("ifcaccelerationmeasure",NULL )
-,       SchemaEntry("ifcamountofsubstancemeasure",NULL )
-,       SchemaEntry("ifcangularvelocitymeasure",NULL )
-,       SchemaEntry("ifcareameasure",NULL )
-,       SchemaEntry("ifcboolean",NULL )
-,       SchemaEntry("ifcboxalignment",NULL )
-,       SchemaEntry("ifccomplexnumber",NULL )
-,       SchemaEntry("ifccompoundplaneanglemeasure",NULL )
-,       SchemaEntry("ifccontextdependentmeasure",NULL )
-,       SchemaEntry("ifccountmeasure",NULL )
-,       SchemaEntry("ifccurvaturemeasure",NULL )
-,       SchemaEntry("ifcdayinmonthnumber",NULL )
-,       SchemaEntry("ifcdaylightsavinghour",NULL )
-,       SchemaEntry("ifcdescriptivemeasure",NULL )
-,       SchemaEntry("ifcdimensioncount",NULL )
-,       SchemaEntry("ifcdoseequivalentmeasure",NULL )
-,       SchemaEntry("ifcdynamicviscositymeasure",NULL )
-,       SchemaEntry("ifcelectriccapacitancemeasure",NULL )
-,       SchemaEntry("ifcelectricchargemeasure",NULL )
-,       SchemaEntry("ifcelectricconductancemeasure",NULL )
-,       SchemaEntry("ifcelectriccurrentmeasure",NULL )
-,       SchemaEntry("ifcelectricresistancemeasure",NULL )
-,       SchemaEntry("ifcelectricvoltagemeasure",NULL )
-,       SchemaEntry("ifcenergymeasure",NULL )
-,       SchemaEntry("ifcfontstyle",NULL )
-,       SchemaEntry("ifcfontvariant",NULL )
-,       SchemaEntry("ifcfontweight",NULL )
-,       SchemaEntry("ifcforcemeasure",NULL )
-,       SchemaEntry("ifcfrequencymeasure",NULL )
-,       SchemaEntry("ifcgloballyuniqueid",NULL )
-,       SchemaEntry("ifcheatfluxdensitymeasure",NULL )
-,       SchemaEntry("ifcheatingvaluemeasure",NULL )
-,       SchemaEntry("ifchourinday",NULL )
-,       SchemaEntry("ifcidentifier",NULL )
-,       SchemaEntry("ifcilluminancemeasure",NULL )
-,       SchemaEntry("ifcinductancemeasure",NULL )
-,       SchemaEntry("ifcinteger",NULL )
-,       SchemaEntry("ifcintegercountratemeasure",NULL )
-,       SchemaEntry("ifcionconcentrationmeasure",NULL )
-,       SchemaEntry("ifcisothermalmoisturecapacitymeasure",NULL )
-,       SchemaEntry("ifckinematicviscositymeasure",NULL )
-,       SchemaEntry("ifclabel",NULL )
-,       SchemaEntry("ifclengthmeasure",NULL )
-,       SchemaEntry("ifclinearforcemeasure",NULL )
-,       SchemaEntry("ifclinearmomentmeasure",NULL )
-,       SchemaEntry("ifclinearstiffnessmeasure",NULL )
-,       SchemaEntry("ifclinearvelocitymeasure",NULL )
-,       SchemaEntry("ifclogical",NULL )
-,       SchemaEntry("ifcluminousfluxmeasure",NULL )
-,       SchemaEntry("ifcluminousintensitydistributionmeasure",NULL )
-,       SchemaEntry("ifcluminousintensitymeasure",NULL )
-,       SchemaEntry("ifcmagneticfluxdensitymeasure",NULL )
-,       SchemaEntry("ifcmagneticfluxmeasure",NULL )
-,       SchemaEntry("ifcmassdensitymeasure",NULL )
-,       SchemaEntry("ifcmassflowratemeasure",NULL )
-,       SchemaEntry("ifcmassmeasure",NULL )
-,       SchemaEntry("ifcmassperlengthmeasure",NULL )
-,       SchemaEntry("ifcminuteinhour",NULL )
-,       SchemaEntry("ifcmodulusofelasticitymeasure",NULL )
-,       SchemaEntry("ifcmodulusoflinearsubgradereactionmeasure",NULL )
-,       SchemaEntry("ifcmodulusofrotationalsubgradereactionmeasure",NULL )
-,       SchemaEntry("ifcmodulusofsubgradereactionmeasure",NULL )
-,       SchemaEntry("ifcmoisturediffusivitymeasure",NULL )
-,       SchemaEntry("ifcmolecularweightmeasure",NULL )
-,       SchemaEntry("ifcmomentofinertiameasure",NULL )
-,       SchemaEntry("ifcmonetarymeasure",NULL )
-,       SchemaEntry("ifcmonthinyearnumber",NULL )
-,       SchemaEntry("ifcnormalisedratiomeasure",NULL )
-,       SchemaEntry("ifcnumericmeasure",NULL )
-,       SchemaEntry("ifcphmeasure",NULL )
-,       SchemaEntry("ifcparametervalue",NULL )
-,       SchemaEntry("ifcplanarforcemeasure",NULL )
-,       SchemaEntry("ifcplaneanglemeasure",NULL )
-,       SchemaEntry("ifcpositivelengthmeasure",NULL )
-,       SchemaEntry("ifcpositiveplaneanglemeasure",NULL )
-,       SchemaEntry("ifcpositiveratiomeasure",NULL )
-,       SchemaEntry("ifcpowermeasure",NULL )
-,       SchemaEntry("ifcpresentabletext",NULL )
-,       SchemaEntry("ifcpressuremeasure",NULL )
-,       SchemaEntry("ifcradioactivitymeasure",NULL )
-,       SchemaEntry("ifcratiomeasure",NULL )
-,       SchemaEntry("ifcreal",NULL )
-,       SchemaEntry("ifcrotationalfrequencymeasure",NULL )
-,       SchemaEntry("ifcrotationalmassmeasure",NULL )
-,       SchemaEntry("ifcrotationalstiffnessmeasure",NULL )
-,       SchemaEntry("ifcsecondinminute",NULL )
-,       SchemaEntry("ifcsectionmodulusmeasure",NULL )
-,       SchemaEntry("ifcsectionalareaintegralmeasure",NULL )
-,       SchemaEntry("ifcshearmodulusmeasure",NULL )
-,       SchemaEntry("ifcsolidanglemeasure",NULL )
-,       SchemaEntry("ifcsoundpowermeasure",NULL )
-,       SchemaEntry("ifcsoundpressuremeasure",NULL )
-,       SchemaEntry("ifcspecificheatcapacitymeasure",NULL )
-,       SchemaEntry("ifcspecularexponent",NULL )
-,       SchemaEntry("ifcspecularroughness",NULL )
-,       SchemaEntry("ifctemperaturegradientmeasure",NULL )
-,       SchemaEntry("ifctext",NULL )
-,       SchemaEntry("ifctextalignment",NULL )
-,       SchemaEntry("ifctextdecoration",NULL )
-,       SchemaEntry("ifctextfontname",NULL )
-,       SchemaEntry("ifctexttransformation",NULL )
-,       SchemaEntry("ifcthermaladmittancemeasure",NULL )
-,       SchemaEntry("ifcthermalconductivitymeasure",NULL )
-,       SchemaEntry("ifcthermalexpansioncoefficientmeasure",NULL )
-,       SchemaEntry("ifcthermalresistancemeasure",NULL )
-,       SchemaEntry("ifcthermaltransmittancemeasure",NULL )
-,       SchemaEntry("ifcthermodynamictemperaturemeasure",NULL )
-,       SchemaEntry("ifctimemeasure",NULL )
-,       SchemaEntry("ifctimestamp",NULL )
-,       SchemaEntry("ifctorquemeasure",NULL )
-,       SchemaEntry("ifcvaporpermeabilitymeasure",NULL )
-,       SchemaEntry("ifcvolumemeasure",NULL )
-,       SchemaEntry("ifcvolumetricflowratemeasure",NULL )
-,       SchemaEntry("ifcwarpingconstantmeasure",NULL )
-,       SchemaEntry("ifcwarpingmomentmeasure",NULL )
-,       SchemaEntry("ifcyearnumber",NULL )
-,       SchemaEntry("ifcactionsourcetypeenum",NULL )
-,       SchemaEntry("ifcactiontypeenum",NULL )
-,       SchemaEntry("ifcactuatortypeenum",NULL )
-,       SchemaEntry("ifcaddresstypeenum",NULL )
-,       SchemaEntry("ifcaheadorbehind",NULL )
-,       SchemaEntry("ifcairterminalboxtypeenum",NULL )
-,       SchemaEntry("ifcairterminaltypeenum",NULL )
-,       SchemaEntry("ifcairtoairheatrecoverytypeenum",NULL )
-,       SchemaEntry("ifcalarmtypeenum",NULL )
-,       SchemaEntry("ifcanalysismodeltypeenum",NULL )
-,       SchemaEntry("ifcanalysistheorytypeenum",NULL )
-,       SchemaEntry("ifcarithmeticoperatorenum",NULL )
-,       SchemaEntry("ifcassemblyplaceenum",NULL )
-,       SchemaEntry("ifcbsplinecurveform",NULL )
-,       SchemaEntry("ifcbeamtypeenum",NULL )
-,       SchemaEntry("ifcbenchmarkenum",NULL )
-,       SchemaEntry("ifcboilertypeenum",NULL )
-,       SchemaEntry("ifcbooleanoperator",NULL )
-,       SchemaEntry("ifcbuildingelementproxytypeenum",NULL )
-,       SchemaEntry("ifccablecarrierfittingtypeenum",NULL )
-,       SchemaEntry("ifccablecarriersegmenttypeenum",NULL )
-,       SchemaEntry("ifccablesegmenttypeenum",NULL )
-,       SchemaEntry("ifcchangeactionenum",NULL )
-,       SchemaEntry("ifcchillertypeenum",NULL )
-,       SchemaEntry("ifccoiltypeenum",NULL )
-,       SchemaEntry("ifccolumntypeenum",NULL )
-,       SchemaEntry("ifccompressortypeenum",NULL )
-,       SchemaEntry("ifccondensertypeenum",NULL )
-,       SchemaEntry("ifcconnectiontypeenum",NULL )
-,       SchemaEntry("ifcconstraintenum",NULL )
-,       SchemaEntry("ifccontrollertypeenum",NULL )
-,       SchemaEntry("ifccooledbeamtypeenum",NULL )
-,       SchemaEntry("ifccoolingtowertypeenum",NULL )
-,       SchemaEntry("ifccostscheduletypeenum",NULL )
-,       SchemaEntry("ifccoveringtypeenum",NULL )
-,       SchemaEntry("ifccurrencyenum",NULL )
-,       SchemaEntry("ifccurtainwalltypeenum",NULL )
-,       SchemaEntry("ifcdampertypeenum",NULL )
-,       SchemaEntry("ifcdataoriginenum",NULL )
-,       SchemaEntry("ifcderivedunitenum",NULL )
-,       SchemaEntry("ifcdimensionextentusage",NULL )
-,       SchemaEntry("ifcdirectionsenseenum",NULL )
-,       SchemaEntry("ifcdistributionchamberelementtypeenum",NULL )
-,       SchemaEntry("ifcdocumentconfidentialityenum",NULL )
-,       SchemaEntry("ifcdocumentstatusenum",NULL )
-,       SchemaEntry("ifcdoorpaneloperationenum",NULL )
-,       SchemaEntry("ifcdoorpanelpositionenum",NULL )
-,       SchemaEntry("ifcdoorstyleconstructionenum",NULL )
-,       SchemaEntry("ifcdoorstyleoperationenum",NULL )
-,       SchemaEntry("ifcductfittingtypeenum",NULL )
-,       SchemaEntry("ifcductsegmenttypeenum",NULL )
-,       SchemaEntry("ifcductsilencertypeenum",NULL )
-,       SchemaEntry("ifcelectricappliancetypeenum",NULL )
-,       SchemaEntry("ifcelectriccurrentenum",NULL )
-,       SchemaEntry("ifcelectricdistributionpointfunctionenum",NULL )
-,       SchemaEntry("ifcelectricflowstoragedevicetypeenum",NULL )
-,       SchemaEntry("ifcelectricgeneratortypeenum",NULL )
-,       SchemaEntry("ifcelectricheatertypeenum",NULL )
-,       SchemaEntry("ifcelectricmotortypeenum",NULL )
-,       SchemaEntry("ifcelectrictimecontroltypeenum",NULL )
-,       SchemaEntry("ifcelementassemblytypeenum",NULL )
-,       SchemaEntry("ifcelementcompositionenum",NULL )
-,       SchemaEntry("ifcenergysequenceenum",NULL )
-,       SchemaEntry("ifcenvironmentalimpactcategoryenum",NULL )
-,       SchemaEntry("ifcevaporativecoolertypeenum",NULL )
-,       SchemaEntry("ifcevaporatortypeenum",NULL )
-,       SchemaEntry("ifcfantypeenum",NULL )
-,       SchemaEntry("ifcfiltertypeenum",NULL )
-,       SchemaEntry("ifcfiresuppressionterminaltypeenum",NULL )
-,       SchemaEntry("ifcflowdirectionenum",NULL )
-,       SchemaEntry("ifcflowinstrumenttypeenum",NULL )
-,       SchemaEntry("ifcflowmetertypeenum",NULL )
-,       SchemaEntry("ifcfootingtypeenum",NULL )
-,       SchemaEntry("ifcgasterminaltypeenum",NULL )
-,       SchemaEntry("ifcgeometricprojectionenum",NULL )
-,       SchemaEntry("ifcglobalorlocalenum",NULL )
-,       SchemaEntry("ifcheatexchangertypeenum",NULL )
-,       SchemaEntry("ifchumidifiertypeenum",NULL )
-,       SchemaEntry("ifcinternalorexternalenum",NULL )
-,       SchemaEntry("ifcinventorytypeenum",NULL )
-,       SchemaEntry("ifcjunctionboxtypeenum",NULL )
-,       SchemaEntry("ifclamptypeenum",NULL )
-,       SchemaEntry("ifclayersetdirectionenum",NULL )
-,       SchemaEntry("ifclightdistributioncurveenum",NULL )
-,       SchemaEntry("ifclightemissionsourceenum",NULL )
-,       SchemaEntry("ifclightfixturetypeenum",NULL )
-,       SchemaEntry("ifcloadgrouptypeenum",NULL )
-,       SchemaEntry("ifclogicaloperatorenum",NULL )
-,       SchemaEntry("ifcmembertypeenum",NULL )
-,       SchemaEntry("ifcmotorconnectiontypeenum",NULL )
-,       SchemaEntry("ifcnullstyle",NULL )
-,       SchemaEntry("ifcobjecttypeenum",NULL )
-,       SchemaEntry("ifcobjectiveenum",NULL )
-,       SchemaEntry("ifcoccupanttypeenum",NULL )
-,       SchemaEntry("ifcoutlettypeenum",NULL )
-,       SchemaEntry("ifcpermeablecoveringoperationenum",NULL )
-,       SchemaEntry("ifcphysicalorvirtualenum",NULL )
-,       SchemaEntry("ifcpileconstructionenum",NULL )
-,       SchemaEntry("ifcpiletypeenum",NULL )
-,       SchemaEntry("ifcpipefittingtypeenum",NULL )
-,       SchemaEntry("ifcpipesegmenttypeenum",NULL )
-,       SchemaEntry("ifcplatetypeenum",NULL )
-,       SchemaEntry("ifcproceduretypeenum",NULL )
-,       SchemaEntry("ifcprofiletypeenum",NULL )
-,       SchemaEntry("ifcprojectorderrecordtypeenum",NULL )
-,       SchemaEntry("ifcprojectordertypeenum",NULL )
-,       SchemaEntry("ifcprojectedortruelengthenum",NULL )
-,       SchemaEntry("ifcpropertysourceenum",NULL )
-,       SchemaEntry("ifcprotectivedevicetypeenum",NULL )
-,       SchemaEntry("ifcpumptypeenum",NULL )
-,       SchemaEntry("ifcrailingtypeenum",NULL )
-,       SchemaEntry("ifcrampflighttypeenum",NULL )
-,       SchemaEntry("ifcramptypeenum",NULL )
-,       SchemaEntry("ifcreflectancemethodenum",NULL )
-,       SchemaEntry("ifcreinforcingbarroleenum",NULL )
-,       SchemaEntry("ifcreinforcingbarsurfaceenum",NULL )
-,       SchemaEntry("ifcresourceconsumptionenum",NULL )
-,       SchemaEntry("ifcribplatedirectionenum",NULL )
-,       SchemaEntry("ifcroleenum",NULL )
-,       SchemaEntry("ifcrooftypeenum",NULL )
-,       SchemaEntry("ifcsiprefix",NULL )
-,       SchemaEntry("ifcsiunitname",NULL )
-,       SchemaEntry("ifcsanitaryterminaltypeenum",NULL )
-,       SchemaEntry("ifcsectiontypeenum",NULL )
-,       SchemaEntry("ifcsensortypeenum",NULL )
-,       SchemaEntry("ifcsequenceenum",NULL )
-,       SchemaEntry("ifcservicelifefactortypeenum",NULL )
-,       SchemaEntry("ifcservicelifetypeenum",NULL )
-,       SchemaEntry("ifcslabtypeenum",NULL )
-,       SchemaEntry("ifcsoundscaleenum",NULL )
-,       SchemaEntry("ifcspaceheatertypeenum",NULL )
-,       SchemaEntry("ifcspacetypeenum",NULL )
-,       SchemaEntry("ifcstackterminaltypeenum",NULL )
-,       SchemaEntry("ifcstairflighttypeenum",NULL )
-,       SchemaEntry("ifcstairtypeenum",NULL )
-,       SchemaEntry("ifcstateenum",NULL )
-,       SchemaEntry("ifcstructuralcurvetypeenum",NULL )
-,       SchemaEntry("ifcstructuralsurfacetypeenum",NULL )
-,       SchemaEntry("ifcsurfaceside",NULL )
-,       SchemaEntry("ifcsurfacetextureenum",NULL )
-,       SchemaEntry("ifcswitchingdevicetypeenum",NULL )
-,       SchemaEntry("ifctanktypeenum",NULL )
-,       SchemaEntry("ifctendontypeenum",NULL )
-,       SchemaEntry("ifctextpath",NULL )
-,       SchemaEntry("ifcthermalloadsourceenum",NULL )
-,       SchemaEntry("ifcthermalloadtypeenum",NULL )
-,       SchemaEntry("ifctimeseriesdatatypeenum",NULL )
-,       SchemaEntry("ifctimeseriesscheduletypeenum",NULL )
-,       SchemaEntry("ifctransformertypeenum",NULL )
-,       SchemaEntry("ifctransitioncode",NULL )
-,       SchemaEntry("ifctransportelementtypeenum",NULL )
-,       SchemaEntry("ifctrimmingpreference",NULL )
-,       SchemaEntry("ifctubebundletypeenum",NULL )
-,       SchemaEntry("ifcunitenum",NULL )
-,       SchemaEntry("ifcunitaryequipmenttypeenum",NULL )
-,       SchemaEntry("ifcvalvetypeenum",NULL )
-,       SchemaEntry("ifcvibrationisolatortypeenum",NULL )
-,       SchemaEntry("ifcwalltypeenum",NULL )
-,       SchemaEntry("ifcwasteterminaltypeenum",NULL )
-,       SchemaEntry("ifcwindowpaneloperationenum",NULL )
-,       SchemaEntry("ifcwindowpanelpositionenum",NULL )
-,       SchemaEntry("ifcwindowstyleconstructionenum",NULL )
-,       SchemaEntry("ifcwindowstyleoperationenum",NULL )
-,       SchemaEntry("ifcworkcontroltypeenum",NULL )
-,       SchemaEntry("ifcactorselect",NULL )
-,       SchemaEntry("ifcappliedvalueselect",NULL )
-,       SchemaEntry("ifcaxis2placement",NULL )
-,       SchemaEntry("ifcbooleanoperand",NULL )
-,       SchemaEntry("ifccharacterstyleselect",NULL )
-,       SchemaEntry("ifcclassificationnotationselect",NULL )
-,       SchemaEntry("ifccolour",NULL )
-,       SchemaEntry("ifccolourorfactor",NULL )
-,       SchemaEntry("ifcconditioncriterionselect",NULL )
-,       SchemaEntry("ifccsgselect",NULL )
-,       SchemaEntry("ifccurvefontorscaledcurvefontselect",NULL )
-,       SchemaEntry("ifccurveoredgecurve",NULL )
-,       SchemaEntry("ifccurvestylefontselect",NULL )
-,       SchemaEntry("ifcdatetimeselect",NULL )
-,       SchemaEntry("ifcdefinedsymbolselect",NULL )
-,       SchemaEntry("ifcderivedmeasurevalue",NULL )
-,       SchemaEntry("ifcdocumentselect",NULL )
-,       SchemaEntry("ifcdraughtingcalloutelement",NULL )
-,       SchemaEntry("ifcfillareastyletileshapeselect",NULL )
-,       SchemaEntry("ifcfillstyleselect",NULL )
-,       SchemaEntry("ifcgeometricsetselect",NULL )
-,       SchemaEntry("ifchatchlinedistanceselect",NULL )
-,       SchemaEntry("ifclayereditem",NULL )
-,       SchemaEntry("ifclibraryselect",NULL )
-,       SchemaEntry("ifclightdistributiondatasourceselect",NULL )
-,       SchemaEntry("ifcmaterialselect",NULL )
-,       SchemaEntry("ifcmeasurevalue",NULL )
-,       SchemaEntry("ifcmetricvalueselect",NULL )
-,       SchemaEntry("ifcobjectreferenceselect",NULL )
-,       SchemaEntry("ifcorientationselect",NULL )
-,       SchemaEntry("ifcpointorvertexpoint",NULL )
-,       SchemaEntry("ifcpresentationstyleselect",NULL )
-,       SchemaEntry("ifcshell",NULL )
-,       SchemaEntry("ifcsimplevalue",NULL )
-,       SchemaEntry("ifcsizeselect",NULL )
-,       SchemaEntry("ifcspecularhighlightselect",NULL )
-,       SchemaEntry("ifcstructuralactivityassignmentselect",NULL )
-,       SchemaEntry("ifcsurfaceorfacesurface",NULL )
-,       SchemaEntry("ifcsurfacestyleelementselect",NULL )
-,       SchemaEntry("ifcsymbolstyleselect",NULL )
-,       SchemaEntry("ifctextfontselect",NULL )
-,       SchemaEntry("ifctextstyleselect",NULL )
-,       SchemaEntry("ifctrimmingselect",NULL )
-,       SchemaEntry("ifcunit",NULL )
-,       SchemaEntry("ifcvalue",NULL )
-,       SchemaEntry("ifcvectorordirection",NULL )
-,       SchemaEntry("ifcrepresentationitem",&STEP::ObjectHelper<IfcRepresentationItem,0>::Construct )
-,       SchemaEntry("ifcgeometricrepresentationitem",&STEP::ObjectHelper<IfcGeometricRepresentationItem,0>::Construct )
-,       SchemaEntry("ifccurve",&STEP::ObjectHelper<IfcCurve,0>::Construct )
-,       SchemaEntry("ifcboundedcurve",&STEP::ObjectHelper<IfcBoundedCurve,0>::Construct )
-,       SchemaEntry("ifccompositecurve",&STEP::ObjectHelper<IfcCompositeCurve,2>::Construct )
-,       SchemaEntry("ifc2dcompositecurve",&STEP::ObjectHelper<Ifc2DCompositeCurve,0>::Construct )
-,       SchemaEntry("ifcroot",&STEP::ObjectHelper<IfcRoot,4>::Construct )
-,       SchemaEntry("ifcobjectdefinition",&STEP::ObjectHelper<IfcObjectDefinition,0>::Construct )
-,       SchemaEntry("ifcobject",&STEP::ObjectHelper<IfcObject,1>::Construct )
-,       SchemaEntry("ifccontrol",&STEP::ObjectHelper<IfcControl,0>::Construct )
-,       SchemaEntry("ifcactionrequest",&STEP::ObjectHelper<IfcActionRequest,1>::Construct )
-,       SchemaEntry("ifcactor",&STEP::ObjectHelper<IfcActor,1>::Construct )
-,       SchemaEntry("ifcactorrole",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctypeobject",&STEP::ObjectHelper<IfcTypeObject,2>::Construct )
-,       SchemaEntry("ifctypeproduct",&STEP::ObjectHelper<IfcTypeProduct,2>::Construct )
-,       SchemaEntry("ifcelementtype",&STEP::ObjectHelper<IfcElementType,1>::Construct )
-,       SchemaEntry("ifcdistributionelementtype",&STEP::ObjectHelper<IfcDistributionElementType,0>::Construct )
-,       SchemaEntry("ifcdistributioncontrolelementtype",&STEP::ObjectHelper<IfcDistributionControlElementType,0>::Construct )
-,       SchemaEntry("ifcactuatortype",&STEP::ObjectHelper<IfcActuatorType,1>::Construct )
-,       SchemaEntry("ifcaddress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdistributionflowelementtype",&STEP::ObjectHelper<IfcDistributionFlowElementType,0>::Construct )
-,       SchemaEntry("ifcflowcontrollertype",&STEP::ObjectHelper<IfcFlowControllerType,0>::Construct )
-,       SchemaEntry("ifcairterminalboxtype",&STEP::ObjectHelper<IfcAirTerminalBoxType,1>::Construct )
-,       SchemaEntry("ifcflowterminaltype",&STEP::ObjectHelper<IfcFlowTerminalType,0>::Construct )
-,       SchemaEntry("ifcairterminaltype",&STEP::ObjectHelper<IfcAirTerminalType,1>::Construct )
-,       SchemaEntry("ifcenergyconversiondevicetype",&STEP::ObjectHelper<IfcEnergyConversionDeviceType,0>::Construct )
-,       SchemaEntry("ifcairtoairheatrecoverytype",&STEP::ObjectHelper<IfcAirToAirHeatRecoveryType,1>::Construct )
-,       SchemaEntry("ifcalarmtype",&STEP::ObjectHelper<IfcAlarmType,1>::Construct )
-,       SchemaEntry("ifcdraughtingcallout",&STEP::ObjectHelper<IfcDraughtingCallout,1>::Construct )
-,       SchemaEntry("ifcdimensioncurvedirectedcallout",&STEP::ObjectHelper<IfcDimensionCurveDirectedCallout,0>::Construct )
-,       SchemaEntry("ifcangulardimension",&STEP::ObjectHelper<IfcAngularDimension,0>::Construct )
-,       SchemaEntry("ifcproduct",&STEP::ObjectHelper<IfcProduct,2>::Construct )
-,       SchemaEntry("ifcannotation",&STEP::ObjectHelper<IfcAnnotation,0>::Construct )
-,       SchemaEntry("ifcstyleditem",&STEP::ObjectHelper<IfcStyledItem,3>::Construct )
-,       SchemaEntry("ifcannotationoccurrence",&STEP::ObjectHelper<IfcAnnotationOccurrence,0>::Construct )
-,       SchemaEntry("ifcannotationcurveoccurrence",&STEP::ObjectHelper<IfcAnnotationCurveOccurrence,0>::Construct )
-,       SchemaEntry("ifcannotationfillarea",&STEP::ObjectHelper<IfcAnnotationFillArea,2>::Construct )
-,       SchemaEntry("ifcannotationfillareaoccurrence",&STEP::ObjectHelper<IfcAnnotationFillAreaOccurrence,2>::Construct )
-,       SchemaEntry("ifcannotationsurface",&STEP::ObjectHelper<IfcAnnotationSurface,2>::Construct )
-,       SchemaEntry("ifcannotationsurfaceoccurrence",&STEP::ObjectHelper<IfcAnnotationSurfaceOccurrence,0>::Construct )
-,       SchemaEntry("ifcannotationsymboloccurrence",&STEP::ObjectHelper<IfcAnnotationSymbolOccurrence,0>::Construct )
-,       SchemaEntry("ifcannotationtextoccurrence",&STEP::ObjectHelper<IfcAnnotationTextOccurrence,0>::Construct )
-,       SchemaEntry("ifcapplication",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcappliedvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcappliedvaluerelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcapproval",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcapprovalactorrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcapprovalpropertyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcapprovalrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcprofiledef",&STEP::ObjectHelper<IfcProfileDef,2>::Construct )
-,       SchemaEntry("ifcarbitraryclosedprofiledef",&STEP::ObjectHelper<IfcArbitraryClosedProfileDef,1>::Construct )
-,       SchemaEntry("ifcarbitraryopenprofiledef",&STEP::ObjectHelper<IfcArbitraryOpenProfileDef,1>::Construct )
-,       SchemaEntry("ifcarbitraryprofiledefwithvoids",&STEP::ObjectHelper<IfcArbitraryProfileDefWithVoids,1>::Construct )
-,       SchemaEntry("ifcgroup",&STEP::ObjectHelper<IfcGroup,0>::Construct )
-,       SchemaEntry("ifcasset",&STEP::ObjectHelper<IfcAsset,9>::Construct )
-,       SchemaEntry("ifcparameterizedprofiledef",&STEP::ObjectHelper<IfcParameterizedProfileDef,1>::Construct )
-,       SchemaEntry("ifcishapeprofiledef",&STEP::ObjectHelper<IfcIShapeProfileDef,5>::Construct )
-,       SchemaEntry("ifcasymmetricishapeprofiledef",&STEP::ObjectHelper<IfcAsymmetricIShapeProfileDef,4>::Construct )
-,       SchemaEntry("ifcplacement",&STEP::ObjectHelper<IfcPlacement,1>::Construct )
-,       SchemaEntry("ifcaxis1placement",&STEP::ObjectHelper<IfcAxis1Placement,1>::Construct )
-,       SchemaEntry("ifcaxis2placement2d",&STEP::ObjectHelper<IfcAxis2Placement2D,1>::Construct )
-,       SchemaEntry("ifcaxis2placement3d",&STEP::ObjectHelper<IfcAxis2Placement3D,2>::Construct )
-,       SchemaEntry("ifcbsplinecurve",&STEP::ObjectHelper<IfcBSplineCurve,5>::Construct )
-,       SchemaEntry("ifcelement",&STEP::ObjectHelper<IfcElement,1>::Construct )
-,       SchemaEntry("ifcbuildingelement",&STEP::ObjectHelper<IfcBuildingElement,0>::Construct )
-,       SchemaEntry("ifcbeam",&STEP::ObjectHelper<IfcBeam,0>::Construct )
-,       SchemaEntry("ifcbuildingelementtype",&STEP::ObjectHelper<IfcBuildingElementType,0>::Construct )
-,       SchemaEntry("ifcbeamtype",&STEP::ObjectHelper<IfcBeamType,1>::Construct )
-,       SchemaEntry("ifcbeziercurve",&STEP::ObjectHelper<IfcBezierCurve,0>::Construct )
-,       SchemaEntry("ifcsurfacetexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcblobtexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccsgprimitive3d",&STEP::ObjectHelper<IfcCsgPrimitive3D,1>::Construct )
-,       SchemaEntry("ifcblock",&STEP::ObjectHelper<IfcBlock,3>::Construct )
-,       SchemaEntry("ifcboilertype",&STEP::ObjectHelper<IfcBoilerType,1>::Construct )
-,       SchemaEntry("ifcbooleanresult",&STEP::ObjectHelper<IfcBooleanResult,3>::Construct )
-,       SchemaEntry("ifcbooleanclippingresult",&STEP::ObjectHelper<IfcBooleanClippingResult,0>::Construct )
-,       SchemaEntry("ifcboundarycondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcboundaryedgecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcboundaryfacecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcboundarynodecondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcboundarynodeconditionwarping",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsurface",&STEP::ObjectHelper<IfcSurface,0>::Construct )
-,       SchemaEntry("ifcboundedsurface",&STEP::ObjectHelper<IfcBoundedSurface,0>::Construct )
-,       SchemaEntry("ifcboundingbox",&STEP::ObjectHelper<IfcBoundingBox,4>::Construct )
-,       SchemaEntry("ifchalfspacesolid",&STEP::ObjectHelper<IfcHalfSpaceSolid,2>::Construct )
-,       SchemaEntry("ifcboxedhalfspace",&STEP::ObjectHelper<IfcBoxedHalfSpace,1>::Construct )
-,       SchemaEntry("ifcspatialstructureelement",&STEP::ObjectHelper<IfcSpatialStructureElement,2>::Construct )
-,       SchemaEntry("ifcbuilding",&STEP::ObjectHelper<IfcBuilding,3>::Construct )
-,       SchemaEntry("ifcbuildingelementcomponent",&STEP::ObjectHelper<IfcBuildingElementComponent,0>::Construct )
-,       SchemaEntry("ifcbuildingelementpart",&STEP::ObjectHelper<IfcBuildingElementPart,0>::Construct )
-,       SchemaEntry("ifcbuildingelementproxy",&STEP::ObjectHelper<IfcBuildingElementProxy,1>::Construct )
-,       SchemaEntry("ifcbuildingelementproxytype",&STEP::ObjectHelper<IfcBuildingElementProxyType,1>::Construct )
-,       SchemaEntry("ifcbuildingstorey",&STEP::ObjectHelper<IfcBuildingStorey,1>::Construct )
-,       SchemaEntry("ifccshapeprofiledef",&STEP::ObjectHelper<IfcCShapeProfileDef,6>::Construct )
-,       SchemaEntry("ifcflowfittingtype",&STEP::ObjectHelper<IfcFlowFittingType,0>::Construct )
-,       SchemaEntry("ifccablecarrierfittingtype",&STEP::ObjectHelper<IfcCableCarrierFittingType,1>::Construct )
-,       SchemaEntry("ifcflowsegmenttype",&STEP::ObjectHelper<IfcFlowSegmentType,0>::Construct )
-,       SchemaEntry("ifccablecarriersegmenttype",&STEP::ObjectHelper<IfcCableCarrierSegmentType,1>::Construct )
-,       SchemaEntry("ifccablesegmenttype",&STEP::ObjectHelper<IfcCableSegmentType,1>::Construct )
-,       SchemaEntry("ifccalendardate",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpoint",&STEP::ObjectHelper<IfcPoint,0>::Construct )
-,       SchemaEntry("ifccartesianpoint",&STEP::ObjectHelper<IfcCartesianPoint,1>::Construct )
-,       SchemaEntry("ifccartesiantransformationoperator",&STEP::ObjectHelper<IfcCartesianTransformationOperator,4>::Construct )
-,       SchemaEntry("ifccartesiantransformationoperator2d",&STEP::ObjectHelper<IfcCartesianTransformationOperator2D,0>::Construct )
-,       SchemaEntry("ifccartesiantransformationoperator2dnonuniform",&STEP::ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1>::Construct )
-,       SchemaEntry("ifccartesiantransformationoperator3d",&STEP::ObjectHelper<IfcCartesianTransformationOperator3D,1>::Construct )
-,       SchemaEntry("ifccartesiantransformationoperator3dnonuniform",&STEP::ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2>::Construct )
-,       SchemaEntry("ifccenterlineprofiledef",&STEP::ObjectHelper<IfcCenterLineProfileDef,1>::Construct )
-,       SchemaEntry("ifcfeatureelement",&STEP::ObjectHelper<IfcFeatureElement,0>::Construct )
-,       SchemaEntry("ifcfeatureelementsubtraction",&STEP::ObjectHelper<IfcFeatureElementSubtraction,0>::Construct )
-,       SchemaEntry("ifcedgefeature",&STEP::ObjectHelper<IfcEdgeFeature,1>::Construct )
-,       SchemaEntry("ifcchamferedgefeature",&STEP::ObjectHelper<IfcChamferEdgeFeature,2>::Construct )
-,       SchemaEntry("ifcchillertype",&STEP::ObjectHelper<IfcChillerType,1>::Construct )
-,       SchemaEntry("ifcconic",&STEP::ObjectHelper<IfcConic,1>::Construct )
-,       SchemaEntry("ifccircle",&STEP::ObjectHelper<IfcCircle,1>::Construct )
-,       SchemaEntry("ifccircleprofiledef",&STEP::ObjectHelper<IfcCircleProfileDef,1>::Construct )
-,       SchemaEntry("ifccirclehollowprofiledef",&STEP::ObjectHelper<IfcCircleHollowProfileDef,1>::Construct )
-,       SchemaEntry("ifcclassification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcclassificationitem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcclassificationitemrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcclassificationnotation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcclassificationnotationfacet",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcexternalreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcclassificationreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctopologicalrepresentationitem",&STEP::ObjectHelper<IfcTopologicalRepresentationItem,0>::Construct )
-,       SchemaEntry("ifcconnectedfaceset",&STEP::ObjectHelper<IfcConnectedFaceSet,1>::Construct )
-,       SchemaEntry("ifcclosedshell",&STEP::ObjectHelper<IfcClosedShell,0>::Construct )
-,       SchemaEntry("ifccoiltype",&STEP::ObjectHelper<IfcCoilType,1>::Construct )
-,       SchemaEntry("ifccolourspecification",&STEP::ObjectHelper<IfcColourSpecification,1>::Construct )
-,       SchemaEntry("ifccolourrgb",&STEP::ObjectHelper<IfcColourRgb,3>::Construct )
-,       SchemaEntry("ifccolumn",&STEP::ObjectHelper<IfcColumn,0>::Construct )
-,       SchemaEntry("ifccolumntype",&STEP::ObjectHelper<IfcColumnType,1>::Construct )
-,       SchemaEntry("ifcproperty",&STEP::ObjectHelper<IfcProperty,2>::Construct )
-,       SchemaEntry("ifccomplexproperty",&STEP::ObjectHelper<IfcComplexProperty,2>::Construct )
-,       SchemaEntry("ifccompositecurvesegment",&STEP::ObjectHelper<IfcCompositeCurveSegment,3>::Construct )
-,       SchemaEntry("ifccompositeprofiledef",&STEP::ObjectHelper<IfcCompositeProfileDef,2>::Construct )
-,       SchemaEntry("ifcflowmovingdevicetype",&STEP::ObjectHelper<IfcFlowMovingDeviceType,0>::Construct )
-,       SchemaEntry("ifccompressortype",&STEP::ObjectHelper<IfcCompressorType,1>::Construct )
-,       SchemaEntry("ifccondensertype",&STEP::ObjectHelper<IfcCondenserType,1>::Construct )
-,       SchemaEntry("ifccondition",&STEP::ObjectHelper<IfcCondition,0>::Construct )
-,       SchemaEntry("ifcconditioncriterion",&STEP::ObjectHelper<IfcConditionCriterion,2>::Construct )
-,       SchemaEntry("ifcconnectiongeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconnectioncurvegeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconnectionpointgeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconnectionpointeccentricity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconnectionportgeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconnectionsurfacegeometry",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconstraint",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconstraintaggregationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconstraintclassificationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcconstraintrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcresource",&STEP::ObjectHelper<IfcResource,0>::Construct )
-,       SchemaEntry("ifcconstructionresource",&STEP::ObjectHelper<IfcConstructionResource,4>::Construct )
-,       SchemaEntry("ifcconstructionequipmentresource",&STEP::ObjectHelper<IfcConstructionEquipmentResource,0>::Construct )
-,       SchemaEntry("ifcconstructionmaterialresource",&STEP::ObjectHelper<IfcConstructionMaterialResource,2>::Construct )
-,       SchemaEntry("ifcconstructionproductresource",&STEP::ObjectHelper<IfcConstructionProductResource,0>::Construct )
-,       SchemaEntry("ifcnamedunit",&STEP::ObjectHelper<IfcNamedUnit,2>::Construct )
-,       SchemaEntry("ifccontextdependentunit",&STEP::ObjectHelper<IfcContextDependentUnit,1>::Construct )
-,       SchemaEntry("ifccontrollertype",&STEP::ObjectHelper<IfcControllerType,1>::Construct )
-,       SchemaEntry("ifcconversionbasedunit",&STEP::ObjectHelper<IfcConversionBasedUnit,2>::Construct )
-,       SchemaEntry("ifccooledbeamtype",&STEP::ObjectHelper<IfcCooledBeamType,1>::Construct )
-,       SchemaEntry("ifccoolingtowertype",&STEP::ObjectHelper<IfcCoolingTowerType,1>::Construct )
-,       SchemaEntry("ifccoordinateduniversaltimeoffset",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccostitem",&STEP::ObjectHelper<IfcCostItem,0>::Construct )
-,       SchemaEntry("ifccostschedule",&STEP::ObjectHelper<IfcCostSchedule,8>::Construct )
-,       SchemaEntry("ifccostvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccovering",&STEP::ObjectHelper<IfcCovering,1>::Construct )
-,       SchemaEntry("ifccoveringtype",&STEP::ObjectHelper<IfcCoveringType,1>::Construct )
-,       SchemaEntry("ifccranerailashapeprofiledef",&STEP::ObjectHelper<IfcCraneRailAShapeProfileDef,12>::Construct )
-,       SchemaEntry("ifccranerailfshapeprofiledef",&STEP::ObjectHelper<IfcCraneRailFShapeProfileDef,9>::Construct )
-,       SchemaEntry("ifccrewresource",&STEP::ObjectHelper<IfcCrewResource,0>::Construct )
-,       SchemaEntry("ifcsolidmodel",&STEP::ObjectHelper<IfcSolidModel,0>::Construct )
-,       SchemaEntry("ifccsgsolid",&STEP::ObjectHelper<IfcCsgSolid,1>::Construct )
-,       SchemaEntry("ifccurrencyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccurtainwall",&STEP::ObjectHelper<IfcCurtainWall,0>::Construct )
-,       SchemaEntry("ifccurtainwalltype",&STEP::ObjectHelper<IfcCurtainWallType,1>::Construct )
-,       SchemaEntry("ifccurveboundedplane",&STEP::ObjectHelper<IfcCurveBoundedPlane,3>::Construct )
-,       SchemaEntry("ifcpresentationstyle",&STEP::ObjectHelper<IfcPresentationStyle,1>::Construct )
-,       SchemaEntry("ifccurvestyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccurvestylefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccurvestylefontandscaling",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifccurvestylefontpattern",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdampertype",&STEP::ObjectHelper<IfcDamperType,1>::Construct )
-,       SchemaEntry("ifcdateandtime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdefinedsymbol",&STEP::ObjectHelper<IfcDefinedSymbol,2>::Construct )
-,       SchemaEntry("ifcderivedprofiledef",&STEP::ObjectHelper<IfcDerivedProfileDef,3>::Construct )
-,       SchemaEntry("ifcderivedunit",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcderivedunitelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdiameterdimension",&STEP::ObjectHelper<IfcDiameterDimension,0>::Construct )
-,       SchemaEntry("ifcdraughtingcalloutrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdimensioncalloutrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdimensioncurve",&STEP::ObjectHelper<IfcDimensionCurve,0>::Construct )
-,       SchemaEntry("ifcterminatorsymbol",&STEP::ObjectHelper<IfcTerminatorSymbol,1>::Construct )
-,       SchemaEntry("ifcdimensioncurveterminator",&STEP::ObjectHelper<IfcDimensionCurveTerminator,1>::Construct )
-,       SchemaEntry("ifcdimensionpair",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdimensionalexponents",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdirection",&STEP::ObjectHelper<IfcDirection,1>::Construct )
-,       SchemaEntry("ifcelementcomponent",&STEP::ObjectHelper<IfcElementComponent,0>::Construct )
-,       SchemaEntry("ifcdiscreteaccessory",&STEP::ObjectHelper<IfcDiscreteAccessory,0>::Construct )
-,       SchemaEntry("ifcelementcomponenttype",&STEP::ObjectHelper<IfcElementComponentType,0>::Construct )
-,       SchemaEntry("ifcdiscreteaccessorytype",&STEP::ObjectHelper<IfcDiscreteAccessoryType,0>::Construct )
-,       SchemaEntry("ifcdistributionelement",&STEP::ObjectHelper<IfcDistributionElement,0>::Construct )
-,       SchemaEntry("ifcdistributionflowelement",&STEP::ObjectHelper<IfcDistributionFlowElement,0>::Construct )
-,       SchemaEntry("ifcdistributionchamberelement",&STEP::ObjectHelper<IfcDistributionChamberElement,0>::Construct )
-,       SchemaEntry("ifcdistributionchamberelementtype",&STEP::ObjectHelper<IfcDistributionChamberElementType,1>::Construct )
-,       SchemaEntry("ifcdistributioncontrolelement",&STEP::ObjectHelper<IfcDistributionControlElement,1>::Construct )
-,       SchemaEntry("ifcport",&STEP::ObjectHelper<IfcPort,0>::Construct )
-,       SchemaEntry("ifcdistributionport",&STEP::ObjectHelper<IfcDistributionPort,1>::Construct )
-,       SchemaEntry("ifcdocumentelectronicformat",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdocumentinformation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdocumentinformationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdocumentreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdoor",&STEP::ObjectHelper<IfcDoor,2>::Construct )
-,       SchemaEntry("ifcpropertydefinition",&STEP::ObjectHelper<IfcPropertyDefinition,0>::Construct )
-,       SchemaEntry("ifcpropertysetdefinition",&STEP::ObjectHelper<IfcPropertySetDefinition,0>::Construct )
-,       SchemaEntry("ifcdoorliningproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdoorpanelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdoorstyle",&STEP::ObjectHelper<IfcDoorStyle,4>::Construct )
-,       SchemaEntry("ifcpredefineditem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdraughtingpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedcurvefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdraughtingpredefinedcurvefont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcdraughtingpredefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcductfittingtype",&STEP::ObjectHelper<IfcDuctFittingType,1>::Construct )
-,       SchemaEntry("ifcductsegmenttype",&STEP::ObjectHelper<IfcDuctSegmentType,1>::Construct )
-,       SchemaEntry("ifcflowtreatmentdevicetype",&STEP::ObjectHelper<IfcFlowTreatmentDeviceType,0>::Construct )
-,       SchemaEntry("ifcductsilencertype",&STEP::ObjectHelper<IfcDuctSilencerType,1>::Construct )
-,       SchemaEntry("ifcedge",&STEP::ObjectHelper<IfcEdge,2>::Construct )
-,       SchemaEntry("ifcedgecurve",&STEP::ObjectHelper<IfcEdgeCurve,2>::Construct )
-,       SchemaEntry("ifcloop",&STEP::ObjectHelper<IfcLoop,0>::Construct )
-,       SchemaEntry("ifcedgeloop",&STEP::ObjectHelper<IfcEdgeLoop,1>::Construct )
-,       SchemaEntry("ifcelectricappliancetype",&STEP::ObjectHelper<IfcElectricApplianceType,1>::Construct )
-,       SchemaEntry("ifcflowcontroller",&STEP::ObjectHelper<IfcFlowController,0>::Construct )
-,       SchemaEntry("ifcelectricdistributionpoint",&STEP::ObjectHelper<IfcElectricDistributionPoint,2>::Construct )
-,       SchemaEntry("ifcflowstoragedevicetype",&STEP::ObjectHelper<IfcFlowStorageDeviceType,0>::Construct )
-,       SchemaEntry("ifcelectricflowstoragedevicetype",&STEP::ObjectHelper<IfcElectricFlowStorageDeviceType,1>::Construct )
-,       SchemaEntry("ifcelectricgeneratortype",&STEP::ObjectHelper<IfcElectricGeneratorType,1>::Construct )
-,       SchemaEntry("ifcelectricheatertype",&STEP::ObjectHelper<IfcElectricHeaterType,1>::Construct )
-,       SchemaEntry("ifcelectricmotortype",&STEP::ObjectHelper<IfcElectricMotorType,1>::Construct )
-,       SchemaEntry("ifcelectrictimecontroltype",&STEP::ObjectHelper<IfcElectricTimeControlType,1>::Construct )
-,       SchemaEntry("ifcenergyproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcelectricalbaseproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsystem",&STEP::ObjectHelper<IfcSystem,0>::Construct )
-,       SchemaEntry("ifcelectricalcircuit",&STEP::ObjectHelper<IfcElectricalCircuit,0>::Construct )
-,       SchemaEntry("ifcelectricalelement",&STEP::ObjectHelper<IfcElectricalElement,0>::Construct )
-,       SchemaEntry("ifcelementassembly",&STEP::ObjectHelper<IfcElementAssembly,2>::Construct )
-,       SchemaEntry("ifcelementquantity",&STEP::ObjectHelper<IfcElementQuantity,2>::Construct )
-,       SchemaEntry("ifcelementarysurface",&STEP::ObjectHelper<IfcElementarySurface,1>::Construct )
-,       SchemaEntry("ifcellipse",&STEP::ObjectHelper<IfcEllipse,2>::Construct )
-,       SchemaEntry("ifcellipseprofiledef",&STEP::ObjectHelper<IfcEllipseProfileDef,2>::Construct )
-,       SchemaEntry("ifcenergyconversiondevice",&STEP::ObjectHelper<IfcEnergyConversionDevice,0>::Construct )
-,       SchemaEntry("ifcenvironmentalimpactvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcequipmentelement",&STEP::ObjectHelper<IfcEquipmentElement,0>::Construct )
-,       SchemaEntry("ifcequipmentstandard",&STEP::ObjectHelper<IfcEquipmentStandard,0>::Construct )
-,       SchemaEntry("ifcevaporativecoolertype",&STEP::ObjectHelper<IfcEvaporativeCoolerType,1>::Construct )
-,       SchemaEntry("ifcevaporatortype",&STEP::ObjectHelper<IfcEvaporatorType,1>::Construct )
-,       SchemaEntry("ifcmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcextendedmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcexternallydefinedhatchstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcexternallydefinedsurfacestyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcexternallydefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcexternallydefinedtextfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsweptareasolid",&STEP::ObjectHelper<IfcSweptAreaSolid,2>::Construct )
-,       SchemaEntry("ifcextrudedareasolid",&STEP::ObjectHelper<IfcExtrudedAreaSolid,2>::Construct )
-,       SchemaEntry("ifcface",&STEP::ObjectHelper<IfcFace,1>::Construct )
-,       SchemaEntry("ifcfacebasedsurfacemodel",&STEP::ObjectHelper<IfcFaceBasedSurfaceModel,1>::Construct )
-,       SchemaEntry("ifcfacebound",&STEP::ObjectHelper<IfcFaceBound,2>::Construct )
-,       SchemaEntry("ifcfaceouterbound",&STEP::ObjectHelper<IfcFaceOuterBound,0>::Construct )
-,       SchemaEntry("ifcfacesurface",&STEP::ObjectHelper<IfcFaceSurface,2>::Construct )
-,       SchemaEntry("ifcmanifoldsolidbrep",&STEP::ObjectHelper<IfcManifoldSolidBrep,1>::Construct )
-,       SchemaEntry("ifcfacetedbrep",&STEP::ObjectHelper<IfcFacetedBrep,0>::Construct )
-,       SchemaEntry("ifcfacetedbrepwithvoids",&STEP::ObjectHelper<IfcFacetedBrepWithVoids,1>::Construct )
-,       SchemaEntry("ifcstructuralconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcfailureconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcfantype",&STEP::ObjectHelper<IfcFanType,1>::Construct )
-,       SchemaEntry("ifcfastener",&STEP::ObjectHelper<IfcFastener,0>::Construct )
-,       SchemaEntry("ifcfastenertype",&STEP::ObjectHelper<IfcFastenerType,0>::Construct )
-,       SchemaEntry("ifcfeatureelementaddition",&STEP::ObjectHelper<IfcFeatureElementAddition,0>::Construct )
-,       SchemaEntry("ifcfillareastyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcfillareastylehatching",&STEP::ObjectHelper<IfcFillAreaStyleHatching,5>::Construct )
-,       SchemaEntry("ifcfillareastyletilesymbolwithstyle",&STEP::ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1>::Construct )
-,       SchemaEntry("ifcfillareastyletiles",&STEP::ObjectHelper<IfcFillAreaStyleTiles,3>::Construct )
-,       SchemaEntry("ifcfiltertype",&STEP::ObjectHelper<IfcFilterType,1>::Construct )
-,       SchemaEntry("ifcfiresuppressionterminaltype",&STEP::ObjectHelper<IfcFireSuppressionTerminalType,1>::Construct )
-,       SchemaEntry("ifcflowfitting",&STEP::ObjectHelper<IfcFlowFitting,0>::Construct )
-,       SchemaEntry("ifcflowinstrumenttype",&STEP::ObjectHelper<IfcFlowInstrumentType,1>::Construct )
-,       SchemaEntry("ifcflowmetertype",&STEP::ObjectHelper<IfcFlowMeterType,1>::Construct )
-,       SchemaEntry("ifcflowmovingdevice",&STEP::ObjectHelper<IfcFlowMovingDevice,0>::Construct )
-,       SchemaEntry("ifcflowsegment",&STEP::ObjectHelper<IfcFlowSegment,0>::Construct )
-,       SchemaEntry("ifcflowstoragedevice",&STEP::ObjectHelper<IfcFlowStorageDevice,0>::Construct )
-,       SchemaEntry("ifcflowterminal",&STEP::ObjectHelper<IfcFlowTerminal,0>::Construct )
-,       SchemaEntry("ifcflowtreatmentdevice",&STEP::ObjectHelper<IfcFlowTreatmentDevice,0>::Construct )
-,       SchemaEntry("ifcfluidflowproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcfooting",&STEP::ObjectHelper<IfcFooting,1>::Construct )
-,       SchemaEntry("ifcfuelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcfurnishingelement",&STEP::ObjectHelper<IfcFurnishingElement,0>::Construct )
-,       SchemaEntry("ifcfurnishingelementtype",&STEP::ObjectHelper<IfcFurnishingElementType,0>::Construct )
-,       SchemaEntry("ifcfurniturestandard",&STEP::ObjectHelper<IfcFurnitureStandard,0>::Construct )
-,       SchemaEntry("ifcfurnituretype",&STEP::ObjectHelper<IfcFurnitureType,1>::Construct )
-,       SchemaEntry("ifcgasterminaltype",&STEP::ObjectHelper<IfcGasTerminalType,1>::Construct )
-,       SchemaEntry("ifcgeneralmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcgeneralprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcgeometricset",&STEP::ObjectHelper<IfcGeometricSet,1>::Construct )
-,       SchemaEntry("ifcgeometriccurveset",&STEP::ObjectHelper<IfcGeometricCurveSet,0>::Construct )
-,       SchemaEntry("ifcrepresentationcontext",&STEP::ObjectHelper<IfcRepresentationContext,2>::Construct )
-,       SchemaEntry("ifcgeometricrepresentationcontext",&STEP::ObjectHelper<IfcGeometricRepresentationContext,4>::Construct )
-,       SchemaEntry("ifcgeometricrepresentationsubcontext",&STEP::ObjectHelper<IfcGeometricRepresentationSubContext,4>::Construct )
-,       SchemaEntry("ifcgrid",&STEP::ObjectHelper<IfcGrid,3>::Construct )
-,       SchemaEntry("ifcgridaxis",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcobjectplacement",&STEP::ObjectHelper<IfcObjectPlacement,0>::Construct )
-,       SchemaEntry("ifcgridplacement",&STEP::ObjectHelper<IfcGridPlacement,2>::Construct )
-,       SchemaEntry("ifcheatexchangertype",&STEP::ObjectHelper<IfcHeatExchangerType,1>::Construct )
-,       SchemaEntry("ifchumidifiertype",&STEP::ObjectHelper<IfcHumidifierType,1>::Construct )
-,       SchemaEntry("ifchygroscopicmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcimagetexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcinventory",&STEP::ObjectHelper<IfcInventory,6>::Construct )
-,       SchemaEntry("ifctimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcirregulartimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcirregulartimeseriesvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcjunctionboxtype",&STEP::ObjectHelper<IfcJunctionBoxType,1>::Construct )
-,       SchemaEntry("ifclshapeprofiledef",&STEP::ObjectHelper<IfcLShapeProfileDef,8>::Construct )
-,       SchemaEntry("ifclaborresource",&STEP::ObjectHelper<IfcLaborResource,1>::Construct )
-,       SchemaEntry("ifclamptype",&STEP::ObjectHelper<IfcLampType,1>::Construct )
-,       SchemaEntry("ifclibraryinformation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifclibraryreference",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifclightdistributiondata",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifclightfixturetype",&STEP::ObjectHelper<IfcLightFixtureType,1>::Construct )
-,       SchemaEntry("ifclightintensitydistribution",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifclightsource",&STEP::ObjectHelper<IfcLightSource,4>::Construct )
-,       SchemaEntry("ifclightsourceambient",&STEP::ObjectHelper<IfcLightSourceAmbient,0>::Construct )
-,       SchemaEntry("ifclightsourcedirectional",&STEP::ObjectHelper<IfcLightSourceDirectional,1>::Construct )
-,       SchemaEntry("ifclightsourcegoniometric",&STEP::ObjectHelper<IfcLightSourceGoniometric,6>::Construct )
-,       SchemaEntry("ifclightsourcepositional",&STEP::ObjectHelper<IfcLightSourcePositional,5>::Construct )
-,       SchemaEntry("ifclightsourcespot",&STEP::ObjectHelper<IfcLightSourceSpot,4>::Construct )
-,       SchemaEntry("ifcline",&STEP::ObjectHelper<IfcLine,2>::Construct )
-,       SchemaEntry("ifclineardimension",&STEP::ObjectHelper<IfcLinearDimension,0>::Construct )
-,       SchemaEntry("ifclocalplacement",&STEP::ObjectHelper<IfcLocalPlacement,2>::Construct )
-,       SchemaEntry("ifclocaltime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmappeditem",&STEP::ObjectHelper<IfcMappedItem,2>::Construct )
-,       SchemaEntry("ifcmaterial",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmaterialclassificationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcproductrepresentation",&STEP::ObjectHelper<IfcProductRepresentation,3>::Construct )
-,       SchemaEntry("ifcmaterialdefinitionrepresentation",&STEP::ObjectHelper<IfcMaterialDefinitionRepresentation,1>::Construct )
-,       SchemaEntry("ifcmateriallayer",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmateriallayerset",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmateriallayersetusage",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmateriallist",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmeasurewithunit",&STEP::ObjectHelper<IfcMeasureWithUnit,2>::Construct )
-,       SchemaEntry("ifcmechanicalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmechanicalconcretematerialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmechanicalfastener",&STEP::ObjectHelper<IfcMechanicalFastener,2>::Construct )
-,       SchemaEntry("ifcmechanicalfastenertype",&STEP::ObjectHelper<IfcMechanicalFastenerType,0>::Construct )
-,       SchemaEntry("ifcmechanicalsteelmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmember",&STEP::ObjectHelper<IfcMember,0>::Construct )
-,       SchemaEntry("ifcmembertype",&STEP::ObjectHelper<IfcMemberType,1>::Construct )
-,       SchemaEntry("ifcmetric",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmonetaryunit",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcmotorconnectiontype",&STEP::ObjectHelper<IfcMotorConnectionType,1>::Construct )
-,       SchemaEntry("ifcprocess",&STEP::ObjectHelper<IfcProcess,0>::Construct )
-,       SchemaEntry("ifctask",&STEP::ObjectHelper<IfcTask,5>::Construct )
-,       SchemaEntry("ifcmove",&STEP::ObjectHelper<IfcMove,3>::Construct )
-,       SchemaEntry("ifcobjective",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcoccupant",&STEP::ObjectHelper<IfcOccupant,1>::Construct )
-,       SchemaEntry("ifcoffsetcurve2d",&STEP::ObjectHelper<IfcOffsetCurve2D,3>::Construct )
-,       SchemaEntry("ifcoffsetcurve3d",&STEP::ObjectHelper<IfcOffsetCurve3D,4>::Construct )
-,       SchemaEntry("ifconedirectionrepeatfactor",&STEP::ObjectHelper<IfcOneDirectionRepeatFactor,1>::Construct )
-,       SchemaEntry("ifcopenshell",&STEP::ObjectHelper<IfcOpenShell,0>::Construct )
-,       SchemaEntry("ifcopeningelement",&STEP::ObjectHelper<IfcOpeningElement,0>::Construct )
-,       SchemaEntry("ifcopticalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcorderaction",&STEP::ObjectHelper<IfcOrderAction,1>::Construct )
-,       SchemaEntry("ifcorganization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcorganizationrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcorientededge",&STEP::ObjectHelper<IfcOrientedEdge,2>::Construct )
-,       SchemaEntry("ifcoutlettype",&STEP::ObjectHelper<IfcOutletType,1>::Construct )
-,       SchemaEntry("ifcownerhistory",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpath",&STEP::ObjectHelper<IfcPath,1>::Construct )
-,       SchemaEntry("ifcperformancehistory",&STEP::ObjectHelper<IfcPerformanceHistory,1>::Construct )
-,       SchemaEntry("ifcpermeablecoveringproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpermit",&STEP::ObjectHelper<IfcPermit,1>::Construct )
-,       SchemaEntry("ifcperson",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpersonandorganization",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcphysicalquantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcphysicalcomplexquantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcphysicalsimplequantity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpile",&STEP::ObjectHelper<IfcPile,2>::Construct )
-,       SchemaEntry("ifcpipefittingtype",&STEP::ObjectHelper<IfcPipeFittingType,1>::Construct )
-,       SchemaEntry("ifcpipesegmenttype",&STEP::ObjectHelper<IfcPipeSegmentType,1>::Construct )
-,       SchemaEntry("ifcpixeltexture",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcplanarextent",&STEP::ObjectHelper<IfcPlanarExtent,2>::Construct )
-,       SchemaEntry("ifcplanarbox",&STEP::ObjectHelper<IfcPlanarBox,1>::Construct )
-,       SchemaEntry("ifcplane",&STEP::ObjectHelper<IfcPlane,0>::Construct )
-,       SchemaEntry("ifcplate",&STEP::ObjectHelper<IfcPlate,0>::Construct )
-,       SchemaEntry("ifcplatetype",&STEP::ObjectHelper<IfcPlateType,1>::Construct )
-,       SchemaEntry("ifcpointoncurve",&STEP::ObjectHelper<IfcPointOnCurve,2>::Construct )
-,       SchemaEntry("ifcpointonsurface",&STEP::ObjectHelper<IfcPointOnSurface,3>::Construct )
-,       SchemaEntry("ifcpolyloop",&STEP::ObjectHelper<IfcPolyLoop,1>::Construct )
-,       SchemaEntry("ifcpolygonalboundedhalfspace",&STEP::ObjectHelper<IfcPolygonalBoundedHalfSpace,2>::Construct )
-,       SchemaEntry("ifcpolyline",&STEP::ObjectHelper<IfcPolyline,1>::Construct )
-,       SchemaEntry("ifcpostaladdress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefineddimensionsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedpointmarkersymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpredefinedterminatorsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpresentationlayerassignment",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpresentationlayerwithstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpresentationstyleassignment",&STEP::ObjectHelper<IfcPresentationStyleAssignment,1>::Construct )
-,       SchemaEntry("ifcprocedure",&STEP::ObjectHelper<IfcProcedure,3>::Construct )
-,       SchemaEntry("ifcproductdefinitionshape",&STEP::ObjectHelper<IfcProductDefinitionShape,0>::Construct )
-,       SchemaEntry("ifcproductsofcombustionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcproject",&STEP::ObjectHelper<IfcProject,4>::Construct )
-,       SchemaEntry("ifcprojectorder",&STEP::ObjectHelper<IfcProjectOrder,3>::Construct )
-,       SchemaEntry("ifcprojectorderrecord",&STEP::ObjectHelper<IfcProjectOrderRecord,2>::Construct )
-,       SchemaEntry("ifcprojectioncurve",&STEP::ObjectHelper<IfcProjectionCurve,0>::Construct )
-,       SchemaEntry("ifcprojectionelement",&STEP::ObjectHelper<IfcProjectionElement,0>::Construct )
-,       SchemaEntry("ifcsimpleproperty",&STEP::ObjectHelper<IfcSimpleProperty,0>::Construct )
-,       SchemaEntry("ifcpropertyboundedvalue",&STEP::ObjectHelper<IfcPropertyBoundedValue,3>::Construct )
-,       SchemaEntry("ifcpropertyconstraintrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpropertydependencyrelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpropertyenumeratedvalue",&STEP::ObjectHelper<IfcPropertyEnumeratedValue,2>::Construct )
-,       SchemaEntry("ifcpropertyenumeration",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcpropertylistvalue",&STEP::ObjectHelper<IfcPropertyListValue,2>::Construct )
-,       SchemaEntry("ifcpropertyreferencevalue",&STEP::ObjectHelper<IfcPropertyReferenceValue,2>::Construct )
-,       SchemaEntry("ifcpropertyset",&STEP::ObjectHelper<IfcPropertySet,1>::Construct )
-,       SchemaEntry("ifcpropertysinglevalue",&STEP::ObjectHelper<IfcPropertySingleValue,2>::Construct )
-,       SchemaEntry("ifcpropertytablevalue",&STEP::ObjectHelper<IfcPropertyTableValue,5>::Construct )
-,       SchemaEntry("ifcprotectivedevicetype",&STEP::ObjectHelper<IfcProtectiveDeviceType,1>::Construct )
-,       SchemaEntry("ifcproxy",&STEP::ObjectHelper<IfcProxy,2>::Construct )
-,       SchemaEntry("ifcpumptype",&STEP::ObjectHelper<IfcPumpType,1>::Construct )
-,       SchemaEntry("ifcquantityarea",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcquantitycount",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcquantitylength",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcquantitytime",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcquantityvolume",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcquantityweight",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcradiusdimension",&STEP::ObjectHelper<IfcRadiusDimension,0>::Construct )
-,       SchemaEntry("ifcrailing",&STEP::ObjectHelper<IfcRailing,1>::Construct )
-,       SchemaEntry("ifcrailingtype",&STEP::ObjectHelper<IfcRailingType,1>::Construct )
-,       SchemaEntry("ifcramp",&STEP::ObjectHelper<IfcRamp,1>::Construct )
-,       SchemaEntry("ifcrampflight",&STEP::ObjectHelper<IfcRampFlight,0>::Construct )
-,       SchemaEntry("ifcrampflighttype",&STEP::ObjectHelper<IfcRampFlightType,1>::Construct )
-,       SchemaEntry("ifcrationalbeziercurve",&STEP::ObjectHelper<IfcRationalBezierCurve,1>::Construct )
-,       SchemaEntry("ifcrectangleprofiledef",&STEP::ObjectHelper<IfcRectangleProfileDef,2>::Construct )
-,       SchemaEntry("ifcrectanglehollowprofiledef",&STEP::ObjectHelper<IfcRectangleHollowProfileDef,3>::Construct )
-,       SchemaEntry("ifcrectangularpyramid",&STEP::ObjectHelper<IfcRectangularPyramid,3>::Construct )
-,       SchemaEntry("ifcrectangulartrimmedsurface",&STEP::ObjectHelper<IfcRectangularTrimmedSurface,7>::Construct )
-,       SchemaEntry("ifcreferencesvaluedocument",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcregulartimeseries",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreinforcementbarproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreinforcementdefinitionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreinforcingelement",&STEP::ObjectHelper<IfcReinforcingElement,1>::Construct )
-,       SchemaEntry("ifcreinforcingbar",&STEP::ObjectHelper<IfcReinforcingBar,5>::Construct )
-,       SchemaEntry("ifcreinforcingmesh",&STEP::ObjectHelper<IfcReinforcingMesh,8>::Construct )
-,       SchemaEntry("ifcrelationship",&STEP::ObjectHelper<IfcRelationship,0>::Construct )
-,       SchemaEntry("ifcreldecomposes",&STEP::ObjectHelper<IfcRelDecomposes,2>::Construct )
-,       SchemaEntry("ifcrelaggregates",&STEP::ObjectHelper<IfcRelAggregates,0>::Construct )
-,       SchemaEntry("ifcrelassigns",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstocontrol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstasks",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstoactor",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstogroup",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstoprocess",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstoproduct",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstoprojectorder",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassignstoresource",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociates",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesappliedvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesapproval",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesclassification",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesconstraint",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesdocument",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociateslibrary",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesmaterial",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelassociatesprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnects",&STEP::ObjectHelper<IfcRelConnects,0>::Construct )
-,       SchemaEntry("ifcrelconnectselements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectspathelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectsporttoelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectsports",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectsstructuralactivity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectsstructuralelement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectsstructuralmember",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectswitheccentricity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelconnectswithrealizingelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelcontainedinspatialstructure",&STEP::ObjectHelper<IfcRelContainedInSpatialStructure,2>::Construct )
-,       SchemaEntry("ifcrelcoversbldgelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelcoversspaces",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreldefines",&STEP::ObjectHelper<IfcRelDefines,1>::Construct )
-,       SchemaEntry("ifcreldefinesbyproperties",&STEP::ObjectHelper<IfcRelDefinesByProperties,1>::Construct )
-,       SchemaEntry("ifcreldefinesbytype",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelfillselement",&STEP::ObjectHelper<IfcRelFillsElement,2>::Construct )
-,       SchemaEntry("ifcrelflowcontrolelements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelinteractionrequirements",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelnests",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreloccupiesspaces",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcreloverridesproperties",&STEP::ObjectHelper<IfcRelOverridesProperties,1>::Construct )
-,       SchemaEntry("ifcrelprojectselement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelreferencedinspatialstructure",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelschedulescostitems",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelsequence",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelservicesbuildings",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelspaceboundary",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrelvoidselement",&STEP::ObjectHelper<IfcRelVoidsElement,2>::Construct )
-,       SchemaEntry("ifcrelaxation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrepresentation",&STEP::ObjectHelper<IfcRepresentation,4>::Construct )
-,       SchemaEntry("ifcrepresentationmap",&STEP::ObjectHelper<IfcRepresentationMap,2>::Construct )
-,       SchemaEntry("ifcrevolvedareasolid",&STEP::ObjectHelper<IfcRevolvedAreaSolid,2>::Construct )
-,       SchemaEntry("ifcribplateprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcrightcircularcone",&STEP::ObjectHelper<IfcRightCircularCone,2>::Construct )
-,       SchemaEntry("ifcrightcircularcylinder",&STEP::ObjectHelper<IfcRightCircularCylinder,2>::Construct )
-,       SchemaEntry("ifcroof",&STEP::ObjectHelper<IfcRoof,1>::Construct )
-,       SchemaEntry("ifcroundededgefeature",&STEP::ObjectHelper<IfcRoundedEdgeFeature,1>::Construct )
-,       SchemaEntry("ifcroundedrectangleprofiledef",&STEP::ObjectHelper<IfcRoundedRectangleProfileDef,1>::Construct )
-,       SchemaEntry("ifcsiunit",&STEP::ObjectHelper<IfcSIUnit,2>::Construct )
-,       SchemaEntry("ifcsanitaryterminaltype",&STEP::ObjectHelper<IfcSanitaryTerminalType,1>::Construct )
-,       SchemaEntry("ifcscheduletimecontrol",&STEP::ObjectHelper<IfcScheduleTimeControl,18>::Construct )
-,       SchemaEntry("ifcsectionproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsectionreinforcementproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsectionedspine",&STEP::ObjectHelper<IfcSectionedSpine,3>::Construct )
-,       SchemaEntry("ifcsensortype",&STEP::ObjectHelper<IfcSensorType,1>::Construct )
-,       SchemaEntry("ifcservicelife",&STEP::ObjectHelper<IfcServiceLife,2>::Construct )
-,       SchemaEntry("ifcservicelifefactor",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcshapeaspect",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcshapemodel",&STEP::ObjectHelper<IfcShapeModel,0>::Construct )
-,       SchemaEntry("ifcshaperepresentation",&STEP::ObjectHelper<IfcShapeRepresentation,0>::Construct )
-,       SchemaEntry("ifcshellbasedsurfacemodel",&STEP::ObjectHelper<IfcShellBasedSurfaceModel,1>::Construct )
-,       SchemaEntry("ifcsite",&STEP::ObjectHelper<IfcSite,5>::Construct )
-,       SchemaEntry("ifcslab",&STEP::ObjectHelper<IfcSlab,1>::Construct )
-,       SchemaEntry("ifcslabtype",&STEP::ObjectHelper<IfcSlabType,1>::Construct )
-,       SchemaEntry("ifcslippageconnectioncondition",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsoundproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsoundvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcspace",&STEP::ObjectHelper<IfcSpace,2>::Construct )
-,       SchemaEntry("ifcspaceheatertype",&STEP::ObjectHelper<IfcSpaceHeaterType,1>::Construct )
-,       SchemaEntry("ifcspaceprogram",&STEP::ObjectHelper<IfcSpaceProgram,5>::Construct )
-,       SchemaEntry("ifcspacethermalloadproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcspatialstructureelementtype",&STEP::ObjectHelper<IfcSpatialStructureElementType,0>::Construct )
-,       SchemaEntry("ifcspacetype",&STEP::ObjectHelper<IfcSpaceType,1>::Construct )
-,       SchemaEntry("ifcsphere",&STEP::ObjectHelper<IfcSphere,1>::Construct )
-,       SchemaEntry("ifcstackterminaltype",&STEP::ObjectHelper<IfcStackTerminalType,1>::Construct )
-,       SchemaEntry("ifcstair",&STEP::ObjectHelper<IfcStair,1>::Construct )
-,       SchemaEntry("ifcstairflight",&STEP::ObjectHelper<IfcStairFlight,4>::Construct )
-,       SchemaEntry("ifcstairflighttype",&STEP::ObjectHelper<IfcStairFlightType,1>::Construct )
-,       SchemaEntry("ifcstructuralactivity",&STEP::ObjectHelper<IfcStructuralActivity,2>::Construct )
-,       SchemaEntry("ifcstructuralaction",&STEP::ObjectHelper<IfcStructuralAction,2>::Construct )
-,       SchemaEntry("ifcstructuralanalysismodel",&STEP::ObjectHelper<IfcStructuralAnalysisModel,4>::Construct )
-,       SchemaEntry("ifcstructuralitem",&STEP::ObjectHelper<IfcStructuralItem,0>::Construct )
-,       SchemaEntry("ifcstructuralconnection",&STEP::ObjectHelper<IfcStructuralConnection,1>::Construct )
-,       SchemaEntry("ifcstructuralcurveconnection",&STEP::ObjectHelper<IfcStructuralCurveConnection,0>::Construct )
-,       SchemaEntry("ifcstructuralmember",&STEP::ObjectHelper<IfcStructuralMember,0>::Construct )
-,       SchemaEntry("ifcstructuralcurvemember",&STEP::ObjectHelper<IfcStructuralCurveMember,1>::Construct )
-,       SchemaEntry("ifcstructuralcurvemembervarying",&STEP::ObjectHelper<IfcStructuralCurveMemberVarying,0>::Construct )
-,       SchemaEntry("ifcstructurallinearaction",&STEP::ObjectHelper<IfcStructuralLinearAction,1>::Construct )
-,       SchemaEntry("ifcstructurallinearactionvarying",&STEP::ObjectHelper<IfcStructuralLinearActionVarying,2>::Construct )
-,       SchemaEntry("ifcstructuralload",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadgroup",&STEP::ObjectHelper<IfcStructuralLoadGroup,5>::Construct )
-,       SchemaEntry("ifcstructuralloadstatic",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadlinearforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadplanarforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadsingledisplacement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadsingledisplacementdistortion",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadsingleforce",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadsingleforcewarping",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralloadtemperature",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralplanaraction",&STEP::ObjectHelper<IfcStructuralPlanarAction,1>::Construct )
-,       SchemaEntry("ifcstructuralplanaractionvarying",&STEP::ObjectHelper<IfcStructuralPlanarActionVarying,2>::Construct )
-,       SchemaEntry("ifcstructuralpointaction",&STEP::ObjectHelper<IfcStructuralPointAction,0>::Construct )
-,       SchemaEntry("ifcstructuralpointconnection",&STEP::ObjectHelper<IfcStructuralPointConnection,0>::Construct )
-,       SchemaEntry("ifcstructuralreaction",&STEP::ObjectHelper<IfcStructuralReaction,0>::Construct )
-,       SchemaEntry("ifcstructuralpointreaction",&STEP::ObjectHelper<IfcStructuralPointReaction,0>::Construct )
-,       SchemaEntry("ifcstructuralprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralresultgroup",&STEP::ObjectHelper<IfcStructuralResultGroup,3>::Construct )
-,       SchemaEntry("ifcstructuralsteelprofileproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcstructuralsurfaceconnection",&STEP::ObjectHelper<IfcStructuralSurfaceConnection,0>::Construct )
-,       SchemaEntry("ifcstructuralsurfacemember",&STEP::ObjectHelper<IfcStructuralSurfaceMember,2>::Construct )
-,       SchemaEntry("ifcstructuralsurfacemembervarying",&STEP::ObjectHelper<IfcStructuralSurfaceMemberVarying,2>::Construct )
-,       SchemaEntry("ifcstructureddimensioncallout",&STEP::ObjectHelper<IfcStructuredDimensionCallout,0>::Construct )
-,       SchemaEntry("ifcstylemodel",&STEP::ObjectHelper<IfcStyleModel,0>::Construct )
-,       SchemaEntry("ifcstyledrepresentation",&STEP::ObjectHelper<IfcStyledRepresentation,0>::Construct )
-,       SchemaEntry("ifcsubcontractresource",&STEP::ObjectHelper<IfcSubContractResource,2>::Construct )
-,       SchemaEntry("ifcsubedge",&STEP::ObjectHelper<IfcSubedge,1>::Construct )
-,       SchemaEntry("ifcsurfacecurvesweptareasolid",&STEP::ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4>::Construct )
-,       SchemaEntry("ifcsweptsurface",&STEP::ObjectHelper<IfcSweptSurface,2>::Construct )
-,       SchemaEntry("ifcsurfaceoflinearextrusion",&STEP::ObjectHelper<IfcSurfaceOfLinearExtrusion,2>::Construct )
-,       SchemaEntry("ifcsurfaceofrevolution",&STEP::ObjectHelper<IfcSurfaceOfRevolution,1>::Construct )
-,       SchemaEntry("ifcsurfacestyle",&STEP::ObjectHelper<IfcSurfaceStyle,2>::Construct )
-,       SchemaEntry("ifcsurfacestylelighting",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsurfacestylerefraction",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsurfacestyleshading",&STEP::ObjectHelper<IfcSurfaceStyleShading,1>::Construct )
-,       SchemaEntry("ifcsurfacestylerendering",&STEP::ObjectHelper<IfcSurfaceStyleRendering,8>::Construct )
-,       SchemaEntry("ifcsurfacestylewithtextures",&STEP::ObjectHelper<IfcSurfaceStyleWithTextures,1>::Construct )
-,       SchemaEntry("ifcsweptdisksolid",&STEP::ObjectHelper<IfcSweptDiskSolid,5>::Construct )
-,       SchemaEntry("ifcswitchingdevicetype",&STEP::ObjectHelper<IfcSwitchingDeviceType,1>::Construct )
-,       SchemaEntry("ifcsymbolstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcsystemfurnitureelementtype",&STEP::ObjectHelper<IfcSystemFurnitureElementType,0>::Construct )
-,       SchemaEntry("ifctshapeprofiledef",&STEP::ObjectHelper<IfcTShapeProfileDef,10>::Construct )
-,       SchemaEntry("ifctable",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctablerow",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctanktype",&STEP::ObjectHelper<IfcTankType,1>::Construct )
-,       SchemaEntry("ifctelecomaddress",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctendon",&STEP::ObjectHelper<IfcTendon,8>::Construct )
-,       SchemaEntry("ifctendonanchor",&STEP::ObjectHelper<IfcTendonAnchor,0>::Construct )
-,       SchemaEntry("ifctextliteral",&STEP::ObjectHelper<IfcTextLiteral,3>::Construct )
-,       SchemaEntry("ifctextliteralwithextent",&STEP::ObjectHelper<IfcTextLiteralWithExtent,2>::Construct )
-,       SchemaEntry("ifctextstyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctextstylefontmodel",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctextstylefordefinedfont",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctextstyletextmodel",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctextstylewithboxcharacteristics",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctexturecoordinate",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctexturecoordinategenerator",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctexturemap",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctexturevertex",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcthermalmaterialproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctimeseriesreferencerelationship",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctimeseriesschedule",&STEP::ObjectHelper<IfcTimeSeriesSchedule,3>::Construct )
-,       SchemaEntry("ifctimeseriesvalue",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifctopologyrepresentation",&STEP::ObjectHelper<IfcTopologyRepresentation,0>::Construct )
-,       SchemaEntry("ifctransformertype",&STEP::ObjectHelper<IfcTransformerType,1>::Construct )
-,       SchemaEntry("ifctransportelement",&STEP::ObjectHelper<IfcTransportElement,3>::Construct )
-,       SchemaEntry("ifctransportelementtype",&STEP::ObjectHelper<IfcTransportElementType,1>::Construct )
-,       SchemaEntry("ifctrapeziumprofiledef",&STEP::ObjectHelper<IfcTrapeziumProfileDef,4>::Construct )
-,       SchemaEntry("ifctrimmedcurve",&STEP::ObjectHelper<IfcTrimmedCurve,5>::Construct )
-,       SchemaEntry("ifctubebundletype",&STEP::ObjectHelper<IfcTubeBundleType,1>::Construct )
-,       SchemaEntry("ifctwodirectionrepeatfactor",&STEP::ObjectHelper<IfcTwoDirectionRepeatFactor,1>::Construct )
-,       SchemaEntry("ifcushapeprofiledef",&STEP::ObjectHelper<IfcUShapeProfileDef,8>::Construct )
-,       SchemaEntry("ifcunitassignment",&STEP::ObjectHelper<IfcUnitAssignment,1>::Construct )
-,       SchemaEntry("ifcunitaryequipmenttype",&STEP::ObjectHelper<IfcUnitaryEquipmentType,1>::Construct )
-,       SchemaEntry("ifcvalvetype",&STEP::ObjectHelper<IfcValveType,1>::Construct )
-,       SchemaEntry("ifcvector",&STEP::ObjectHelper<IfcVector,2>::Construct )
-,       SchemaEntry("ifcvertex",&STEP::ObjectHelper<IfcVertex,0>::Construct )
-,       SchemaEntry("ifcvertexbasedtexturemap",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcvertexloop",&STEP::ObjectHelper<IfcVertexLoop,1>::Construct )
-,       SchemaEntry("ifcvertexpoint",&STEP::ObjectHelper<IfcVertexPoint,1>::Construct )
-,       SchemaEntry("ifcvibrationisolatortype",&STEP::ObjectHelper<IfcVibrationIsolatorType,1>::Construct )
-,       SchemaEntry("ifcvirtualelement",&STEP::ObjectHelper<IfcVirtualElement,0>::Construct )
-,       SchemaEntry("ifcvirtualgridintersection",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcwall",&STEP::ObjectHelper<IfcWall,0>::Construct )
-,       SchemaEntry("ifcwallstandardcase",&STEP::ObjectHelper<IfcWallStandardCase,0>::Construct )
-,       SchemaEntry("ifcwalltype",&STEP::ObjectHelper<IfcWallType,1>::Construct )
-,       SchemaEntry("ifcwasteterminaltype",&STEP::ObjectHelper<IfcWasteTerminalType,1>::Construct )
-,       SchemaEntry("ifcwaterproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcwindow",&STEP::ObjectHelper<IfcWindow,2>::Construct )
-,       SchemaEntry("ifcwindowliningproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcwindowpanelproperties",&STEP::ObjectHelper<NotImplemented,0>::Construct )
-,       SchemaEntry("ifcwindowstyle",&STEP::ObjectHelper<IfcWindowStyle,4>::Construct )
-,       SchemaEntry("ifcworkcontrol",&STEP::ObjectHelper<IfcWorkControl,10>::Construct )
-,       SchemaEntry("ifcworkplan",&STEP::ObjectHelper<IfcWorkPlan,0>::Construct )
-,       SchemaEntry("ifcworkschedule",&STEP::ObjectHelper<IfcWorkSchedule,0>::Construct )
-,       SchemaEntry("ifczshapeprofiledef",&STEP::ObjectHelper<IfcZShapeProfileDef,6>::Construct )
-,       SchemaEntry("ifczone",&STEP::ObjectHelper<IfcZone,0>::Construct )
-
-    };
-}
-
-// -----------------------------------------------------------------------------------------------------------
-void IFC::GetSchema(EXPRESS::ConversionSchema& out)
-{
-    out = EXPRESS::ConversionSchema(schema_raw);
-}
-
-namespace STEP {
-
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& params, NotImplemented* in)
-{
-    return 0;
-}
-
-
-
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRepresentationItem>(const DB& db, const LIST& params, IfcRepresentationItem* in)
-{
-    size_t base = 0;
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGeometricRepresentationItem>(const DB& db, const LIST& params, IfcGeometricRepresentationItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCurve>(const DB& db, const LIST& params, IfcCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBoundedCurve>(const DB& db, const LIST& params, IfcBoundedCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCompositeCurve>(const DB& db, const LIST& params, IfcCompositeCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcCompositeCurve"); }    do { // convert the 'Segments' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCompositeCurve,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Segments, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCompositeCurve to be a `LIST [1:?] OF IfcCompositeCurveSegment`")); }
-    } while(0);
-    do { // convert the 'SelfIntersect' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCompositeCurve,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->SelfIntersect, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCompositeCurve to be a `LOGICAL`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<Ifc2DCompositeCurve>(const DB& db, const LIST& params, Ifc2DCompositeCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCompositeCurve*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRoot>(const DB& db, const LIST& params, IfcRoot* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRoot"); }    do { // convert the 'GlobalId' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->GlobalId, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRoot to be a `IfcGloballyUniqueId`")); }
-    } while(0);
-    do { // convert the 'OwnerHistory' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->OwnerHistory, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRoot to be a `IfcOwnerHistory`")); }
-    } while(0);
-    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[2]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRoot to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'Description' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRoot,4>::aux_is_derived[3]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Description, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRoot to be a `IfcText`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcObjectDefinition>(const DB& db, const LIST& params, IfcObjectDefinition* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcObjectDefinition"); } return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcObject>(const DB& db, const LIST& params, IfcObject* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObjectDefinition*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcObject"); }    do { // convert the 'ObjectType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcObject,1>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ObjectType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcObject to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcControl>(const DB& db, const LIST& params, IfcControl* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcActionRequest>(const DB& db, const LIST& params, IfcActionRequest* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcActor>(const DB& db, const LIST& params, IfcActor* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTypeObject>(const DB& db, const LIST& params, IfcTypeObject* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObjectDefinition*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTypeProduct>(const DB& db, const LIST& params, IfcTypeProduct* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTypeObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementType>(const DB& db, const LIST& params, IfcElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionElementType>(const DB& db, const LIST& params, IfcDistributionElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionControlElementType>(const DB& db, const LIST& params, IfcDistributionControlElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcActuatorType>(const DB& db, const LIST& params, IfcActuatorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionFlowElementType>(const DB& db, const LIST& params, IfcDistributionFlowElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowControllerType>(const DB& db, const LIST& params, IfcFlowControllerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAirTerminalBoxType>(const DB& db, const LIST& params, IfcAirTerminalBoxType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowTerminalType>(const DB& db, const LIST& params, IfcFlowTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAirTerminalType>(const DB& db, const LIST& params, IfcAirTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEnergyConversionDeviceType>(const DB& db, const LIST& params, IfcEnergyConversionDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAirToAirHeatRecoveryType>(const DB& db, const LIST& params, IfcAirToAirHeatRecoveryType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAlarmType>(const DB& db, const LIST& params, IfcAlarmType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDraughtingCallout>(const DB& db, const LIST& params, IfcDraughtingCallout* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDimensionCurveDirectedCallout>(const DB& db, const LIST& params, IfcDimensionCurveDirectedCallout* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDraughtingCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAngularDimension>(const DB& db, const LIST& params, IfcAngularDimension* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProduct>(const DB& db, const LIST& params, IfcProduct* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-    if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcProduct"); }    do { // convert the 'ObjectPlacement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProduct,2>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ObjectPlacement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcProduct to be a `IfcObjectPlacement`")); }
-    } while(0);
-    do { // convert the 'Representation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProduct,2>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Representation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcProduct to be a `IfcProductRepresentation`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotation>(const DB& db, const LIST& params, IfcAnnotation* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-    if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcAnnotation"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStyledItem>(const DB& db, const LIST& params, IfcStyledItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcStyledItem"); }    do { // convert the 'Item' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Item, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcStyledItem to be a `IfcRepresentationItem`")); }
-    } while(0);
-    do { // convert the 'Styles' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->Styles, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcStyledItem to be a `SET [1:?] OF IfcPresentationStyleAssignment`")); }
-    } while(0);
-    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcStyledItem,3>::aux_is_derived[2]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcStyledItem to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationOccurrence>(const DB& db, const LIST& params, IfcAnnotationOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStyledItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationCurveOccurrence>(const DB& db, const LIST& params, IfcAnnotationCurveOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationFillArea>(const DB& db, const LIST& params, IfcAnnotationFillArea* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationFillAreaOccurrence>(const DB& db, const LIST& params, IfcAnnotationFillAreaOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationSurface>(const DB& db, const LIST& params, IfcAnnotationSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationSurfaceOccurrence>(const DB& db, const LIST& params, IfcAnnotationSurfaceOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationSymbolOccurrence>(const DB& db, const LIST& params, IfcAnnotationSymbolOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAnnotationTextOccurrence>(const DB& db, const LIST& params, IfcAnnotationTextOccurrence* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProfileDef>(const DB& db, const LIST& params, IfcProfileDef* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProfileDef"); }    do { // convert the 'ProfileType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->ProfileType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProfileDef to be a `IfcProfileTypeEnum`")); }
-    } while(0);
-    do { // convert the 'ProfileName' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ProfileName, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProfileDef to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcArbitraryClosedProfileDef>(const DB& db, const LIST& params, IfcArbitraryClosedProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcArbitraryClosedProfileDef"); }    do { // convert the 'OuterCurve' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcArbitraryClosedProfileDef,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->OuterCurve, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcArbitraryClosedProfileDef to be a `IfcCurve`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcArbitraryOpenProfileDef>(const DB& db, const LIST& params, IfcArbitraryOpenProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcArbitraryOpenProfileDef"); }    do { // convert the 'Curve' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcArbitraryOpenProfileDef,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Curve, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcArbitraryOpenProfileDef to be a `IfcBoundedCurve`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcArbitraryProfileDefWithVoids>(const DB& db, const LIST& params, IfcArbitraryProfileDefWithVoids* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcArbitraryClosedProfileDef*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcArbitraryProfileDefWithVoids"); }    do { // convert the 'InnerCurves' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->InnerCurves, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcArbitraryProfileDefWithVoids to be a `SET [1:?] OF IfcCurve`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGroup>(const DB& db, const LIST& params, IfcGroup* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAsset>(const DB& db, const LIST& params, IfcAsset* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcParameterizedProfileDef>(const DB& db, const LIST& params, IfcParameterizedProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcParameterizedProfileDef"); }    do { // convert the 'Position' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcParameterizedProfileDef,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Position, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcParameterizedProfileDef to be a `IfcAxis2Placement2D`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcIShapeProfileDef>(const DB& db, const LIST& params, IfcIShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcIShapeProfileDef"); }    do { // convert the 'OverallWidth' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->OverallWidth, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'OverallDepth' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->OverallDepth, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'WebThickness' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->WebThickness, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'FlangeThickness' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[3]=true; break; }
-        try { GenericConvert( in->FlangeThickness, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'FilletRadius' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcIShapeProfileDef,5>::aux_is_derived[4]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->FilletRadius, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcIShapeProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAsymmetricIShapeProfileDef>(const DB& db, const LIST& params, IfcAsymmetricIShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcIShapeProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlacement>(const DB& db, const LIST& params, IfcPlacement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPlacement"); }    do { // convert the 'Location' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcPlacement,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Location, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPlacement to be a `IfcCartesianPoint`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAxis1Placement>(const DB& db, const LIST& params, IfcAxis1Placement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis1Placement"); }    do { // convert the 'Axis' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Axis, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis1Placement to be a `IfcDirection`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAxis2Placement2D>(const DB& db, const LIST& params, IfcAxis2Placement2D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcAxis2Placement2D"); }    do { // convert the 'RefDirection' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RefDirection, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis2Placement2D to be a `IfcDirection`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcAxis2Placement3D>(const DB& db, const LIST& params, IfcAxis2Placement3D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPlacement*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcAxis2Placement3D"); }    do { // convert the 'Axis' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Axis, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcAxis2Placement3D to be a `IfcDirection`")); }
-    } while(0);
-    do { // convert the 'RefDirection' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RefDirection, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcAxis2Placement3D to be a `IfcDirection`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBSplineCurve>(const DB& db, const LIST& params, IfcBSplineCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcBSplineCurve"); }    do { // convert the 'Degree' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Degree, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBSplineCurve to be a `INTEGER`")); }
-    } while(0);
-    do { // convert the 'ControlPointsList' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->ControlPointsList, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBSplineCurve to be a `LIST [2:?] OF IfcCartesianPoint`")); }
-    } while(0);
-    do { // convert the 'CurveForm' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->CurveForm, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBSplineCurve to be a `IfcBSplineCurveForm`")); }
-    } while(0);
-    do { // convert the 'ClosedCurve' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[3]=true; break; }
-        try { GenericConvert( in->ClosedCurve, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBSplineCurve to be a `LOGICAL`")); }
-    } while(0);
-    do { // convert the 'SelfIntersect' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBSplineCurve,5>::aux_is_derived[4]=true; break; }
-        try { GenericConvert( in->SelfIntersect, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcBSplineCurve to be a `LOGICAL`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElement>(const DB& db, const LIST& params, IfcElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcElement"); }    do { // convert the 'Tag' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcElement,1>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Tag, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcElement to be a `IfcIdentifier`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElement>(const DB& db, const LIST& params, IfcBuildingElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcBuildingElement"); }  return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBeam>(const DB& db, const LIST& params, IfcBeam* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElementType>(const DB& db, const LIST& params, IfcBuildingElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBeamType>(const DB& db, const LIST& params, IfcBeamType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBezierCurve>(const DB& db, const LIST& params, IfcBezierCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBSplineCurve*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCsgPrimitive3D>(const DB& db, const LIST& params, IfcCsgPrimitive3D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBlock>(const DB& db, const LIST& params, IfcBlock* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBoilerType>(const DB& db, const LIST& params, IfcBoilerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBooleanResult>(const DB& db, const LIST& params, IfcBooleanResult* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcBooleanResult"); }    do { // convert the 'Operator' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Operator, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBooleanResult to be a `IfcBooleanOperator`")); }
-    } while(0);
-    do { // convert the 'FirstOperand' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->FirstOperand, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBooleanResult to be a `IfcBooleanOperand`")); }
-    } while(0);
-    do { // convert the 'SecondOperand' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcBooleanResult,3>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->SecondOperand, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBooleanResult to be a `IfcBooleanOperand`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBooleanClippingResult>(const DB& db, const LIST& params, IfcBooleanClippingResult* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBooleanResult*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcBooleanClippingResult"); }    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurface>(const DB& db, const LIST& params, IfcSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBoundedSurface>(const DB& db, const LIST& params, IfcBoundedSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBoundingBox>(const DB& db, const LIST& params, IfcBoundingBox* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcBoundingBox"); }    do { // convert the 'Corner' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Corner, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcBoundingBox to be a `IfcCartesianPoint`")); }
-    } while(0);
-    do { // convert the 'XDim' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->XDim, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'YDim' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->YDim, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'ZDim' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ZDim, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcBoundingBox to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcHalfSpaceSolid>(const DB& db, const LIST& params, IfcHalfSpaceSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcHalfSpaceSolid"); }    do { // convert the 'BaseSurface' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcHalfSpaceSolid,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->BaseSurface, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcHalfSpaceSolid to be a `IfcSurface`")); }
-    } while(0);
-    do { // convert the 'AgreementFlag' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcHalfSpaceSolid,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->AgreementFlag, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcHalfSpaceSolid to be a `BOOLEAN`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBoxedHalfSpace>(const DB& db, const LIST& params, IfcBoxedHalfSpace* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcHalfSpaceSolid*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpatialStructureElement>(const DB& db, const LIST& params, IfcSpatialStructureElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-    if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcSpatialStructureElement"); }    do { // convert the 'LongName' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSpatialStructureElement,2>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->LongName, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcSpatialStructureElement to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'CompositionType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSpatialStructureElement,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->CompositionType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcSpatialStructureElement to be a `IfcElementCompositionEnum`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuilding>(const DB& db, const LIST& params, IfcBuilding* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
-    if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to IfcBuilding"); }    do { // convert the 'ElevationOfRefHeight' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ElevationOfRefHeight, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcBuilding to be a `IfcLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'ElevationOfTerrain' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ElevationOfTerrain, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcBuilding to be a `IfcLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'BuildingAddress' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->BuildingAddress, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to IfcBuilding to be a `IfcPostalAddress`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElementComponent>(const DB& db, const LIST& params, IfcBuildingElementComponent* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElementPart>(const DB& db, const LIST& params, IfcBuildingElementPart* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementComponent*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElementProxy>(const DB& db, const LIST& params, IfcBuildingElementProxy* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingElementProxyType>(const DB& db, const LIST& params, IfcBuildingElementProxyType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcBuildingStorey>(const DB& db, const LIST& params, IfcBuildingStorey* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCShapeProfileDef>(const DB& db, const LIST& params, IfcCShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowFittingType>(const DB& db, const LIST& params, IfcFlowFittingType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCableCarrierFittingType>(const DB& db, const LIST& params, IfcCableCarrierFittingType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowSegmentType>(const DB& db, const LIST& params, IfcFlowSegmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCableCarrierSegmentType>(const DB& db, const LIST& params, IfcCableCarrierSegmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCableSegmentType>(const DB& db, const LIST& params, IfcCableSegmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPoint>(const DB& db, const LIST& params, IfcPoint* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianPoint>(const DB& db, const LIST& params, IfcCartesianPoint* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcCartesianPoint"); }    do { // convert the 'Coordinates' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Coordinates, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCartesianPoint to be a `LIST [1:3] OF IfcLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianTransformationOperator>(const DB& db, const LIST& params, IfcCartesianTransformationOperator* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcCartesianTransformationOperator"); }    do { // convert the 'Axis1' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Axis1, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCartesianTransformationOperator to be a `IfcDirection`")); }
-    } while(0);
-    do { // convert the 'Axis2' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Axis2, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCartesianTransformationOperator to be a `IfcDirection`")); }
-    } while(0);
-    do { // convert the 'LocalOrigin' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->LocalOrigin, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcCartesianTransformationOperator to be a `IfcCartesianPoint`")); }
-    } while(0);
-    do { // convert the 'Scale' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator,4>::aux_is_derived[3]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Scale, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcCartesianTransformationOperator to be a `REAL`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianTransformationOperator2D>(const DB& db, const LIST& params, IfcCartesianTransformationOperator2D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianTransformationOperator2DnonUniform>(const DB& db, const LIST& params, IfcCartesianTransformationOperator2DnonUniform* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator2D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianTransformationOperator3D>(const DB& db, const LIST& params, IfcCartesianTransformationOperator3D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcCartesianTransformationOperator3D"); }    do { // convert the 'Axis3' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCartesianTransformationOperator3D,1>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Axis3, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcCartesianTransformationOperator3D to be a `IfcDirection`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCartesianTransformationOperator3DnonUniform>(const DB& db, const LIST& params, IfcCartesianTransformationOperator3DnonUniform* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCartesianTransformationOperator3D*>(in));
-    if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to IfcCartesianTransformationOperator3DnonUniform"); }    do { // convert the 'Scale2' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Scale2, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
-    } while(0);
-    do { // convert the 'Scale3' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Scale3, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcCartesianTransformationOperator3DnonUniform to be a `REAL`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCenterLineProfileDef>(const DB& db, const LIST& params, IfcCenterLineProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcArbitraryOpenProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFeatureElement>(const DB& db, const LIST& params, IfcFeatureElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcFeatureElement"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFeatureElementSubtraction>(const DB& db, const LIST& params, IfcFeatureElementSubtraction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFeatureElement*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcFeatureElementSubtraction"); }    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEdgeFeature>(const DB& db, const LIST& params, IfcEdgeFeature* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFeatureElementSubtraction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcChamferEdgeFeature>(const DB& db, const LIST& params, IfcChamferEdgeFeature* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEdgeFeature*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcChillerType>(const DB& db, const LIST& params, IfcChillerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConic>(const DB& db, const LIST& params, IfcConic* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcConic"); }    do { // convert the 'Position' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcConic,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Position, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcConic to be a `IfcAxis2Placement`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCircle>(const DB& db, const LIST& params, IfcCircle* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcCircle"); }    do { // convert the 'Radius' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Radius, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCircle to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCircleProfileDef>(const DB& db, const LIST& params, IfcCircleProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcCircleProfileDef"); }    do { // convert the 'Radius' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcCircleProfileDef,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Radius, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcCircleProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCircleHollowProfileDef>(const DB& db, const LIST& params, IfcCircleHollowProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCircleProfileDef*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcCircleHollowProfileDef"); }    do { // convert the 'WallThickness' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->WallThickness, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcCircleHollowProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTopologicalRepresentationItem>(const DB& db, const LIST& params, IfcTopologicalRepresentationItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConnectedFaceSet>(const DB& db, const LIST& params, IfcConnectedFaceSet* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcConnectedFaceSet"); }    do { // convert the 'CfsFaces' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcConnectedFaceSet,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->CfsFaces, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcConnectedFaceSet to be a `SET [1:?] OF IfcFace`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcClosedShell>(const DB& db, const LIST& params, IfcClosedShell* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConnectedFaceSet*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcClosedShell"); }  return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCoilType>(const DB& db, const LIST& params, IfcCoilType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcColourSpecification>(const DB& db, const LIST& params, IfcColourSpecification* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcColourSpecification"); }    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcColourSpecification,1>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcColourSpecification to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcColourRgb>(const DB& db, const LIST& params, IfcColourRgb* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcColourSpecification*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcColourRgb"); }    do { // convert the 'Red' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Red, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
-    } while(0);
-    do { // convert the 'Green' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Green, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
-    } while(0);
-    do { // convert the 'Blue' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Blue, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcColourRgb to be a `IfcNormalisedRatioMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcColumn>(const DB& db, const LIST& params, IfcColumn* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcColumnType>(const DB& db, const LIST& params, IfcColumnType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProperty>(const DB& db, const LIST& params, IfcProperty* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProperty"); }    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProperty,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProperty to be a `IfcIdentifier`")); }
-    } while(0);
-    do { // convert the 'Description' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProperty,2>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Description, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProperty to be a `IfcText`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcComplexProperty>(const DB& db, const LIST& params, IfcComplexProperty* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProperty*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcComplexProperty"); }    do { // convert the 'UsageName' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->UsageName, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcComplexProperty to be a `IfcIdentifier`")); }
-    } while(0);
-    do { // convert the 'HasProperties' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->HasProperties, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcComplexProperty to be a `SET [1:?] OF IfcProperty`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCompositeCurveSegment>(const DB& db, const LIST& params, IfcCompositeCurveSegment* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcCompositeCurveSegment"); }    do { // convert the 'Transition' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Transition, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcCompositeCurveSegment to be a `IfcTransitionCode`")); }
-    } while(0);
-    do { // convert the 'SameSense' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->SameSense, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcCompositeCurveSegment to be a `BOOLEAN`")); }
-    } while(0);
-    do { // convert the 'ParentCurve' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ParentCurve, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcCompositeCurveSegment to be a `IfcCurve`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCompositeProfileDef>(const DB& db, const LIST& params, IfcCompositeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowMovingDeviceType>(const DB& db, const LIST& params, IfcFlowMovingDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCompressorType>(const DB& db, const LIST& params, IfcCompressorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCondenserType>(const DB& db, const LIST& params, IfcCondenserType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCondition>(const DB& db, const LIST& params, IfcCondition* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConditionCriterion>(const DB& db, const LIST& params, IfcConditionCriterion* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcResource>(const DB& db, const LIST& params, IfcResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConstructionResource>(const DB& db, const LIST& params, IfcConstructionResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConstructionEquipmentResource>(const DB& db, const LIST& params, IfcConstructionEquipmentResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConstructionMaterialResource>(const DB& db, const LIST& params, IfcConstructionMaterialResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConstructionProductResource>(const DB& db, const LIST& params, IfcConstructionProductResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcNamedUnit>(const DB& db, const LIST& params, IfcNamedUnit* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcNamedUnit"); }    do { // convert the 'Dimensions' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcNamedUnit,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Dimensions, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcNamedUnit to be a `IfcDimensionalExponents`")); }
-    } while(0);
-    do { // convert the 'UnitType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcNamedUnit,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->UnitType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcNamedUnit to be a `IfcUnitEnum`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcContextDependentUnit>(const DB& db, const LIST& params, IfcContextDependentUnit* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcControllerType>(const DB& db, const LIST& params, IfcControllerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcConversionBasedUnit>(const DB& db, const LIST& params, IfcConversionBasedUnit* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcConversionBasedUnit"); }    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcConversionBasedUnit to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'ConversionFactor' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ConversionFactor, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcConversionBasedUnit to be a `IfcMeasureWithUnit`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCooledBeamType>(const DB& db, const LIST& params, IfcCooledBeamType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCoolingTowerType>(const DB& db, const LIST& params, IfcCoolingTowerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCostItem>(const DB& db, const LIST& params, IfcCostItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCostSchedule>(const DB& db, const LIST& params, IfcCostSchedule* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCovering>(const DB& db, const LIST& params, IfcCovering* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCoveringType>(const DB& db, const LIST& params, IfcCoveringType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCraneRailAShapeProfileDef>(const DB& db, const LIST& params, IfcCraneRailAShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCraneRailFShapeProfileDef>(const DB& db, const LIST& params, IfcCraneRailFShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCrewResource>(const DB& db, const LIST& params, IfcCrewResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSolidModel>(const DB& db, const LIST& params, IfcSolidModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCsgSolid>(const DB& db, const LIST& params, IfcCsgSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCurtainWall>(const DB& db, const LIST& params, IfcCurtainWall* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCurtainWallType>(const DB& db, const LIST& params, IfcCurtainWallType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcCurveBoundedPlane>(const DB& db, const LIST& params, IfcCurveBoundedPlane* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPresentationStyle>(const DB& db, const LIST& params, IfcPresentationStyle* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPresentationStyle"); }    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcPresentationStyle,1>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPresentationStyle to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDamperType>(const DB& db, const LIST& params, IfcDamperType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDefinedSymbol>(const DB& db, const LIST& params, IfcDefinedSymbol* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDerivedProfileDef>(const DB& db, const LIST& params, IfcDerivedProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDiameterDimension>(const DB& db, const LIST& params, IfcDiameterDimension* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDimensionCurve>(const DB& db, const LIST& params, IfcDimensionCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTerminatorSymbol>(const DB& db, const LIST& params, IfcTerminatorSymbol* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationSymbolOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDimensionCurveTerminator>(const DB& db, const LIST& params, IfcDimensionCurveTerminator* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTerminatorSymbol*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDirection>(const DB& db, const LIST& params, IfcDirection* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcDirection"); }    do { // convert the 'DirectionRatios' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->DirectionRatios, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcDirection to be a `LIST [2:3] OF REAL`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementComponent>(const DB& db, const LIST& params, IfcElementComponent* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDiscreteAccessory>(const DB& db, const LIST& params, IfcDiscreteAccessory* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementComponent*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementComponentType>(const DB& db, const LIST& params, IfcElementComponentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDiscreteAccessoryType>(const DB& db, const LIST& params, IfcDiscreteAccessoryType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementComponentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionElement>(const DB& db, const LIST& params, IfcDistributionElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionFlowElement>(const DB& db, const LIST& params, IfcDistributionFlowElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionChamberElement>(const DB& db, const LIST& params, IfcDistributionChamberElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionChamberElementType>(const DB& db, const LIST& params, IfcDistributionChamberElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionControlElement>(const DB& db, const LIST& params, IfcDistributionControlElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPort>(const DB& db, const LIST& params, IfcPort* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDistributionPort>(const DB& db, const LIST& params, IfcDistributionPort* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPort*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDoor>(const DB& db, const LIST& params, IfcDoor* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-    if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to IfcDoor"); }    do { // convert the 'OverallHeight' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->OverallHeight, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcDoor to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'OverallWidth' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->OverallWidth, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcDoor to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyDefinition>(const DB& db, const LIST& params, IfcPropertyDefinition* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertyDefinition"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertySetDefinition>(const DB& db, const LIST& params, IfcPropertySetDefinition* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPropertyDefinition*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertySetDefinition"); }    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDoorStyle>(const DB& db, const LIST& params, IfcDoorStyle* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDuctFittingType>(const DB& db, const LIST& params, IfcDuctFittingType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDuctSegmentType>(const DB& db, const LIST& params, IfcDuctSegmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowTreatmentDeviceType>(const DB& db, const LIST& params, IfcFlowTreatmentDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcDuctSilencerType>(const DB& db, const LIST& params, IfcDuctSilencerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEdge>(const DB& db, const LIST& params, IfcEdge* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEdgeCurve>(const DB& db, const LIST& params, IfcEdgeCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLoop>(const DB& db, const LIST& params, IfcLoop* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEdgeLoop>(const DB& db, const LIST& params, IfcEdgeLoop* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricApplianceType>(const DB& db, const LIST& params, IfcElectricApplianceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowController>(const DB& db, const LIST& params, IfcFlowController* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricDistributionPoint>(const DB& db, const LIST& params, IfcElectricDistributionPoint* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowController*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowStorageDeviceType>(const DB& db, const LIST& params, IfcFlowStorageDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricFlowStorageDeviceType>(const DB& db, const LIST& params, IfcElectricFlowStorageDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricGeneratorType>(const DB& db, const LIST& params, IfcElectricGeneratorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricHeaterType>(const DB& db, const LIST& params, IfcElectricHeaterType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricMotorType>(const DB& db, const LIST& params, IfcElectricMotorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricTimeControlType>(const DB& db, const LIST& params, IfcElectricTimeControlType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSystem>(const DB& db, const LIST& params, IfcSystem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricalCircuit>(const DB& db, const LIST& params, IfcElectricalCircuit* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElectricalElement>(const DB& db, const LIST& params, IfcElectricalElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementAssembly>(const DB& db, const LIST& params, IfcElementAssembly* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementQuantity>(const DB& db, const LIST& params, IfcElementQuantity* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcElementQuantity"); }    do { // convert the 'MethodOfMeasurement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->MethodOfMeasurement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcElementQuantity to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'Quantities' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Quantities, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcElementQuantity to be a `SET [1:?] OF IfcPhysicalQuantity`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcElementarySurface>(const DB& db, const LIST& params, IfcElementarySurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcElementarySurface"); }    do { // convert the 'Position' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcElementarySurface,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Position, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcElementarySurface to be a `IfcAxis2Placement3D`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEllipse>(const DB& db, const LIST& params, IfcEllipse* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConic*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcEllipse"); }    do { // convert the 'SemiAxis1' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->SemiAxis1, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'SemiAxis2' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->SemiAxis2, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcEllipse to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEllipseProfileDef>(const DB& db, const LIST& params, IfcEllipseProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEnergyConversionDevice>(const DB& db, const LIST& params, IfcEnergyConversionDevice* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEquipmentElement>(const DB& db, const LIST& params, IfcEquipmentElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEquipmentStandard>(const DB& db, const LIST& params, IfcEquipmentStandard* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEvaporativeCoolerType>(const DB& db, const LIST& params, IfcEvaporativeCoolerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcEvaporatorType>(const DB& db, const LIST& params, IfcEvaporatorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSweptAreaSolid>(const DB& db, const LIST& params, IfcSweptAreaSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcSweptAreaSolid"); }    do { // convert the 'SweptArea' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSweptAreaSolid,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->SweptArea, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSweptAreaSolid to be a `IfcProfileDef`")); }
-    } while(0);
-    do { // convert the 'Position' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSweptAreaSolid,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->Position, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSweptAreaSolid to be a `IfcAxis2Placement3D`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcExtrudedAreaSolid>(const DB& db, const LIST& params, IfcExtrudedAreaSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcExtrudedAreaSolid"); }    do { // convert the 'ExtrudedDirection' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ExtrudedDirection, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcExtrudedAreaSolid to be a `IfcDirection`")); }
-    } while(0);
-    do { // convert the 'Depth' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Depth, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcExtrudedAreaSolid to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFace>(const DB& db, const LIST& params, IfcFace* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFace"); }    do { // convert the 'Bounds' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFace,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Bounds, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFace to be a `SET [1:?] OF IfcFaceBound`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFaceBasedSurfaceModel>(const DB& db, const LIST& params, IfcFaceBasedSurfaceModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcFaceBasedSurfaceModel"); }    do { // convert the 'FbsmFaces' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->FbsmFaces, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBasedSurfaceModel to be a `SET [1:?] OF IfcConnectedFaceSet`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFaceBound>(const DB& db, const LIST& params, IfcFaceBound* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceBound"); }    do { // convert the 'Bound' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Bound, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcFaceBound to be a `IfcLoop`")); }
-    } while(0);
-    do { // convert the 'Orientation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcFaceBound,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->Orientation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcFaceBound to be a `BOOLEAN`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFaceOuterBound>(const DB& db, const LIST& params, IfcFaceOuterBound* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFaceBound*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcFaceOuterBound"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFaceSurface>(const DB& db, const LIST& params, IfcFaceSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFace*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcManifoldSolidBrep>(const DB& db, const LIST& params, IfcManifoldSolidBrep* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcManifoldSolidBrep"); }    do { // convert the 'Outer' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcManifoldSolidBrep,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->Outer, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcManifoldSolidBrep to be a `IfcClosedShell`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFacetedBrep>(const DB& db, const LIST& params, IfcFacetedBrep* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcManifoldSolidBrep*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFacetedBrepWithVoids>(const DB& db, const LIST& params, IfcFacetedBrepWithVoids* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcManifoldSolidBrep*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFanType>(const DB& db, const LIST& params, IfcFanType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFastener>(const DB& db, const LIST& params, IfcFastener* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementComponent*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFastenerType>(const DB& db, const LIST& params, IfcFastenerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementComponentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFeatureElementAddition>(const DB& db, const LIST& params, IfcFeatureElementAddition* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFeatureElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFillAreaStyleHatching>(const DB& db, const LIST& params, IfcFillAreaStyleHatching* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFillAreaStyleTileSymbolWithStyle>(const DB& db, const LIST& params, IfcFillAreaStyleTileSymbolWithStyle* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFillAreaStyleTiles>(const DB& db, const LIST& params, IfcFillAreaStyleTiles* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFilterType>(const DB& db, const LIST& params, IfcFilterType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTreatmentDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFireSuppressionTerminalType>(const DB& db, const LIST& params, IfcFireSuppressionTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowFitting>(const DB& db, const LIST& params, IfcFlowFitting* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowInstrumentType>(const DB& db, const LIST& params, IfcFlowInstrumentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowMeterType>(const DB& db, const LIST& params, IfcFlowMeterType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowMovingDevice>(const DB& db, const LIST& params, IfcFlowMovingDevice* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowSegment>(const DB& db, const LIST& params, IfcFlowSegment* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowStorageDevice>(const DB& db, const LIST& params, IfcFlowStorageDevice* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowTerminal>(const DB& db, const LIST& params, IfcFlowTerminal* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFlowTreatmentDevice>(const DB& db, const LIST& params, IfcFlowTreatmentDevice* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionFlowElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFooting>(const DB& db, const LIST& params, IfcFooting* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFurnishingElement>(const DB& db, const LIST& params, IfcFurnishingElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFurnishingElementType>(const DB& db, const LIST& params, IfcFurnishingElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFurnitureStandard>(const DB& db, const LIST& params, IfcFurnitureStandard* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcFurnitureType>(const DB& db, const LIST& params, IfcFurnitureType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGasTerminalType>(const DB& db, const LIST& params, IfcGasTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGeometricSet>(const DB& db, const LIST& params, IfcGeometricSet* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGeometricCurveSet>(const DB& db, const LIST& params, IfcGeometricCurveSet* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricSet*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRepresentationContext>(const DB& db, const LIST& params, IfcRepresentationContext* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationContext"); }    do { // convert the 'ContextIdentifier' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ContextIdentifier, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationContext to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'ContextType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentationContext,2>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ContextType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationContext to be a `IfcLabel`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGeometricRepresentationContext>(const DB& db, const LIST& params, IfcGeometricRepresentationContext* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentationContext*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcGeometricRepresentationContext"); }    do { // convert the 'CoordinateSpaceDimension' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->CoordinateSpaceDimension, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcGeometricRepresentationContext to be a `IfcDimensionCount`")); }
-    } while(0);
-    do { // convert the 'Precision' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Precision, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcGeometricRepresentationContext to be a `REAL`")); }
-    } while(0);
-    do { // convert the 'WorldCoordinateSystem' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->WorldCoordinateSystem, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcGeometricRepresentationContext to be a `IfcAxis2Placement`")); }
-    } while(0);
-    do { // convert the 'TrueNorth' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcGeometricRepresentationContext,4>::aux_is_derived[3]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->TrueNorth, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcGeometricRepresentationContext to be a `IfcDirection`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGeometricRepresentationSubContext>(const DB& db, const LIST& params, IfcGeometricRepresentationSubContext* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationContext*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGrid>(const DB& db, const LIST& params, IfcGrid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcObjectPlacement>(const DB& db, const LIST& params, IfcObjectPlacement* in)
-{
-    size_t base = 0;
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcGridPlacement>(const DB& db, const LIST& params, IfcGridPlacement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObjectPlacement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcHeatExchangerType>(const DB& db, const LIST& params, IfcHeatExchangerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcHumidifierType>(const DB& db, const LIST& params, IfcHumidifierType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcInventory>(const DB& db, const LIST& params, IfcInventory* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcJunctionBoxType>(const DB& db, const LIST& params, IfcJunctionBoxType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLShapeProfileDef>(const DB& db, const LIST& params, IfcLShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLaborResource>(const DB& db, const LIST& params, IfcLaborResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLampType>(const DB& db, const LIST& params, IfcLampType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightFixtureType>(const DB& db, const LIST& params, IfcLightFixtureType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSource>(const DB& db, const LIST& params, IfcLightSource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSourceAmbient>(const DB& db, const LIST& params, IfcLightSourceAmbient* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSourceDirectional>(const DB& db, const LIST& params, IfcLightSourceDirectional* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSourceGoniometric>(const DB& db, const LIST& params, IfcLightSourceGoniometric* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSourcePositional>(const DB& db, const LIST& params, IfcLightSourcePositional* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLightSource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLightSourceSpot>(const DB& db, const LIST& params, IfcLightSourceSpot* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLightSourcePositional*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLine>(const DB& db, const LIST& params, IfcLine* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcLine"); }    do { // convert the 'Pnt' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Pnt, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcLine to be a `IfcCartesianPoint`")); }
-    } while(0);
-    do { // convert the 'Dir' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Dir, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcLine to be a `IfcVector`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLinearDimension>(const DB& db, const LIST& params, IfcLinearDimension* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcLocalPlacement>(const DB& db, const LIST& params, IfcLocalPlacement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObjectPlacement*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcLocalPlacement"); }    do { // convert the 'PlacementRelTo' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->PlacementRelTo, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcLocalPlacement to be a `IfcObjectPlacement`")); }
-    } while(0);
-    do { // convert the 'RelativePlacement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelativePlacement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcLocalPlacement to be a `IfcAxis2Placement`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMappedItem>(const DB& db, const LIST& params, IfcMappedItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentationItem*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcMappedItem"); }    do { // convert the 'MappingSource' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->MappingSource, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcMappedItem to be a `IfcRepresentationMap`")); }
-    } while(0);
-    do { // convert the 'MappingTarget' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->MappingTarget, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcMappedItem to be a `IfcCartesianTransformationOperator`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProductRepresentation>(const DB& db, const LIST& params, IfcProductRepresentation* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcProductRepresentation"); }    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[0]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProductRepresentation to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'Description' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Description, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProductRepresentation to be a `IfcText`")); }
-    } while(0);
-    do { // convert the 'Representations' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProductRepresentation,3>::aux_is_derived[2]=true; break; }
-        try { GenericConvert( in->Representations, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcProductRepresentation to be a `LIST [1:?] OF IfcRepresentation`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMaterialDefinitionRepresentation>(const DB& db, const LIST& params, IfcMaterialDefinitionRepresentation* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProductRepresentation*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMeasureWithUnit>(const DB& db, const LIST& params, IfcMeasureWithUnit* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcMeasureWithUnit"); }    do { // convert the 'ValueComponent' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ValueComponent, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcMeasureWithUnit to be a `IfcValue`")); }
-    } while(0);
-    do { // convert the 'UnitComponent' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->UnitComponent, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcMeasureWithUnit to be a `IfcUnit`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMechanicalFastener>(const DB& db, const LIST& params, IfcMechanicalFastener* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFastener*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMechanicalFastenerType>(const DB& db, const LIST& params, IfcMechanicalFastenerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFastenerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMember>(const DB& db, const LIST& params, IfcMember* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMemberType>(const DB& db, const LIST& params, IfcMemberType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMotorConnectionType>(const DB& db, const LIST& params, IfcMotorConnectionType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProcess>(const DB& db, const LIST& params, IfcProcess* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTask>(const DB& db, const LIST& params, IfcTask* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProcess*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcMove>(const DB& db, const LIST& params, IfcMove* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOccupant>(const DB& db, const LIST& params, IfcOccupant* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcActor*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOffsetCurve2D>(const DB& db, const LIST& params, IfcOffsetCurve2D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOffsetCurve3D>(const DB& db, const LIST& params, IfcOffsetCurve3D* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCurve*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOneDirectionRepeatFactor>(const DB& db, const LIST& params, IfcOneDirectionRepeatFactor* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOpenShell>(const DB& db, const LIST& params, IfcOpenShell* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConnectedFaceSet*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOpeningElement>(const DB& db, const LIST& params, IfcOpeningElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFeatureElementSubtraction*>(in));
-    if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to IfcOpeningElement"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOrderAction>(const DB& db, const LIST& params, IfcOrderAction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTask*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOrientedEdge>(const DB& db, const LIST& params, IfcOrientedEdge* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcOutletType>(const DB& db, const LIST& params, IfcOutletType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPath>(const DB& db, const LIST& params, IfcPath* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPerformanceHistory>(const DB& db, const LIST& params, IfcPerformanceHistory* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPermit>(const DB& db, const LIST& params, IfcPermit* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPile>(const DB& db, const LIST& params, IfcPile* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPipeFittingType>(const DB& db, const LIST& params, IfcPipeFittingType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowFittingType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPipeSegmentType>(const DB& db, const LIST& params, IfcPipeSegmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowSegmentType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlanarExtent>(const DB& db, const LIST& params, IfcPlanarExtent* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlanarBox>(const DB& db, const LIST& params, IfcPlanarBox* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPlanarExtent*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlane>(const DB& db, const LIST& params, IfcPlane* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementarySurface*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPlane"); }    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlate>(const DB& db, const LIST& params, IfcPlate* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPlateType>(const DB& db, const LIST& params, IfcPlateType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPointOnCurve>(const DB& db, const LIST& params, IfcPointOnCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPointOnSurface>(const DB& db, const LIST& params, IfcPointOnSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPoint*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPolyLoop>(const DB& db, const LIST& params, IfcPolyLoop* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPolyLoop"); }    do { // convert the 'Polygon' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Polygon, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPolyLoop to be a `LIST [3:?] OF IfcCartesianPoint`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPolygonalBoundedHalfSpace>(const DB& db, const LIST& params, IfcPolygonalBoundedHalfSpace* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcHalfSpaceSolid*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPolygonalBoundedHalfSpace"); }    do { // convert the 'Position' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Position, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPolygonalBoundedHalfSpace to be a `IfcAxis2Placement3D`")); }
-    } while(0);
-    do { // convert the 'PolygonalBoundary' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->PolygonalBoundary, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPolygonalBoundedHalfSpace to be a `IfcBoundedCurve`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPolyline>(const DB& db, const LIST& params, IfcPolyline* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPolyline"); }    do { // convert the 'Points' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Points, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPolyline to be a `LIST [2:?] OF IfcCartesianPoint`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPresentationStyleAssignment>(const DB& db, const LIST& params, IfcPresentationStyleAssignment* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcPresentationStyleAssignment"); }    do { // convert the 'Styles' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Styles, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcPresentationStyleAssignment to be a `SET [1:?] OF IfcPresentationStyleSelect`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProcedure>(const DB& db, const LIST& params, IfcProcedure* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProcess*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProductDefinitionShape>(const DB& db, const LIST& params, IfcProductDefinitionShape* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProductRepresentation*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProject>(const DB& db, const LIST& params, IfcProject* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcObject*>(in));
-    if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcProject"); }    do { // convert the 'LongName' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->LongName, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcProject to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'Phase' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Phase, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcProject to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'RepresentationContexts' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RepresentationContexts, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcProject to be a `SET [1:?] OF IfcRepresentationContext`")); }
-    } while(0);
-    do { // convert the 'UnitsInContext' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->UnitsInContext, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcProject to be a `IfcUnitAssignment`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProjectOrder>(const DB& db, const LIST& params, IfcProjectOrder* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProjectOrderRecord>(const DB& db, const LIST& params, IfcProjectOrderRecord* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProjectionCurve>(const DB& db, const LIST& params, IfcProjectionCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcAnnotationCurveOccurrence*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProjectionElement>(const DB& db, const LIST& params, IfcProjectionElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFeatureElementAddition*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSimpleProperty>(const DB& db, const LIST& params, IfcSimpleProperty* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProperty*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcSimpleProperty"); }   return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyBoundedValue>(const DB& db, const LIST& params, IfcPropertyBoundedValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyEnumeratedValue>(const DB& db, const LIST& params, IfcPropertyEnumeratedValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyListValue>(const DB& db, const LIST& params, IfcPropertyListValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertyListValue"); }    do { // convert the 'ListValues' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ListValues, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPropertyListValue to be a `LIST [1:?] OF IfcValue`")); }
-    } while(0);
-    do { // convert the 'Unit' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Unit, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPropertyListValue to be a `IfcUnit`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyReferenceValue>(const DB& db, const LIST& params, IfcPropertyReferenceValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertySet>(const DB& db, const LIST& params, IfcPropertySet* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPropertySetDefinition*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcPropertySet"); }    do { // convert the 'HasProperties' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->HasProperties, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcPropertySet to be a `SET [1:?] OF IfcProperty`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertySingleValue>(const DB& db, const LIST& params, IfcPropertySingleValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcPropertySingleValue"); }    do { // convert the 'NominalValue' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->NominalValue, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcPropertySingleValue to be a `IfcValue`")); }
-    } while(0);
-    do { // convert the 'Unit' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Unit, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcPropertySingleValue to be a `IfcUnit`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPropertyTableValue>(const DB& db, const LIST& params, IfcPropertyTableValue* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSimpleProperty*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProtectiveDeviceType>(const DB& db, const LIST& params, IfcProtectiveDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcProxy>(const DB& db, const LIST& params, IfcProxy* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcPumpType>(const DB& db, const LIST& params, IfcPumpType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowMovingDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRadiusDimension>(const DB& db, const LIST& params, IfcRadiusDimension* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDimensionCurveDirectedCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRailing>(const DB& db, const LIST& params, IfcRailing* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRailingType>(const DB& db, const LIST& params, IfcRailingType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRamp>(const DB& db, const LIST& params, IfcRamp* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRampFlight>(const DB& db, const LIST& params, IfcRampFlight* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRampFlightType>(const DB& db, const LIST& params, IfcRampFlightType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRationalBezierCurve>(const DB& db, const LIST& params, IfcRationalBezierCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBezierCurve*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRectangleProfileDef>(const DB& db, const LIST& params, IfcRectangleProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcRectangleProfileDef"); }    do { // convert the 'XDim' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRectangleProfileDef,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->XDim, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRectangleProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'YDim' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRectangleProfileDef,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->YDim, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRectangleProfileDef to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRectangleHollowProfileDef>(const DB& db, const LIST& params, IfcRectangleHollowProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRectangleProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRectangularPyramid>(const DB& db, const LIST& params, IfcRectangularPyramid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRectangularTrimmedSurface>(const DB& db, const LIST& params, IfcRectangularTrimmedSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcReinforcingElement>(const DB& db, const LIST& params, IfcReinforcingElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementComponent*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcReinforcingBar>(const DB& db, const LIST& params, IfcReinforcingBar* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcReinforcingMesh>(const DB& db, const LIST& params, IfcReinforcingMesh* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelationship>(const DB& db, const LIST& params, IfcRelationship* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRoot*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRelationship"); } return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelDecomposes>(const DB& db, const LIST& params, IfcRelDecomposes* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelDecomposes"); }    do { // convert the 'RelatingObject' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDecomposes,2>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->RelatingObject, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelDecomposes to be a `IfcObjectDefinition`")); }
-    } while(0);
-    do { // convert the 'RelatedObjects' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDecomposes,2>::aux_is_derived[1]=true; break; }
-        try { GenericConvert( in->RelatedObjects, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelDecomposes to be a `SET [1:?] OF IfcObjectDefinition`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelAggregates>(const DB& db, const LIST& params, IfcRelAggregates* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelDecomposes*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelAggregates"); }    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelConnects>(const DB& db, const LIST& params, IfcRelConnects* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRelConnects"); }  return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelContainedInSpatialStructure>(const DB& db, const LIST& params, IfcRelContainedInSpatialStructure* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelContainedInSpatialStructure"); }    do { // convert the 'RelatedElements' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatedElements, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelContainedInSpatialStructure to be a `SET [1:?] OF IfcProduct`")); }
-    } while(0);
-    do { // convert the 'RelatingStructure' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatingStructure, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelContainedInSpatialStructure to be a `IfcSpatialStructureElement`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelDefines>(const DB& db, const LIST& params, IfcRelDefines* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelationship*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcRelDefines"); }    do { // convert the 'RelatedObjects' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDefines,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->RelatedObjects, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelDefines to be a `SET [1:?] OF IfcObject`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelDefinesByProperties>(const DB& db, const LIST& params, IfcRelDefinesByProperties* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelDefines*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelDefinesByProperties"); }    do { // convert the 'RelatingPropertyDefinition' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRelDefinesByProperties,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->RelatingPropertyDefinition, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelDefinesByProperties to be a `IfcPropertySetDefinition`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelFillsElement>(const DB& db, const LIST& params, IfcRelFillsElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelFillsElement"); }    do { // convert the 'RelatingOpeningElement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatingOpeningElement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelFillsElement to be a `IfcOpeningElement`")); }
-    } while(0);
-    do { // convert the 'RelatedBuildingElement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatedBuildingElement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelFillsElement to be a `IfcElement`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelOverridesProperties>(const DB& db, const LIST& params, IfcRelOverridesProperties* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelDefinesByProperties*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRelVoidsElement>(const DB& db, const LIST& params, IfcRelVoidsElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRelConnects*>(in));
-    if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to IfcRelVoidsElement"); }    do { // convert the 'RelatingBuildingElement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatingBuildingElement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcRelVoidsElement to be a `IfcElement`")); }
-    } while(0);
-    do { // convert the 'RelatedOpeningElement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->RelatedOpeningElement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcRelVoidsElement to be a `IfcFeatureElementSubtraction`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRepresentation>(const DB& db, const LIST& params, IfcRepresentation* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRepresentation"); }    do { // convert the 'ContextOfItems' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->ContextOfItems, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentation to be a `IfcRepresentationContext`")); }
-    } while(0);
-    do { // convert the 'RepresentationIdentifier' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[1]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RepresentationIdentifier, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentation to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'RepresentationType' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[2]=true; break; }
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RepresentationType, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRepresentation to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'Items' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcRepresentation,4>::aux_is_derived[3]=true; break; }
-        try { GenericConvert( in->Items, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRepresentation to be a `SET [1:?] OF IfcRepresentationItem`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRepresentationMap>(const DB& db, const LIST& params, IfcRepresentationMap* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcRepresentationMap"); }    do { // convert the 'MappingOrigin' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->MappingOrigin, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcRepresentationMap to be a `IfcAxis2Placement`")); }
-    } while(0);
-    do { // convert the 'MappedRepresentation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->MappedRepresentation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcRepresentationMap to be a `IfcRepresentation`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRevolvedAreaSolid>(const DB& db, const LIST& params, IfcRevolvedAreaSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcRevolvedAreaSolid"); }    do { // convert the 'Axis' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Axis, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcRevolvedAreaSolid to be a `IfcAxis1Placement`")); }
-    } while(0);
-    do { // convert the 'Angle' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Angle, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcRevolvedAreaSolid to be a `IfcPlaneAngleMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRightCircularCone>(const DB& db, const LIST& params, IfcRightCircularCone* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRightCircularCylinder>(const DB& db, const LIST& params, IfcRightCircularCylinder* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRoof>(const DB& db, const LIST& params, IfcRoof* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRoundedEdgeFeature>(const DB& db, const LIST& params, IfcRoundedEdgeFeature* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEdgeFeature*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcRoundedRectangleProfileDef>(const DB& db, const LIST& params, IfcRoundedRectangleProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRectangleProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSIUnit>(const DB& db, const LIST& params, IfcSIUnit* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcNamedUnit*>(in));
-    if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to IfcSIUnit"); }    do { // convert the 'Prefix' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Prefix, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSIUnit to be a `IfcSIPrefix`")); }
-    } while(0);
-    do { // convert the 'Name' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Name, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSIUnit to be a `IfcSIUnitName`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSanitaryTerminalType>(const DB& db, const LIST& params, IfcSanitaryTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcScheduleTimeControl>(const DB& db, const LIST& params, IfcScheduleTimeControl* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSectionedSpine>(const DB& db, const LIST& params, IfcSectionedSpine* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSensorType>(const DB& db, const LIST& params, IfcSensorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDistributionControlElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcServiceLife>(const DB& db, const LIST& params, IfcServiceLife* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcShapeModel>(const DB& db, const LIST& params, IfcShapeModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentation*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcShapeRepresentation>(const DB& db, const LIST& params, IfcShapeRepresentation* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcShapeModel*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcShellBasedSurfaceModel>(const DB& db, const LIST& params, IfcShellBasedSurfaceModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcShellBasedSurfaceModel"); }    do { // convert the 'SbsmBoundary' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->SbsmBoundary, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcShellBasedSurfaceModel to be a `SET [1:?] OF IfcShell`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSite>(const DB& db, const LIST& params, IfcSite* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
-    if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to IfcSite"); }    do { // convert the 'RefLatitude' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RefLatitude, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
-    } while(0);
-    do { // convert the 'RefLongitude' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RefLongitude, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSite to be a `IfcCompoundPlaneAngleMeasure`")); }
-    } while(0);
-    do { // convert the 'RefElevation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->RefElevation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to IfcSite to be a `IfcLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'LandTitleNumber' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->LandTitleNumber, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to IfcSite to be a `IfcLabel`")); }
-    } while(0);
-    do { // convert the 'SiteAddress' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->SiteAddress, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to IfcSite to be a `IfcPostalAddress`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSlab>(const DB& db, const LIST& params, IfcSlab* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSlabType>(const DB& db, const LIST& params, IfcSlabType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpace>(const DB& db, const LIST& params, IfcSpace* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElement*>(in));
-    if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to IfcSpace"); }    do { // convert the 'InteriorOrExteriorSpace' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->InteriorOrExteriorSpace, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to IfcSpace to be a `IfcInternalOrExternalEnum`")); }
-    } while(0);
-    do { // convert the 'ElevationWithFlooring' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ElevationWithFlooring, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to IfcSpace to be a `IfcLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpaceHeaterType>(const DB& db, const LIST& params, IfcSpaceHeaterType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpaceProgram>(const DB& db, const LIST& params, IfcSpaceProgram* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpatialStructureElementType>(const DB& db, const LIST& params, IfcSpatialStructureElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSpaceType>(const DB& db, const LIST& params, IfcSpaceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSpatialStructureElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSphere>(const DB& db, const LIST& params, IfcSphere* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcCsgPrimitive3D*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStackTerminalType>(const DB& db, const LIST& params, IfcStackTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStair>(const DB& db, const LIST& params, IfcStair* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStairFlight>(const DB& db, const LIST& params, IfcStairFlight* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStairFlightType>(const DB& db, const LIST& params, IfcStairFlightType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralActivity>(const DB& db, const LIST& params, IfcStructuralActivity* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralAction>(const DB& db, const LIST& params, IfcStructuralAction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralActivity*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralAnalysisModel>(const DB& db, const LIST& params, IfcStructuralAnalysisModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSystem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralItem>(const DB& db, const LIST& params, IfcStructuralItem* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralConnection>(const DB& db, const LIST& params, IfcStructuralConnection* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralCurveConnection>(const DB& db, const LIST& params, IfcStructuralCurveConnection* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralMember>(const DB& db, const LIST& params, IfcStructuralMember* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralCurveMember>(const DB& db, const LIST& params, IfcStructuralCurveMember* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralCurveMemberVarying>(const DB& db, const LIST& params, IfcStructuralCurveMemberVarying* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralCurveMember*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralLinearAction>(const DB& db, const LIST& params, IfcStructuralLinearAction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralLinearActionVarying>(const DB& db, const LIST& params, IfcStructuralLinearActionVarying* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralLinearAction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralLoadGroup>(const DB& db, const LIST& params, IfcStructuralLoadGroup* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralPlanarAction>(const DB& db, const LIST& params, IfcStructuralPlanarAction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralPlanarActionVarying>(const DB& db, const LIST& params, IfcStructuralPlanarActionVarying* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralPlanarAction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralPointAction>(const DB& db, const LIST& params, IfcStructuralPointAction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralPointConnection>(const DB& db, const LIST& params, IfcStructuralPointConnection* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralReaction>(const DB& db, const LIST& params, IfcStructuralReaction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralActivity*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralPointReaction>(const DB& db, const LIST& params, IfcStructuralPointReaction* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralReaction*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralResultGroup>(const DB& db, const LIST& params, IfcStructuralResultGroup* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralSurfaceConnection>(const DB& db, const LIST& params, IfcStructuralSurfaceConnection* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralConnection*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralSurfaceMember>(const DB& db, const LIST& params, IfcStructuralSurfaceMember* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralMember*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuralSurfaceMemberVarying>(const DB& db, const LIST& params, IfcStructuralSurfaceMemberVarying* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStructuralSurfaceMember*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStructuredDimensionCallout>(const DB& db, const LIST& params, IfcStructuredDimensionCallout* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDraughtingCallout*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStyleModel>(const DB& db, const LIST& params, IfcStyleModel* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcRepresentation*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcStyledRepresentation>(const DB& db, const LIST& params, IfcStyledRepresentation* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcStyleModel*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSubContractResource>(const DB& db, const LIST& params, IfcSubContractResource* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcConstructionResource*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSubedge>(const DB& db, const LIST& params, IfcSubedge* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEdge*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceCurveSweptAreaSolid>(const DB& db, const LIST& params, IfcSurfaceCurveSweptAreaSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSweptAreaSolid*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSweptSurface>(const DB& db, const LIST& params, IfcSweptSurface* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceOfLinearExtrusion>(const DB& db, const LIST& params, IfcSurfaceOfLinearExtrusion* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSweptSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceOfRevolution>(const DB& db, const LIST& params, IfcSurfaceOfRevolution* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSweptSurface*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceStyle>(const DB& db, const LIST& params, IfcSurfaceStyle* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcPresentationStyle*>(in));
-    if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcSurfaceStyle"); }    do { // convert the 'Side' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Side, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyle to be a `IfcSurfaceSide`")); }
-    } while(0);
-    do { // convert the 'Styles' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Styles, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyle to be a `SET [1:5] OF IfcSurfaceStyleElementSelect`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceStyleShading>(const DB& db, const LIST& params, IfcSurfaceStyleShading* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcSurfaceStyleShading"); }    do { // convert the 'SurfaceColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcSurfaceStyleShading,1>::aux_is_derived[0]=true; break; }
-        try { GenericConvert( in->SurfaceColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSurfaceStyleShading to be a `IfcColourRgb`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceStyleRendering>(const DB& db, const LIST& params, IfcSurfaceStyleRendering* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSurfaceStyleShading*>(in));
-    if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to IfcSurfaceStyleRendering"); }    do { // convert the 'Transparency' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->Transparency, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSurfaceStyleRendering to be a `IfcNormalisedRatioMeasure`")); }
-    } while(0);
-    do { // convert the 'DiffuseColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->DiffuseColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
-    } while(0);
-    do { // convert the 'TransmissionColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->TransmissionColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
-    } while(0);
-    do { // convert the 'DiffuseTransmissionColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->DiffuseTransmissionColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
-    } while(0);
-    do { // convert the 'ReflectionColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->ReflectionColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
-    } while(0);
-    do { // convert the 'SpecularColour' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->SpecularColour, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to IfcSurfaceStyleRendering to be a `IfcColourOrFactor`")); }
-    } while(0);
-    do { // convert the 'SpecularHighlight' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->SpecularHighlight, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to IfcSurfaceStyleRendering to be a `IfcSpecularHighlightSelect`")); }
-    } while(0);
-    do { // convert the 'ReflectanceMethod' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->ReflectanceMethod, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to IfcSurfaceStyleRendering to be a `IfcReflectanceMethodEnum`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSurfaceStyleWithTextures>(const DB& db, const LIST& params, IfcSurfaceStyleWithTextures* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcSurfaceStyleWithTextures"); }    do { // convert the 'Textures' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Textures, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSurfaceStyleWithTextures to be a `LIST [1:?] OF IfcSurfaceTexture`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSweptDiskSolid>(const DB& db, const LIST& params, IfcSweptDiskSolid* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcSweptDiskSolid"); }    do { // convert the 'Directrix' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Directrix, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSweptDiskSolid to be a `IfcCurve`")); }
-    } while(0);
-    do { // convert the 'Radius' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Radius, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'InnerRadius' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        if (dynamic_cast<const UNSET*>(&*arg)) break;
-        try { GenericConvert( in->InnerRadius, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
-    } while(0);
-    do { // convert the 'StartParam' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->StartParam, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
-    } while(0);
-    do { // convert the 'EndParam' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->EndParam, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSwitchingDeviceType>(const DB& db, const LIST& params, IfcSwitchingDeviceType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcSystemFurnitureElementType>(const DB& db, const LIST& params, IfcSystemFurnitureElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFurnishingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTShapeProfileDef>(const DB& db, const LIST& params, IfcTShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTankType>(const DB& db, const LIST& params, IfcTankType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowStorageDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTendon>(const DB& db, const LIST& params, IfcTendon* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTendonAnchor>(const DB& db, const LIST& params, IfcTendonAnchor* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcReinforcingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTextLiteral>(const DB& db, const LIST& params, IfcTextLiteral* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTextLiteralWithExtent>(const DB& db, const LIST& params, IfcTextLiteralWithExtent* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTextLiteral*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTimeSeriesSchedule>(const DB& db, const LIST& params, IfcTimeSeriesSchedule* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTopologyRepresentation>(const DB& db, const LIST& params, IfcTopologyRepresentation* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcShapeModel*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTransformerType>(const DB& db, const LIST& params, IfcTransformerType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTransportElement>(const DB& db, const LIST& params, IfcTransportElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTransportElementType>(const DB& db, const LIST& params, IfcTransportElementType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTrapeziumProfileDef>(const DB& db, const LIST& params, IfcTrapeziumProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTrimmedCurve>(const DB& db, const LIST& params, IfcTrimmedCurve* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBoundedCurve*>(in));
-    if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcTrimmedCurve"); }    do { // convert the 'BasisCurve' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->BasisCurve, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcTrimmedCurve to be a `IfcCurve`")); }
-    } while(0);
-    do { // convert the 'Trim1' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Trim1, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcTrimmedCurve to be a `SET [1:2] OF IfcTrimmingSelect`")); }
-    } while(0);
-    do { // convert the 'Trim2' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Trim2, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcTrimmedCurve to be a `SET [1:2] OF IfcTrimmingSelect`")); }
-    } while(0);
-    do { // convert the 'SenseAgreement' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->SenseAgreement, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcTrimmedCurve to be a `BOOLEAN`")); }
-    } while(0);
-    do { // convert the 'MasterRepresentation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->MasterRepresentation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcTrimmedCurve to be a `IfcTrimmingPreference`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTubeBundleType>(const DB& db, const LIST& params, IfcTubeBundleType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcTwoDirectionRepeatFactor>(const DB& db, const LIST& params, IfcTwoDirectionRepeatFactor* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcOneDirectionRepeatFactor*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcUShapeProfileDef>(const DB& db, const LIST& params, IfcUShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcUnitAssignment>(const DB& db, const LIST& params, IfcUnitAssignment* in)
-{
-    size_t base = 0;
-    if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcUnitAssignment"); }    do { // convert the 'Units' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Units, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcUnitAssignment to be a `SET [1:?] OF IfcUnit`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcUnitaryEquipmentType>(const DB& db, const LIST& params, IfcUnitaryEquipmentType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcEnergyConversionDeviceType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcValveType>(const DB& db, const LIST& params, IfcValveType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowControllerType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVector>(const DB& db, const LIST& params, IfcVector* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGeometricRepresentationItem*>(in));
-    if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcVector"); }    do { // convert the 'Orientation' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Orientation, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcVector to be a `IfcDirection`")); }
-    } while(0);
-    do { // convert the 'Magnitude' argument
-        std::shared_ptr<const DataType> arg = params[base++];
-        try { GenericConvert( in->Magnitude, arg, db ); break; }
-        catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcVector to be a `IfcLengthMeasure`")); }
-    } while(0);
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVertex>(const DB& db, const LIST& params, IfcVertex* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTopologicalRepresentationItem*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVertexLoop>(const DB& db, const LIST& params, IfcVertexLoop* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcLoop*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVertexPoint>(const DB& db, const LIST& params, IfcVertexPoint* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcVertex*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVibrationIsolatorType>(const DB& db, const LIST& params, IfcVibrationIsolatorType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcDiscreteAccessoryType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcVirtualElement>(const DB& db, const LIST& params, IfcVirtualElement* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWall>(const DB& db, const LIST& params, IfcWall* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWallStandardCase>(const DB& db, const LIST& params, IfcWallStandardCase* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcWall*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWallType>(const DB& db, const LIST& params, IfcWallType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElementType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWasteTerminalType>(const DB& db, const LIST& params, IfcWasteTerminalType* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcFlowTerminalType*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWindow>(const DB& db, const LIST& params, IfcWindow* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcBuildingElement*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWindowStyle>(const DB& db, const LIST& params, IfcWindowStyle* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcTypeProduct*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWorkControl>(const DB& db, const LIST& params, IfcWorkControl* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWorkPlan>(const DB& db, const LIST& params, IfcWorkPlan* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcWorkSchedule>(const DB& db, const LIST& params, IfcWorkSchedule* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcWorkControl*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcZShapeProfileDef>(const DB& db, const LIST& params, IfcZShapeProfileDef* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<IfcZone>(const DB& db, const LIST& params, IfcZone* in)
-{
-    size_t base = GenericFill(db,params,static_cast<IfcGroup*>(in));
-// this data structure is not used yet, so there is no code generated to fill its members
-    return base;
-}
-
-} // ! STEP
-} // ! Assimp
-
-#endif

+ 1 - 1
code/LWOAnimation.cpp

@@ -160,7 +160,7 @@ void AnimResolver::UpdateAnimRangeSetup()
             case LWO::PrePostBehaviour_Repeat:
             case LWO::PrePostBehaviour_Oscillate:
                 {
-                const double start_time = delta - fmod(my_first-first,delta);
+                const double start_time = delta - std::fmod(my_first-first,delta);
                 std::vector<LWO::Key>::iterator n = std::find_if((*it).keys.begin(),(*it).keys.end(),
                     std::bind1st(std::greater<double>(),start_time)),m;
 

+ 1 - 1
code/LWOMaterial.cpp

@@ -851,7 +851,7 @@ void LWOImporter::LoadLWO2Surface(unsigned int size)
         case AI_LWO_SMAN:
             {
                 AI_LWO_VALIDATE_CHUNK_LENGTH(head.length,SMAN,4);
-                surf.mMaximumSmoothAngle = fabs( GetF4() );
+                surf.mMaximumSmoothAngle = std::fabs( GetF4() );
                 break;
             }
             // vertex color channel to be applied to the surface

+ 2 - 2
code/MD3FileData.h

@@ -298,10 +298,10 @@ inline void Vec3NormalToLatLng( const aiVector3D& p_vIn, uint16_t& p_iOut )
     {
         int a, b;
 
-        a = int(57.2957795f * ( atan2f( p_vIn[1], p_vIn[0] ) ) * (255.0f / 360.0f ));
+        a = int(57.2957795f * ( std::atan2( p_vIn[1], p_vIn[0] ) ) * (255.0f / 360.0f ));
         a &= 0xff;
 
-        b = int(57.2957795f * ( acosf( p_vIn[2] ) ) * ( 255.0f / 360.0f ));
+        b = int(57.2957795f * ( std::acos( p_vIn[2] ) ) * ( 255.0f / 360.0f ));
         b &= 0xff;
 
         ((unsigned char*)&p_iOut)[0] = b;   // longitude

+ 15 - 6
code/MD5Parser.cpp

@@ -195,7 +195,7 @@ bool MD5Parser::ParseSection(Section& out)
 #define AI_MD5_SKIP_SPACES()  if(!SkipSpaces(&sz)) \
     MD5Parser::ReportWarning("Unexpected end of line",elem.iLineNumber);
 
-    // read a triple float in brackets: (1.0 1.0 1.0)
+	// read a triple float in brackets: (1.0 1.0 1.0)
 #define AI_MD5_READ_TRIPLE(vec) \
     AI_MD5_SKIP_SPACES(); \
     if ('(' != *sz++) \
@@ -210,7 +210,7 @@ bool MD5Parser::ParseSection(Section& out)
     if (')' != *sz++) \
         MD5Parser::ReportWarning("Unexpected token: ) was expected",elem.iLineNumber);
 
-    // parse a string, enclosed in quotation marks or not
+	// parse a string, enclosed in quotation marks or not
 #define AI_MD5_PARSE_STRING(out) \
     bool bQuota = (*sz == '\"'); \
     const char* szStart = sz; \
@@ -228,6 +228,15 @@ bool MD5Parser::ParseSection(Section& out)
     ::memcpy(out.data,szStart,out.length); \
     out.data[out.length] = '\0';
 
+	// parse a string, enclosed in quotation marks
+#define AI_MD5_PARSE_STRING_IN_QUOTATION(out) \
+	while('\"'!=*sz)++sz; \
+    const char* szStart = ++sz; \
+	while('\"'!=*sz)++sz; \
+    const char* szEnd = (sz++); \
+    out.length = (size_t)(szEnd - szStart); \
+    ::memcpy(out.data,szStart,out.length); \
+    out.data[out.length] = '\0';
 // ------------------------------------------------------------------------------------------------
 // .MD5MESH parsing function
 MD5MeshParser::MD5MeshParser(SectionList& mSections)
@@ -247,9 +256,9 @@ MD5MeshParser::MD5MeshParser(SectionList& mSections)
             for (const auto & elem : (*iter).mElements){
                 mJoints.push_back(BoneDesc());
                 BoneDesc& desc = mJoints.back();
-
+				
                 const char* sz = elem.szStart;
-                AI_MD5_PARSE_STRING(desc.mName);
+				AI_MD5_PARSE_STRING_IN_QUOTATION(desc.mName);
                 AI_MD5_SKIP_SPACES();
 
                 // negative values, at least -1, is allowed here
@@ -269,7 +278,7 @@ MD5MeshParser::MD5MeshParser(SectionList& mSections)
                 // shader attribute
                 if (TokenMatch(sz,"shader",6))  {
                     AI_MD5_SKIP_SPACES();
-                    AI_MD5_PARSE_STRING(desc.mShader);
+                    AI_MD5_PARSE_STRING_IN_QUOTATION(desc.mShader);
                 }
                 // numverts attribute
                 else if (TokenMatch(sz,"numverts",8))   {
@@ -362,7 +371,7 @@ MD5AnimParser::MD5AnimParser(SectionList& mSections)
                 AnimBoneDesc& desc = mAnimatedBones.back();
 
                 const char* sz = elem.szStart;
-                AI_MD5_PARSE_STRING(desc.mName);
+                AI_MD5_PARSE_STRING_IN_QUOTATION(desc.mName);
                 AI_MD5_SKIP_SPACES();
 
                 // parent index - negative values are allowed (at least -1)

+ 0 - 5658
code/Makefile

@@ -1,5658 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.6
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/local/Cellar/cmake/3.6.2/bin/cmake
-
-# The command to remove a file.
-RM = /usr/local/Cellar/cmake/3.6.2/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /Users/angelo/coding/assimp
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /Users/angelo/coding/assimp
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target edit_cache
-edit_cache:
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
-	/usr/local/Cellar/cmake/3.6.2/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
-	/usr/local/Cellar/cmake/3.6.2/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target list_install_components
-list_install_components:
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"assimp-bin\" \"assimp-dev\" \"libassimp3.3.1-dev\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target install
-install: preinstall
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
-	/usr/local/Cellar/cmake/3.6.2/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
-	/usr/local/Cellar/cmake/3.6.2/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
-	/usr/local/Cellar/cmake/3.6.2/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: install/strip
-
-.PHONY : install/strip/fast
-
-# Special rule for the target install/local
-install/local: preinstall
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
-	/usr/local/Cellar/cmake/3.6.2/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: install/local
-
-.PHONY : install/local/fast
-
-# The main all target
-all: cmake_check_build_system
-	cd /Users/angelo/coding/assimp && $(CMAKE_COMMAND) -E cmake_progress_start /Users/angelo/coding/assimp/CMakeFiles /Users/angelo/coding/assimp/code/CMakeFiles/progress.marks
-	cd /Users/angelo/coding/assimp && $(MAKE) -f CMakeFiles/Makefile2 code/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /Users/angelo/coding/assimp/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f CMakeFiles/Makefile2 code/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
-	cd /Users/angelo/coding/assimp && $(MAKE) -f CMakeFiles/Makefile2 code/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f CMakeFiles/Makefile2 code/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
-	cd /Users/angelo/coding/assimp && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-code/CMakeFiles/assimp.dir/rule:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f CMakeFiles/Makefile2 code/CMakeFiles/assimp.dir/rule
-.PHONY : code/CMakeFiles/assimp.dir/rule
-
-# Convenience name for target.
-assimp: code/CMakeFiles/assimp.dir/rule
-
-.PHONY : assimp
-
-# fast build rule for target.
-assimp/fast:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/build
-.PHONY : assimp/fast
-
-3DSConverter.o: 3DSConverter.cpp.o
-
-.PHONY : 3DSConverter.o
-
-# target to build an object file
-3DSConverter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSConverter.cpp.o
-.PHONY : 3DSConverter.cpp.o
-
-3DSConverter.i: 3DSConverter.cpp.i
-
-.PHONY : 3DSConverter.i
-
-# target to preprocess a source file
-3DSConverter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSConverter.cpp.i
-.PHONY : 3DSConverter.cpp.i
-
-3DSConverter.s: 3DSConverter.cpp.s
-
-.PHONY : 3DSConverter.s
-
-# target to generate assembly for a file
-3DSConverter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSConverter.cpp.s
-.PHONY : 3DSConverter.cpp.s
-
-3DSExporter.o: 3DSExporter.cpp.o
-
-.PHONY : 3DSExporter.o
-
-# target to build an object file
-3DSExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSExporter.cpp.o
-.PHONY : 3DSExporter.cpp.o
-
-3DSExporter.i: 3DSExporter.cpp.i
-
-.PHONY : 3DSExporter.i
-
-# target to preprocess a source file
-3DSExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSExporter.cpp.i
-.PHONY : 3DSExporter.cpp.i
-
-3DSExporter.s: 3DSExporter.cpp.s
-
-.PHONY : 3DSExporter.s
-
-# target to generate assembly for a file
-3DSExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSExporter.cpp.s
-.PHONY : 3DSExporter.cpp.s
-
-3DSLoader.o: 3DSLoader.cpp.o
-
-.PHONY : 3DSLoader.o
-
-# target to build an object file
-3DSLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSLoader.cpp.o
-.PHONY : 3DSLoader.cpp.o
-
-3DSLoader.i: 3DSLoader.cpp.i
-
-.PHONY : 3DSLoader.i
-
-# target to preprocess a source file
-3DSLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSLoader.cpp.i
-.PHONY : 3DSLoader.cpp.i
-
-3DSLoader.s: 3DSLoader.cpp.s
-
-.PHONY : 3DSLoader.s
-
-# target to generate assembly for a file
-3DSLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/3DSLoader.cpp.s
-.PHONY : 3DSLoader.cpp.s
-
-ACLoader.o: ACLoader.cpp.o
-
-.PHONY : ACLoader.o
-
-# target to build an object file
-ACLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ACLoader.cpp.o
-.PHONY : ACLoader.cpp.o
-
-ACLoader.i: ACLoader.cpp.i
-
-.PHONY : ACLoader.i
-
-# target to preprocess a source file
-ACLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ACLoader.cpp.i
-.PHONY : ACLoader.cpp.i
-
-ACLoader.s: ACLoader.cpp.s
-
-.PHONY : ACLoader.s
-
-# target to generate assembly for a file
-ACLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ACLoader.cpp.s
-.PHONY : ACLoader.cpp.s
-
-AMFImporter.o: AMFImporter.cpp.o
-
-.PHONY : AMFImporter.o
-
-# target to build an object file
-AMFImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter.cpp.o
-.PHONY : AMFImporter.cpp.o
-
-AMFImporter.i: AMFImporter.cpp.i
-
-.PHONY : AMFImporter.i
-
-# target to preprocess a source file
-AMFImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter.cpp.i
-.PHONY : AMFImporter.cpp.i
-
-AMFImporter.s: AMFImporter.cpp.s
-
-.PHONY : AMFImporter.s
-
-# target to generate assembly for a file
-AMFImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter.cpp.s
-.PHONY : AMFImporter.cpp.s
-
-AMFImporter_Geometry.o: AMFImporter_Geometry.cpp.o
-
-.PHONY : AMFImporter_Geometry.o
-
-# target to build an object file
-AMFImporter_Geometry.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Geometry.cpp.o
-.PHONY : AMFImporter_Geometry.cpp.o
-
-AMFImporter_Geometry.i: AMFImporter_Geometry.cpp.i
-
-.PHONY : AMFImporter_Geometry.i
-
-# target to preprocess a source file
-AMFImporter_Geometry.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Geometry.cpp.i
-.PHONY : AMFImporter_Geometry.cpp.i
-
-AMFImporter_Geometry.s: AMFImporter_Geometry.cpp.s
-
-.PHONY : AMFImporter_Geometry.s
-
-# target to generate assembly for a file
-AMFImporter_Geometry.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Geometry.cpp.s
-.PHONY : AMFImporter_Geometry.cpp.s
-
-AMFImporter_Material.o: AMFImporter_Material.cpp.o
-
-.PHONY : AMFImporter_Material.o
-
-# target to build an object file
-AMFImporter_Material.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Material.cpp.o
-.PHONY : AMFImporter_Material.cpp.o
-
-AMFImporter_Material.i: AMFImporter_Material.cpp.i
-
-.PHONY : AMFImporter_Material.i
-
-# target to preprocess a source file
-AMFImporter_Material.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Material.cpp.i
-.PHONY : AMFImporter_Material.cpp.i
-
-AMFImporter_Material.s: AMFImporter_Material.cpp.s
-
-.PHONY : AMFImporter_Material.s
-
-# target to generate assembly for a file
-AMFImporter_Material.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Material.cpp.s
-.PHONY : AMFImporter_Material.cpp.s
-
-AMFImporter_Postprocess.o: AMFImporter_Postprocess.cpp.o
-
-.PHONY : AMFImporter_Postprocess.o
-
-# target to build an object file
-AMFImporter_Postprocess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Postprocess.cpp.o
-.PHONY : AMFImporter_Postprocess.cpp.o
-
-AMFImporter_Postprocess.i: AMFImporter_Postprocess.cpp.i
-
-.PHONY : AMFImporter_Postprocess.i
-
-# target to preprocess a source file
-AMFImporter_Postprocess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Postprocess.cpp.i
-.PHONY : AMFImporter_Postprocess.cpp.i
-
-AMFImporter_Postprocess.s: AMFImporter_Postprocess.cpp.s
-
-.PHONY : AMFImporter_Postprocess.s
-
-# target to generate assembly for a file
-AMFImporter_Postprocess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AMFImporter_Postprocess.cpp.s
-.PHONY : AMFImporter_Postprocess.cpp.s
-
-ASELoader.o: ASELoader.cpp.o
-
-.PHONY : ASELoader.o
-
-# target to build an object file
-ASELoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASELoader.cpp.o
-.PHONY : ASELoader.cpp.o
-
-ASELoader.i: ASELoader.cpp.i
-
-.PHONY : ASELoader.i
-
-# target to preprocess a source file
-ASELoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASELoader.cpp.i
-.PHONY : ASELoader.cpp.i
-
-ASELoader.s: ASELoader.cpp.s
-
-.PHONY : ASELoader.s
-
-# target to generate assembly for a file
-ASELoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASELoader.cpp.s
-.PHONY : ASELoader.cpp.s
-
-ASEParser.o: ASEParser.cpp.o
-
-.PHONY : ASEParser.o
-
-# target to build an object file
-ASEParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASEParser.cpp.o
-.PHONY : ASEParser.cpp.o
-
-ASEParser.i: ASEParser.cpp.i
-
-.PHONY : ASEParser.i
-
-# target to preprocess a source file
-ASEParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASEParser.cpp.i
-.PHONY : ASEParser.cpp.i
-
-ASEParser.s: ASEParser.cpp.s
-
-.PHONY : ASEParser.s
-
-# target to generate assembly for a file
-ASEParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ASEParser.cpp.s
-.PHONY : ASEParser.cpp.s
-
-AssbinExporter.o: AssbinExporter.cpp.o
-
-.PHONY : AssbinExporter.o
-
-# target to build an object file
-AssbinExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinExporter.cpp.o
-.PHONY : AssbinExporter.cpp.o
-
-AssbinExporter.i: AssbinExporter.cpp.i
-
-.PHONY : AssbinExporter.i
-
-# target to preprocess a source file
-AssbinExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinExporter.cpp.i
-.PHONY : AssbinExporter.cpp.i
-
-AssbinExporter.s: AssbinExporter.cpp.s
-
-.PHONY : AssbinExporter.s
-
-# target to generate assembly for a file
-AssbinExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinExporter.cpp.s
-.PHONY : AssbinExporter.cpp.s
-
-AssbinLoader.o: AssbinLoader.cpp.o
-
-.PHONY : AssbinLoader.o
-
-# target to build an object file
-AssbinLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinLoader.cpp.o
-.PHONY : AssbinLoader.cpp.o
-
-AssbinLoader.i: AssbinLoader.cpp.i
-
-.PHONY : AssbinLoader.i
-
-# target to preprocess a source file
-AssbinLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinLoader.cpp.i
-.PHONY : AssbinLoader.cpp.i
-
-AssbinLoader.s: AssbinLoader.cpp.s
-
-.PHONY : AssbinLoader.s
-
-# target to generate assembly for a file
-AssbinLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssbinLoader.cpp.s
-.PHONY : AssbinLoader.cpp.s
-
-Assimp.o: Assimp.cpp.o
-
-.PHONY : Assimp.o
-
-# target to build an object file
-Assimp.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Assimp.cpp.o
-.PHONY : Assimp.cpp.o
-
-Assimp.i: Assimp.cpp.i
-
-.PHONY : Assimp.i
-
-# target to preprocess a source file
-Assimp.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Assimp.cpp.i
-.PHONY : Assimp.cpp.i
-
-Assimp.s: Assimp.cpp.s
-
-.PHONY : Assimp.s
-
-# target to generate assembly for a file
-Assimp.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Assimp.cpp.s
-.PHONY : Assimp.cpp.s
-
-AssimpCExport.o: AssimpCExport.cpp.o
-
-.PHONY : AssimpCExport.o
-
-# target to build an object file
-AssimpCExport.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssimpCExport.cpp.o
-.PHONY : AssimpCExport.cpp.o
-
-AssimpCExport.i: AssimpCExport.cpp.i
-
-.PHONY : AssimpCExport.i
-
-# target to preprocess a source file
-AssimpCExport.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssimpCExport.cpp.i
-.PHONY : AssimpCExport.cpp.i
-
-AssimpCExport.s: AssimpCExport.cpp.s
-
-.PHONY : AssimpCExport.s
-
-# target to generate assembly for a file
-AssimpCExport.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssimpCExport.cpp.s
-.PHONY : AssimpCExport.cpp.s
-
-AssxmlExporter.o: AssxmlExporter.cpp.o
-
-.PHONY : AssxmlExporter.o
-
-# target to build an object file
-AssxmlExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssxmlExporter.cpp.o
-.PHONY : AssxmlExporter.cpp.o
-
-AssxmlExporter.i: AssxmlExporter.cpp.i
-
-.PHONY : AssxmlExporter.i
-
-# target to preprocess a source file
-AssxmlExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssxmlExporter.cpp.i
-.PHONY : AssxmlExporter.cpp.i
-
-AssxmlExporter.s: AssxmlExporter.cpp.s
-
-.PHONY : AssxmlExporter.s
-
-# target to generate assembly for a file
-AssxmlExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/AssxmlExporter.cpp.s
-.PHONY : AssxmlExporter.cpp.s
-
-B3DImporter.o: B3DImporter.cpp.o
-
-.PHONY : B3DImporter.o
-
-# target to build an object file
-B3DImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/B3DImporter.cpp.o
-.PHONY : B3DImporter.cpp.o
-
-B3DImporter.i: B3DImporter.cpp.i
-
-.PHONY : B3DImporter.i
-
-# target to preprocess a source file
-B3DImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/B3DImporter.cpp.i
-.PHONY : B3DImporter.cpp.i
-
-B3DImporter.s: B3DImporter.cpp.s
-
-.PHONY : B3DImporter.s
-
-# target to generate assembly for a file
-B3DImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/B3DImporter.cpp.s
-.PHONY : B3DImporter.cpp.s
-
-BVHLoader.o: BVHLoader.cpp.o
-
-.PHONY : BVHLoader.o
-
-# target to build an object file
-BVHLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BVHLoader.cpp.o
-.PHONY : BVHLoader.cpp.o
-
-BVHLoader.i: BVHLoader.cpp.i
-
-.PHONY : BVHLoader.i
-
-# target to preprocess a source file
-BVHLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BVHLoader.cpp.i
-.PHONY : BVHLoader.cpp.i
-
-BVHLoader.s: BVHLoader.cpp.s
-
-.PHONY : BVHLoader.s
-
-# target to generate assembly for a file
-BVHLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BVHLoader.cpp.s
-.PHONY : BVHLoader.cpp.s
-
-BaseImporter.o: BaseImporter.cpp.o
-
-.PHONY : BaseImporter.o
-
-# target to build an object file
-BaseImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseImporter.cpp.o
-.PHONY : BaseImporter.cpp.o
-
-BaseImporter.i: BaseImporter.cpp.i
-
-.PHONY : BaseImporter.i
-
-# target to preprocess a source file
-BaseImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseImporter.cpp.i
-.PHONY : BaseImporter.cpp.i
-
-BaseImporter.s: BaseImporter.cpp.s
-
-.PHONY : BaseImporter.s
-
-# target to generate assembly for a file
-BaseImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseImporter.cpp.s
-.PHONY : BaseImporter.cpp.s
-
-BaseProcess.o: BaseProcess.cpp.o
-
-.PHONY : BaseProcess.o
-
-# target to build an object file
-BaseProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseProcess.cpp.o
-.PHONY : BaseProcess.cpp.o
-
-BaseProcess.i: BaseProcess.cpp.i
-
-.PHONY : BaseProcess.i
-
-# target to preprocess a source file
-BaseProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseProcess.cpp.i
-.PHONY : BaseProcess.cpp.i
-
-BaseProcess.s: BaseProcess.cpp.s
-
-.PHONY : BaseProcess.s
-
-# target to generate assembly for a file
-BaseProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BaseProcess.cpp.s
-.PHONY : BaseProcess.cpp.s
-
-Bitmap.o: Bitmap.cpp.o
-
-.PHONY : Bitmap.o
-
-# target to build an object file
-Bitmap.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Bitmap.cpp.o
-.PHONY : Bitmap.cpp.o
-
-Bitmap.i: Bitmap.cpp.i
-
-.PHONY : Bitmap.i
-
-# target to preprocess a source file
-Bitmap.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Bitmap.cpp.i
-.PHONY : Bitmap.cpp.i
-
-Bitmap.s: Bitmap.cpp.s
-
-.PHONY : Bitmap.s
-
-# target to generate assembly for a file
-Bitmap.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Bitmap.cpp.s
-.PHONY : Bitmap.cpp.s
-
-BlenderBMesh.o: BlenderBMesh.cpp.o
-
-.PHONY : BlenderBMesh.o
-
-# target to build an object file
-BlenderBMesh.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderBMesh.cpp.o
-.PHONY : BlenderBMesh.cpp.o
-
-BlenderBMesh.i: BlenderBMesh.cpp.i
-
-.PHONY : BlenderBMesh.i
-
-# target to preprocess a source file
-BlenderBMesh.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderBMesh.cpp.i
-.PHONY : BlenderBMesh.cpp.i
-
-BlenderBMesh.s: BlenderBMesh.cpp.s
-
-.PHONY : BlenderBMesh.s
-
-# target to generate assembly for a file
-BlenderBMesh.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderBMesh.cpp.s
-.PHONY : BlenderBMesh.cpp.s
-
-BlenderDNA.o: BlenderDNA.cpp.o
-
-.PHONY : BlenderDNA.o
-
-# target to build an object file
-BlenderDNA.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderDNA.cpp.o
-.PHONY : BlenderDNA.cpp.o
-
-BlenderDNA.i: BlenderDNA.cpp.i
-
-.PHONY : BlenderDNA.i
-
-# target to preprocess a source file
-BlenderDNA.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderDNA.cpp.i
-.PHONY : BlenderDNA.cpp.i
-
-BlenderDNA.s: BlenderDNA.cpp.s
-
-.PHONY : BlenderDNA.s
-
-# target to generate assembly for a file
-BlenderDNA.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderDNA.cpp.s
-.PHONY : BlenderDNA.cpp.s
-
-BlenderLoader.o: BlenderLoader.cpp.o
-
-.PHONY : BlenderLoader.o
-
-# target to build an object file
-BlenderLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderLoader.cpp.o
-.PHONY : BlenderLoader.cpp.o
-
-BlenderLoader.i: BlenderLoader.cpp.i
-
-.PHONY : BlenderLoader.i
-
-# target to preprocess a source file
-BlenderLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderLoader.cpp.i
-.PHONY : BlenderLoader.cpp.i
-
-BlenderLoader.s: BlenderLoader.cpp.s
-
-.PHONY : BlenderLoader.s
-
-# target to generate assembly for a file
-BlenderLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderLoader.cpp.s
-.PHONY : BlenderLoader.cpp.s
-
-BlenderModifier.o: BlenderModifier.cpp.o
-
-.PHONY : BlenderModifier.o
-
-# target to build an object file
-BlenderModifier.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderModifier.cpp.o
-.PHONY : BlenderModifier.cpp.o
-
-BlenderModifier.i: BlenderModifier.cpp.i
-
-.PHONY : BlenderModifier.i
-
-# target to preprocess a source file
-BlenderModifier.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderModifier.cpp.i
-.PHONY : BlenderModifier.cpp.i
-
-BlenderModifier.s: BlenderModifier.cpp.s
-
-.PHONY : BlenderModifier.s
-
-# target to generate assembly for a file
-BlenderModifier.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderModifier.cpp.s
-.PHONY : BlenderModifier.cpp.s
-
-BlenderScene.o: BlenderScene.cpp.o
-
-.PHONY : BlenderScene.o
-
-# target to build an object file
-BlenderScene.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderScene.cpp.o
-.PHONY : BlenderScene.cpp.o
-
-BlenderScene.i: BlenderScene.cpp.i
-
-.PHONY : BlenderScene.i
-
-# target to preprocess a source file
-BlenderScene.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderScene.cpp.i
-.PHONY : BlenderScene.cpp.i
-
-BlenderScene.s: BlenderScene.cpp.s
-
-.PHONY : BlenderScene.s
-
-# target to generate assembly for a file
-BlenderScene.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderScene.cpp.s
-.PHONY : BlenderScene.cpp.s
-
-BlenderTessellator.o: BlenderTessellator.cpp.o
-
-.PHONY : BlenderTessellator.o
-
-# target to build an object file
-BlenderTessellator.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderTessellator.cpp.o
-.PHONY : BlenderTessellator.cpp.o
-
-BlenderTessellator.i: BlenderTessellator.cpp.i
-
-.PHONY : BlenderTessellator.i
-
-# target to preprocess a source file
-BlenderTessellator.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderTessellator.cpp.i
-.PHONY : BlenderTessellator.cpp.i
-
-BlenderTessellator.s: BlenderTessellator.cpp.s
-
-.PHONY : BlenderTessellator.s
-
-# target to generate assembly for a file
-BlenderTessellator.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/BlenderTessellator.cpp.s
-.PHONY : BlenderTessellator.cpp.s
-
-COBLoader.o: COBLoader.cpp.o
-
-.PHONY : COBLoader.o
-
-# target to build an object file
-COBLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/COBLoader.cpp.o
-.PHONY : COBLoader.cpp.o
-
-COBLoader.i: COBLoader.cpp.i
-
-.PHONY : COBLoader.i
-
-# target to preprocess a source file
-COBLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/COBLoader.cpp.i
-.PHONY : COBLoader.cpp.i
-
-COBLoader.s: COBLoader.cpp.s
-
-.PHONY : COBLoader.s
-
-# target to generate assembly for a file
-COBLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/COBLoader.cpp.s
-.PHONY : COBLoader.cpp.s
-
-CSMLoader.o: CSMLoader.cpp.o
-
-.PHONY : CSMLoader.o
-
-# target to build an object file
-CSMLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CSMLoader.cpp.o
-.PHONY : CSMLoader.cpp.o
-
-CSMLoader.i: CSMLoader.cpp.i
-
-.PHONY : CSMLoader.i
-
-# target to preprocess a source file
-CSMLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CSMLoader.cpp.i
-.PHONY : CSMLoader.cpp.i
-
-CSMLoader.s: CSMLoader.cpp.s
-
-.PHONY : CSMLoader.s
-
-# target to generate assembly for a file
-CSMLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CSMLoader.cpp.s
-.PHONY : CSMLoader.cpp.s
-
-CalcTangentsProcess.o: CalcTangentsProcess.cpp.o
-
-.PHONY : CalcTangentsProcess.o
-
-# target to build an object file
-CalcTangentsProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CalcTangentsProcess.cpp.o
-.PHONY : CalcTangentsProcess.cpp.o
-
-CalcTangentsProcess.i: CalcTangentsProcess.cpp.i
-
-.PHONY : CalcTangentsProcess.i
-
-# target to preprocess a source file
-CalcTangentsProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CalcTangentsProcess.cpp.i
-.PHONY : CalcTangentsProcess.cpp.i
-
-CalcTangentsProcess.s: CalcTangentsProcess.cpp.s
-
-.PHONY : CalcTangentsProcess.s
-
-# target to generate assembly for a file
-CalcTangentsProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/CalcTangentsProcess.cpp.s
-.PHONY : CalcTangentsProcess.cpp.s
-
-ColladaExporter.o: ColladaExporter.cpp.o
-
-.PHONY : ColladaExporter.o
-
-# target to build an object file
-ColladaExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaExporter.cpp.o
-.PHONY : ColladaExporter.cpp.o
-
-ColladaExporter.i: ColladaExporter.cpp.i
-
-.PHONY : ColladaExporter.i
-
-# target to preprocess a source file
-ColladaExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaExporter.cpp.i
-.PHONY : ColladaExporter.cpp.i
-
-ColladaExporter.s: ColladaExporter.cpp.s
-
-.PHONY : ColladaExporter.s
-
-# target to generate assembly for a file
-ColladaExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaExporter.cpp.s
-.PHONY : ColladaExporter.cpp.s
-
-ColladaLoader.o: ColladaLoader.cpp.o
-
-.PHONY : ColladaLoader.o
-
-# target to build an object file
-ColladaLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaLoader.cpp.o
-.PHONY : ColladaLoader.cpp.o
-
-ColladaLoader.i: ColladaLoader.cpp.i
-
-.PHONY : ColladaLoader.i
-
-# target to preprocess a source file
-ColladaLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaLoader.cpp.i
-.PHONY : ColladaLoader.cpp.i
-
-ColladaLoader.s: ColladaLoader.cpp.s
-
-.PHONY : ColladaLoader.s
-
-# target to generate assembly for a file
-ColladaLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaLoader.cpp.s
-.PHONY : ColladaLoader.cpp.s
-
-ColladaParser.o: ColladaParser.cpp.o
-
-.PHONY : ColladaParser.o
-
-# target to build an object file
-ColladaParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaParser.cpp.o
-.PHONY : ColladaParser.cpp.o
-
-ColladaParser.i: ColladaParser.cpp.i
-
-.PHONY : ColladaParser.i
-
-# target to preprocess a source file
-ColladaParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaParser.cpp.i
-.PHONY : ColladaParser.cpp.i
-
-ColladaParser.s: ColladaParser.cpp.s
-
-.PHONY : ColladaParser.s
-
-# target to generate assembly for a file
-ColladaParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ColladaParser.cpp.s
-.PHONY : ColladaParser.cpp.s
-
-ComputeUVMappingProcess.o: ComputeUVMappingProcess.cpp.o
-
-.PHONY : ComputeUVMappingProcess.o
-
-# target to build an object file
-ComputeUVMappingProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ComputeUVMappingProcess.cpp.o
-.PHONY : ComputeUVMappingProcess.cpp.o
-
-ComputeUVMappingProcess.i: ComputeUVMappingProcess.cpp.i
-
-.PHONY : ComputeUVMappingProcess.i
-
-# target to preprocess a source file
-ComputeUVMappingProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ComputeUVMappingProcess.cpp.i
-.PHONY : ComputeUVMappingProcess.cpp.i
-
-ComputeUVMappingProcess.s: ComputeUVMappingProcess.cpp.s
-
-.PHONY : ComputeUVMappingProcess.s
-
-# target to generate assembly for a file
-ComputeUVMappingProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ComputeUVMappingProcess.cpp.s
-.PHONY : ComputeUVMappingProcess.cpp.s
-
-ConvertToLHProcess.o: ConvertToLHProcess.cpp.o
-
-.PHONY : ConvertToLHProcess.o
-
-# target to build an object file
-ConvertToLHProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ConvertToLHProcess.cpp.o
-.PHONY : ConvertToLHProcess.cpp.o
-
-ConvertToLHProcess.i: ConvertToLHProcess.cpp.i
-
-.PHONY : ConvertToLHProcess.i
-
-# target to preprocess a source file
-ConvertToLHProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ConvertToLHProcess.cpp.i
-.PHONY : ConvertToLHProcess.cpp.i
-
-ConvertToLHProcess.s: ConvertToLHProcess.cpp.s
-
-.PHONY : ConvertToLHProcess.s
-
-# target to generate assembly for a file
-ConvertToLHProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ConvertToLHProcess.cpp.s
-.PHONY : ConvertToLHProcess.cpp.s
-
-D3MFImporter.o: D3MFImporter.cpp.o
-
-.PHONY : D3MFImporter.o
-
-# target to build an object file
-D3MFImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFImporter.cpp.o
-.PHONY : D3MFImporter.cpp.o
-
-D3MFImporter.i: D3MFImporter.cpp.i
-
-.PHONY : D3MFImporter.i
-
-# target to preprocess a source file
-D3MFImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFImporter.cpp.i
-.PHONY : D3MFImporter.cpp.i
-
-D3MFImporter.s: D3MFImporter.cpp.s
-
-.PHONY : D3MFImporter.s
-
-# target to generate assembly for a file
-D3MFImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFImporter.cpp.s
-.PHONY : D3MFImporter.cpp.s
-
-D3MFOpcPackage.o: D3MFOpcPackage.cpp.o
-
-.PHONY : D3MFOpcPackage.o
-
-# target to build an object file
-D3MFOpcPackage.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFOpcPackage.cpp.o
-.PHONY : D3MFOpcPackage.cpp.o
-
-D3MFOpcPackage.i: D3MFOpcPackage.cpp.i
-
-.PHONY : D3MFOpcPackage.i
-
-# target to preprocess a source file
-D3MFOpcPackage.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFOpcPackage.cpp.i
-.PHONY : D3MFOpcPackage.cpp.i
-
-D3MFOpcPackage.s: D3MFOpcPackage.cpp.s
-
-.PHONY : D3MFOpcPackage.s
-
-# target to generate assembly for a file
-D3MFOpcPackage.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/D3MFOpcPackage.cpp.s
-.PHONY : D3MFOpcPackage.cpp.s
-
-DXFLoader.o: DXFLoader.cpp.o
-
-.PHONY : DXFLoader.o
-
-# target to build an object file
-DXFLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DXFLoader.cpp.o
-.PHONY : DXFLoader.cpp.o
-
-DXFLoader.i: DXFLoader.cpp.i
-
-.PHONY : DXFLoader.i
-
-# target to preprocess a source file
-DXFLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DXFLoader.cpp.i
-.PHONY : DXFLoader.cpp.i
-
-DXFLoader.s: DXFLoader.cpp.s
-
-.PHONY : DXFLoader.s
-
-# target to generate assembly for a file
-DXFLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DXFLoader.cpp.s
-.PHONY : DXFLoader.cpp.s
-
-DeboneProcess.o: DeboneProcess.cpp.o
-
-.PHONY : DeboneProcess.o
-
-# target to build an object file
-DeboneProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DeboneProcess.cpp.o
-.PHONY : DeboneProcess.cpp.o
-
-DeboneProcess.i: DeboneProcess.cpp.i
-
-.PHONY : DeboneProcess.i
-
-# target to preprocess a source file
-DeboneProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DeboneProcess.cpp.i
-.PHONY : DeboneProcess.cpp.i
-
-DeboneProcess.s: DeboneProcess.cpp.s
-
-.PHONY : DeboneProcess.s
-
-# target to generate assembly for a file
-DeboneProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DeboneProcess.cpp.s
-.PHONY : DeboneProcess.cpp.s
-
-DefaultIOStream.o: DefaultIOStream.cpp.o
-
-.PHONY : DefaultIOStream.o
-
-# target to build an object file
-DefaultIOStream.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOStream.cpp.o
-.PHONY : DefaultIOStream.cpp.o
-
-DefaultIOStream.i: DefaultIOStream.cpp.i
-
-.PHONY : DefaultIOStream.i
-
-# target to preprocess a source file
-DefaultIOStream.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOStream.cpp.i
-.PHONY : DefaultIOStream.cpp.i
-
-DefaultIOStream.s: DefaultIOStream.cpp.s
-
-.PHONY : DefaultIOStream.s
-
-# target to generate assembly for a file
-DefaultIOStream.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOStream.cpp.s
-.PHONY : DefaultIOStream.cpp.s
-
-DefaultIOSystem.o: DefaultIOSystem.cpp.o
-
-.PHONY : DefaultIOSystem.o
-
-# target to build an object file
-DefaultIOSystem.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOSystem.cpp.o
-.PHONY : DefaultIOSystem.cpp.o
-
-DefaultIOSystem.i: DefaultIOSystem.cpp.i
-
-.PHONY : DefaultIOSystem.i
-
-# target to preprocess a source file
-DefaultIOSystem.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOSystem.cpp.i
-.PHONY : DefaultIOSystem.cpp.i
-
-DefaultIOSystem.s: DefaultIOSystem.cpp.s
-
-.PHONY : DefaultIOSystem.s
-
-# target to generate assembly for a file
-DefaultIOSystem.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultIOSystem.cpp.s
-.PHONY : DefaultIOSystem.cpp.s
-
-DefaultLogger.o: DefaultLogger.cpp.o
-
-.PHONY : DefaultLogger.o
-
-# target to build an object file
-DefaultLogger.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultLogger.cpp.o
-.PHONY : DefaultLogger.cpp.o
-
-DefaultLogger.i: DefaultLogger.cpp.i
-
-.PHONY : DefaultLogger.i
-
-# target to preprocess a source file
-DefaultLogger.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultLogger.cpp.i
-.PHONY : DefaultLogger.cpp.i
-
-DefaultLogger.s: DefaultLogger.cpp.s
-
-.PHONY : DefaultLogger.s
-
-# target to generate assembly for a file
-DefaultLogger.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/DefaultLogger.cpp.s
-.PHONY : DefaultLogger.cpp.s
-
-Exporter.o: Exporter.cpp.o
-
-.PHONY : Exporter.o
-
-# target to build an object file
-Exporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Exporter.cpp.o
-.PHONY : Exporter.cpp.o
-
-Exporter.i: Exporter.cpp.i
-
-.PHONY : Exporter.i
-
-# target to preprocess a source file
-Exporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Exporter.cpp.i
-.PHONY : Exporter.cpp.i
-
-Exporter.s: Exporter.cpp.s
-
-.PHONY : Exporter.s
-
-# target to generate assembly for a file
-Exporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Exporter.cpp.s
-.PHONY : Exporter.cpp.s
-
-FBXAnimation.o: FBXAnimation.cpp.o
-
-.PHONY : FBXAnimation.o
-
-# target to build an object file
-FBXAnimation.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXAnimation.cpp.o
-.PHONY : FBXAnimation.cpp.o
-
-FBXAnimation.i: FBXAnimation.cpp.i
-
-.PHONY : FBXAnimation.i
-
-# target to preprocess a source file
-FBXAnimation.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXAnimation.cpp.i
-.PHONY : FBXAnimation.cpp.i
-
-FBXAnimation.s: FBXAnimation.cpp.s
-
-.PHONY : FBXAnimation.s
-
-# target to generate assembly for a file
-FBXAnimation.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXAnimation.cpp.s
-.PHONY : FBXAnimation.cpp.s
-
-FBXBinaryTokenizer.o: FBXBinaryTokenizer.cpp.o
-
-.PHONY : FBXBinaryTokenizer.o
-
-# target to build an object file
-FBXBinaryTokenizer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXBinaryTokenizer.cpp.o
-.PHONY : FBXBinaryTokenizer.cpp.o
-
-FBXBinaryTokenizer.i: FBXBinaryTokenizer.cpp.i
-
-.PHONY : FBXBinaryTokenizer.i
-
-# target to preprocess a source file
-FBXBinaryTokenizer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXBinaryTokenizer.cpp.i
-.PHONY : FBXBinaryTokenizer.cpp.i
-
-FBXBinaryTokenizer.s: FBXBinaryTokenizer.cpp.s
-
-.PHONY : FBXBinaryTokenizer.s
-
-# target to generate assembly for a file
-FBXBinaryTokenizer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXBinaryTokenizer.cpp.s
-.PHONY : FBXBinaryTokenizer.cpp.s
-
-FBXConverter.o: FBXConverter.cpp.o
-
-.PHONY : FBXConverter.o
-
-# target to build an object file
-FBXConverter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXConverter.cpp.o
-.PHONY : FBXConverter.cpp.o
-
-FBXConverter.i: FBXConverter.cpp.i
-
-.PHONY : FBXConverter.i
-
-# target to preprocess a source file
-FBXConverter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXConverter.cpp.i
-.PHONY : FBXConverter.cpp.i
-
-FBXConverter.s: FBXConverter.cpp.s
-
-.PHONY : FBXConverter.s
-
-# target to generate assembly for a file
-FBXConverter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXConverter.cpp.s
-.PHONY : FBXConverter.cpp.s
-
-FBXDeformer.o: FBXDeformer.cpp.o
-
-.PHONY : FBXDeformer.o
-
-# target to build an object file
-FBXDeformer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDeformer.cpp.o
-.PHONY : FBXDeformer.cpp.o
-
-FBXDeformer.i: FBXDeformer.cpp.i
-
-.PHONY : FBXDeformer.i
-
-# target to preprocess a source file
-FBXDeformer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDeformer.cpp.i
-.PHONY : FBXDeformer.cpp.i
-
-FBXDeformer.s: FBXDeformer.cpp.s
-
-.PHONY : FBXDeformer.s
-
-# target to generate assembly for a file
-FBXDeformer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDeformer.cpp.s
-.PHONY : FBXDeformer.cpp.s
-
-FBXDocument.o: FBXDocument.cpp.o
-
-.PHONY : FBXDocument.o
-
-# target to build an object file
-FBXDocument.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocument.cpp.o
-.PHONY : FBXDocument.cpp.o
-
-FBXDocument.i: FBXDocument.cpp.i
-
-.PHONY : FBXDocument.i
-
-# target to preprocess a source file
-FBXDocument.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocument.cpp.i
-.PHONY : FBXDocument.cpp.i
-
-FBXDocument.s: FBXDocument.cpp.s
-
-.PHONY : FBXDocument.s
-
-# target to generate assembly for a file
-FBXDocument.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocument.cpp.s
-.PHONY : FBXDocument.cpp.s
-
-FBXDocumentUtil.o: FBXDocumentUtil.cpp.o
-
-.PHONY : FBXDocumentUtil.o
-
-# target to build an object file
-FBXDocumentUtil.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocumentUtil.cpp.o
-.PHONY : FBXDocumentUtil.cpp.o
-
-FBXDocumentUtil.i: FBXDocumentUtil.cpp.i
-
-.PHONY : FBXDocumentUtil.i
-
-# target to preprocess a source file
-FBXDocumentUtil.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocumentUtil.cpp.i
-.PHONY : FBXDocumentUtil.cpp.i
-
-FBXDocumentUtil.s: FBXDocumentUtil.cpp.s
-
-.PHONY : FBXDocumentUtil.s
-
-# target to generate assembly for a file
-FBXDocumentUtil.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXDocumentUtil.cpp.s
-.PHONY : FBXDocumentUtil.cpp.s
-
-FBXImporter.o: FBXImporter.cpp.o
-
-.PHONY : FBXImporter.o
-
-# target to build an object file
-FBXImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXImporter.cpp.o
-.PHONY : FBXImporter.cpp.o
-
-FBXImporter.i: FBXImporter.cpp.i
-
-.PHONY : FBXImporter.i
-
-# target to preprocess a source file
-FBXImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXImporter.cpp.i
-.PHONY : FBXImporter.cpp.i
-
-FBXImporter.s: FBXImporter.cpp.s
-
-.PHONY : FBXImporter.s
-
-# target to generate assembly for a file
-FBXImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXImporter.cpp.s
-.PHONY : FBXImporter.cpp.s
-
-FBXMaterial.o: FBXMaterial.cpp.o
-
-.PHONY : FBXMaterial.o
-
-# target to build an object file
-FBXMaterial.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMaterial.cpp.o
-.PHONY : FBXMaterial.cpp.o
-
-FBXMaterial.i: FBXMaterial.cpp.i
-
-.PHONY : FBXMaterial.i
-
-# target to preprocess a source file
-FBXMaterial.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMaterial.cpp.i
-.PHONY : FBXMaterial.cpp.i
-
-FBXMaterial.s: FBXMaterial.cpp.s
-
-.PHONY : FBXMaterial.s
-
-# target to generate assembly for a file
-FBXMaterial.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMaterial.cpp.s
-.PHONY : FBXMaterial.cpp.s
-
-FBXMeshGeometry.o: FBXMeshGeometry.cpp.o
-
-.PHONY : FBXMeshGeometry.o
-
-# target to build an object file
-FBXMeshGeometry.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMeshGeometry.cpp.o
-.PHONY : FBXMeshGeometry.cpp.o
-
-FBXMeshGeometry.i: FBXMeshGeometry.cpp.i
-
-.PHONY : FBXMeshGeometry.i
-
-# target to preprocess a source file
-FBXMeshGeometry.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMeshGeometry.cpp.i
-.PHONY : FBXMeshGeometry.cpp.i
-
-FBXMeshGeometry.s: FBXMeshGeometry.cpp.s
-
-.PHONY : FBXMeshGeometry.s
-
-# target to generate assembly for a file
-FBXMeshGeometry.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXMeshGeometry.cpp.s
-.PHONY : FBXMeshGeometry.cpp.s
-
-FBXModel.o: FBXModel.cpp.o
-
-.PHONY : FBXModel.o
-
-# target to build an object file
-FBXModel.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXModel.cpp.o
-.PHONY : FBXModel.cpp.o
-
-FBXModel.i: FBXModel.cpp.i
-
-.PHONY : FBXModel.i
-
-# target to preprocess a source file
-FBXModel.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXModel.cpp.i
-.PHONY : FBXModel.cpp.i
-
-FBXModel.s: FBXModel.cpp.s
-
-.PHONY : FBXModel.s
-
-# target to generate assembly for a file
-FBXModel.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXModel.cpp.s
-.PHONY : FBXModel.cpp.s
-
-FBXNodeAttribute.o: FBXNodeAttribute.cpp.o
-
-.PHONY : FBXNodeAttribute.o
-
-# target to build an object file
-FBXNodeAttribute.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXNodeAttribute.cpp.o
-.PHONY : FBXNodeAttribute.cpp.o
-
-FBXNodeAttribute.i: FBXNodeAttribute.cpp.i
-
-.PHONY : FBXNodeAttribute.i
-
-# target to preprocess a source file
-FBXNodeAttribute.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXNodeAttribute.cpp.i
-.PHONY : FBXNodeAttribute.cpp.i
-
-FBXNodeAttribute.s: FBXNodeAttribute.cpp.s
-
-.PHONY : FBXNodeAttribute.s
-
-# target to generate assembly for a file
-FBXNodeAttribute.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXNodeAttribute.cpp.s
-.PHONY : FBXNodeAttribute.cpp.s
-
-FBXParser.o: FBXParser.cpp.o
-
-.PHONY : FBXParser.o
-
-# target to build an object file
-FBXParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXParser.cpp.o
-.PHONY : FBXParser.cpp.o
-
-FBXParser.i: FBXParser.cpp.i
-
-.PHONY : FBXParser.i
-
-# target to preprocess a source file
-FBXParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXParser.cpp.i
-.PHONY : FBXParser.cpp.i
-
-FBXParser.s: FBXParser.cpp.s
-
-.PHONY : FBXParser.s
-
-# target to generate assembly for a file
-FBXParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXParser.cpp.s
-.PHONY : FBXParser.cpp.s
-
-FBXProperties.o: FBXProperties.cpp.o
-
-.PHONY : FBXProperties.o
-
-# target to build an object file
-FBXProperties.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXProperties.cpp.o
-.PHONY : FBXProperties.cpp.o
-
-FBXProperties.i: FBXProperties.cpp.i
-
-.PHONY : FBXProperties.i
-
-# target to preprocess a source file
-FBXProperties.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXProperties.cpp.i
-.PHONY : FBXProperties.cpp.i
-
-FBXProperties.s: FBXProperties.cpp.s
-
-.PHONY : FBXProperties.s
-
-# target to generate assembly for a file
-FBXProperties.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXProperties.cpp.s
-.PHONY : FBXProperties.cpp.s
-
-FBXTokenizer.o: FBXTokenizer.cpp.o
-
-.PHONY : FBXTokenizer.o
-
-# target to build an object file
-FBXTokenizer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXTokenizer.cpp.o
-.PHONY : FBXTokenizer.cpp.o
-
-FBXTokenizer.i: FBXTokenizer.cpp.i
-
-.PHONY : FBXTokenizer.i
-
-# target to preprocess a source file
-FBXTokenizer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXTokenizer.cpp.i
-.PHONY : FBXTokenizer.cpp.i
-
-FBXTokenizer.s: FBXTokenizer.cpp.s
-
-.PHONY : FBXTokenizer.s
-
-# target to generate assembly for a file
-FBXTokenizer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXTokenizer.cpp.s
-.PHONY : FBXTokenizer.cpp.s
-
-FBXUtil.o: FBXUtil.cpp.o
-
-.PHONY : FBXUtil.o
-
-# target to build an object file
-FBXUtil.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXUtil.cpp.o
-.PHONY : FBXUtil.cpp.o
-
-FBXUtil.i: FBXUtil.cpp.i
-
-.PHONY : FBXUtil.i
-
-# target to preprocess a source file
-FBXUtil.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXUtil.cpp.i
-.PHONY : FBXUtil.cpp.i
-
-FBXUtil.s: FBXUtil.cpp.s
-
-.PHONY : FBXUtil.s
-
-# target to generate assembly for a file
-FBXUtil.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FBXUtil.cpp.s
-.PHONY : FBXUtil.cpp.s
-
-FindDegenerates.o: FindDegenerates.cpp.o
-
-.PHONY : FindDegenerates.o
-
-# target to build an object file
-FindDegenerates.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindDegenerates.cpp.o
-.PHONY : FindDegenerates.cpp.o
-
-FindDegenerates.i: FindDegenerates.cpp.i
-
-.PHONY : FindDegenerates.i
-
-# target to preprocess a source file
-FindDegenerates.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindDegenerates.cpp.i
-.PHONY : FindDegenerates.cpp.i
-
-FindDegenerates.s: FindDegenerates.cpp.s
-
-.PHONY : FindDegenerates.s
-
-# target to generate assembly for a file
-FindDegenerates.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindDegenerates.cpp.s
-.PHONY : FindDegenerates.cpp.s
-
-FindInstancesProcess.o: FindInstancesProcess.cpp.o
-
-.PHONY : FindInstancesProcess.o
-
-# target to build an object file
-FindInstancesProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInstancesProcess.cpp.o
-.PHONY : FindInstancesProcess.cpp.o
-
-FindInstancesProcess.i: FindInstancesProcess.cpp.i
-
-.PHONY : FindInstancesProcess.i
-
-# target to preprocess a source file
-FindInstancesProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInstancesProcess.cpp.i
-.PHONY : FindInstancesProcess.cpp.i
-
-FindInstancesProcess.s: FindInstancesProcess.cpp.s
-
-.PHONY : FindInstancesProcess.s
-
-# target to generate assembly for a file
-FindInstancesProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInstancesProcess.cpp.s
-.PHONY : FindInstancesProcess.cpp.s
-
-FindInvalidDataProcess.o: FindInvalidDataProcess.cpp.o
-
-.PHONY : FindInvalidDataProcess.o
-
-# target to build an object file
-FindInvalidDataProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInvalidDataProcess.cpp.o
-.PHONY : FindInvalidDataProcess.cpp.o
-
-FindInvalidDataProcess.i: FindInvalidDataProcess.cpp.i
-
-.PHONY : FindInvalidDataProcess.i
-
-# target to preprocess a source file
-FindInvalidDataProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInvalidDataProcess.cpp.i
-.PHONY : FindInvalidDataProcess.cpp.i
-
-FindInvalidDataProcess.s: FindInvalidDataProcess.cpp.s
-
-.PHONY : FindInvalidDataProcess.s
-
-# target to generate assembly for a file
-FindInvalidDataProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FindInvalidDataProcess.cpp.s
-.PHONY : FindInvalidDataProcess.cpp.s
-
-FixNormalsStep.o: FixNormalsStep.cpp.o
-
-.PHONY : FixNormalsStep.o
-
-# target to build an object file
-FixNormalsStep.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FixNormalsStep.cpp.o
-.PHONY : FixNormalsStep.cpp.o
-
-FixNormalsStep.i: FixNormalsStep.cpp.i
-
-.PHONY : FixNormalsStep.i
-
-# target to preprocess a source file
-FixNormalsStep.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FixNormalsStep.cpp.i
-.PHONY : FixNormalsStep.cpp.i
-
-FixNormalsStep.s: FixNormalsStep.cpp.s
-
-.PHONY : FixNormalsStep.s
-
-# target to generate assembly for a file
-FixNormalsStep.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/FixNormalsStep.cpp.s
-.PHONY : FixNormalsStep.cpp.s
-
-GenFaceNormalsProcess.o: GenFaceNormalsProcess.cpp.o
-
-.PHONY : GenFaceNormalsProcess.o
-
-# target to build an object file
-GenFaceNormalsProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenFaceNormalsProcess.cpp.o
-.PHONY : GenFaceNormalsProcess.cpp.o
-
-GenFaceNormalsProcess.i: GenFaceNormalsProcess.cpp.i
-
-.PHONY : GenFaceNormalsProcess.i
-
-# target to preprocess a source file
-GenFaceNormalsProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenFaceNormalsProcess.cpp.i
-.PHONY : GenFaceNormalsProcess.cpp.i
-
-GenFaceNormalsProcess.s: GenFaceNormalsProcess.cpp.s
-
-.PHONY : GenFaceNormalsProcess.s
-
-# target to generate assembly for a file
-GenFaceNormalsProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenFaceNormalsProcess.cpp.s
-.PHONY : GenFaceNormalsProcess.cpp.s
-
-GenVertexNormalsProcess.o: GenVertexNormalsProcess.cpp.o
-
-.PHONY : GenVertexNormalsProcess.o
-
-# target to build an object file
-GenVertexNormalsProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenVertexNormalsProcess.cpp.o
-.PHONY : GenVertexNormalsProcess.cpp.o
-
-GenVertexNormalsProcess.i: GenVertexNormalsProcess.cpp.i
-
-.PHONY : GenVertexNormalsProcess.i
-
-# target to preprocess a source file
-GenVertexNormalsProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenVertexNormalsProcess.cpp.i
-.PHONY : GenVertexNormalsProcess.cpp.i
-
-GenVertexNormalsProcess.s: GenVertexNormalsProcess.cpp.s
-
-.PHONY : GenVertexNormalsProcess.s
-
-# target to generate assembly for a file
-GenVertexNormalsProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/GenVertexNormalsProcess.cpp.s
-.PHONY : GenVertexNormalsProcess.cpp.s
-
-HMPLoader.o: HMPLoader.cpp.o
-
-.PHONY : HMPLoader.o
-
-# target to build an object file
-HMPLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/HMPLoader.cpp.o
-.PHONY : HMPLoader.cpp.o
-
-HMPLoader.i: HMPLoader.cpp.i
-
-.PHONY : HMPLoader.i
-
-# target to preprocess a source file
-HMPLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/HMPLoader.cpp.i
-.PHONY : HMPLoader.cpp.i
-
-HMPLoader.s: HMPLoader.cpp.s
-
-.PHONY : HMPLoader.s
-
-# target to generate assembly for a file
-HMPLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/HMPLoader.cpp.s
-.PHONY : HMPLoader.cpp.s
-
-IFCBoolean.o: IFCBoolean.cpp.o
-
-.PHONY : IFCBoolean.o
-
-# target to build an object file
-IFCBoolean.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCBoolean.cpp.o
-.PHONY : IFCBoolean.cpp.o
-
-IFCBoolean.i: IFCBoolean.cpp.i
-
-.PHONY : IFCBoolean.i
-
-# target to preprocess a source file
-IFCBoolean.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCBoolean.cpp.i
-.PHONY : IFCBoolean.cpp.i
-
-IFCBoolean.s: IFCBoolean.cpp.s
-
-.PHONY : IFCBoolean.s
-
-# target to generate assembly for a file
-IFCBoolean.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCBoolean.cpp.s
-.PHONY : IFCBoolean.cpp.s
-
-IFCCurve.o: IFCCurve.cpp.o
-
-.PHONY : IFCCurve.o
-
-# target to build an object file
-IFCCurve.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCCurve.cpp.o
-.PHONY : IFCCurve.cpp.o
-
-IFCCurve.i: IFCCurve.cpp.i
-
-.PHONY : IFCCurve.i
-
-# target to preprocess a source file
-IFCCurve.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCCurve.cpp.i
-.PHONY : IFCCurve.cpp.i
-
-IFCCurve.s: IFCCurve.cpp.s
-
-.PHONY : IFCCurve.s
-
-# target to generate assembly for a file
-IFCCurve.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCCurve.cpp.s
-.PHONY : IFCCurve.cpp.s
-
-IFCGeometry.o: IFCGeometry.cpp.o
-
-.PHONY : IFCGeometry.o
-
-# target to build an object file
-IFCGeometry.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCGeometry.cpp.o
-.PHONY : IFCGeometry.cpp.o
-
-IFCGeometry.i: IFCGeometry.cpp.i
-
-.PHONY : IFCGeometry.i
-
-# target to preprocess a source file
-IFCGeometry.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCGeometry.cpp.i
-.PHONY : IFCGeometry.cpp.i
-
-IFCGeometry.s: IFCGeometry.cpp.s
-
-.PHONY : IFCGeometry.s
-
-# target to generate assembly for a file
-IFCGeometry.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCGeometry.cpp.s
-.PHONY : IFCGeometry.cpp.s
-
-IFCLoader.o: IFCLoader.cpp.o
-
-.PHONY : IFCLoader.o
-
-# target to build an object file
-IFCLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCLoader.cpp.o
-.PHONY : IFCLoader.cpp.o
-
-IFCLoader.i: IFCLoader.cpp.i
-
-.PHONY : IFCLoader.i
-
-# target to preprocess a source file
-IFCLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCLoader.cpp.i
-.PHONY : IFCLoader.cpp.i
-
-IFCLoader.s: IFCLoader.cpp.s
-
-.PHONY : IFCLoader.s
-
-# target to generate assembly for a file
-IFCLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCLoader.cpp.s
-.PHONY : IFCLoader.cpp.s
-
-IFCMaterial.o: IFCMaterial.cpp.o
-
-.PHONY : IFCMaterial.o
-
-# target to build an object file
-IFCMaterial.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCMaterial.cpp.o
-.PHONY : IFCMaterial.cpp.o
-
-IFCMaterial.i: IFCMaterial.cpp.i
-
-.PHONY : IFCMaterial.i
-
-# target to preprocess a source file
-IFCMaterial.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCMaterial.cpp.i
-.PHONY : IFCMaterial.cpp.i
-
-IFCMaterial.s: IFCMaterial.cpp.s
-
-.PHONY : IFCMaterial.s
-
-# target to generate assembly for a file
-IFCMaterial.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCMaterial.cpp.s
-.PHONY : IFCMaterial.cpp.s
-
-IFCOpenings.o: IFCOpenings.cpp.o
-
-.PHONY : IFCOpenings.o
-
-# target to build an object file
-IFCOpenings.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCOpenings.cpp.o
-.PHONY : IFCOpenings.cpp.o
-
-IFCOpenings.i: IFCOpenings.cpp.i
-
-.PHONY : IFCOpenings.i
-
-# target to preprocess a source file
-IFCOpenings.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCOpenings.cpp.i
-.PHONY : IFCOpenings.cpp.i
-
-IFCOpenings.s: IFCOpenings.cpp.s
-
-.PHONY : IFCOpenings.s
-
-# target to generate assembly for a file
-IFCOpenings.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCOpenings.cpp.s
-.PHONY : IFCOpenings.cpp.s
-
-IFCProfile.o: IFCProfile.cpp.o
-
-.PHONY : IFCProfile.o
-
-# target to build an object file
-IFCProfile.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCProfile.cpp.o
-.PHONY : IFCProfile.cpp.o
-
-IFCProfile.i: IFCProfile.cpp.i
-
-.PHONY : IFCProfile.i
-
-# target to preprocess a source file
-IFCProfile.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCProfile.cpp.i
-.PHONY : IFCProfile.cpp.i
-
-IFCProfile.s: IFCProfile.cpp.s
-
-.PHONY : IFCProfile.s
-
-# target to generate assembly for a file
-IFCProfile.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCProfile.cpp.s
-.PHONY : IFCProfile.cpp.s
-
-IFCReaderGen1.o: IFCReaderGen1.cpp.o
-
-.PHONY : IFCReaderGen1.o
-
-# target to build an object file
-IFCReaderGen1.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen1.cpp.o
-.PHONY : IFCReaderGen1.cpp.o
-
-IFCReaderGen1.i: IFCReaderGen1.cpp.i
-
-.PHONY : IFCReaderGen1.i
-
-# target to preprocess a source file
-IFCReaderGen1.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen1.cpp.i
-.PHONY : IFCReaderGen1.cpp.i
-
-IFCReaderGen1.s: IFCReaderGen1.cpp.s
-
-.PHONY : IFCReaderGen1.s
-
-# target to generate assembly for a file
-IFCReaderGen1.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen1.cpp.s
-.PHONY : IFCReaderGen1.cpp.s
-
-IFCReaderGen2.o: IFCReaderGen2.cpp.o
-
-.PHONY : IFCReaderGen2.o
-
-# target to build an object file
-IFCReaderGen2.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen2.cpp.o
-.PHONY : IFCReaderGen2.cpp.o
-
-IFCReaderGen2.i: IFCReaderGen2.cpp.i
-
-.PHONY : IFCReaderGen2.i
-
-# target to preprocess a source file
-IFCReaderGen2.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen2.cpp.i
-.PHONY : IFCReaderGen2.cpp.i
-
-IFCReaderGen2.s: IFCReaderGen2.cpp.s
-
-.PHONY : IFCReaderGen2.s
-
-# target to generate assembly for a file
-IFCReaderGen2.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCReaderGen2.cpp.s
-.PHONY : IFCReaderGen2.cpp.s
-
-IFCUtil.o: IFCUtil.cpp.o
-
-.PHONY : IFCUtil.o
-
-# target to build an object file
-IFCUtil.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCUtil.cpp.o
-.PHONY : IFCUtil.cpp.o
-
-IFCUtil.i: IFCUtil.cpp.i
-
-.PHONY : IFCUtil.i
-
-# target to preprocess a source file
-IFCUtil.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCUtil.cpp.i
-.PHONY : IFCUtil.cpp.i
-
-IFCUtil.s: IFCUtil.cpp.s
-
-.PHONY : IFCUtil.s
-
-# target to generate assembly for a file
-IFCUtil.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IFCUtil.cpp.s
-.PHONY : IFCUtil.cpp.s
-
-IRRLoader.o: IRRLoader.cpp.o
-
-.PHONY : IRRLoader.o
-
-# target to build an object file
-IRRLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRLoader.cpp.o
-.PHONY : IRRLoader.cpp.o
-
-IRRLoader.i: IRRLoader.cpp.i
-
-.PHONY : IRRLoader.i
-
-# target to preprocess a source file
-IRRLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRLoader.cpp.i
-.PHONY : IRRLoader.cpp.i
-
-IRRLoader.s: IRRLoader.cpp.s
-
-.PHONY : IRRLoader.s
-
-# target to generate assembly for a file
-IRRLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRLoader.cpp.s
-.PHONY : IRRLoader.cpp.s
-
-IRRMeshLoader.o: IRRMeshLoader.cpp.o
-
-.PHONY : IRRMeshLoader.o
-
-# target to build an object file
-IRRMeshLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRMeshLoader.cpp.o
-.PHONY : IRRMeshLoader.cpp.o
-
-IRRMeshLoader.i: IRRMeshLoader.cpp.i
-
-.PHONY : IRRMeshLoader.i
-
-# target to preprocess a source file
-IRRMeshLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRMeshLoader.cpp.i
-.PHONY : IRRMeshLoader.cpp.i
-
-IRRMeshLoader.s: IRRMeshLoader.cpp.s
-
-.PHONY : IRRMeshLoader.s
-
-# target to generate assembly for a file
-IRRMeshLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRMeshLoader.cpp.s
-.PHONY : IRRMeshLoader.cpp.s
-
-IRRShared.o: IRRShared.cpp.o
-
-.PHONY : IRRShared.o
-
-# target to build an object file
-IRRShared.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRShared.cpp.o
-.PHONY : IRRShared.cpp.o
-
-IRRShared.i: IRRShared.cpp.i
-
-.PHONY : IRRShared.i
-
-# target to preprocess a source file
-IRRShared.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRShared.cpp.i
-.PHONY : IRRShared.cpp.i
-
-IRRShared.s: IRRShared.cpp.s
-
-.PHONY : IRRShared.s
-
-# target to generate assembly for a file
-IRRShared.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/IRRShared.cpp.s
-.PHONY : IRRShared.cpp.s
-
-Importer.o: Importer.cpp.o
-
-.PHONY : Importer.o
-
-# target to build an object file
-Importer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Importer.cpp.o
-.PHONY : Importer.cpp.o
-
-Importer.i: Importer.cpp.i
-
-.PHONY : Importer.i
-
-# target to preprocess a source file
-Importer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Importer.cpp.i
-.PHONY : Importer.cpp.i
-
-Importer.s: Importer.cpp.s
-
-.PHONY : Importer.s
-
-# target to generate assembly for a file
-Importer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Importer.cpp.s
-.PHONY : Importer.cpp.s
-
-ImporterRegistry.o: ImporterRegistry.cpp.o
-
-.PHONY : ImporterRegistry.o
-
-# target to build an object file
-ImporterRegistry.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImporterRegistry.cpp.o
-.PHONY : ImporterRegistry.cpp.o
-
-ImporterRegistry.i: ImporterRegistry.cpp.i
-
-.PHONY : ImporterRegistry.i
-
-# target to preprocess a source file
-ImporterRegistry.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImporterRegistry.cpp.i
-.PHONY : ImporterRegistry.cpp.i
-
-ImporterRegistry.s: ImporterRegistry.cpp.s
-
-.PHONY : ImporterRegistry.s
-
-# target to generate assembly for a file
-ImporterRegistry.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImporterRegistry.cpp.s
-.PHONY : ImporterRegistry.cpp.s
-
-ImproveCacheLocality.o: ImproveCacheLocality.cpp.o
-
-.PHONY : ImproveCacheLocality.o
-
-# target to build an object file
-ImproveCacheLocality.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImproveCacheLocality.cpp.o
-.PHONY : ImproveCacheLocality.cpp.o
-
-ImproveCacheLocality.i: ImproveCacheLocality.cpp.i
-
-.PHONY : ImproveCacheLocality.i
-
-# target to preprocess a source file
-ImproveCacheLocality.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImproveCacheLocality.cpp.i
-.PHONY : ImproveCacheLocality.cpp.i
-
-ImproveCacheLocality.s: ImproveCacheLocality.cpp.s
-
-.PHONY : ImproveCacheLocality.s
-
-# target to generate assembly for a file
-ImproveCacheLocality.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ImproveCacheLocality.cpp.s
-.PHONY : ImproveCacheLocality.cpp.s
-
-JoinVerticesProcess.o: JoinVerticesProcess.cpp.o
-
-.PHONY : JoinVerticesProcess.o
-
-# target to build an object file
-JoinVerticesProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/JoinVerticesProcess.cpp.o
-.PHONY : JoinVerticesProcess.cpp.o
-
-JoinVerticesProcess.i: JoinVerticesProcess.cpp.i
-
-.PHONY : JoinVerticesProcess.i
-
-# target to preprocess a source file
-JoinVerticesProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/JoinVerticesProcess.cpp.i
-.PHONY : JoinVerticesProcess.cpp.i
-
-JoinVerticesProcess.s: JoinVerticesProcess.cpp.s
-
-.PHONY : JoinVerticesProcess.s
-
-# target to generate assembly for a file
-JoinVerticesProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/JoinVerticesProcess.cpp.s
-.PHONY : JoinVerticesProcess.cpp.s
-
-LWOAnimation.o: LWOAnimation.cpp.o
-
-.PHONY : LWOAnimation.o
-
-# target to build an object file
-LWOAnimation.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOAnimation.cpp.o
-.PHONY : LWOAnimation.cpp.o
-
-LWOAnimation.i: LWOAnimation.cpp.i
-
-.PHONY : LWOAnimation.i
-
-# target to preprocess a source file
-LWOAnimation.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOAnimation.cpp.i
-.PHONY : LWOAnimation.cpp.i
-
-LWOAnimation.s: LWOAnimation.cpp.s
-
-.PHONY : LWOAnimation.s
-
-# target to generate assembly for a file
-LWOAnimation.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOAnimation.cpp.s
-.PHONY : LWOAnimation.cpp.s
-
-LWOBLoader.o: LWOBLoader.cpp.o
-
-.PHONY : LWOBLoader.o
-
-# target to build an object file
-LWOBLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOBLoader.cpp.o
-.PHONY : LWOBLoader.cpp.o
-
-LWOBLoader.i: LWOBLoader.cpp.i
-
-.PHONY : LWOBLoader.i
-
-# target to preprocess a source file
-LWOBLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOBLoader.cpp.i
-.PHONY : LWOBLoader.cpp.i
-
-LWOBLoader.s: LWOBLoader.cpp.s
-
-.PHONY : LWOBLoader.s
-
-# target to generate assembly for a file
-LWOBLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOBLoader.cpp.s
-.PHONY : LWOBLoader.cpp.s
-
-LWOLoader.o: LWOLoader.cpp.o
-
-.PHONY : LWOLoader.o
-
-# target to build an object file
-LWOLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOLoader.cpp.o
-.PHONY : LWOLoader.cpp.o
-
-LWOLoader.i: LWOLoader.cpp.i
-
-.PHONY : LWOLoader.i
-
-# target to preprocess a source file
-LWOLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOLoader.cpp.i
-.PHONY : LWOLoader.cpp.i
-
-LWOLoader.s: LWOLoader.cpp.s
-
-.PHONY : LWOLoader.s
-
-# target to generate assembly for a file
-LWOLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOLoader.cpp.s
-.PHONY : LWOLoader.cpp.s
-
-LWOMaterial.o: LWOMaterial.cpp.o
-
-.PHONY : LWOMaterial.o
-
-# target to build an object file
-LWOMaterial.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOMaterial.cpp.o
-.PHONY : LWOMaterial.cpp.o
-
-LWOMaterial.i: LWOMaterial.cpp.i
-
-.PHONY : LWOMaterial.i
-
-# target to preprocess a source file
-LWOMaterial.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOMaterial.cpp.i
-.PHONY : LWOMaterial.cpp.i
-
-LWOMaterial.s: LWOMaterial.cpp.s
-
-.PHONY : LWOMaterial.s
-
-# target to generate assembly for a file
-LWOMaterial.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWOMaterial.cpp.s
-.PHONY : LWOMaterial.cpp.s
-
-LWSLoader.o: LWSLoader.cpp.o
-
-.PHONY : LWSLoader.o
-
-# target to build an object file
-LWSLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWSLoader.cpp.o
-.PHONY : LWSLoader.cpp.o
-
-LWSLoader.i: LWSLoader.cpp.i
-
-.PHONY : LWSLoader.i
-
-# target to preprocess a source file
-LWSLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWSLoader.cpp.i
-.PHONY : LWSLoader.cpp.i
-
-LWSLoader.s: LWSLoader.cpp.s
-
-.PHONY : LWSLoader.s
-
-# target to generate assembly for a file
-LWSLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LWSLoader.cpp.s
-.PHONY : LWSLoader.cpp.s
-
-LimitBoneWeightsProcess.o: LimitBoneWeightsProcess.cpp.o
-
-.PHONY : LimitBoneWeightsProcess.o
-
-# target to build an object file
-LimitBoneWeightsProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LimitBoneWeightsProcess.cpp.o
-.PHONY : LimitBoneWeightsProcess.cpp.o
-
-LimitBoneWeightsProcess.i: LimitBoneWeightsProcess.cpp.i
-
-.PHONY : LimitBoneWeightsProcess.i
-
-# target to preprocess a source file
-LimitBoneWeightsProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LimitBoneWeightsProcess.cpp.i
-.PHONY : LimitBoneWeightsProcess.cpp.i
-
-LimitBoneWeightsProcess.s: LimitBoneWeightsProcess.cpp.s
-
-.PHONY : LimitBoneWeightsProcess.s
-
-# target to generate assembly for a file
-LimitBoneWeightsProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/LimitBoneWeightsProcess.cpp.s
-.PHONY : LimitBoneWeightsProcess.cpp.s
-
-MD2Loader.o: MD2Loader.cpp.o
-
-.PHONY : MD2Loader.o
-
-# target to build an object file
-MD2Loader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD2Loader.cpp.o
-.PHONY : MD2Loader.cpp.o
-
-MD2Loader.i: MD2Loader.cpp.i
-
-.PHONY : MD2Loader.i
-
-# target to preprocess a source file
-MD2Loader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD2Loader.cpp.i
-.PHONY : MD2Loader.cpp.i
-
-MD2Loader.s: MD2Loader.cpp.s
-
-.PHONY : MD2Loader.s
-
-# target to generate assembly for a file
-MD2Loader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD2Loader.cpp.s
-.PHONY : MD2Loader.cpp.s
-
-MD3Loader.o: MD3Loader.cpp.o
-
-.PHONY : MD3Loader.o
-
-# target to build an object file
-MD3Loader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD3Loader.cpp.o
-.PHONY : MD3Loader.cpp.o
-
-MD3Loader.i: MD3Loader.cpp.i
-
-.PHONY : MD3Loader.i
-
-# target to preprocess a source file
-MD3Loader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD3Loader.cpp.i
-.PHONY : MD3Loader.cpp.i
-
-MD3Loader.s: MD3Loader.cpp.s
-
-.PHONY : MD3Loader.s
-
-# target to generate assembly for a file
-MD3Loader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD3Loader.cpp.s
-.PHONY : MD3Loader.cpp.s
-
-MD5Loader.o: MD5Loader.cpp.o
-
-.PHONY : MD5Loader.o
-
-# target to build an object file
-MD5Loader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Loader.cpp.o
-.PHONY : MD5Loader.cpp.o
-
-MD5Loader.i: MD5Loader.cpp.i
-
-.PHONY : MD5Loader.i
-
-# target to preprocess a source file
-MD5Loader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Loader.cpp.i
-.PHONY : MD5Loader.cpp.i
-
-MD5Loader.s: MD5Loader.cpp.s
-
-.PHONY : MD5Loader.s
-
-# target to generate assembly for a file
-MD5Loader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Loader.cpp.s
-.PHONY : MD5Loader.cpp.s
-
-MD5Parser.o: MD5Parser.cpp.o
-
-.PHONY : MD5Parser.o
-
-# target to build an object file
-MD5Parser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Parser.cpp.o
-.PHONY : MD5Parser.cpp.o
-
-MD5Parser.i: MD5Parser.cpp.i
-
-.PHONY : MD5Parser.i
-
-# target to preprocess a source file
-MD5Parser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Parser.cpp.i
-.PHONY : MD5Parser.cpp.i
-
-MD5Parser.s: MD5Parser.cpp.s
-
-.PHONY : MD5Parser.s
-
-# target to generate assembly for a file
-MD5Parser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MD5Parser.cpp.s
-.PHONY : MD5Parser.cpp.s
-
-MDCLoader.o: MDCLoader.cpp.o
-
-.PHONY : MDCLoader.o
-
-# target to build an object file
-MDCLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDCLoader.cpp.o
-.PHONY : MDCLoader.cpp.o
-
-MDCLoader.i: MDCLoader.cpp.i
-
-.PHONY : MDCLoader.i
-
-# target to preprocess a source file
-MDCLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDCLoader.cpp.i
-.PHONY : MDCLoader.cpp.i
-
-MDCLoader.s: MDCLoader.cpp.s
-
-.PHONY : MDCLoader.s
-
-# target to generate assembly for a file
-MDCLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDCLoader.cpp.s
-.PHONY : MDCLoader.cpp.s
-
-MDLLoader.o: MDLLoader.cpp.o
-
-.PHONY : MDLLoader.o
-
-# target to build an object file
-MDLLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLLoader.cpp.o
-.PHONY : MDLLoader.cpp.o
-
-MDLLoader.i: MDLLoader.cpp.i
-
-.PHONY : MDLLoader.i
-
-# target to preprocess a source file
-MDLLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLLoader.cpp.i
-.PHONY : MDLLoader.cpp.i
-
-MDLLoader.s: MDLLoader.cpp.s
-
-.PHONY : MDLLoader.s
-
-# target to generate assembly for a file
-MDLLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLLoader.cpp.s
-.PHONY : MDLLoader.cpp.s
-
-MDLMaterialLoader.o: MDLMaterialLoader.cpp.o
-
-.PHONY : MDLMaterialLoader.o
-
-# target to build an object file
-MDLMaterialLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLMaterialLoader.cpp.o
-.PHONY : MDLMaterialLoader.cpp.o
-
-MDLMaterialLoader.i: MDLMaterialLoader.cpp.i
-
-.PHONY : MDLMaterialLoader.i
-
-# target to preprocess a source file
-MDLMaterialLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLMaterialLoader.cpp.i
-.PHONY : MDLMaterialLoader.cpp.i
-
-MDLMaterialLoader.s: MDLMaterialLoader.cpp.s
-
-.PHONY : MDLMaterialLoader.s
-
-# target to generate assembly for a file
-MDLMaterialLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MDLMaterialLoader.cpp.s
-.PHONY : MDLMaterialLoader.cpp.s
-
-MS3DLoader.o: MS3DLoader.cpp.o
-
-.PHONY : MS3DLoader.o
-
-# target to build an object file
-MS3DLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MS3DLoader.cpp.o
-.PHONY : MS3DLoader.cpp.o
-
-MS3DLoader.i: MS3DLoader.cpp.i
-
-.PHONY : MS3DLoader.i
-
-# target to preprocess a source file
-MS3DLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MS3DLoader.cpp.i
-.PHONY : MS3DLoader.cpp.i
-
-MS3DLoader.s: MS3DLoader.cpp.s
-
-.PHONY : MS3DLoader.s
-
-# target to generate assembly for a file
-MS3DLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MS3DLoader.cpp.s
-.PHONY : MS3DLoader.cpp.s
-
-MakeVerboseFormat.o: MakeVerboseFormat.cpp.o
-
-.PHONY : MakeVerboseFormat.o
-
-# target to build an object file
-MakeVerboseFormat.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MakeVerboseFormat.cpp.o
-.PHONY : MakeVerboseFormat.cpp.o
-
-MakeVerboseFormat.i: MakeVerboseFormat.cpp.i
-
-.PHONY : MakeVerboseFormat.i
-
-# target to preprocess a source file
-MakeVerboseFormat.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MakeVerboseFormat.cpp.i
-.PHONY : MakeVerboseFormat.cpp.i
-
-MakeVerboseFormat.s: MakeVerboseFormat.cpp.s
-
-.PHONY : MakeVerboseFormat.s
-
-# target to generate assembly for a file
-MakeVerboseFormat.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MakeVerboseFormat.cpp.s
-.PHONY : MakeVerboseFormat.cpp.s
-
-MaterialSystem.o: MaterialSystem.cpp.o
-
-.PHONY : MaterialSystem.o
-
-# target to build an object file
-MaterialSystem.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MaterialSystem.cpp.o
-.PHONY : MaterialSystem.cpp.o
-
-MaterialSystem.i: MaterialSystem.cpp.i
-
-.PHONY : MaterialSystem.i
-
-# target to preprocess a source file
-MaterialSystem.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MaterialSystem.cpp.i
-.PHONY : MaterialSystem.cpp.i
-
-MaterialSystem.s: MaterialSystem.cpp.s
-
-.PHONY : MaterialSystem.s
-
-# target to generate assembly for a file
-MaterialSystem.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/MaterialSystem.cpp.s
-.PHONY : MaterialSystem.cpp.s
-
-NDOLoader.o: NDOLoader.cpp.o
-
-.PHONY : NDOLoader.o
-
-# target to build an object file
-NDOLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NDOLoader.cpp.o
-.PHONY : NDOLoader.cpp.o
-
-NDOLoader.i: NDOLoader.cpp.i
-
-.PHONY : NDOLoader.i
-
-# target to preprocess a source file
-NDOLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NDOLoader.cpp.i
-.PHONY : NDOLoader.cpp.i
-
-NDOLoader.s: NDOLoader.cpp.s
-
-.PHONY : NDOLoader.s
-
-# target to generate assembly for a file
-NDOLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NDOLoader.cpp.s
-.PHONY : NDOLoader.cpp.s
-
-NFFLoader.o: NFFLoader.cpp.o
-
-.PHONY : NFFLoader.o
-
-# target to build an object file
-NFFLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NFFLoader.cpp.o
-.PHONY : NFFLoader.cpp.o
-
-NFFLoader.i: NFFLoader.cpp.i
-
-.PHONY : NFFLoader.i
-
-# target to preprocess a source file
-NFFLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NFFLoader.cpp.i
-.PHONY : NFFLoader.cpp.i
-
-NFFLoader.s: NFFLoader.cpp.s
-
-.PHONY : NFFLoader.s
-
-# target to generate assembly for a file
-NFFLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/NFFLoader.cpp.s
-.PHONY : NFFLoader.cpp.s
-
-OFFLoader.o: OFFLoader.cpp.o
-
-.PHONY : OFFLoader.o
-
-# target to build an object file
-OFFLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OFFLoader.cpp.o
-.PHONY : OFFLoader.cpp.o
-
-OFFLoader.i: OFFLoader.cpp.i
-
-.PHONY : OFFLoader.i
-
-# target to preprocess a source file
-OFFLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OFFLoader.cpp.i
-.PHONY : OFFLoader.cpp.i
-
-OFFLoader.s: OFFLoader.cpp.s
-
-.PHONY : OFFLoader.s
-
-# target to generate assembly for a file
-OFFLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OFFLoader.cpp.s
-.PHONY : OFFLoader.cpp.s
-
-ObjExporter.o: ObjExporter.cpp.o
-
-.PHONY : ObjExporter.o
-
-# target to build an object file
-ObjExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjExporter.cpp.o
-.PHONY : ObjExporter.cpp.o
-
-ObjExporter.i: ObjExporter.cpp.i
-
-.PHONY : ObjExporter.i
-
-# target to preprocess a source file
-ObjExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjExporter.cpp.i
-.PHONY : ObjExporter.cpp.i
-
-ObjExporter.s: ObjExporter.cpp.s
-
-.PHONY : ObjExporter.s
-
-# target to generate assembly for a file
-ObjExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjExporter.cpp.s
-.PHONY : ObjExporter.cpp.s
-
-ObjFileImporter.o: ObjFileImporter.cpp.o
-
-.PHONY : ObjFileImporter.o
-
-# target to build an object file
-ObjFileImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileImporter.cpp.o
-.PHONY : ObjFileImporter.cpp.o
-
-ObjFileImporter.i: ObjFileImporter.cpp.i
-
-.PHONY : ObjFileImporter.i
-
-# target to preprocess a source file
-ObjFileImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileImporter.cpp.i
-.PHONY : ObjFileImporter.cpp.i
-
-ObjFileImporter.s: ObjFileImporter.cpp.s
-
-.PHONY : ObjFileImporter.s
-
-# target to generate assembly for a file
-ObjFileImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileImporter.cpp.s
-.PHONY : ObjFileImporter.cpp.s
-
-ObjFileMtlImporter.o: ObjFileMtlImporter.cpp.o
-
-.PHONY : ObjFileMtlImporter.o
-
-# target to build an object file
-ObjFileMtlImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileMtlImporter.cpp.o
-.PHONY : ObjFileMtlImporter.cpp.o
-
-ObjFileMtlImporter.i: ObjFileMtlImporter.cpp.i
-
-.PHONY : ObjFileMtlImporter.i
-
-# target to preprocess a source file
-ObjFileMtlImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileMtlImporter.cpp.i
-.PHONY : ObjFileMtlImporter.cpp.i
-
-ObjFileMtlImporter.s: ObjFileMtlImporter.cpp.s
-
-.PHONY : ObjFileMtlImporter.s
-
-# target to generate assembly for a file
-ObjFileMtlImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileMtlImporter.cpp.s
-.PHONY : ObjFileMtlImporter.cpp.s
-
-ObjFileParser.o: ObjFileParser.cpp.o
-
-.PHONY : ObjFileParser.o
-
-# target to build an object file
-ObjFileParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileParser.cpp.o
-.PHONY : ObjFileParser.cpp.o
-
-ObjFileParser.i: ObjFileParser.cpp.i
-
-.PHONY : ObjFileParser.i
-
-# target to preprocess a source file
-ObjFileParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileParser.cpp.i
-.PHONY : ObjFileParser.cpp.i
-
-ObjFileParser.s: ObjFileParser.cpp.s
-
-.PHONY : ObjFileParser.s
-
-# target to generate assembly for a file
-ObjFileParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ObjFileParser.cpp.s
-.PHONY : ObjFileParser.cpp.s
-
-OgreBinarySerializer.o: OgreBinarySerializer.cpp.o
-
-.PHONY : OgreBinarySerializer.o
-
-# target to build an object file
-OgreBinarySerializer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreBinarySerializer.cpp.o
-.PHONY : OgreBinarySerializer.cpp.o
-
-OgreBinarySerializer.i: OgreBinarySerializer.cpp.i
-
-.PHONY : OgreBinarySerializer.i
-
-# target to preprocess a source file
-OgreBinarySerializer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreBinarySerializer.cpp.i
-.PHONY : OgreBinarySerializer.cpp.i
-
-OgreBinarySerializer.s: OgreBinarySerializer.cpp.s
-
-.PHONY : OgreBinarySerializer.s
-
-# target to generate assembly for a file
-OgreBinarySerializer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreBinarySerializer.cpp.s
-.PHONY : OgreBinarySerializer.cpp.s
-
-OgreImporter.o: OgreImporter.cpp.o
-
-.PHONY : OgreImporter.o
-
-# target to build an object file
-OgreImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreImporter.cpp.o
-.PHONY : OgreImporter.cpp.o
-
-OgreImporter.i: OgreImporter.cpp.i
-
-.PHONY : OgreImporter.i
-
-# target to preprocess a source file
-OgreImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreImporter.cpp.i
-.PHONY : OgreImporter.cpp.i
-
-OgreImporter.s: OgreImporter.cpp.s
-
-.PHONY : OgreImporter.s
-
-# target to generate assembly for a file
-OgreImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreImporter.cpp.s
-.PHONY : OgreImporter.cpp.s
-
-OgreMaterial.o: OgreMaterial.cpp.o
-
-.PHONY : OgreMaterial.o
-
-# target to build an object file
-OgreMaterial.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreMaterial.cpp.o
-.PHONY : OgreMaterial.cpp.o
-
-OgreMaterial.i: OgreMaterial.cpp.i
-
-.PHONY : OgreMaterial.i
-
-# target to preprocess a source file
-OgreMaterial.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreMaterial.cpp.i
-.PHONY : OgreMaterial.cpp.i
-
-OgreMaterial.s: OgreMaterial.cpp.s
-
-.PHONY : OgreMaterial.s
-
-# target to generate assembly for a file
-OgreMaterial.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreMaterial.cpp.s
-.PHONY : OgreMaterial.cpp.s
-
-OgreStructs.o: OgreStructs.cpp.o
-
-.PHONY : OgreStructs.o
-
-# target to build an object file
-OgreStructs.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreStructs.cpp.o
-.PHONY : OgreStructs.cpp.o
-
-OgreStructs.i: OgreStructs.cpp.i
-
-.PHONY : OgreStructs.i
-
-# target to preprocess a source file
-OgreStructs.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreStructs.cpp.i
-.PHONY : OgreStructs.cpp.i
-
-OgreStructs.s: OgreStructs.cpp.s
-
-.PHONY : OgreStructs.s
-
-# target to generate assembly for a file
-OgreStructs.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreStructs.cpp.s
-.PHONY : OgreStructs.cpp.s
-
-OgreXmlSerializer.o: OgreXmlSerializer.cpp.o
-
-.PHONY : OgreXmlSerializer.o
-
-# target to build an object file
-OgreXmlSerializer.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreXmlSerializer.cpp.o
-.PHONY : OgreXmlSerializer.cpp.o
-
-OgreXmlSerializer.i: OgreXmlSerializer.cpp.i
-
-.PHONY : OgreXmlSerializer.i
-
-# target to preprocess a source file
-OgreXmlSerializer.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreXmlSerializer.cpp.i
-.PHONY : OgreXmlSerializer.cpp.i
-
-OgreXmlSerializer.s: OgreXmlSerializer.cpp.s
-
-.PHONY : OgreXmlSerializer.s
-
-# target to generate assembly for a file
-OgreXmlSerializer.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OgreXmlSerializer.cpp.s
-.PHONY : OgreXmlSerializer.cpp.s
-
-OpenGEXExporter.o: OpenGEXExporter.cpp.o
-
-.PHONY : OpenGEXExporter.o
-
-# target to build an object file
-OpenGEXExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXExporter.cpp.o
-.PHONY : OpenGEXExporter.cpp.o
-
-OpenGEXExporter.i: OpenGEXExporter.cpp.i
-
-.PHONY : OpenGEXExporter.i
-
-# target to preprocess a source file
-OpenGEXExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXExporter.cpp.i
-.PHONY : OpenGEXExporter.cpp.i
-
-OpenGEXExporter.s: OpenGEXExporter.cpp.s
-
-.PHONY : OpenGEXExporter.s
-
-# target to generate assembly for a file
-OpenGEXExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXExporter.cpp.s
-.PHONY : OpenGEXExporter.cpp.s
-
-OpenGEXImporter.o: OpenGEXImporter.cpp.o
-
-.PHONY : OpenGEXImporter.o
-
-# target to build an object file
-OpenGEXImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXImporter.cpp.o
-.PHONY : OpenGEXImporter.cpp.o
-
-OpenGEXImporter.i: OpenGEXImporter.cpp.i
-
-.PHONY : OpenGEXImporter.i
-
-# target to preprocess a source file
-OpenGEXImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXImporter.cpp.i
-.PHONY : OpenGEXImporter.cpp.i
-
-OpenGEXImporter.s: OpenGEXImporter.cpp.s
-
-.PHONY : OpenGEXImporter.s
-
-# target to generate assembly for a file
-OpenGEXImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OpenGEXImporter.cpp.s
-.PHONY : OpenGEXImporter.cpp.s
-
-OptimizeGraph.o: OptimizeGraph.cpp.o
-
-.PHONY : OptimizeGraph.o
-
-# target to build an object file
-OptimizeGraph.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeGraph.cpp.o
-.PHONY : OptimizeGraph.cpp.o
-
-OptimizeGraph.i: OptimizeGraph.cpp.i
-
-.PHONY : OptimizeGraph.i
-
-# target to preprocess a source file
-OptimizeGraph.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeGraph.cpp.i
-.PHONY : OptimizeGraph.cpp.i
-
-OptimizeGraph.s: OptimizeGraph.cpp.s
-
-.PHONY : OptimizeGraph.s
-
-# target to generate assembly for a file
-OptimizeGraph.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeGraph.cpp.s
-.PHONY : OptimizeGraph.cpp.s
-
-OptimizeMeshes.o: OptimizeMeshes.cpp.o
-
-.PHONY : OptimizeMeshes.o
-
-# target to build an object file
-OptimizeMeshes.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeMeshes.cpp.o
-.PHONY : OptimizeMeshes.cpp.o
-
-OptimizeMeshes.i: OptimizeMeshes.cpp.i
-
-.PHONY : OptimizeMeshes.i
-
-# target to preprocess a source file
-OptimizeMeshes.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeMeshes.cpp.i
-.PHONY : OptimizeMeshes.cpp.i
-
-OptimizeMeshes.s: OptimizeMeshes.cpp.s
-
-.PHONY : OptimizeMeshes.s
-
-# target to generate assembly for a file
-OptimizeMeshes.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/OptimizeMeshes.cpp.s
-.PHONY : OptimizeMeshes.cpp.s
-
-PlyExporter.o: PlyExporter.cpp.o
-
-.PHONY : PlyExporter.o
-
-# target to build an object file
-PlyExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyExporter.cpp.o
-.PHONY : PlyExporter.cpp.o
-
-PlyExporter.i: PlyExporter.cpp.i
-
-.PHONY : PlyExporter.i
-
-# target to preprocess a source file
-PlyExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyExporter.cpp.i
-.PHONY : PlyExporter.cpp.i
-
-PlyExporter.s: PlyExporter.cpp.s
-
-.PHONY : PlyExporter.s
-
-# target to generate assembly for a file
-PlyExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyExporter.cpp.s
-.PHONY : PlyExporter.cpp.s
-
-PlyLoader.o: PlyLoader.cpp.o
-
-.PHONY : PlyLoader.o
-
-# target to build an object file
-PlyLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyLoader.cpp.o
-.PHONY : PlyLoader.cpp.o
-
-PlyLoader.i: PlyLoader.cpp.i
-
-.PHONY : PlyLoader.i
-
-# target to preprocess a source file
-PlyLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyLoader.cpp.i
-.PHONY : PlyLoader.cpp.i
-
-PlyLoader.s: PlyLoader.cpp.s
-
-.PHONY : PlyLoader.s
-
-# target to generate assembly for a file
-PlyLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyLoader.cpp.s
-.PHONY : PlyLoader.cpp.s
-
-PlyParser.o: PlyParser.cpp.o
-
-.PHONY : PlyParser.o
-
-# target to build an object file
-PlyParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyParser.cpp.o
-.PHONY : PlyParser.cpp.o
-
-PlyParser.i: PlyParser.cpp.i
-
-.PHONY : PlyParser.i
-
-# target to preprocess a source file
-PlyParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyParser.cpp.i
-.PHONY : PlyParser.cpp.i
-
-PlyParser.s: PlyParser.cpp.s
-
-.PHONY : PlyParser.s
-
-# target to generate assembly for a file
-PlyParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PlyParser.cpp.s
-.PHONY : PlyParser.cpp.s
-
-PostStepRegistry.o: PostStepRegistry.cpp.o
-
-.PHONY : PostStepRegistry.o
-
-# target to build an object file
-PostStepRegistry.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PostStepRegistry.cpp.o
-.PHONY : PostStepRegistry.cpp.o
-
-PostStepRegistry.i: PostStepRegistry.cpp.i
-
-.PHONY : PostStepRegistry.i
-
-# target to preprocess a source file
-PostStepRegistry.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PostStepRegistry.cpp.i
-.PHONY : PostStepRegistry.cpp.i
-
-PostStepRegistry.s: PostStepRegistry.cpp.s
-
-.PHONY : PostStepRegistry.s
-
-# target to generate assembly for a file
-PostStepRegistry.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PostStepRegistry.cpp.s
-.PHONY : PostStepRegistry.cpp.s
-
-PretransformVertices.o: PretransformVertices.cpp.o
-
-.PHONY : PretransformVertices.o
-
-# target to build an object file
-PretransformVertices.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PretransformVertices.cpp.o
-.PHONY : PretransformVertices.cpp.o
-
-PretransformVertices.i: PretransformVertices.cpp.i
-
-.PHONY : PretransformVertices.i
-
-# target to preprocess a source file
-PretransformVertices.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PretransformVertices.cpp.i
-.PHONY : PretransformVertices.cpp.i
-
-PretransformVertices.s: PretransformVertices.cpp.s
-
-.PHONY : PretransformVertices.s
-
-# target to generate assembly for a file
-PretransformVertices.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/PretransformVertices.cpp.s
-.PHONY : PretransformVertices.cpp.s
-
-ProcessHelper.o: ProcessHelper.cpp.o
-
-.PHONY : ProcessHelper.o
-
-# target to build an object file
-ProcessHelper.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ProcessHelper.cpp.o
-.PHONY : ProcessHelper.cpp.o
-
-ProcessHelper.i: ProcessHelper.cpp.i
-
-.PHONY : ProcessHelper.i
-
-# target to preprocess a source file
-ProcessHelper.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ProcessHelper.cpp.i
-.PHONY : ProcessHelper.cpp.i
-
-ProcessHelper.s: ProcessHelper.cpp.s
-
-.PHONY : ProcessHelper.s
-
-# target to generate assembly for a file
-ProcessHelper.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ProcessHelper.cpp.s
-.PHONY : ProcessHelper.cpp.s
-
-Q3BSPFileImporter.o: Q3BSPFileImporter.cpp.o
-
-.PHONY : Q3BSPFileImporter.o
-
-# target to build an object file
-Q3BSPFileImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileImporter.cpp.o
-.PHONY : Q3BSPFileImporter.cpp.o
-
-Q3BSPFileImporter.i: Q3BSPFileImporter.cpp.i
-
-.PHONY : Q3BSPFileImporter.i
-
-# target to preprocess a source file
-Q3BSPFileImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileImporter.cpp.i
-.PHONY : Q3BSPFileImporter.cpp.i
-
-Q3BSPFileImporter.s: Q3BSPFileImporter.cpp.s
-
-.PHONY : Q3BSPFileImporter.s
-
-# target to generate assembly for a file
-Q3BSPFileImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileImporter.cpp.s
-.PHONY : Q3BSPFileImporter.cpp.s
-
-Q3BSPFileParser.o: Q3BSPFileParser.cpp.o
-
-.PHONY : Q3BSPFileParser.o
-
-# target to build an object file
-Q3BSPFileParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileParser.cpp.o
-.PHONY : Q3BSPFileParser.cpp.o
-
-Q3BSPFileParser.i: Q3BSPFileParser.cpp.i
-
-.PHONY : Q3BSPFileParser.i
-
-# target to preprocess a source file
-Q3BSPFileParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileParser.cpp.i
-.PHONY : Q3BSPFileParser.cpp.i
-
-Q3BSPFileParser.s: Q3BSPFileParser.cpp.s
-
-.PHONY : Q3BSPFileParser.s
-
-# target to generate assembly for a file
-Q3BSPFileParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPFileParser.cpp.s
-.PHONY : Q3BSPFileParser.cpp.s
-
-Q3BSPZipArchive.o: Q3BSPZipArchive.cpp.o
-
-.PHONY : Q3BSPZipArchive.o
-
-# target to build an object file
-Q3BSPZipArchive.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPZipArchive.cpp.o
-.PHONY : Q3BSPZipArchive.cpp.o
-
-Q3BSPZipArchive.i: Q3BSPZipArchive.cpp.i
-
-.PHONY : Q3BSPZipArchive.i
-
-# target to preprocess a source file
-Q3BSPZipArchive.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPZipArchive.cpp.i
-.PHONY : Q3BSPZipArchive.cpp.i
-
-Q3BSPZipArchive.s: Q3BSPZipArchive.cpp.s
-
-.PHONY : Q3BSPZipArchive.s
-
-# target to generate assembly for a file
-Q3BSPZipArchive.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3BSPZipArchive.cpp.s
-.PHONY : Q3BSPZipArchive.cpp.s
-
-Q3DLoader.o: Q3DLoader.cpp.o
-
-.PHONY : Q3DLoader.o
-
-# target to build an object file
-Q3DLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3DLoader.cpp.o
-.PHONY : Q3DLoader.cpp.o
-
-Q3DLoader.i: Q3DLoader.cpp.i
-
-.PHONY : Q3DLoader.i
-
-# target to preprocess a source file
-Q3DLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3DLoader.cpp.i
-.PHONY : Q3DLoader.cpp.i
-
-Q3DLoader.s: Q3DLoader.cpp.s
-
-.PHONY : Q3DLoader.s
-
-# target to generate assembly for a file
-Q3DLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Q3DLoader.cpp.s
-.PHONY : Q3DLoader.cpp.s
-
-RawLoader.o: RawLoader.cpp.o
-
-.PHONY : RawLoader.o
-
-# target to build an object file
-RawLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RawLoader.cpp.o
-.PHONY : RawLoader.cpp.o
-
-RawLoader.i: RawLoader.cpp.i
-
-.PHONY : RawLoader.i
-
-# target to preprocess a source file
-RawLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RawLoader.cpp.i
-.PHONY : RawLoader.cpp.i
-
-RawLoader.s: RawLoader.cpp.s
-
-.PHONY : RawLoader.s
-
-# target to generate assembly for a file
-RawLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RawLoader.cpp.s
-.PHONY : RawLoader.cpp.s
-
-RemoveComments.o: RemoveComments.cpp.o
-
-.PHONY : RemoveComments.o
-
-# target to build an object file
-RemoveComments.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveComments.cpp.o
-.PHONY : RemoveComments.cpp.o
-
-RemoveComments.i: RemoveComments.cpp.i
-
-.PHONY : RemoveComments.i
-
-# target to preprocess a source file
-RemoveComments.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveComments.cpp.i
-.PHONY : RemoveComments.cpp.i
-
-RemoveComments.s: RemoveComments.cpp.s
-
-.PHONY : RemoveComments.s
-
-# target to generate assembly for a file
-RemoveComments.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveComments.cpp.s
-.PHONY : RemoveComments.cpp.s
-
-RemoveRedundantMaterials.o: RemoveRedundantMaterials.cpp.o
-
-.PHONY : RemoveRedundantMaterials.o
-
-# target to build an object file
-RemoveRedundantMaterials.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveRedundantMaterials.cpp.o
-.PHONY : RemoveRedundantMaterials.cpp.o
-
-RemoveRedundantMaterials.i: RemoveRedundantMaterials.cpp.i
-
-.PHONY : RemoveRedundantMaterials.i
-
-# target to preprocess a source file
-RemoveRedundantMaterials.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveRedundantMaterials.cpp.i
-.PHONY : RemoveRedundantMaterials.cpp.i
-
-RemoveRedundantMaterials.s: RemoveRedundantMaterials.cpp.s
-
-.PHONY : RemoveRedundantMaterials.s
-
-# target to generate assembly for a file
-RemoveRedundantMaterials.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveRedundantMaterials.cpp.s
-.PHONY : RemoveRedundantMaterials.cpp.s
-
-RemoveVCProcess.o: RemoveVCProcess.cpp.o
-
-.PHONY : RemoveVCProcess.o
-
-# target to build an object file
-RemoveVCProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveVCProcess.cpp.o
-.PHONY : RemoveVCProcess.cpp.o
-
-RemoveVCProcess.i: RemoveVCProcess.cpp.i
-
-.PHONY : RemoveVCProcess.i
-
-# target to preprocess a source file
-RemoveVCProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveVCProcess.cpp.i
-.PHONY : RemoveVCProcess.cpp.i
-
-RemoveVCProcess.s: RemoveVCProcess.cpp.s
-
-.PHONY : RemoveVCProcess.s
-
-# target to generate assembly for a file
-RemoveVCProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/RemoveVCProcess.cpp.s
-.PHONY : RemoveVCProcess.cpp.s
-
-SGSpatialSort.o: SGSpatialSort.cpp.o
-
-.PHONY : SGSpatialSort.o
-
-# target to build an object file
-SGSpatialSort.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SGSpatialSort.cpp.o
-.PHONY : SGSpatialSort.cpp.o
-
-SGSpatialSort.i: SGSpatialSort.cpp.i
-
-.PHONY : SGSpatialSort.i
-
-# target to preprocess a source file
-SGSpatialSort.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SGSpatialSort.cpp.i
-.PHONY : SGSpatialSort.cpp.i
-
-SGSpatialSort.s: SGSpatialSort.cpp.s
-
-.PHONY : SGSpatialSort.s
-
-# target to generate assembly for a file
-SGSpatialSort.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SGSpatialSort.cpp.s
-.PHONY : SGSpatialSort.cpp.s
-
-SIBImporter.o: SIBImporter.cpp.o
-
-.PHONY : SIBImporter.o
-
-# target to build an object file
-SIBImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SIBImporter.cpp.o
-.PHONY : SIBImporter.cpp.o
-
-SIBImporter.i: SIBImporter.cpp.i
-
-.PHONY : SIBImporter.i
-
-# target to preprocess a source file
-SIBImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SIBImporter.cpp.i
-.PHONY : SIBImporter.cpp.i
-
-SIBImporter.s: SIBImporter.cpp.s
-
-.PHONY : SIBImporter.s
-
-# target to generate assembly for a file
-SIBImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SIBImporter.cpp.s
-.PHONY : SIBImporter.cpp.s
-
-SMDLoader.o: SMDLoader.cpp.o
-
-.PHONY : SMDLoader.o
-
-# target to build an object file
-SMDLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SMDLoader.cpp.o
-.PHONY : SMDLoader.cpp.o
-
-SMDLoader.i: SMDLoader.cpp.i
-
-.PHONY : SMDLoader.i
-
-# target to preprocess a source file
-SMDLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SMDLoader.cpp.i
-.PHONY : SMDLoader.cpp.i
-
-SMDLoader.s: SMDLoader.cpp.s
-
-.PHONY : SMDLoader.s
-
-# target to generate assembly for a file
-SMDLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SMDLoader.cpp.s
-.PHONY : SMDLoader.cpp.s
-
-STEPFileEncoding.o: STEPFileEncoding.cpp.o
-
-.PHONY : STEPFileEncoding.o
-
-# target to build an object file
-STEPFileEncoding.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileEncoding.cpp.o
-.PHONY : STEPFileEncoding.cpp.o
-
-STEPFileEncoding.i: STEPFileEncoding.cpp.i
-
-.PHONY : STEPFileEncoding.i
-
-# target to preprocess a source file
-STEPFileEncoding.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileEncoding.cpp.i
-.PHONY : STEPFileEncoding.cpp.i
-
-STEPFileEncoding.s: STEPFileEncoding.cpp.s
-
-.PHONY : STEPFileEncoding.s
-
-# target to generate assembly for a file
-STEPFileEncoding.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileEncoding.cpp.s
-.PHONY : STEPFileEncoding.cpp.s
-
-STEPFileReader.o: STEPFileReader.cpp.o
-
-.PHONY : STEPFileReader.o
-
-# target to build an object file
-STEPFileReader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileReader.cpp.o
-.PHONY : STEPFileReader.cpp.o
-
-STEPFileReader.i: STEPFileReader.cpp.i
-
-.PHONY : STEPFileReader.i
-
-# target to preprocess a source file
-STEPFileReader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileReader.cpp.i
-.PHONY : STEPFileReader.cpp.i
-
-STEPFileReader.s: STEPFileReader.cpp.s
-
-.PHONY : STEPFileReader.s
-
-# target to generate assembly for a file
-STEPFileReader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STEPFileReader.cpp.s
-.PHONY : STEPFileReader.cpp.s
-
-STLExporter.o: STLExporter.cpp.o
-
-.PHONY : STLExporter.o
-
-# target to build an object file
-STLExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLExporter.cpp.o
-.PHONY : STLExporter.cpp.o
-
-STLExporter.i: STLExporter.cpp.i
-
-.PHONY : STLExporter.i
-
-# target to preprocess a source file
-STLExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLExporter.cpp.i
-.PHONY : STLExporter.cpp.i
-
-STLExporter.s: STLExporter.cpp.s
-
-.PHONY : STLExporter.s
-
-# target to generate assembly for a file
-STLExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLExporter.cpp.s
-.PHONY : STLExporter.cpp.s
-
-STLLoader.o: STLLoader.cpp.o
-
-.PHONY : STLLoader.o
-
-# target to build an object file
-STLLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLLoader.cpp.o
-.PHONY : STLLoader.cpp.o
-
-STLLoader.i: STLLoader.cpp.i
-
-.PHONY : STLLoader.i
-
-# target to preprocess a source file
-STLLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLLoader.cpp.i
-.PHONY : STLLoader.cpp.i
-
-STLLoader.s: STLLoader.cpp.s
-
-.PHONY : STLLoader.s
-
-# target to generate assembly for a file
-STLLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/STLLoader.cpp.s
-.PHONY : STLLoader.cpp.s
-
-SceneCombiner.o: SceneCombiner.cpp.o
-
-.PHONY : SceneCombiner.o
-
-# target to build an object file
-SceneCombiner.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SceneCombiner.cpp.o
-.PHONY : SceneCombiner.cpp.o
-
-SceneCombiner.i: SceneCombiner.cpp.i
-
-.PHONY : SceneCombiner.i
-
-# target to preprocess a source file
-SceneCombiner.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SceneCombiner.cpp.i
-.PHONY : SceneCombiner.cpp.i
-
-SceneCombiner.s: SceneCombiner.cpp.s
-
-.PHONY : SceneCombiner.s
-
-# target to generate assembly for a file
-SceneCombiner.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SceneCombiner.cpp.s
-.PHONY : SceneCombiner.cpp.s
-
-ScenePreprocessor.o: ScenePreprocessor.cpp.o
-
-.PHONY : ScenePreprocessor.o
-
-# target to build an object file
-ScenePreprocessor.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ScenePreprocessor.cpp.o
-.PHONY : ScenePreprocessor.cpp.o
-
-ScenePreprocessor.i: ScenePreprocessor.cpp.i
-
-.PHONY : ScenePreprocessor.i
-
-# target to preprocess a source file
-ScenePreprocessor.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ScenePreprocessor.cpp.i
-.PHONY : ScenePreprocessor.cpp.i
-
-ScenePreprocessor.s: ScenePreprocessor.cpp.s
-
-.PHONY : ScenePreprocessor.s
-
-# target to generate assembly for a file
-ScenePreprocessor.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ScenePreprocessor.cpp.s
-.PHONY : ScenePreprocessor.cpp.s
-
-SkeletonMeshBuilder.o: SkeletonMeshBuilder.cpp.o
-
-.PHONY : SkeletonMeshBuilder.o
-
-# target to build an object file
-SkeletonMeshBuilder.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SkeletonMeshBuilder.cpp.o
-.PHONY : SkeletonMeshBuilder.cpp.o
-
-SkeletonMeshBuilder.i: SkeletonMeshBuilder.cpp.i
-
-.PHONY : SkeletonMeshBuilder.i
-
-# target to preprocess a source file
-SkeletonMeshBuilder.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SkeletonMeshBuilder.cpp.i
-.PHONY : SkeletonMeshBuilder.cpp.i
-
-SkeletonMeshBuilder.s: SkeletonMeshBuilder.cpp.s
-
-.PHONY : SkeletonMeshBuilder.s
-
-# target to generate assembly for a file
-SkeletonMeshBuilder.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SkeletonMeshBuilder.cpp.s
-.PHONY : SkeletonMeshBuilder.cpp.s
-
-SortByPTypeProcess.o: SortByPTypeProcess.cpp.o
-
-.PHONY : SortByPTypeProcess.o
-
-# target to build an object file
-SortByPTypeProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SortByPTypeProcess.cpp.o
-.PHONY : SortByPTypeProcess.cpp.o
-
-SortByPTypeProcess.i: SortByPTypeProcess.cpp.i
-
-.PHONY : SortByPTypeProcess.i
-
-# target to preprocess a source file
-SortByPTypeProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SortByPTypeProcess.cpp.i
-.PHONY : SortByPTypeProcess.cpp.i
-
-SortByPTypeProcess.s: SortByPTypeProcess.cpp.s
-
-.PHONY : SortByPTypeProcess.s
-
-# target to generate assembly for a file
-SortByPTypeProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SortByPTypeProcess.cpp.s
-.PHONY : SortByPTypeProcess.cpp.s
-
-SpatialSort.o: SpatialSort.cpp.o
-
-.PHONY : SpatialSort.o
-
-# target to build an object file
-SpatialSort.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SpatialSort.cpp.o
-.PHONY : SpatialSort.cpp.o
-
-SpatialSort.i: SpatialSort.cpp.i
-
-.PHONY : SpatialSort.i
-
-# target to preprocess a source file
-SpatialSort.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SpatialSort.cpp.i
-.PHONY : SpatialSort.cpp.i
-
-SpatialSort.s: SpatialSort.cpp.s
-
-.PHONY : SpatialSort.s
-
-# target to generate assembly for a file
-SpatialSort.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SpatialSort.cpp.s
-.PHONY : SpatialSort.cpp.s
-
-SplitByBoneCountProcess.o: SplitByBoneCountProcess.cpp.o
-
-.PHONY : SplitByBoneCountProcess.o
-
-# target to build an object file
-SplitByBoneCountProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitByBoneCountProcess.cpp.o
-.PHONY : SplitByBoneCountProcess.cpp.o
-
-SplitByBoneCountProcess.i: SplitByBoneCountProcess.cpp.i
-
-.PHONY : SplitByBoneCountProcess.i
-
-# target to preprocess a source file
-SplitByBoneCountProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitByBoneCountProcess.cpp.i
-.PHONY : SplitByBoneCountProcess.cpp.i
-
-SplitByBoneCountProcess.s: SplitByBoneCountProcess.cpp.s
-
-.PHONY : SplitByBoneCountProcess.s
-
-# target to generate assembly for a file
-SplitByBoneCountProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitByBoneCountProcess.cpp.s
-.PHONY : SplitByBoneCountProcess.cpp.s
-
-SplitLargeMeshes.o: SplitLargeMeshes.cpp.o
-
-.PHONY : SplitLargeMeshes.o
-
-# target to build an object file
-SplitLargeMeshes.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitLargeMeshes.cpp.o
-.PHONY : SplitLargeMeshes.cpp.o
-
-SplitLargeMeshes.i: SplitLargeMeshes.cpp.i
-
-.PHONY : SplitLargeMeshes.i
-
-# target to preprocess a source file
-SplitLargeMeshes.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitLargeMeshes.cpp.i
-.PHONY : SplitLargeMeshes.cpp.i
-
-SplitLargeMeshes.s: SplitLargeMeshes.cpp.s
-
-.PHONY : SplitLargeMeshes.s
-
-# target to generate assembly for a file
-SplitLargeMeshes.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/SplitLargeMeshes.cpp.s
-.PHONY : SplitLargeMeshes.cpp.s
-
-StandardShapes.o: StandardShapes.cpp.o
-
-.PHONY : StandardShapes.o
-
-# target to build an object file
-StandardShapes.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StandardShapes.cpp.o
-.PHONY : StandardShapes.cpp.o
-
-StandardShapes.i: StandardShapes.cpp.i
-
-.PHONY : StandardShapes.i
-
-# target to preprocess a source file
-StandardShapes.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StandardShapes.cpp.i
-.PHONY : StandardShapes.cpp.i
-
-StandardShapes.s: StandardShapes.cpp.s
-
-.PHONY : StandardShapes.s
-
-# target to generate assembly for a file
-StandardShapes.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StandardShapes.cpp.s
-.PHONY : StandardShapes.cpp.s
-
-StepExporter.o: StepExporter.cpp.o
-
-.PHONY : StepExporter.o
-
-# target to build an object file
-StepExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StepExporter.cpp.o
-.PHONY : StepExporter.cpp.o
-
-StepExporter.i: StepExporter.cpp.i
-
-.PHONY : StepExporter.i
-
-# target to preprocess a source file
-StepExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StepExporter.cpp.i
-.PHONY : StepExporter.cpp.i
-
-StepExporter.s: StepExporter.cpp.s
-
-.PHONY : StepExporter.s
-
-# target to generate assembly for a file
-StepExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/StepExporter.cpp.s
-.PHONY : StepExporter.cpp.s
-
-Subdivision.o: Subdivision.cpp.o
-
-.PHONY : Subdivision.o
-
-# target to build an object file
-Subdivision.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Subdivision.cpp.o
-.PHONY : Subdivision.cpp.o
-
-Subdivision.i: Subdivision.cpp.i
-
-.PHONY : Subdivision.i
-
-# target to preprocess a source file
-Subdivision.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Subdivision.cpp.i
-.PHONY : Subdivision.cpp.i
-
-Subdivision.s: Subdivision.cpp.s
-
-.PHONY : Subdivision.s
-
-# target to generate assembly for a file
-Subdivision.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Subdivision.cpp.s
-.PHONY : Subdivision.cpp.s
-
-TargetAnimation.o: TargetAnimation.cpp.o
-
-.PHONY : TargetAnimation.o
-
-# target to build an object file
-TargetAnimation.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TargetAnimation.cpp.o
-.PHONY : TargetAnimation.cpp.o
-
-TargetAnimation.i: TargetAnimation.cpp.i
-
-.PHONY : TargetAnimation.i
-
-# target to preprocess a source file
-TargetAnimation.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TargetAnimation.cpp.i
-.PHONY : TargetAnimation.cpp.i
-
-TargetAnimation.s: TargetAnimation.cpp.s
-
-.PHONY : TargetAnimation.s
-
-# target to generate assembly for a file
-TargetAnimation.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TargetAnimation.cpp.s
-.PHONY : TargetAnimation.cpp.s
-
-TerragenLoader.o: TerragenLoader.cpp.o
-
-.PHONY : TerragenLoader.o
-
-# target to build an object file
-TerragenLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TerragenLoader.cpp.o
-.PHONY : TerragenLoader.cpp.o
-
-TerragenLoader.i: TerragenLoader.cpp.i
-
-.PHONY : TerragenLoader.i
-
-# target to preprocess a source file
-TerragenLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TerragenLoader.cpp.i
-.PHONY : TerragenLoader.cpp.i
-
-TerragenLoader.s: TerragenLoader.cpp.s
-
-.PHONY : TerragenLoader.s
-
-# target to generate assembly for a file
-TerragenLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TerragenLoader.cpp.s
-.PHONY : TerragenLoader.cpp.s
-
-TextureTransform.o: TextureTransform.cpp.o
-
-.PHONY : TextureTransform.o
-
-# target to build an object file
-TextureTransform.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TextureTransform.cpp.o
-.PHONY : TextureTransform.cpp.o
-
-TextureTransform.i: TextureTransform.cpp.i
-
-.PHONY : TextureTransform.i
-
-# target to preprocess a source file
-TextureTransform.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TextureTransform.cpp.i
-.PHONY : TextureTransform.cpp.i
-
-TextureTransform.s: TextureTransform.cpp.s
-
-.PHONY : TextureTransform.s
-
-# target to generate assembly for a file
-TextureTransform.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TextureTransform.cpp.s
-.PHONY : TextureTransform.cpp.s
-
-TriangulateProcess.o: TriangulateProcess.cpp.o
-
-.PHONY : TriangulateProcess.o
-
-# target to build an object file
-TriangulateProcess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TriangulateProcess.cpp.o
-.PHONY : TriangulateProcess.cpp.o
-
-TriangulateProcess.i: TriangulateProcess.cpp.i
-
-.PHONY : TriangulateProcess.i
-
-# target to preprocess a source file
-TriangulateProcess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TriangulateProcess.cpp.i
-.PHONY : TriangulateProcess.cpp.i
-
-TriangulateProcess.s: TriangulateProcess.cpp.s
-
-.PHONY : TriangulateProcess.s
-
-# target to generate assembly for a file
-TriangulateProcess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/TriangulateProcess.cpp.s
-.PHONY : TriangulateProcess.cpp.s
-
-UnrealLoader.o: UnrealLoader.cpp.o
-
-.PHONY : UnrealLoader.o
-
-# target to build an object file
-UnrealLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/UnrealLoader.cpp.o
-.PHONY : UnrealLoader.cpp.o
-
-UnrealLoader.i: UnrealLoader.cpp.i
-
-.PHONY : UnrealLoader.i
-
-# target to preprocess a source file
-UnrealLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/UnrealLoader.cpp.i
-.PHONY : UnrealLoader.cpp.i
-
-UnrealLoader.s: UnrealLoader.cpp.s
-
-.PHONY : UnrealLoader.s
-
-# target to generate assembly for a file
-UnrealLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/UnrealLoader.cpp.s
-.PHONY : UnrealLoader.cpp.s
-
-ValidateDataStructure.o: ValidateDataStructure.cpp.o
-
-.PHONY : ValidateDataStructure.o
-
-# target to build an object file
-ValidateDataStructure.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ValidateDataStructure.cpp.o
-.PHONY : ValidateDataStructure.cpp.o
-
-ValidateDataStructure.i: ValidateDataStructure.cpp.i
-
-.PHONY : ValidateDataStructure.i
-
-# target to preprocess a source file
-ValidateDataStructure.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ValidateDataStructure.cpp.i
-.PHONY : ValidateDataStructure.cpp.i
-
-ValidateDataStructure.s: ValidateDataStructure.cpp.s
-
-.PHONY : ValidateDataStructure.s
-
-# target to generate assembly for a file
-ValidateDataStructure.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/ValidateDataStructure.cpp.s
-.PHONY : ValidateDataStructure.cpp.s
-
-Version.o: Version.cpp.o
-
-.PHONY : Version.o
-
-# target to build an object file
-Version.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Version.cpp.o
-.PHONY : Version.cpp.o
-
-Version.i: Version.cpp.i
-
-.PHONY : Version.i
-
-# target to preprocess a source file
-Version.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Version.cpp.i
-.PHONY : Version.cpp.i
-
-Version.s: Version.cpp.s
-
-.PHONY : Version.s
-
-# target to generate assembly for a file
-Version.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/Version.cpp.s
-.PHONY : Version.cpp.s
-
-VertexTriangleAdjacency.o: VertexTriangleAdjacency.cpp.o
-
-.PHONY : VertexTriangleAdjacency.o
-
-# target to build an object file
-VertexTriangleAdjacency.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/VertexTriangleAdjacency.cpp.o
-.PHONY : VertexTriangleAdjacency.cpp.o
-
-VertexTriangleAdjacency.i: VertexTriangleAdjacency.cpp.i
-
-.PHONY : VertexTriangleAdjacency.i
-
-# target to preprocess a source file
-VertexTriangleAdjacency.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/VertexTriangleAdjacency.cpp.i
-.PHONY : VertexTriangleAdjacency.cpp.i
-
-VertexTriangleAdjacency.s: VertexTriangleAdjacency.cpp.s
-
-.PHONY : VertexTriangleAdjacency.s
-
-# target to generate assembly for a file
-VertexTriangleAdjacency.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/VertexTriangleAdjacency.cpp.s
-.PHONY : VertexTriangleAdjacency.cpp.s
-
-X3DImporter.o: X3DImporter.cpp.o
-
-.PHONY : X3DImporter.o
-
-# target to build an object file
-X3DImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter.cpp.o
-.PHONY : X3DImporter.cpp.o
-
-X3DImporter.i: X3DImporter.cpp.i
-
-.PHONY : X3DImporter.i
-
-# target to preprocess a source file
-X3DImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter.cpp.i
-.PHONY : X3DImporter.cpp.i
-
-X3DImporter.s: X3DImporter.cpp.s
-
-.PHONY : X3DImporter.s
-
-# target to generate assembly for a file
-X3DImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter.cpp.s
-.PHONY : X3DImporter.cpp.s
-
-X3DImporter_Geometry2D.o: X3DImporter_Geometry2D.cpp.o
-
-.PHONY : X3DImporter_Geometry2D.o
-
-# target to build an object file
-X3DImporter_Geometry2D.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry2D.cpp.o
-.PHONY : X3DImporter_Geometry2D.cpp.o
-
-X3DImporter_Geometry2D.i: X3DImporter_Geometry2D.cpp.i
-
-.PHONY : X3DImporter_Geometry2D.i
-
-# target to preprocess a source file
-X3DImporter_Geometry2D.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry2D.cpp.i
-.PHONY : X3DImporter_Geometry2D.cpp.i
-
-X3DImporter_Geometry2D.s: X3DImporter_Geometry2D.cpp.s
-
-.PHONY : X3DImporter_Geometry2D.s
-
-# target to generate assembly for a file
-X3DImporter_Geometry2D.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry2D.cpp.s
-.PHONY : X3DImporter_Geometry2D.cpp.s
-
-X3DImporter_Geometry3D.o: X3DImporter_Geometry3D.cpp.o
-
-.PHONY : X3DImporter_Geometry3D.o
-
-# target to build an object file
-X3DImporter_Geometry3D.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry3D.cpp.o
-.PHONY : X3DImporter_Geometry3D.cpp.o
-
-X3DImporter_Geometry3D.i: X3DImporter_Geometry3D.cpp.i
-
-.PHONY : X3DImporter_Geometry3D.i
-
-# target to preprocess a source file
-X3DImporter_Geometry3D.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry3D.cpp.i
-.PHONY : X3DImporter_Geometry3D.cpp.i
-
-X3DImporter_Geometry3D.s: X3DImporter_Geometry3D.cpp.s
-
-.PHONY : X3DImporter_Geometry3D.s
-
-# target to generate assembly for a file
-X3DImporter_Geometry3D.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Geometry3D.cpp.s
-.PHONY : X3DImporter_Geometry3D.cpp.s
-
-X3DImporter_Group.o: X3DImporter_Group.cpp.o
-
-.PHONY : X3DImporter_Group.o
-
-# target to build an object file
-X3DImporter_Group.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Group.cpp.o
-.PHONY : X3DImporter_Group.cpp.o
-
-X3DImporter_Group.i: X3DImporter_Group.cpp.i
-
-.PHONY : X3DImporter_Group.i
-
-# target to preprocess a source file
-X3DImporter_Group.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Group.cpp.i
-.PHONY : X3DImporter_Group.cpp.i
-
-X3DImporter_Group.s: X3DImporter_Group.cpp.s
-
-.PHONY : X3DImporter_Group.s
-
-# target to generate assembly for a file
-X3DImporter_Group.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Group.cpp.s
-.PHONY : X3DImporter_Group.cpp.s
-
-X3DImporter_Light.o: X3DImporter_Light.cpp.o
-
-.PHONY : X3DImporter_Light.o
-
-# target to build an object file
-X3DImporter_Light.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Light.cpp.o
-.PHONY : X3DImporter_Light.cpp.o
-
-X3DImporter_Light.i: X3DImporter_Light.cpp.i
-
-.PHONY : X3DImporter_Light.i
-
-# target to preprocess a source file
-X3DImporter_Light.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Light.cpp.i
-.PHONY : X3DImporter_Light.cpp.i
-
-X3DImporter_Light.s: X3DImporter_Light.cpp.s
-
-.PHONY : X3DImporter_Light.s
-
-# target to generate assembly for a file
-X3DImporter_Light.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Light.cpp.s
-.PHONY : X3DImporter_Light.cpp.s
-
-X3DImporter_Metadata.o: X3DImporter_Metadata.cpp.o
-
-.PHONY : X3DImporter_Metadata.o
-
-# target to build an object file
-X3DImporter_Metadata.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Metadata.cpp.o
-.PHONY : X3DImporter_Metadata.cpp.o
-
-X3DImporter_Metadata.i: X3DImporter_Metadata.cpp.i
-
-.PHONY : X3DImporter_Metadata.i
-
-# target to preprocess a source file
-X3DImporter_Metadata.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Metadata.cpp.i
-.PHONY : X3DImporter_Metadata.cpp.i
-
-X3DImporter_Metadata.s: X3DImporter_Metadata.cpp.s
-
-.PHONY : X3DImporter_Metadata.s
-
-# target to generate assembly for a file
-X3DImporter_Metadata.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Metadata.cpp.s
-.PHONY : X3DImporter_Metadata.cpp.s
-
-X3DImporter_Networking.o: X3DImporter_Networking.cpp.o
-
-.PHONY : X3DImporter_Networking.o
-
-# target to build an object file
-X3DImporter_Networking.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Networking.cpp.o
-.PHONY : X3DImporter_Networking.cpp.o
-
-X3DImporter_Networking.i: X3DImporter_Networking.cpp.i
-
-.PHONY : X3DImporter_Networking.i
-
-# target to preprocess a source file
-X3DImporter_Networking.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Networking.cpp.i
-.PHONY : X3DImporter_Networking.cpp.i
-
-X3DImporter_Networking.s: X3DImporter_Networking.cpp.s
-
-.PHONY : X3DImporter_Networking.s
-
-# target to generate assembly for a file
-X3DImporter_Networking.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Networking.cpp.s
-.PHONY : X3DImporter_Networking.cpp.s
-
-X3DImporter_Postprocess.o: X3DImporter_Postprocess.cpp.o
-
-.PHONY : X3DImporter_Postprocess.o
-
-# target to build an object file
-X3DImporter_Postprocess.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Postprocess.cpp.o
-.PHONY : X3DImporter_Postprocess.cpp.o
-
-X3DImporter_Postprocess.i: X3DImporter_Postprocess.cpp.i
-
-.PHONY : X3DImporter_Postprocess.i
-
-# target to preprocess a source file
-X3DImporter_Postprocess.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Postprocess.cpp.i
-.PHONY : X3DImporter_Postprocess.cpp.i
-
-X3DImporter_Postprocess.s: X3DImporter_Postprocess.cpp.s
-
-.PHONY : X3DImporter_Postprocess.s
-
-# target to generate assembly for a file
-X3DImporter_Postprocess.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Postprocess.cpp.s
-.PHONY : X3DImporter_Postprocess.cpp.s
-
-X3DImporter_Rendering.o: X3DImporter_Rendering.cpp.o
-
-.PHONY : X3DImporter_Rendering.o
-
-# target to build an object file
-X3DImporter_Rendering.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Rendering.cpp.o
-.PHONY : X3DImporter_Rendering.cpp.o
-
-X3DImporter_Rendering.i: X3DImporter_Rendering.cpp.i
-
-.PHONY : X3DImporter_Rendering.i
-
-# target to preprocess a source file
-X3DImporter_Rendering.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Rendering.cpp.i
-.PHONY : X3DImporter_Rendering.cpp.i
-
-X3DImporter_Rendering.s: X3DImporter_Rendering.cpp.s
-
-.PHONY : X3DImporter_Rendering.s
-
-# target to generate assembly for a file
-X3DImporter_Rendering.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Rendering.cpp.s
-.PHONY : X3DImporter_Rendering.cpp.s
-
-X3DImporter_Shape.o: X3DImporter_Shape.cpp.o
-
-.PHONY : X3DImporter_Shape.o
-
-# target to build an object file
-X3DImporter_Shape.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Shape.cpp.o
-.PHONY : X3DImporter_Shape.cpp.o
-
-X3DImporter_Shape.i: X3DImporter_Shape.cpp.i
-
-.PHONY : X3DImporter_Shape.i
-
-# target to preprocess a source file
-X3DImporter_Shape.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Shape.cpp.i
-.PHONY : X3DImporter_Shape.cpp.i
-
-X3DImporter_Shape.s: X3DImporter_Shape.cpp.s
-
-.PHONY : X3DImporter_Shape.s
-
-# target to generate assembly for a file
-X3DImporter_Shape.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Shape.cpp.s
-.PHONY : X3DImporter_Shape.cpp.s
-
-X3DImporter_Texturing.o: X3DImporter_Texturing.cpp.o
-
-.PHONY : X3DImporter_Texturing.o
-
-# target to build an object file
-X3DImporter_Texturing.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Texturing.cpp.o
-.PHONY : X3DImporter_Texturing.cpp.o
-
-X3DImporter_Texturing.i: X3DImporter_Texturing.cpp.i
-
-.PHONY : X3DImporter_Texturing.i
-
-# target to preprocess a source file
-X3DImporter_Texturing.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Texturing.cpp.i
-.PHONY : X3DImporter_Texturing.cpp.i
-
-X3DImporter_Texturing.s: X3DImporter_Texturing.cpp.s
-
-.PHONY : X3DImporter_Texturing.s
-
-# target to generate assembly for a file
-X3DImporter_Texturing.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/X3DImporter_Texturing.cpp.s
-.PHONY : X3DImporter_Texturing.cpp.s
-
-XFileExporter.o: XFileExporter.cpp.o
-
-.PHONY : XFileExporter.o
-
-# target to build an object file
-XFileExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileExporter.cpp.o
-.PHONY : XFileExporter.cpp.o
-
-XFileExporter.i: XFileExporter.cpp.i
-
-.PHONY : XFileExporter.i
-
-# target to preprocess a source file
-XFileExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileExporter.cpp.i
-.PHONY : XFileExporter.cpp.i
-
-XFileExporter.s: XFileExporter.cpp.s
-
-.PHONY : XFileExporter.s
-
-# target to generate assembly for a file
-XFileExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileExporter.cpp.s
-.PHONY : XFileExporter.cpp.s
-
-XFileImporter.o: XFileImporter.cpp.o
-
-.PHONY : XFileImporter.o
-
-# target to build an object file
-XFileImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileImporter.cpp.o
-.PHONY : XFileImporter.cpp.o
-
-XFileImporter.i: XFileImporter.cpp.i
-
-.PHONY : XFileImporter.i
-
-# target to preprocess a source file
-XFileImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileImporter.cpp.i
-.PHONY : XFileImporter.cpp.i
-
-XFileImporter.s: XFileImporter.cpp.s
-
-.PHONY : XFileImporter.s
-
-# target to generate assembly for a file
-XFileImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileImporter.cpp.s
-.PHONY : XFileImporter.cpp.s
-
-XFileParser.o: XFileParser.cpp.o
-
-.PHONY : XFileParser.o
-
-# target to build an object file
-XFileParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileParser.cpp.o
-.PHONY : XFileParser.cpp.o
-
-XFileParser.i: XFileParser.cpp.i
-
-.PHONY : XFileParser.i
-
-# target to preprocess a source file
-XFileParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileParser.cpp.i
-.PHONY : XFileParser.cpp.i
-
-XFileParser.s: XFileParser.cpp.s
-
-.PHONY : XFileParser.s
-
-# target to generate assembly for a file
-XFileParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XFileParser.cpp.s
-.PHONY : XFileParser.cpp.s
-
-XGLLoader.o: XGLLoader.cpp.o
-
-.PHONY : XGLLoader.o
-
-# target to build an object file
-XGLLoader.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XGLLoader.cpp.o
-.PHONY : XGLLoader.cpp.o
-
-XGLLoader.i: XGLLoader.cpp.i
-
-.PHONY : XGLLoader.i
-
-# target to preprocess a source file
-XGLLoader.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XGLLoader.cpp.i
-.PHONY : XGLLoader.cpp.i
-
-XGLLoader.s: XGLLoader.cpp.s
-
-.PHONY : XGLLoader.s
-
-# target to generate assembly for a file
-XGLLoader.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/XGLLoader.cpp.s
-.PHONY : XGLLoader.cpp.s
-
-__/contrib/ConvertUTF/ConvertUTF.o: __/contrib/ConvertUTF/ConvertUTF.c.o
-
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.o
-
-# target to build an object file
-__/contrib/ConvertUTF/ConvertUTF.c.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/ConvertUTF/ConvertUTF.c.o
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.c.o
-
-__/contrib/ConvertUTF/ConvertUTF.i: __/contrib/ConvertUTF/ConvertUTF.c.i
-
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.i
-
-# target to preprocess a source file
-__/contrib/ConvertUTF/ConvertUTF.c.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/ConvertUTF/ConvertUTF.c.i
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.c.i
-
-__/contrib/ConvertUTF/ConvertUTF.s: __/contrib/ConvertUTF/ConvertUTF.c.s
-
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.s
-
-# target to generate assembly for a file
-__/contrib/ConvertUTF/ConvertUTF.c.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/ConvertUTF/ConvertUTF.c.s
-.PHONY : __/contrib/ConvertUTF/ConvertUTF.c.s
-
-__/contrib/clipper/clipper.o: __/contrib/clipper/clipper.cpp.o
-
-.PHONY : __/contrib/clipper/clipper.o
-
-# target to build an object file
-__/contrib/clipper/clipper.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/clipper/clipper.cpp.o
-.PHONY : __/contrib/clipper/clipper.cpp.o
-
-__/contrib/clipper/clipper.i: __/contrib/clipper/clipper.cpp.i
-
-.PHONY : __/contrib/clipper/clipper.i
-
-# target to preprocess a source file
-__/contrib/clipper/clipper.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/clipper/clipper.cpp.i
-.PHONY : __/contrib/clipper/clipper.cpp.i
-
-__/contrib/clipper/clipper.s: __/contrib/clipper/clipper.cpp.s
-
-.PHONY : __/contrib/clipper/clipper.s
-
-# target to generate assembly for a file
-__/contrib/clipper/clipper.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/clipper/clipper.cpp.s
-.PHONY : __/contrib/clipper/clipper.cpp.s
-
-__/contrib/irrXML/irrXML.o: __/contrib/irrXML/irrXML.cpp.o
-
-.PHONY : __/contrib/irrXML/irrXML.o
-
-# target to build an object file
-__/contrib/irrXML/irrXML.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/irrXML/irrXML.cpp.o
-.PHONY : __/contrib/irrXML/irrXML.cpp.o
-
-__/contrib/irrXML/irrXML.i: __/contrib/irrXML/irrXML.cpp.i
-
-.PHONY : __/contrib/irrXML/irrXML.i
-
-# target to preprocess a source file
-__/contrib/irrXML/irrXML.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/irrXML/irrXML.cpp.i
-.PHONY : __/contrib/irrXML/irrXML.cpp.i
-
-__/contrib/irrXML/irrXML.s: __/contrib/irrXML/irrXML.cpp.s
-
-.PHONY : __/contrib/irrXML/irrXML.s
-
-# target to generate assembly for a file
-__/contrib/irrXML/irrXML.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/irrXML/irrXML.cpp.s
-.PHONY : __/contrib/irrXML/irrXML.cpp.s
-
-__/contrib/openddlparser/code/DDLNode.o: __/contrib/openddlparser/code/DDLNode.cpp.o
-
-.PHONY : __/contrib/openddlparser/code/DDLNode.o
-
-# target to build an object file
-__/contrib/openddlparser/code/DDLNode.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/DDLNode.cpp.o
-.PHONY : __/contrib/openddlparser/code/DDLNode.cpp.o
-
-__/contrib/openddlparser/code/DDLNode.i: __/contrib/openddlparser/code/DDLNode.cpp.i
-
-.PHONY : __/contrib/openddlparser/code/DDLNode.i
-
-# target to preprocess a source file
-__/contrib/openddlparser/code/DDLNode.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/DDLNode.cpp.i
-.PHONY : __/contrib/openddlparser/code/DDLNode.cpp.i
-
-__/contrib/openddlparser/code/DDLNode.s: __/contrib/openddlparser/code/DDLNode.cpp.s
-
-.PHONY : __/contrib/openddlparser/code/DDLNode.s
-
-# target to generate assembly for a file
-__/contrib/openddlparser/code/DDLNode.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/DDLNode.cpp.s
-.PHONY : __/contrib/openddlparser/code/DDLNode.cpp.s
-
-__/contrib/openddlparser/code/OpenDDLCommon.o: __/contrib/openddlparser/code/OpenDDLCommon.cpp.o
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.o
-
-# target to build an object file
-__/contrib/openddlparser/code/OpenDDLCommon.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLCommon.cpp.o
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.cpp.o
-
-__/contrib/openddlparser/code/OpenDDLCommon.i: __/contrib/openddlparser/code/OpenDDLCommon.cpp.i
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.i
-
-# target to preprocess a source file
-__/contrib/openddlparser/code/OpenDDLCommon.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLCommon.cpp.i
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.cpp.i
-
-__/contrib/openddlparser/code/OpenDDLCommon.s: __/contrib/openddlparser/code/OpenDDLCommon.cpp.s
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.s
-
-# target to generate assembly for a file
-__/contrib/openddlparser/code/OpenDDLCommon.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLCommon.cpp.s
-.PHONY : __/contrib/openddlparser/code/OpenDDLCommon.cpp.s
-
-__/contrib/openddlparser/code/OpenDDLExport.o: __/contrib/openddlparser/code/OpenDDLExport.cpp.o
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.o
-
-# target to build an object file
-__/contrib/openddlparser/code/OpenDDLExport.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLExport.cpp.o
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.cpp.o
-
-__/contrib/openddlparser/code/OpenDDLExport.i: __/contrib/openddlparser/code/OpenDDLExport.cpp.i
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.i
-
-# target to preprocess a source file
-__/contrib/openddlparser/code/OpenDDLExport.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLExport.cpp.i
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.cpp.i
-
-__/contrib/openddlparser/code/OpenDDLExport.s: __/contrib/openddlparser/code/OpenDDLExport.cpp.s
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.s
-
-# target to generate assembly for a file
-__/contrib/openddlparser/code/OpenDDLExport.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLExport.cpp.s
-.PHONY : __/contrib/openddlparser/code/OpenDDLExport.cpp.s
-
-__/contrib/openddlparser/code/OpenDDLParser.o: __/contrib/openddlparser/code/OpenDDLParser.cpp.o
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.o
-
-# target to build an object file
-__/contrib/openddlparser/code/OpenDDLParser.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLParser.cpp.o
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.cpp.o
-
-__/contrib/openddlparser/code/OpenDDLParser.i: __/contrib/openddlparser/code/OpenDDLParser.cpp.i
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.i
-
-# target to preprocess a source file
-__/contrib/openddlparser/code/OpenDDLParser.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLParser.cpp.i
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.cpp.i
-
-__/contrib/openddlparser/code/OpenDDLParser.s: __/contrib/openddlparser/code/OpenDDLParser.cpp.s
-
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.s
-
-# target to generate assembly for a file
-__/contrib/openddlparser/code/OpenDDLParser.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLParser.cpp.s
-.PHONY : __/contrib/openddlparser/code/OpenDDLParser.cpp.s
-
-__/contrib/openddlparser/code/Value.o: __/contrib/openddlparser/code/Value.cpp.o
-
-.PHONY : __/contrib/openddlparser/code/Value.o
-
-# target to build an object file
-__/contrib/openddlparser/code/Value.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/Value.cpp.o
-.PHONY : __/contrib/openddlparser/code/Value.cpp.o
-
-__/contrib/openddlparser/code/Value.i: __/contrib/openddlparser/code/Value.cpp.i
-
-.PHONY : __/contrib/openddlparser/code/Value.i
-
-# target to preprocess a source file
-__/contrib/openddlparser/code/Value.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/Value.cpp.i
-.PHONY : __/contrib/openddlparser/code/Value.cpp.i
-
-__/contrib/openddlparser/code/Value.s: __/contrib/openddlparser/code/Value.cpp.s
-
-.PHONY : __/contrib/openddlparser/code/Value.s
-
-# target to generate assembly for a file
-__/contrib/openddlparser/code/Value.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/Value.cpp.s
-.PHONY : __/contrib/openddlparser/code/Value.cpp.s
-
-__/contrib/poly2tri/poly2tri/common/shapes.o: __/contrib/poly2tri/poly2tri/common/shapes.cc.o
-
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.o
-
-# target to build an object file
-__/contrib/poly2tri/poly2tri/common/shapes.cc.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/common/shapes.cc.o
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.cc.o
-
-__/contrib/poly2tri/poly2tri/common/shapes.i: __/contrib/poly2tri/poly2tri/common/shapes.cc.i
-
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.i
-
-# target to preprocess a source file
-__/contrib/poly2tri/poly2tri/common/shapes.cc.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/common/shapes.cc.i
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.cc.i
-
-__/contrib/poly2tri/poly2tri/common/shapes.s: __/contrib/poly2tri/poly2tri/common/shapes.cc.s
-
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.s
-
-# target to generate assembly for a file
-__/contrib/poly2tri/poly2tri/common/shapes.cc.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/common/shapes.cc.s
-.PHONY : __/contrib/poly2tri/poly2tri/common/shapes.cc.s
-
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.o: __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.o
-
-# target to build an object file
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o
-
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.i: __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.i
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.i
-
-# target to preprocess a source file
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.i
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.i
-
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.s: __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.s
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.s
-
-# target to generate assembly for a file
-__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.s
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.s
-
-__/contrib/poly2tri/poly2tri/sweep/cdt.o: __/contrib/poly2tri/poly2tri/sweep/cdt.cc.o
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.o
-
-# target to build an object file
-__/contrib/poly2tri/poly2tri/sweep/cdt.cc.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/cdt.cc.o
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.cc.o
-
-__/contrib/poly2tri/poly2tri/sweep/cdt.i: __/contrib/poly2tri/poly2tri/sweep/cdt.cc.i
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.i
-
-# target to preprocess a source file
-__/contrib/poly2tri/poly2tri/sweep/cdt.cc.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/cdt.cc.i
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.cc.i
-
-__/contrib/poly2tri/poly2tri/sweep/cdt.s: __/contrib/poly2tri/poly2tri/sweep/cdt.cc.s
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.s
-
-# target to generate assembly for a file
-__/contrib/poly2tri/poly2tri/sweep/cdt.cc.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/cdt.cc.s
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/cdt.cc.s
-
-__/contrib/poly2tri/poly2tri/sweep/sweep.o: __/contrib/poly2tri/poly2tri/sweep/sweep.cc.o
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.o
-
-# target to build an object file
-__/contrib/poly2tri/poly2tri/sweep/sweep.cc.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep.cc.o
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.cc.o
-
-__/contrib/poly2tri/poly2tri/sweep/sweep.i: __/contrib/poly2tri/poly2tri/sweep/sweep.cc.i
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.i
-
-# target to preprocess a source file
-__/contrib/poly2tri/poly2tri/sweep/sweep.cc.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep.cc.i
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.cc.i
-
-__/contrib/poly2tri/poly2tri/sweep/sweep.s: __/contrib/poly2tri/poly2tri/sweep/sweep.cc.s
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.s
-
-# target to generate assembly for a file
-__/contrib/poly2tri/poly2tri/sweep/sweep.cc.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep.cc.s
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep.cc.s
-
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.o: __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.o
-
-# target to build an object file
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o
-
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.i: __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.i
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.i
-
-# target to preprocess a source file
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.i
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.i
-
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.s: __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.s
-
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.s
-
-# target to generate assembly for a file
-__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.s
-.PHONY : __/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.s
-
-glTFExporter.o: glTFExporter.cpp.o
-
-.PHONY : glTFExporter.o
-
-# target to build an object file
-glTFExporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFExporter.cpp.o
-.PHONY : glTFExporter.cpp.o
-
-glTFExporter.i: glTFExporter.cpp.i
-
-.PHONY : glTFExporter.i
-
-# target to preprocess a source file
-glTFExporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFExporter.cpp.i
-.PHONY : glTFExporter.cpp.i
-
-glTFExporter.s: glTFExporter.cpp.s
-
-.PHONY : glTFExporter.s
-
-# target to generate assembly for a file
-glTFExporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFExporter.cpp.s
-.PHONY : glTFExporter.cpp.s
-
-glTFImporter.o: glTFImporter.cpp.o
-
-.PHONY : glTFImporter.o
-
-# target to build an object file
-glTFImporter.cpp.o:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFImporter.cpp.o
-.PHONY : glTFImporter.cpp.o
-
-glTFImporter.i: glTFImporter.cpp.i
-
-.PHONY : glTFImporter.i
-
-# target to preprocess a source file
-glTFImporter.cpp.i:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFImporter.cpp.i
-.PHONY : glTFImporter.cpp.i
-
-glTFImporter.s: glTFImporter.cpp.s
-
-.PHONY : glTFImporter.s
-
-# target to generate assembly for a file
-glTFImporter.cpp.s:
-	cd /Users/angelo/coding/assimp && $(MAKE) -f code/CMakeFiles/assimp.dir/build.make code/CMakeFiles/assimp.dir/glTFImporter.cpp.s
-.PHONY : glTFImporter.cpp.s
-
-# Help Target
-help:
-	@echo "The following are some of the valid targets for this Makefile:"
-	@echo "... all (the default if no target is provided)"
-	@echo "... clean"
-	@echo "... depend"
-	@echo "... edit_cache"
-	@echo "... rebuild_cache"
-	@echo "... assimp"
-	@echo "... list_install_components"
-	@echo "... install"
-	@echo "... install/strip"
-	@echo "... install/local"
-	@echo "... 3DSConverter.o"
-	@echo "... 3DSConverter.i"
-	@echo "... 3DSConverter.s"
-	@echo "... 3DSExporter.o"
-	@echo "... 3DSExporter.i"
-	@echo "... 3DSExporter.s"
-	@echo "... 3DSLoader.o"
-	@echo "... 3DSLoader.i"
-	@echo "... 3DSLoader.s"
-	@echo "... ACLoader.o"
-	@echo "... ACLoader.i"
-	@echo "... ACLoader.s"
-	@echo "... AMFImporter.o"
-	@echo "... AMFImporter.i"
-	@echo "... AMFImporter.s"
-	@echo "... AMFImporter_Geometry.o"
-	@echo "... AMFImporter_Geometry.i"
-	@echo "... AMFImporter_Geometry.s"
-	@echo "... AMFImporter_Material.o"
-	@echo "... AMFImporter_Material.i"
-	@echo "... AMFImporter_Material.s"
-	@echo "... AMFImporter_Postprocess.o"
-	@echo "... AMFImporter_Postprocess.i"
-	@echo "... AMFImporter_Postprocess.s"
-	@echo "... ASELoader.o"
-	@echo "... ASELoader.i"
-	@echo "... ASELoader.s"
-	@echo "... ASEParser.o"
-	@echo "... ASEParser.i"
-	@echo "... ASEParser.s"
-	@echo "... AssbinExporter.o"
-	@echo "... AssbinExporter.i"
-	@echo "... AssbinExporter.s"
-	@echo "... AssbinLoader.o"
-	@echo "... AssbinLoader.i"
-	@echo "... AssbinLoader.s"
-	@echo "... Assimp.o"
-	@echo "... Assimp.i"
-	@echo "... Assimp.s"
-	@echo "... AssimpCExport.o"
-	@echo "... AssimpCExport.i"
-	@echo "... AssimpCExport.s"
-	@echo "... AssxmlExporter.o"
-	@echo "... AssxmlExporter.i"
-	@echo "... AssxmlExporter.s"
-	@echo "... B3DImporter.o"
-	@echo "... B3DImporter.i"
-	@echo "... B3DImporter.s"
-	@echo "... BVHLoader.o"
-	@echo "... BVHLoader.i"
-	@echo "... BVHLoader.s"
-	@echo "... BaseImporter.o"
-	@echo "... BaseImporter.i"
-	@echo "... BaseImporter.s"
-	@echo "... BaseProcess.o"
-	@echo "... BaseProcess.i"
-	@echo "... BaseProcess.s"
-	@echo "... Bitmap.o"
-	@echo "... Bitmap.i"
-	@echo "... Bitmap.s"
-	@echo "... BlenderBMesh.o"
-	@echo "... BlenderBMesh.i"
-	@echo "... BlenderBMesh.s"
-	@echo "... BlenderDNA.o"
-	@echo "... BlenderDNA.i"
-	@echo "... BlenderDNA.s"
-	@echo "... BlenderLoader.o"
-	@echo "... BlenderLoader.i"
-	@echo "... BlenderLoader.s"
-	@echo "... BlenderModifier.o"
-	@echo "... BlenderModifier.i"
-	@echo "... BlenderModifier.s"
-	@echo "... BlenderScene.o"
-	@echo "... BlenderScene.i"
-	@echo "... BlenderScene.s"
-	@echo "... BlenderTessellator.o"
-	@echo "... BlenderTessellator.i"
-	@echo "... BlenderTessellator.s"
-	@echo "... COBLoader.o"
-	@echo "... COBLoader.i"
-	@echo "... COBLoader.s"
-	@echo "... CSMLoader.o"
-	@echo "... CSMLoader.i"
-	@echo "... CSMLoader.s"
-	@echo "... CalcTangentsProcess.o"
-	@echo "... CalcTangentsProcess.i"
-	@echo "... CalcTangentsProcess.s"
-	@echo "... ColladaExporter.o"
-	@echo "... ColladaExporter.i"
-	@echo "... ColladaExporter.s"
-	@echo "... ColladaLoader.o"
-	@echo "... ColladaLoader.i"
-	@echo "... ColladaLoader.s"
-	@echo "... ColladaParser.o"
-	@echo "... ColladaParser.i"
-	@echo "... ColladaParser.s"
-	@echo "... ComputeUVMappingProcess.o"
-	@echo "... ComputeUVMappingProcess.i"
-	@echo "... ComputeUVMappingProcess.s"
-	@echo "... ConvertToLHProcess.o"
-	@echo "... ConvertToLHProcess.i"
-	@echo "... ConvertToLHProcess.s"
-	@echo "... D3MFImporter.o"
-	@echo "... D3MFImporter.i"
-	@echo "... D3MFImporter.s"
-	@echo "... D3MFOpcPackage.o"
-	@echo "... D3MFOpcPackage.i"
-	@echo "... D3MFOpcPackage.s"
-	@echo "... DXFLoader.o"
-	@echo "... DXFLoader.i"
-	@echo "... DXFLoader.s"
-	@echo "... DeboneProcess.o"
-	@echo "... DeboneProcess.i"
-	@echo "... DeboneProcess.s"
-	@echo "... DefaultIOStream.o"
-	@echo "... DefaultIOStream.i"
-	@echo "... DefaultIOStream.s"
-	@echo "... DefaultIOSystem.o"
-	@echo "... DefaultIOSystem.i"
-	@echo "... DefaultIOSystem.s"
-	@echo "... DefaultLogger.o"
-	@echo "... DefaultLogger.i"
-	@echo "... DefaultLogger.s"
-	@echo "... Exporter.o"
-	@echo "... Exporter.i"
-	@echo "... Exporter.s"
-	@echo "... FBXAnimation.o"
-	@echo "... FBXAnimation.i"
-	@echo "... FBXAnimation.s"
-	@echo "... FBXBinaryTokenizer.o"
-	@echo "... FBXBinaryTokenizer.i"
-	@echo "... FBXBinaryTokenizer.s"
-	@echo "... FBXConverter.o"
-	@echo "... FBXConverter.i"
-	@echo "... FBXConverter.s"
-	@echo "... FBXDeformer.o"
-	@echo "... FBXDeformer.i"
-	@echo "... FBXDeformer.s"
-	@echo "... FBXDocument.o"
-	@echo "... FBXDocument.i"
-	@echo "... FBXDocument.s"
-	@echo "... FBXDocumentUtil.o"
-	@echo "... FBXDocumentUtil.i"
-	@echo "... FBXDocumentUtil.s"
-	@echo "... FBXImporter.o"
-	@echo "... FBXImporter.i"
-	@echo "... FBXImporter.s"
-	@echo "... FBXMaterial.o"
-	@echo "... FBXMaterial.i"
-	@echo "... FBXMaterial.s"
-	@echo "... FBXMeshGeometry.o"
-	@echo "... FBXMeshGeometry.i"
-	@echo "... FBXMeshGeometry.s"
-	@echo "... FBXModel.o"
-	@echo "... FBXModel.i"
-	@echo "... FBXModel.s"
-	@echo "... FBXNodeAttribute.o"
-	@echo "... FBXNodeAttribute.i"
-	@echo "... FBXNodeAttribute.s"
-	@echo "... FBXParser.o"
-	@echo "... FBXParser.i"
-	@echo "... FBXParser.s"
-	@echo "... FBXProperties.o"
-	@echo "... FBXProperties.i"
-	@echo "... FBXProperties.s"
-	@echo "... FBXTokenizer.o"
-	@echo "... FBXTokenizer.i"
-	@echo "... FBXTokenizer.s"
-	@echo "... FBXUtil.o"
-	@echo "... FBXUtil.i"
-	@echo "... FBXUtil.s"
-	@echo "... FindDegenerates.o"
-	@echo "... FindDegenerates.i"
-	@echo "... FindDegenerates.s"
-	@echo "... FindInstancesProcess.o"
-	@echo "... FindInstancesProcess.i"
-	@echo "... FindInstancesProcess.s"
-	@echo "... FindInvalidDataProcess.o"
-	@echo "... FindInvalidDataProcess.i"
-	@echo "... FindInvalidDataProcess.s"
-	@echo "... FixNormalsStep.o"
-	@echo "... FixNormalsStep.i"
-	@echo "... FixNormalsStep.s"
-	@echo "... GenFaceNormalsProcess.o"
-	@echo "... GenFaceNormalsProcess.i"
-	@echo "... GenFaceNormalsProcess.s"
-	@echo "... GenVertexNormalsProcess.o"
-	@echo "... GenVertexNormalsProcess.i"
-	@echo "... GenVertexNormalsProcess.s"
-	@echo "... HMPLoader.o"
-	@echo "... HMPLoader.i"
-	@echo "... HMPLoader.s"
-	@echo "... IFCBoolean.o"
-	@echo "... IFCBoolean.i"
-	@echo "... IFCBoolean.s"
-	@echo "... IFCCurve.o"
-	@echo "... IFCCurve.i"
-	@echo "... IFCCurve.s"
-	@echo "... IFCGeometry.o"
-	@echo "... IFCGeometry.i"
-	@echo "... IFCGeometry.s"
-	@echo "... IFCLoader.o"
-	@echo "... IFCLoader.i"
-	@echo "... IFCLoader.s"
-	@echo "... IFCMaterial.o"
-	@echo "... IFCMaterial.i"
-	@echo "... IFCMaterial.s"
-	@echo "... IFCOpenings.o"
-	@echo "... IFCOpenings.i"
-	@echo "... IFCOpenings.s"
-	@echo "... IFCProfile.o"
-	@echo "... IFCProfile.i"
-	@echo "... IFCProfile.s"
-	@echo "... IFCReaderGen1.o"
-	@echo "... IFCReaderGen1.i"
-	@echo "... IFCReaderGen1.s"
-	@echo "... IFCReaderGen2.o"
-	@echo "... IFCReaderGen2.i"
-	@echo "... IFCReaderGen2.s"
-	@echo "... IFCUtil.o"
-	@echo "... IFCUtil.i"
-	@echo "... IFCUtil.s"
-	@echo "... IRRLoader.o"
-	@echo "... IRRLoader.i"
-	@echo "... IRRLoader.s"
-	@echo "... IRRMeshLoader.o"
-	@echo "... IRRMeshLoader.i"
-	@echo "... IRRMeshLoader.s"
-	@echo "... IRRShared.o"
-	@echo "... IRRShared.i"
-	@echo "... IRRShared.s"
-	@echo "... Importer.o"
-	@echo "... Importer.i"
-	@echo "... Importer.s"
-	@echo "... ImporterRegistry.o"
-	@echo "... ImporterRegistry.i"
-	@echo "... ImporterRegistry.s"
-	@echo "... ImproveCacheLocality.o"
-	@echo "... ImproveCacheLocality.i"
-	@echo "... ImproveCacheLocality.s"
-	@echo "... JoinVerticesProcess.o"
-	@echo "... JoinVerticesProcess.i"
-	@echo "... JoinVerticesProcess.s"
-	@echo "... LWOAnimation.o"
-	@echo "... LWOAnimation.i"
-	@echo "... LWOAnimation.s"
-	@echo "... LWOBLoader.o"
-	@echo "... LWOBLoader.i"
-	@echo "... LWOBLoader.s"
-	@echo "... LWOLoader.o"
-	@echo "... LWOLoader.i"
-	@echo "... LWOLoader.s"
-	@echo "... LWOMaterial.o"
-	@echo "... LWOMaterial.i"
-	@echo "... LWOMaterial.s"
-	@echo "... LWSLoader.o"
-	@echo "... LWSLoader.i"
-	@echo "... LWSLoader.s"
-	@echo "... LimitBoneWeightsProcess.o"
-	@echo "... LimitBoneWeightsProcess.i"
-	@echo "... LimitBoneWeightsProcess.s"
-	@echo "... MD2Loader.o"
-	@echo "... MD2Loader.i"
-	@echo "... MD2Loader.s"
-	@echo "... MD3Loader.o"
-	@echo "... MD3Loader.i"
-	@echo "... MD3Loader.s"
-	@echo "... MD5Loader.o"
-	@echo "... MD5Loader.i"
-	@echo "... MD5Loader.s"
-	@echo "... MD5Parser.o"
-	@echo "... MD5Parser.i"
-	@echo "... MD5Parser.s"
-	@echo "... MDCLoader.o"
-	@echo "... MDCLoader.i"
-	@echo "... MDCLoader.s"
-	@echo "... MDLLoader.o"
-	@echo "... MDLLoader.i"
-	@echo "... MDLLoader.s"
-	@echo "... MDLMaterialLoader.o"
-	@echo "... MDLMaterialLoader.i"
-	@echo "... MDLMaterialLoader.s"
-	@echo "... MS3DLoader.o"
-	@echo "... MS3DLoader.i"
-	@echo "... MS3DLoader.s"
-	@echo "... MakeVerboseFormat.o"
-	@echo "... MakeVerboseFormat.i"
-	@echo "... MakeVerboseFormat.s"
-	@echo "... MaterialSystem.o"
-	@echo "... MaterialSystem.i"
-	@echo "... MaterialSystem.s"
-	@echo "... NDOLoader.o"
-	@echo "... NDOLoader.i"
-	@echo "... NDOLoader.s"
-	@echo "... NFFLoader.o"
-	@echo "... NFFLoader.i"
-	@echo "... NFFLoader.s"
-	@echo "... OFFLoader.o"
-	@echo "... OFFLoader.i"
-	@echo "... OFFLoader.s"
-	@echo "... ObjExporter.o"
-	@echo "... ObjExporter.i"
-	@echo "... ObjExporter.s"
-	@echo "... ObjFileImporter.o"
-	@echo "... ObjFileImporter.i"
-	@echo "... ObjFileImporter.s"
-	@echo "... ObjFileMtlImporter.o"
-	@echo "... ObjFileMtlImporter.i"
-	@echo "... ObjFileMtlImporter.s"
-	@echo "... ObjFileParser.o"
-	@echo "... ObjFileParser.i"
-	@echo "... ObjFileParser.s"
-	@echo "... OgreBinarySerializer.o"
-	@echo "... OgreBinarySerializer.i"
-	@echo "... OgreBinarySerializer.s"
-	@echo "... OgreImporter.o"
-	@echo "... OgreImporter.i"
-	@echo "... OgreImporter.s"
-	@echo "... OgreMaterial.o"
-	@echo "... OgreMaterial.i"
-	@echo "... OgreMaterial.s"
-	@echo "... OgreStructs.o"
-	@echo "... OgreStructs.i"
-	@echo "... OgreStructs.s"
-	@echo "... OgreXmlSerializer.o"
-	@echo "... OgreXmlSerializer.i"
-	@echo "... OgreXmlSerializer.s"
-	@echo "... OpenGEXExporter.o"
-	@echo "... OpenGEXExporter.i"
-	@echo "... OpenGEXExporter.s"
-	@echo "... OpenGEXImporter.o"
-	@echo "... OpenGEXImporter.i"
-	@echo "... OpenGEXImporter.s"
-	@echo "... OptimizeGraph.o"
-	@echo "... OptimizeGraph.i"
-	@echo "... OptimizeGraph.s"
-	@echo "... OptimizeMeshes.o"
-	@echo "... OptimizeMeshes.i"
-	@echo "... OptimizeMeshes.s"
-	@echo "... PlyExporter.o"
-	@echo "... PlyExporter.i"
-	@echo "... PlyExporter.s"
-	@echo "... PlyLoader.o"
-	@echo "... PlyLoader.i"
-	@echo "... PlyLoader.s"
-	@echo "... PlyParser.o"
-	@echo "... PlyParser.i"
-	@echo "... PlyParser.s"
-	@echo "... PostStepRegistry.o"
-	@echo "... PostStepRegistry.i"
-	@echo "... PostStepRegistry.s"
-	@echo "... PretransformVertices.o"
-	@echo "... PretransformVertices.i"
-	@echo "... PretransformVertices.s"
-	@echo "... ProcessHelper.o"
-	@echo "... ProcessHelper.i"
-	@echo "... ProcessHelper.s"
-	@echo "... Q3BSPFileImporter.o"
-	@echo "... Q3BSPFileImporter.i"
-	@echo "... Q3BSPFileImporter.s"
-	@echo "... Q3BSPFileParser.o"
-	@echo "... Q3BSPFileParser.i"
-	@echo "... Q3BSPFileParser.s"
-	@echo "... Q3BSPZipArchive.o"
-	@echo "... Q3BSPZipArchive.i"
-	@echo "... Q3BSPZipArchive.s"
-	@echo "... Q3DLoader.o"
-	@echo "... Q3DLoader.i"
-	@echo "... Q3DLoader.s"
-	@echo "... RawLoader.o"
-	@echo "... RawLoader.i"
-	@echo "... RawLoader.s"
-	@echo "... RemoveComments.o"
-	@echo "... RemoveComments.i"
-	@echo "... RemoveComments.s"
-	@echo "... RemoveRedundantMaterials.o"
-	@echo "... RemoveRedundantMaterials.i"
-	@echo "... RemoveRedundantMaterials.s"
-	@echo "... RemoveVCProcess.o"
-	@echo "... RemoveVCProcess.i"
-	@echo "... RemoveVCProcess.s"
-	@echo "... SGSpatialSort.o"
-	@echo "... SGSpatialSort.i"
-	@echo "... SGSpatialSort.s"
-	@echo "... SIBImporter.o"
-	@echo "... SIBImporter.i"
-	@echo "... SIBImporter.s"
-	@echo "... SMDLoader.o"
-	@echo "... SMDLoader.i"
-	@echo "... SMDLoader.s"
-	@echo "... STEPFileEncoding.o"
-	@echo "... STEPFileEncoding.i"
-	@echo "... STEPFileEncoding.s"
-	@echo "... STEPFileReader.o"
-	@echo "... STEPFileReader.i"
-	@echo "... STEPFileReader.s"
-	@echo "... STLExporter.o"
-	@echo "... STLExporter.i"
-	@echo "... STLExporter.s"
-	@echo "... STLLoader.o"
-	@echo "... STLLoader.i"
-	@echo "... STLLoader.s"
-	@echo "... SceneCombiner.o"
-	@echo "... SceneCombiner.i"
-	@echo "... SceneCombiner.s"
-	@echo "... ScenePreprocessor.o"
-	@echo "... ScenePreprocessor.i"
-	@echo "... ScenePreprocessor.s"
-	@echo "... SkeletonMeshBuilder.o"
-	@echo "... SkeletonMeshBuilder.i"
-	@echo "... SkeletonMeshBuilder.s"
-	@echo "... SortByPTypeProcess.o"
-	@echo "... SortByPTypeProcess.i"
-	@echo "... SortByPTypeProcess.s"
-	@echo "... SpatialSort.o"
-	@echo "... SpatialSort.i"
-	@echo "... SpatialSort.s"
-	@echo "... SplitByBoneCountProcess.o"
-	@echo "... SplitByBoneCountProcess.i"
-	@echo "... SplitByBoneCountProcess.s"
-	@echo "... SplitLargeMeshes.o"
-	@echo "... SplitLargeMeshes.i"
-	@echo "... SplitLargeMeshes.s"
-	@echo "... StandardShapes.o"
-	@echo "... StandardShapes.i"
-	@echo "... StandardShapes.s"
-	@echo "... StepExporter.o"
-	@echo "... StepExporter.i"
-	@echo "... StepExporter.s"
-	@echo "... Subdivision.o"
-	@echo "... Subdivision.i"
-	@echo "... Subdivision.s"
-	@echo "... TargetAnimation.o"
-	@echo "... TargetAnimation.i"
-	@echo "... TargetAnimation.s"
-	@echo "... TerragenLoader.o"
-	@echo "... TerragenLoader.i"
-	@echo "... TerragenLoader.s"
-	@echo "... TextureTransform.o"
-	@echo "... TextureTransform.i"
-	@echo "... TextureTransform.s"
-	@echo "... TriangulateProcess.o"
-	@echo "... TriangulateProcess.i"
-	@echo "... TriangulateProcess.s"
-	@echo "... UnrealLoader.o"
-	@echo "... UnrealLoader.i"
-	@echo "... UnrealLoader.s"
-	@echo "... ValidateDataStructure.o"
-	@echo "... ValidateDataStructure.i"
-	@echo "... ValidateDataStructure.s"
-	@echo "... Version.o"
-	@echo "... Version.i"
-	@echo "... Version.s"
-	@echo "... VertexTriangleAdjacency.o"
-	@echo "... VertexTriangleAdjacency.i"
-	@echo "... VertexTriangleAdjacency.s"
-	@echo "... X3DImporter.o"
-	@echo "... X3DImporter.i"
-	@echo "... X3DImporter.s"
-	@echo "... X3DImporter_Geometry2D.o"
-	@echo "... X3DImporter_Geometry2D.i"
-	@echo "... X3DImporter_Geometry2D.s"
-	@echo "... X3DImporter_Geometry3D.o"
-	@echo "... X3DImporter_Geometry3D.i"
-	@echo "... X3DImporter_Geometry3D.s"
-	@echo "... X3DImporter_Group.o"
-	@echo "... X3DImporter_Group.i"
-	@echo "... X3DImporter_Group.s"
-	@echo "... X3DImporter_Light.o"
-	@echo "... X3DImporter_Light.i"
-	@echo "... X3DImporter_Light.s"
-	@echo "... X3DImporter_Metadata.o"
-	@echo "... X3DImporter_Metadata.i"
-	@echo "... X3DImporter_Metadata.s"
-	@echo "... X3DImporter_Networking.o"
-	@echo "... X3DImporter_Networking.i"
-	@echo "... X3DImporter_Networking.s"
-	@echo "... X3DImporter_Postprocess.o"
-	@echo "... X3DImporter_Postprocess.i"
-	@echo "... X3DImporter_Postprocess.s"
-	@echo "... X3DImporter_Rendering.o"
-	@echo "... X3DImporter_Rendering.i"
-	@echo "... X3DImporter_Rendering.s"
-	@echo "... X3DImporter_Shape.o"
-	@echo "... X3DImporter_Shape.i"
-	@echo "... X3DImporter_Shape.s"
-	@echo "... X3DImporter_Texturing.o"
-	@echo "... X3DImporter_Texturing.i"
-	@echo "... X3DImporter_Texturing.s"
-	@echo "... XFileExporter.o"
-	@echo "... XFileExporter.i"
-	@echo "... XFileExporter.s"
-	@echo "... XFileImporter.o"
-	@echo "... XFileImporter.i"
-	@echo "... XFileImporter.s"
-	@echo "... XFileParser.o"
-	@echo "... XFileParser.i"
-	@echo "... XFileParser.s"
-	@echo "... XGLLoader.o"
-	@echo "... XGLLoader.i"
-	@echo "... XGLLoader.s"
-	@echo "... __/contrib/ConvertUTF/ConvertUTF.o"
-	@echo "... __/contrib/ConvertUTF/ConvertUTF.i"
-	@echo "... __/contrib/ConvertUTF/ConvertUTF.s"
-	@echo "... __/contrib/clipper/clipper.o"
-	@echo "... __/contrib/clipper/clipper.i"
-	@echo "... __/contrib/clipper/clipper.s"
-	@echo "... __/contrib/irrXML/irrXML.o"
-	@echo "... __/contrib/irrXML/irrXML.i"
-	@echo "... __/contrib/irrXML/irrXML.s"
-	@echo "... __/contrib/openddlparser/code/DDLNode.o"
-	@echo "... __/contrib/openddlparser/code/DDLNode.i"
-	@echo "... __/contrib/openddlparser/code/DDLNode.s"
-	@echo "... __/contrib/openddlparser/code/OpenDDLCommon.o"
-	@echo "... __/contrib/openddlparser/code/OpenDDLCommon.i"
-	@echo "... __/contrib/openddlparser/code/OpenDDLCommon.s"
-	@echo "... __/contrib/openddlparser/code/OpenDDLExport.o"
-	@echo "... __/contrib/openddlparser/code/OpenDDLExport.i"
-	@echo "... __/contrib/openddlparser/code/OpenDDLExport.s"
-	@echo "... __/contrib/openddlparser/code/OpenDDLParser.o"
-	@echo "... __/contrib/openddlparser/code/OpenDDLParser.i"
-	@echo "... __/contrib/openddlparser/code/OpenDDLParser.s"
-	@echo "... __/contrib/openddlparser/code/Value.o"
-	@echo "... __/contrib/openddlparser/code/Value.i"
-	@echo "... __/contrib/openddlparser/code/Value.s"
-	@echo "... __/contrib/poly2tri/poly2tri/common/shapes.o"
-	@echo "... __/contrib/poly2tri/poly2tri/common/shapes.i"
-	@echo "... __/contrib/poly2tri/poly2tri/common/shapes.s"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/advancing_front.o"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/advancing_front.i"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/advancing_front.s"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/cdt.o"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/cdt.i"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/cdt.s"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep.o"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep.i"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep.s"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep_context.o"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep_context.i"
-	@echo "... __/contrib/poly2tri/poly2tri/sweep/sweep_context.s"
-	@echo "... glTFExporter.o"
-	@echo "... glTFExporter.i"
-	@echo "... glTFExporter.s"
-	@echo "... glTFImporter.o"
-	@echo "... glTFImporter.i"
-	@echo "... glTFImporter.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
-	cd /Users/angelo/coding/assimp && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-

+ 7 - 2
code/ObjFileParser.cpp

@@ -184,9 +184,14 @@ void ObjFileParser::parseFile( IOStreamBuffer<char> &streamBuffer ) {
 
         case 'm': // Parse a material library or merging group ('mg')
             {
-				std::string name;
+                std::string name;
+
+                getName(m_DataIt, m_DataItEnd, name);
+
+                size_t nextSpace = name.find(" ");
+                if (nextSpace != std::string::npos)
+                    name = name.substr(0, nextSpace);
 
-				getName(m_DataIt, m_DataItEnd, name);
                 if (name == "mg")
                     getGroupNumberAndResolution();
                 else if(name == "mtllib")

+ 7 - 8
code/OpenGEXImporter.cpp

@@ -124,7 +124,7 @@ namespace Grammar {
         MaterialToken,
         ColorToken,
         ParamToken,
-        TextureToken, 
+        TextureToken,
         AttenToken
     };
 
@@ -237,7 +237,7 @@ OpenGEXImporter::VertexContainer::~VertexContainer() {
     delete[] m_vertices;
     delete[] m_colors;
     delete[] m_normals;
-    
+
     for(auto &texcoords : m_textureCoords) {
         delete [] texcoords;
     }
@@ -413,7 +413,7 @@ void OpenGEXImporter::handleNodes( DDLNode *node, aiScene *pScene ) {
             case Grammar::ColorToken:
                 handleColorNode( *it, pScene );
                 break;
-            
+
             case Grammar::ParamToken:
                 handleParamNode( *it, pScene );
                 break;
@@ -479,7 +479,7 @@ void OpenGEXImporter::handleNameNode( DDLNode *node, aiScene *pScene ) {
         }
 
         const std::string name( val->getString() );
-        if( m_tokenType == Grammar::GeometryNodeToken || m_tokenType == Grammar::LightNodeToken  
+        if( m_tokenType == Grammar::GeometryNodeToken || m_tokenType == Grammar::LightNodeToken
                 || m_tokenType == Grammar::CameraNodeToken ) {
             m_currentNode->mName.Set( name.c_str() );
         } else if( m_tokenType == Grammar::MaterialToken ) {
@@ -515,7 +515,7 @@ void OpenGEXImporter::handleObjectRefNode( DDLNode *node, aiScene *pScene ) {
 
     std::vector<std::string> objRefNames;
     getRefNames( node, objRefNames );
-    
+
     // when we are dealing with a geometry node prepare the mesh cache
     if ( m_tokenType == Grammar::GeometryNodeToken ) {
         m_currentNode->mNumMeshes = objRefNames.size();
@@ -596,7 +596,7 @@ void OpenGEXImporter::handleGeometryObject( DDLNode *node, aiScene *pScene ) {
 //------------------------------------------------------------------------------------------------
 void OpenGEXImporter::handleCameraObject( ODDLParser::DDLNode *node, aiScene *pScene ) {
     // parameters will be parsed normally in the tree, so just go for it
-   
+
     handleNodes( node, pScene );
 }
 
@@ -757,7 +757,6 @@ static void fillColor4( aiColor4D *col4, Value *vals ) {
     ai_assert( nullptr != col4 );
     ai_assert( nullptr != vals );
 
-    float r( 0.0f ), g( 0.0f ), b( 0.0f ), a ( 1.0f );
     Value *next( vals );
     col4->r = next->getFloat();
     next = next->m_next;
@@ -1169,7 +1168,7 @@ void OpenGEXImporter::pushNode( aiNode *node, aiScene *pScene ) {
     if ( nullptr == node ) {
         return;
     }
-        
+
     ChildInfo *info( nullptr );
     if( m_nodeStack.empty() ) {
         node->mParent = pScene->mRootNode;

+ 1 - 1
code/Q3BSPFileData.h

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,

+ 2 - 11
code/Q3BSPFileImporter.cpp

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ---------------------------------------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,
@@ -40,7 +40,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #ifndef ASSIMP_BUILD_NO_Q3BSP_IMPORTER
 
-//#include <windows.h>
 #include "DefaultIOSystem.h"
 #include "Q3BSPFileImporter.h"
 #include "Q3BSPZipArchive.h"
@@ -76,14 +75,6 @@ static const aiImporterDesc desc = {
 
 namespace Assimp {
 
-/*
-static void getSupportedExtensions(std::vector<std::string> &supportedExtensions) {
-    supportedExtensions.push_back( ".jpg" );
-    supportedExtensions.push_back( ".png" );
-    supportedExtensions.push_back( ".tga" );
-}
-*/
-
 using namespace Q3BSP;
 
 // ------------------------------------------------------------------------------------------------
@@ -175,7 +166,7 @@ Q3BSPFileImporter::~Q3BSPFileImporter() {
 bool Q3BSPFileImporter::CanRead( const std::string& rFile, IOSystem* /*pIOHandler*/, bool checkSig ) const
 {
     if(!checkSig) {
-        return SimpleExtensionCheck( rFile, "pk3" );
+        return SimpleExtensionCheck( rFile, "pk3", "bsp" );
     }
     // TODO perhaps add keyword based detection
     return false;

+ 1 - 1
code/Q3BSPFileImporter.h

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,

+ 1 - 1
code/Q3BSPFileParser.cpp

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,

+ 1 - 1
code/Q3BSPFileParser.h

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,

+ 1 - 1
code/Q3BSPZipArchive.cpp

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,

+ 42 - 76
code/Q3BSPZipArchive.h

@@ -2,7 +2,7 @@
 Open Asset Import Library (assimp)
 ----------------------------------------------------------------------
 
-Copyright (c) 2006-2008, assimp team
+Copyright (c) 2006-2016, assimp team
 All rights reserved.
 
 Redistribution and use of this software in source and binary forms,
@@ -58,24 +58,15 @@ namespace Q3BSP {
 /// \brief
 // ------------------------------------------------------------------------------------------------
 class IOSystem2Unzip {
-
-    public:
-
-        static voidpf open(voidpf opaque, const char* filename, int mode);
-
-        static uLong read(voidpf opaque, voidpf stream, void* buf, uLong size);
-
-        static uLong write(voidpf opaque, voidpf stream, const void* buf, uLong size);
-
-        static long tell(voidpf opaque, voidpf stream);
-
-        static long seek(voidpf opaque, voidpf stream, uLong offset, int origin);
-
-        static int close(voidpf opaque, voidpf stream);
-
-        static int testerror(voidpf opaque, voidpf stream);
-
-        static zlib_filefunc_def get(IOSystem* pIOHandler);
+public:
+    static voidpf open(voidpf opaque, const char* filename, int mode);
+    static uLong read(voidpf opaque, voidpf stream, void* buf, uLong size);
+    static uLong write(voidpf opaque, voidpf stream, const void* buf, uLong size);
+    static long tell(voidpf opaque, voidpf stream);
+    static long seek(voidpf opaque, voidpf stream, uLong offset, int origin);
+    static int close(voidpf opaque, voidpf stream);
+    static int testerror(voidpf opaque, voidpf stream);
+    static zlib_filefunc_def get(IOSystem* pIOHandler);
 };
 
 // ------------------------------------------------------------------------------------------------
@@ -85,32 +76,21 @@ class IOSystem2Unzip {
 /// \brief
 // ------------------------------------------------------------------------------------------------
 class ZipFile : public IOStream {
-
     friend class Q3BSPZipArchive;
 
-    public:
-
-        explicit ZipFile(size_t size);
-
-        ~ZipFile();
-
-        size_t Read(void* pvBuffer, size_t pSize, size_t pCount );
-
-        size_t Write(const void* /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/);
-
-        size_t FileSize() const;
-
-        aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/);
-
-        size_t Tell() const;
-
-        void Flush();
-
-    private:
-
-        void* m_Buffer;
-
-        size_t m_Size;
+public:
+    explicit ZipFile(size_t size);
+    ~ZipFile();
+    size_t Read(void* pvBuffer, size_t pSize, size_t pCount );
+    size_t Write(const void* /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/);
+    size_t FileSize() const;
+    aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/);
+    size_t Tell() const;
+    void Flush();
+
+private:
+    void* m_Buffer;
+    size_t m_Size;
 };
 
 // ------------------------------------------------------------------------------------------------
@@ -121,39 +101,25 @@ class ZipFile : public IOStream {
 /// from a P3K archive ( Quake level format ).
 // ------------------------------------------------------------------------------------------------
 class Q3BSPZipArchive : public Assimp::IOSystem {
-
-    public:
-
-        static const unsigned int FileNameSize = 256;
-
-    public:
-
-        Q3BSPZipArchive(IOSystem* pIOHandler, const std::string & rFile);
-
-        ~Q3BSPZipArchive();
-
-        bool Exists(const char* pFile) const;
-
-        char getOsSeparator() const;
-
-        IOStream* Open(const char* pFile, const char* pMode = "rb");
-
-        void Close(IOStream* pFile);
-
-        bool isOpen() const;
-
-        void getFileList(std::vector<std::string> &rFileList);
-
-    private:
-
-        bool mapArchive();
-
-    private:
-
-        unzFile m_ZipFileHandle;
-
-        std::map<std::string, ZipFile*> m_ArchiveMap;
-
+public:
+    static const unsigned int FileNameSize = 256;
+
+public:
+    Q3BSPZipArchive(IOSystem* pIOHandler, const std::string & rFile);
+    ~Q3BSPZipArchive();
+    bool Exists(const char* pFile) const;
+    char getOsSeparator() const;
+    IOStream* Open(const char* pFile, const char* pMode = "rb");
+    void Close(IOStream* pFile);
+    bool isOpen() const;
+    void getFileList(std::vector<std::string> &rFileList);
+
+private:
+    bool mapArchive();
+
+private:
+    unzFile m_ZipFileHandle;
+    std::map<std::string, ZipFile*> m_ArchiveMap;
 };
 
 // ------------------------------------------------------------------------------------------------

+ 2 - 2
code/SIBImporter.cpp

@@ -710,8 +710,8 @@ static void ReadLightInfo(aiLight* light, StreamReaderLE* stream)
     //    OpenGL: I = cos(angle)^E
     //   Solving: angle = acos(I^(1/E))
     ai_real E = 1.0 / std::max(spotExponent, (ai_real)0.00001);
-    ai_real inner = acos(pow((ai_real)0.99, E));
-    ai_real outer = acos(pow((ai_real)0.01, E));
+    ai_real inner = std::acos(std::pow((ai_real)0.99, E));
+    ai_real outer = std::acos(std::pow((ai_real)0.01, E));
 
     // Apply the cutoff.
     outer = std::min(outer, AI_DEG_TO_RAD(spotCutoff));

+ 4 - 13
code/STEPFile.h

@@ -72,7 +72,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "LineSplitter.h"
 
-
 // uncomment this to have the loader evaluate all entities upon loading.
 // this is intended as stress test - by default, entities are evaluated
 // lazily and therefore not unless needed.
@@ -118,15 +117,13 @@ namespace STEP {
 
 // ********************************************************************************
 
-
 namespace STEP {
 
     // -------------------------------------------------------------------------------
     /** Exception class used by the STEP loading & parsing code. It is typically
      *  coupled with a line number. */
     // -------------------------------------------------------------------------------
-    struct SyntaxError : DeadlyImportError
-    {
+    struct SyntaxError : DeadlyImportError {
         enum {
             LINE_NOT_SPECIFIED = 0xffffffffffffffffLL
         };
@@ -253,7 +250,7 @@ namespace STEP {
         {
         public:
 
-            // This is the type that will ultimatively be used to
+            // This is the type that will cd ultimatively be used to
             // expose this data type to the user.
             typedef T Out;
 
@@ -1001,26 +998,20 @@ namespace STEP {
             refs.insert(std::make_pair(who,by_whom));
         }
 
-
-
     private:
-
         HeaderInfo header;
         ObjectMap objects;
         ObjectMapByType objects_bytype;
         RefMap refs;
         InverseWhitelist inv_whitelist;
-
         std::shared_ptr<StreamReaderLE> reader;
         LineSplitter splitter;
-
         uint64_t evaluated_count;
-
         const EXPRESS::ConversionSchema* schema;
     };
 
 }
 
-
 } // end Assimp
-#endif
+
+#endif // INCLUDED_AI_STEPFILE_H

+ 2 - 1
code/StringUtils.h

@@ -43,6 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <cstdarg>
 #include <string.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <sstream>
 #include <string>
 
@@ -103,7 +104,7 @@ float ai_strtof( const char *begin, const char *end ) {
         std::string token( begin, len );
         val = static_cast< float >( ::atof( token.c_str() ) );
     }
-    
+
     return val;
 }
 

+ 1 - 0
code/X3DExporter.cpp

@@ -10,6 +10,7 @@
 
 // Header files, Assimp.
 #include "Exceptional.h"
+#include "StringUtils.h"
 #include <assimp/Exporter.hpp>
 #include <assimp/IOSystem.hpp>
 

+ 75 - 50
code/X3DImporter.cpp

@@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "X3DImporter.hpp"
 #include "X3DImporter_Macro.hpp"
+#include "StringUtils.h"
 
 // Header files, Assimp.
 #include "DefaultIOSystem.h"
@@ -55,11 +56,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <memory>
 #include <string>
 
-namespace Assimp
-{
+namespace Assimp {
 
 /// \var aiImporterDesc X3DImporter::Description
-/// Conastant which hold importer description
+/// Constant which holds the importer description
 const aiImporterDesc X3DImporter::Description = {
 	"Extensible 3D(X3D) Importer",
 	"smalcom",
@@ -87,7 +87,7 @@ void X3DImporter::Clear()
 
 X3DImporter::~X3DImporter()
 {
-	if(mReader != nullptr) delete mReader;
+    delete mReader;
 	// Clear() is accounting if data already is deleted. So, just check again if all data is deleted.
 	Clear();
 }
@@ -114,13 +114,16 @@ bool X3DImporter::FindNodeElement_FromRoot(const std::string& pID, const CX3DImp
 bool X3DImporter::FindNodeElement_FromNode(CX3DImporter_NodeElement* pStartNode, const std::string& pID,
 													const CX3DImporter_NodeElement::EType pType, CX3DImporter_NodeElement** pElement)
 {
-bool found = false;// flag: true - if requested element is found.
+    bool found = false;// flag: true - if requested element is found.
 
 	// Check if pStartNode - this is the element, we are looking for.
 	if((pStartNode->Type == pType) && (pStartNode->ID == pID))
 	{
 		found = true;
-		if(pElement != nullptr) *pElement = pStartNode;
+        if ( pElement != nullptr )
+        {
+            *pElement = pStartNode;
+        }
 
 		goto fne_fn_end;
 	}// if((pStartNode->Type() == pType) && (pStartNode->ID() == pID))
@@ -129,7 +132,10 @@ bool found = false;// flag: true - if requested element is found.
 	for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = pStartNode->Child.begin(); ch_it != pStartNode->Child.end(); ch_it++)
 	{
 		found = FindNodeElement_FromNode(*ch_it, pID, pType, pElement);
-		if(found) break;
+        if ( found )
+        {
+            break;
+        }
 	}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = it->Child.begin(); ch_it != it->Child.end(); ch_it++)
 
 fne_fn_end:
@@ -150,7 +156,6 @@ bool X3DImporter::FindNodeElement(const std::string& pID, const CX3DImporter_Nod
 			if(((CX3DImporter_NodeElement_Group*)tnd)->Static)
 			{
 				static_search = true;// Flag found, stop walking up. Node with static flag will holded in tnd variable.
-
 				break;
 			}
 		}
@@ -159,10 +164,14 @@ bool X3DImporter::FindNodeElement(const std::string& pID, const CX3DImporter_Nod
     }// while(tnd != nullptr)
 
     // at now call appropriate search function.
-    if(static_search)
-		return FindNodeElement_FromNode(tnd, pID, pType, pElement);
-	else
-		return FindNodeElement_FromRoot(pID, pType, pElement);
+    if ( static_search )
+    {
+        return FindNodeElement_FromNode( tnd, pID, pType, pElement );
+    }
+    else
+    {
+        return FindNodeElement_FromRoot( pID, pType, pElement );
+    }
 }
 
 /*********************************************************************************************************************************************/
@@ -775,7 +784,7 @@ void X3DImporter::XML_ReadNode_GetAttrVal_AsListS(const int pAttrIdx, std::list<
 
 aiVector3D X3DImporter::GeometryHelper_Make_Point2D(const float pAngle, const float pRadius)
 {
-	return aiVector3D(pRadius * cosf(pAngle), pRadius * sinf(pAngle), 0);
+	return aiVector3D(pRadius * std::cos(pAngle), pRadius * std::sin(pAngle), 0);
 }
 
 void X3DImporter::GeometryHelper_Make_Arc2D(const float pStartAngle, const float pEndAngle, const float pRadius, size_t pNumSegments,
@@ -786,7 +795,7 @@ void X3DImporter::GeometryHelper_Make_Arc2D(const float pStartAngle, const float
     {
         Throw_ArgOutOfRange( "GeometryHelper_Make_Arc2D.pStartAngle" );
     }
-    if ( ( pEndAngle < -AI_MATH_TWO_PI_F ) || ( pEndAngle > AI_MATH_TWO_PI_F ) ) 
+    if ( ( pEndAngle < -AI_MATH_TWO_PI_F ) || ( pEndAngle > AI_MATH_TWO_PI_F ) )
     {
         Throw_ArgOutOfRange( "GeometryHelper_Make_Arc2D.pEndAngle" );
     }
@@ -796,7 +805,7 @@ void X3DImporter::GeometryHelper_Make_Arc2D(const float pStartAngle, const float
     }
 
 	// calculate arc angle and check type of arc
-	float angle_full = fabs(pEndAngle - pStartAngle);
+	float angle_full = std::fabs(pEndAngle - pStartAngle);
     if ( ( angle_full > AI_MATH_TWO_PI_F ) || ( angle_full == 0.0f ) )
     {
         angle_full = AI_MATH_TWO_PI_F;
@@ -968,8 +977,8 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<aiColor4D
 	{
 		if(pColors.size() < pMesh.mNumVertices)
 		{
-			throw DeadlyImportError("MeshGeometry_AddColor1. Colors count(" + std::to_string(pColors.size()) + ") can not be less than Vertices count(" +
-									std::to_string(pMesh.mNumVertices) +  ").");
+			throw DeadlyImportError("MeshGeometry_AddColor1. Colors count(" + to_string(pColors.size()) + ") can not be less than Vertices count(" +
+									to_string(pMesh.mNumVertices) +  ").");
 		}
 
 		// copy colors to mesh
@@ -980,8 +989,8 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<aiColor4D
 	{
 		if(pColors.size() < pMesh.mNumFaces)
 		{
-			throw DeadlyImportError("MeshGeometry_AddColor1. Colors count(" + std::to_string(pColors.size()) + ") can not be less than Faces count(" +
-									std::to_string(pMesh.mNumFaces) +  ").");
+			throw DeadlyImportError("MeshGeometry_AddColor1. Colors count(" + to_string(pColors.size()) + ") can not be less than Faces count(" +
+									to_string(pMesh.mNumFaces) +  ").");
 		}
 
 		// copy colors to mesh
@@ -989,7 +998,10 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<aiColor4D
 		for(size_t fi = 0; fi < pMesh.mNumFaces; fi++)
 		{
 			// apply color to all vertices of face
-			for(size_t vi = 0, vi_e = pMesh.mFaces[fi].mNumIndices; vi < vi_e; vi++) pMesh.mColors[0][pMesh.mFaces[fi].mIndices[vi]] = *col_it;
+            for ( size_t vi = 0, vi_e = pMesh.mFaces[ fi ].mNumIndices; vi < vi_e; vi++ )
+            {
+                pMesh.mColors[ 0 ][ pMesh.mFaces[ fi ].mIndices[ vi ] ] = *col_it;
+            }
 
 			col_it++;
 		}
@@ -1037,16 +1049,25 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<int32_t>&
 			// check indices array count.
 			if(pColorIdx.size() < pCoordIdx.size())
 			{
-				throw DeadlyImportError("MeshGeometry_AddColor2. Colors indices count(" + std::to_string(pColorIdx.size()) +
-										") can not be less than Coords inidces count(" + std::to_string(pCoordIdx.size()) +  ").");
+				throw DeadlyImportError("MeshGeometry_AddColor2. Colors indices count(" + to_string(pColorIdx.size()) +
+										") can not be less than Coords inidces count(" + to_string(pCoordIdx.size()) +  ").");
 			}
 			// create list with colors for every vertex.
 			col_tgt_arr.resize(pMesh.mNumVertices);
 			for(std::list<int32_t>::const_iterator colidx_it = pColorIdx.begin(), coordidx_it = pCoordIdx.begin(); colidx_it != pColorIdx.end(); colidx_it++, coordidx_it++)
 			{
-				if(*colidx_it == (-1)) continue;// skip faces delimiter
-				if((unsigned int)(*coordidx_it) > pMesh.mNumVertices) throw DeadlyImportError("MeshGeometry_AddColor2. Coordinate idx is out of range.");
-				if((unsigned int)*colidx_it > pMesh.mNumVertices) throw DeadlyImportError("MeshGeometry_AddColor2. Color idx is out of range.");
+                if ( *colidx_it == ( -1 ) )
+                {
+                    continue;// skip faces delimiter
+                }
+                if ( ( unsigned int ) ( *coordidx_it ) > pMesh.mNumVertices )
+                {
+                    throw DeadlyImportError( "MeshGeometry_AddColor2. Coordinate idx is out of range." );
+                }
+                if ( ( unsigned int ) *colidx_it > pMesh.mNumVertices )
+                {
+                    throw DeadlyImportError( "MeshGeometry_AddColor2. Color idx is out of range." );
+                }
 
 				col_tgt_arr[*coordidx_it] = col_arr_copy[*colidx_it];
 			}
@@ -1057,12 +1078,15 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<int32_t>&
 			// check indices array count.
 			if(pColors.size() < pMesh.mNumVertices)
 			{
-				throw DeadlyImportError("MeshGeometry_AddColor2. Colors count(" + std::to_string(pColors.size()) + ") can not be less than Vertices count(" +
-										std::to_string(pMesh.mNumVertices) +  ").");
+				throw DeadlyImportError("MeshGeometry_AddColor2. Colors count(" + to_string(pColors.size()) + ") can not be less than Vertices count(" +
+										to_string(pMesh.mNumVertices) +  ").");
 			}
 			// create list with colors for every vertex.
 			col_tgt_arr.resize(pMesh.mNumVertices);
-			for(size_t i = 0; i < pMesh.mNumVertices; i++) col_tgt_arr[i] = col_arr_copy[i];
+            for ( size_t i = 0; i < pMesh.mNumVertices; i++ )
+            {
+                col_tgt_arr[ i ] = col_arr_copy[ i ];
+            }
 		}// if(pColorIdx.size() > 0) else
 	}// if(pColorPerVertex)
 	else
@@ -1072,8 +1096,8 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<int32_t>&
 			// check indices array count.
 			if(pColorIdx.size() < pMesh.mNumFaces)
 			{
-				throw DeadlyImportError("MeshGeometry_AddColor2. Colors indices count(" + std::to_string(pColorIdx.size()) +
-										") can not be less than Faces count(" + std::to_string(pMesh.mNumFaces) +  ").");
+				throw DeadlyImportError("MeshGeometry_AddColor2. Colors indices count(" + to_string(pColorIdx.size()) +
+										") can not be less than Faces count(" + to_string(pMesh.mNumFaces) +  ").");
 			}
 			// create list with colors for every vertex using faces indices.
 			col_tgt_arr.resize(pMesh.mNumFaces);
@@ -1092,8 +1116,8 @@ void X3DImporter::MeshGeometry_AddColor(aiMesh& pMesh, const std::list<int32_t>&
 			// check indices array count.
 			if(pColors.size() < pMesh.mNumFaces)
 			{
-				throw DeadlyImportError("MeshGeometry_AddColor2. Colors count(" + std::to_string(pColors.size()) + ") can not be less than Faces count(" +
-										std::to_string(pMesh.mNumFaces) +  ").");
+				throw DeadlyImportError("MeshGeometry_AddColor2. Colors count(" + to_string(pColors.size()) + ") can not be less than Faces count(" +
+										to_string(pMesh.mNumFaces) +  ").");
 			}
 			// create list with colors for every vertex using faces indices.
 			col_tgt_arr.resize(pMesh.mNumFaces);
@@ -1148,8 +1172,8 @@ void X3DImporter::MeshGeometry_AddNormal(aiMesh& pMesh, const std::list<int32_t>
 		for(size_t i = 0; (i < pMesh.mNumVertices) && (i < tind.size()); i++)
 		{
 			if(tind[i] >= norm_arr_copy.size())
-				throw DeadlyImportError("MeshGeometry_AddNormal. Normal index(" + std::to_string(tind[i]) +
-										") is out of range. Normals count: " + std::to_string(norm_arr_copy.size()) + ".");
+				throw DeadlyImportError("MeshGeometry_AddNormal. Normal index(" + to_string(tind[i]) +
+										") is out of range. Normals count: " + to_string(norm_arr_copy.size()) + ".");
 
 			pMesh.mNormals[i] = norm_arr_copy[tind[i]];
 		}
@@ -1249,7 +1273,7 @@ void X3DImporter::MeshGeometry_AddTexCoord(aiMesh& pMesh, const std::list<int32_
 	for(size_t fi = 0, fi_e = faces.size(); fi < fi_e; fi++)
 	{
 		if(pMesh.mFaces[fi].mNumIndices != faces.at(fi).mNumIndices)
-			throw DeadlyImportError("Number of indices in texture face and mesh face must be equal. Invalid face index: " + std::to_string(fi) + ".");
+			throw DeadlyImportError("Number of indices in texture face and mesh face must be equal. Invalid face index: " + to_string(fi) + ".");
 
 		for(size_t ii = 0; ii < pMesh.mFaces[fi].mNumIndices; ii++)
 		{
@@ -1288,10 +1312,8 @@ void X3DImporter::MeshGeometry_AddTexCoord(aiMesh& pMesh, const std::list<aiVect
 
 aiMesh* X3DImporter::GeometryHelper_MakeMesh(const std::list<int32_t>& pCoordIdx, const std::list<aiVector3D>& pVertices) const
 {
-    aiMesh* tmesh( nullptr );
     std::vector<aiFace> faces;
     unsigned int prim_type = 0;
-    size_t ts;
 
 	// create faces array from input string with vertices indices.
 	GeometryHelper_CoordIdxStr2FacesArr(pCoordIdx, faces, prim_type);
@@ -1303,8 +1325,8 @@ aiMesh* X3DImporter::GeometryHelper_MakeMesh(const std::list<int32_t>& pCoordIdx
 	//
 	// Create new mesh and copy geometry data.
 	//
-	tmesh = new aiMesh;
-	ts = faces.size();
+    aiMesh *tmesh = new aiMesh;
+    size_t ts = faces.size();
 	// faces
 	tmesh->mFaces = new aiFace[ts];
 	tmesh->mNumFaces = ts;
@@ -1457,7 +1479,7 @@ void X3DImporter::ParseNode_Head()
 			{
 				XML_CheckNode_MustBeEmpty();
 
-				// adding metada from <head> as MetaString from <Scene>
+				// adding metadata from <head> as MetaString from <Scene>
 				CX3DImporter_NodeElement_MetaString* ms = new CX3DImporter_NodeElement_MetaString(NodeElement_Cur);
 
 				ms->Name = mReader->getAttributeValueSafe("name");
@@ -1466,8 +1488,10 @@ void X3DImporter::ParseNode_Head()
 				{
 					ms->Value.push_back(mReader->getAttributeValueSafe("content"));
 					NodeElement_List.push_back(ms);
-					if(NodeElement_Cur != nullptr) NodeElement_Cur->Child.push_back(ms);
-
+                    if ( NodeElement_Cur != nullptr )
+                    {
+                        NodeElement_Cur->Child.push_back( ms );
+                    }
 				}
 			}// if(XML_CheckNode_NameEqual("meta"))
 		}// if(mReader->getNodeType() == irr::io::EXN_ELEMENT)
@@ -1476,14 +1500,15 @@ void X3DImporter::ParseNode_Head()
 			if(XML_CheckNode_NameEqual("head"))
 			{
 				close_found = true;
-
 				break;
 			}
 		}// if(mReader->getNodeType() == irr::io::EXN_ELEMENT) else
 	}// while(mReader->read())
 
-	if(!close_found) Throw_CloseNotFound("head");
-
+    if ( !close_found )
+    {
+        Throw_CloseNotFound( "head" );
+    }
 }
 
 void X3DImporter::ParseNode_Scene()
@@ -1501,10 +1526,10 @@ auto GroupCounter_Decrease = [&](size_t& pCounter, const char* pGroupName) -> vo
 	pCounter--;
 };
 
-const char* GroupName_Group = "Group";
-const char* GroupName_StaticGroup = "StaticGroup";
-const char* GroupName_Transform = "Transform";
-const char* GroupName_Switch = "Switch";
+static const char* GroupName_Group = "Group";
+static const char* GroupName_StaticGroup = "StaticGroup";
+static const char* GroupName_Transform = "Transform";
+static const char* GroupName_Switch = "Switch";
 
 bool close_found = false;
 size_t counter_group = 0;
@@ -1550,7 +1575,7 @@ size_t counter_switch = 0;
 				if(mReader->isEmptyElement()) GroupCounter_Decrease(counter_switch, GroupName_Switch);
 			}
 			else if(XML_CheckNode_NameEqual("DirectionalLight"))
-			{
+		{
 				ParseNode_Lighting_DirectionalLight();
 			}
 			else if(XML_CheckNode_NameEqual("PointLight"))

+ 1 - 1
code/X3DImporter_Geometry2D.cpp

@@ -157,7 +157,7 @@ void X3DImporter::ParseNode_Geometry2D_ArcClose2D()
 		// create point list of geometry object.
 		GeometryHelper_Make_Arc2D(startAngle, endAngle, radius, 10, ((CX3DImporter_NodeElement_Geometry2D*)ne)->Vertices);///TODO: IME - AI_CONFIG for NumSeg
 		// add chord or two radiuses only if not a circle was defined
-		if(!((fabs(endAngle - startAngle) >= AI_MATH_TWO_PI_F) || (endAngle == startAngle)))
+		if(!((std::fabs(endAngle - startAngle) >= AI_MATH_TWO_PI_F) || (endAngle == startAngle)))
 		{
 			std::list<aiVector3D>& vlist = ((CX3DImporter_NodeElement_Geometry2D*)ne)->Vertices;// just short alias.
 

+ 5 - 5
code/X3DImporter_Light.cpp

@@ -46,9 +46,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "X3DImporter.hpp"
 #include "X3DImporter_Macro.hpp"
+#include "StringUtils.h"
 
-namespace Assimp
-{
+namespace Assimp {
 
 // <DirectionalLight
 // DEF=""               ID
@@ -95,7 +95,7 @@ void X3DImporter::ParseNode_Lighting_DirectionalLight()
 			if(!def.empty())
 				ne->ID = def;
 			else
-				ne->ID = "DirectionalLight_" + std::to_string((size_t)ne);// make random name
+				ne->ID = "DirectionalLight_" + to_string((size_t)ne);// make random name
 
 			((CX3DImporter_NodeElement_Light*)ne)->AmbientIntensity = ambientIntensity;
 			((CX3DImporter_NodeElement_Light*)ne)->Color = color;
@@ -178,7 +178,7 @@ void X3DImporter::ParseNode_Lighting_PointLight()
 			// Assimp want a node with name similar to a light. "Why? I don't no." )
 			ParseHelper_Group_Begin(false);
 			// make random name
-			if(ne->ID.empty()) ne->ID = "PointLight_" + std::to_string((size_t)ne);
+			if(ne->ID.empty()) ne->ID = "PointLight_" + to_string((size_t)ne);
 
 			NodeElement_Cur->ID = ne->ID;// assign name to node and return to light element.
 			ParseHelper_Node_Exit();
@@ -268,7 +268,7 @@ void X3DImporter::ParseNode_Lighting_SpotLight()
 			// Assimp want a node with name similar to a light. "Why? I don't no." )
 			ParseHelper_Group_Begin(false);
 			// make random name
-			if(ne->ID.empty()) ne->ID = "SpotLight_" + std::to_string((size_t)ne);
+			if(ne->ID.empty()) ne->ID = "SpotLight_" + to_string((size_t)ne);
 
 			NodeElement_Cur->ID = ne->ID;// assign name to node and return to light element.
 			ParseHelper_Node_Exit();

+ 13 - 12
code/X3DImporter_Postprocess.cpp

@@ -48,6 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 // Header files, Assimp.
 #include "StandardShapes.h"
+#include "StringUtils.h"
 
 // Header files, stdlib.
 #include <algorithm>
@@ -174,7 +175,7 @@ void X3DImporter::Postprocess_BuildLight(const CX3DImporter_NodeElement& pNodeEl
 
 			break;
 		default:
-			throw DeadlyImportError("Postprocess_BuildLight. Unknown type of light: " + std::to_string(pNodeElement.Type) + ".");
+			throw DeadlyImportError("Postprocess_BuildLight. Unknown type of light: " + to_string(pNodeElement.Type) + ".");
 	}
 
 	pSceneLightList.push_back(new_light);
@@ -296,7 +297,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_TextureCoordinate)
 				MeshGeometry_AddTexCoord(**pMesh, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of ElevationGrid: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of ElevationGrid: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -333,7 +334,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_TextureCoordinate)
 				MeshGeometry_AddTexCoord(**pMesh, tnemesh.CoordIndex, tnemesh.TexCoordIndex, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of IndexedFaceSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of IndexedFaceSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -363,7 +364,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_Coordinate)
 				{} // skip because already read when mesh created.
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of IndexedLineSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of IndexedLineSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -401,7 +402,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 				MeshGeometry_AddTexCoord(**pMesh, tnemesh.CoordIndex, tnemesh.TexCoordIndex, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
 				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of IndexedTriangleSet or IndexedTriangleFanSet, or \
-																	IndexedTriangleStripSet: " + std::to_string((*ch_it)->Type) + ".");
+																	IndexedTriangleStripSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -451,7 +452,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_Coordinate)
 				{} // skip because already read when mesh created.
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of PointSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of PointSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -480,7 +481,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_Coordinate)
 				{} // skip because already read when mesh created.
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of LineSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of LineSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -514,7 +515,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_TextureCoordinate)
 				MeshGeometry_AddTexCoord(**pMesh, tnemesh.CoordIndex, tnemesh.TexCoordIndex, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TrianlgeFanSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TrianlgeFanSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -557,7 +558,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_TextureCoordinate)
 				MeshGeometry_AddTexCoord(**pMesh, tnemesh.CoordIndex, tnemesh.TexCoordIndex, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TrianlgeSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TrianlgeSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
@@ -591,13 +592,13 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
 			else if((*ch_it)->Type == CX3DImporter_NodeElement::ENET_TextureCoordinate)
 				MeshGeometry_AddTexCoord(**pMesh, tnemesh.CoordIndex, tnemesh.TexCoordIndex, ((CX3DImporter_NodeElement_TextureCoordinate*)*ch_it)->Value);
 			else
-				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TriangleStripSet: " + std::to_string((*ch_it)->Type) + ".");
+				throw DeadlyImportError("Postprocess_BuildMesh. Unknown child of TriangleStripSet: " + to_string((*ch_it)->Type) + ".");
 		}// for(std::list<CX3DImporter_NodeElement*>::iterator ch_it = tnemesh.Child.begin(); ch_it != tnemesh.Child.end(); ch_it++)
 
 		return;// mesh is build, nothing to do anymore.
 	}// if(pNodeElement.Type == CX3DImporter_NodeElement::ENET_TriangleStripSet)
 
-	throw DeadlyImportError("Postprocess_BuildMesh. Unknown mesh type: " + std::to_string(pNodeElement.Type) + ".");
+	throw DeadlyImportError("Postprocess_BuildMesh. Unknown mesh type: " + to_string(pNodeElement.Type) + ".");
 }
 
 void X3DImporter::Postprocess_BuildNode(const CX3DImporter_NodeElement& pNodeElement, aiNode& pSceneNode, std::list<aiMesh*>& pSceneMeshList,
@@ -659,7 +660,7 @@ void X3DImporter::Postprocess_BuildNode(const CX3DImporter_NodeElement& pNodeEle
 		}
 		else if(!PostprocessHelper_ElementIsMetadata((*it)->Type))// skip metadata
 		{
-			throw DeadlyImportError("Postprocess_BuildNode. Unknown type: " + std::to_string((*it)->Type) + ".");
+			throw DeadlyImportError("Postprocess_BuildNode. Unknown type: " + to_string((*it)->Type) + ".");
 		}
 	}// for(std::list<CX3DImporter_NodeElement*>::const_iterator it = chit_begin; it != chit_end; it++)
 

+ 1 - 1
code/XFileParser.cpp

@@ -731,7 +731,7 @@ void XFileParser::ParseDataObjectMaterial( Material* pMaterial)
     std::string matName;
     readHeadOfDataObject( &matName);
     if( matName.empty())
-        matName = std::string( "material") + std::to_string( mLineNumber );
+        matName = std::string( "material") + to_string( mLineNumber );
     pMaterial->mName = matName;
     pMaterial->mIsReference = false;
 

+ 1 - 1
code/XGLLoader.cpp

@@ -501,7 +501,7 @@ aiMatrix4x4 XGLImporter::ReadTrafo()
     up.Normalize();
 
     right = forward ^ up;
-    if (fabs(up * forward) > 1e-4) {
+    if (std::fabs(up * forward) > 1e-4) {
         // this is definitely wrong - a degenerate coordinate space ruins everything
         // so subtitute identity transform.
         LogError("<forward> and <up> vectors in <transform> are skewing, ignoring trafo");

+ 3 - 1
code/glTFAsset.h

@@ -811,6 +811,8 @@ namespace glTF
         Ref<Skin>  skin;                          //!< The ID of the skin referenced by this node.
         std::string jointName;                    //!< Name used when this node is a joint in a skin.
 
+        Ref<Node> parent;                         //!< This is not part of the glTF specification. Used as a helper.
+
         Node() {}
         void Read(Value& obj, Asset& r);
     };
@@ -852,7 +854,7 @@ namespace glTF
     {
         Nullable<mat4> bindShapeMatrix;       //!< Floating-point 4x4 transformation matrix stored in column-major order.
         Ref<Accessor> inverseBindMatrices;    //!< The ID of the accessor containing the floating-point 4x4 inverse-bind matrices.
-        std::vector<std::string/*Ref<Node>*/> jointNames;    //!< Joint names of the joints (nodes with a jointName property) in this skin.
+        std::vector<Ref<Node>> jointNames;    //!< Joint names of the joints (nodes with a jointName property) in this skin.
         std::string name;                     //!< The user-defined name of this object.
 
         Skin() {}

+ 10 - 13
code/glTFAsset.inl

@@ -292,14 +292,14 @@ inline void Buffer::Read(Value& obj, Asset& r)
             this->mData.reset(data);
 
             if (statedLength > 0 && this->byteLength != statedLength) {
-                throw DeadlyImportError("GLTF: buffer \"" + id + "\", expected " + std::to_string(statedLength) +
-                    " bytes, but found " + std::to_string(dataURI.dataLength));
+                throw DeadlyImportError("GLTF: buffer \"" + id + "\", expected " + to_string(statedLength) +
+                    " bytes, but found " + to_string(dataURI.dataLength));
             }
         }
         else { // assume raw data
             if (statedLength != dataURI.dataLength) {
-                throw DeadlyImportError("GLTF: buffer \"" + id + "\", expected " + std::to_string(statedLength) +
-                                        " bytes, but found " + std::to_string(dataURI.dataLength));
+                throw DeadlyImportError("GLTF: buffer \"" + id + "\", expected " + to_string(statedLength) +
+                                        " bytes, but found " + to_string(dataURI.dataLength));
             }
 
             this->mData.reset(new uint8_t[dataURI.dataLength]);
@@ -991,7 +991,7 @@ Ref<Buffer> buf = pAsset_Root.buffers.Get(pCompression_Open3DGC.Buffer);
 
 				break;
 			default:
-				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of float attribute: " + std::to_string(ifs.GetFloatAttributeType(idx)));
+				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of float attribute: " + to_string(ifs.GetFloatAttributeType(idx)));
 		}
 
 		tval *=  ifs.GetFloatAttributeDim(idx) * sizeof(o3dgc::Real);// After checking count of objects we can get size of array.
@@ -1003,11 +1003,10 @@ Ref<Buffer> buf = pAsset_Root.buffers.Get(pCompression_Open3DGC.Buffer);
 	{
 		// size = number_of_elements * components_per_element * size_of_component. See float attributes note.
 		size_t tval = ifs.GetNIntAttribute(idx);
-
-		switch(ifs.GetIntAttributeType(idx))
+		switch( ifs.GetIntAttributeType( idx ) )
 		{
 			default:
-				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of int attribute: " + std::to_string(ifs.GetIntAttributeType(idx)));
+				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of int attribute: " + to_string(ifs.GetIntAttributeType(idx)));
 		}
 
 		tval *= ifs.GetIntAttributeDim(idx) * sizeof(long);// See float attributes note.
@@ -1046,7 +1045,7 @@ Ref<Buffer> buf = pAsset_Root.buffers.Get(pCompression_Open3DGC.Buffer);
 
 				break;
 			default:
-				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of float attribute: " + std::to_string(ifs.GetFloatAttributeType(idx)));
+				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of float attribute: " + to_string(ifs.GetFloatAttributeType(idx)));
 		}
 	}
 
@@ -1056,7 +1055,7 @@ Ref<Buffer> buf = pAsset_Root.buffers.Get(pCompression_Open3DGC.Buffer);
 		{
 			// ifs.SetIntAttribute(idx, (long* const)(decoded_data + get_buf_offset(primitives[0].attributes.joint)));
 			default:
-				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of int attribute: " + std::to_string(ifs.GetIntAttributeType(idx)));
+				throw DeadlyImportError("GLTF: Open3DGC. Unsupported type of int attribute: " + to_string(ifs.GetIntAttributeType(idx)));
 		}
 	}
 
@@ -1621,6 +1620,4 @@ namespace Util {
 
 }
 
-}
-
-
+} // ns glTF

+ 2 - 2
code/glTFAssetWriter.inl

@@ -65,7 +65,7 @@ namespace glTF {
         inline Value& MakeValue(Value& val, const std::vector<float> & r, MemoryPoolAllocator<>& al) {
             val.SetArray();
             val.Reserve(r.size(), al);
-            for (int i = 0; i < r.size(); ++i) {
+            for (unsigned int i = 0; i < r.size(); ++i) {
                 val.PushBack(r[i], al);
             }
             return val;
@@ -436,7 +436,7 @@ namespace glTF {
         vJointNames.Reserve(unsigned(b.jointNames.size()), w.mAl);
 
         for (size_t i = 0; i < unsigned(b.jointNames.size()); ++i) {
-            vJointNames.PushBack(StringRef(b.jointNames[i]), w.mAl);
+            vJointNames.PushBack(StringRef(b.jointNames[i]->jointName), w.mAl);
         }
         obj.AddMember("jointNames", vJointNames, w.mAl);
 

+ 196 - 63
code/glTFExporter.cpp

@@ -132,7 +132,7 @@ glTFExporter::glTFExporter(const char* filename, IOSystem* pIOSystem, const aiSc
     ExportMaterials();
 
     if (mScene->mRootNode) {
-        ExportNode(mScene->mRootNode);
+        ExportNodeHierarchy(mScene->mRootNode);
     }
 
     ExportMeshes();
@@ -152,7 +152,10 @@ glTFExporter::glTFExporter(const char* filename, IOSystem* pIOSystem, const aiSc
     }
 }
 
-
+/*
+ * Copy a 4x4 matrix from struct aiMatrix to typedef mat4.
+ * Also converts from row-major to column-major storage.
+ */
 static void CopyValue(const aiMatrix4x4& v, glTF::mat4& o)
 {
     o[ 0] = v.a1; o[ 1] = v.b1; o[ 2] = v.c1; o[ 3] = v.d1;
@@ -161,6 +164,14 @@ static void CopyValue(const aiMatrix4x4& v, glTF::mat4& o)
     o[12] = v.a4; o[13] = v.b4; o[14] = v.c4; o[15] = v.d4;
 }
 
+static void CopyValue(const aiMatrix4x4& v, aiMatrix4x4& o)
+{
+    o.a1 = v.a1; o.a2 = v.a2; o.a3 = v.a3; o.a4 = v.a4;
+    o.b1 = v.b1; o.b2 = v.b2; o.b3 = v.b3; o.b4 = v.b4;
+    o.c1 = v.c1; o.c2 = v.c2; o.c3 = v.c3; o.c4 = v.c4;
+    o.d1 = v.d1; o.d2 = v.d2; o.d3 = v.d3; o.d4 = v.d4;
+}
+
 static void IdentityMatrix4(glTF::mat4& o)
 {
     o[ 0] = 1; o[ 1] = 0; o[ 2] = 0; o[ 3] = 0;
@@ -201,31 +212,30 @@ inline Ref<Accessor> ExportData(Asset& a, std::string& meshName, Ref<Buffer>& bu
     // calculate min and max values
     {
         // Allocate and initialize with large values.
-        float float_MAX = 10000000000000;
-        for (int i = 0 ; i < numCompsOut ; i++) {
+        float float_MAX = 10000000000000.0f;
+        for (unsigned int i = 0 ; i < numCompsOut ; i++) {
             acc->min.push_back( float_MAX);
             acc->max.push_back(-float_MAX);
         }
 
         // Search and set extreme values.
         float valueTmp;
-        for (int i = 0 ; i < count       ; i++) {
-        for (int j = 0 ; j < numCompsOut ; j++) {
-
-            if (numCompsOut == 1) {
-              valueTmp = static_cast<unsigned short*>(data)[i];
-            } else {
-              valueTmp = static_cast<aiVector3D*>(data)[i][j];
-            }
+        for (unsigned int i = 0 ; i < count       ; i++) {
+            for (unsigned int j = 0 ; j < numCompsOut ; j++) {
+                if (numCompsOut == 1) {
+                  valueTmp = static_cast<unsigned short*>(data)[i];
+                } else {
+                  valueTmp = static_cast<aiVector3D*>(data)[i][j];
+                }
 
-            if (valueTmp < acc->min[j]) {
-                acc->min[j] = valueTmp;
-            }
-            if (valueTmp > acc->max[j]) {
-                acc->max[j] = valueTmp;
+                if (valueTmp < acc->min[j]) {
+                    acc->min[j] = valueTmp;
+                }
+                if (valueTmp > acc->max[j]) {
+                    acc->max[j] = valueTmp;
+                }
             }
         }
-        }
     }
 
     // copy the data
@@ -364,20 +374,61 @@ void glTFExporter::ExportMaterials()
     }
 }
 
-void ExportSkin(Asset& mAsset, const aiMesh* aim, Ref<Mesh>& meshRef, Ref<Buffer>& bufferRef)
+/*
+ * Search through node hierarchy and find the node containing the given meshID.
+ * Returns true on success, and false otherwise.
+ */
+bool FindMeshNode(Ref<Node>& nodeIn, Ref<Node>& meshNode, std::string meshID)
 {
-    std::string skinName = aim->mName.C_Str();
-    skinName = mAsset.FindUniqueID(skinName, "skin");
-    Ref<Skin> skinRef = mAsset.skins.Create(skinName);
-    skinRef->name = skinName;
+    for (unsigned int i = 0; i < nodeIn->meshes.size(); ++i) {
+        if (meshID.compare(nodeIn->meshes[i]->id) == 0) {
+          meshNode = nodeIn;
+          return true;
+        }
+    }
+
+    for (unsigned int i = 0; i < nodeIn->children.size(); ++i) {
+        if(FindMeshNode(nodeIn->children[i], meshNode, meshID)) {
+          return true;
+        }
+    }
 
-    mat4* inverseBindMatricesData = new mat4[aim->mNumBones];
+    return false;
+}
+
+/*
+ * Find the root joint of the skeleton.
+ * Starts will any joint node and traces up the tree,
+ * until a parent is found that does not have a jointName.
+ * Returns the first parent Ref<Node> found that does not have a jointName.
+ */
+Ref<Node> FindSkeletonRootJoint(Ref<Skin>& skinRef)
+{
+    Ref<Node> startNodeRef;
+    Ref<Node> parentNodeRef;
+
+    // Arbitrarily use the first joint to start the search.
+    startNodeRef = skinRef->jointNames[0];
+    parentNodeRef = skinRef->jointNames[0];
+
+    do {
+        startNodeRef = parentNodeRef;
+        parentNodeRef = startNodeRef->parent;
+    } while (!parentNodeRef->jointName.empty());
+
+    return parentNodeRef;
+}
+
+void ExportSkin(Asset& mAsset, const aiMesh* aim, Ref<Mesh>& meshRef, Ref<Buffer>& bufferRef, Ref<Skin>& skinRef, std::vector<aiMatrix4x4>& inverseBindMatricesData)
+{
+    if (aim->mNumBones < 1) {
+        return;
+    }
 
-    //-------------------------------------------------------
     // Store the vertex joint and weight data.
     vec4* vertexJointData = new vec4[aim->mNumVertices];
     vec4* vertexWeightData = new vec4[aim->mNumVertices];
-    unsigned int* jointsPerVertex = new unsigned int[aim->mNumVertices];
+    int* jointsPerVertex = new int[aim->mNumVertices];
     for (size_t i = 0; i < aim->mNumVertices; ++i) {
         jointsPerVertex[i] = 0;
         for (size_t j = 0; j < 4; ++j) {
@@ -392,48 +443,49 @@ void ExportSkin(Asset& mAsset, const aiMesh* aim, Ref<Mesh>& meshRef, Ref<Buffer
         // aib->mName   =====>  skinRef->jointNames
         // Find the node with id = mName.
         Ref<Node> nodeRef = mAsset.nodes.Get(aib->mName.C_Str());
-        nodeRef->jointName = "joint_" + std::to_string(idx_bone);
-        skinRef->jointNames.push_back("joint_" + std::to_string(idx_bone));
+        nodeRef->jointName = nodeRef->id;
+
+        unsigned int jointNamesIndex;
+        bool addJointToJointNames = true;
+        for (int idx_joint = 0; idx_joint < skinRef->jointNames.size(); ++idx_joint) {
+            if (skinRef->jointNames[idx_joint]->jointName.compare(nodeRef->jointName) == 0) {
+                addJointToJointNames = false;
+                jointNamesIndex = idx_joint;
+            }
+        }
 
-        // Identity Matrix   =====>  skinRef->bindShapeMatrix
-        // Temporary. Hard-coded identity matrix here
-        skinRef->bindShapeMatrix.isPresent = true;
-        IdentityMatrix4(skinRef->bindShapeMatrix.value);
+        if (addJointToJointNames) {
+            skinRef->jointNames.push_back(nodeRef);
 
-        // aib->mOffsetMatrix   =====>  skinRef->inverseBindMatrices
-        CopyValue(aib->mOffsetMatrix, inverseBindMatricesData[idx_bone]);
+            // aib->mOffsetMatrix   =====>  skinRef->inverseBindMatrices
+            aiMatrix4x4 tmpMatrix4;
+            CopyValue(aib->mOffsetMatrix, tmpMatrix4);
+            inverseBindMatricesData.push_back(tmpMatrix4);
+            jointNamesIndex = inverseBindMatricesData.size() - 1;
+        }
 
         // aib->mWeights   =====>  vertexWeightData
         for (unsigned int idx_weights = 0; idx_weights < aib->mNumWeights; ++idx_weights) {
-            aiVertexWeight tmpVertWeight = aib->mWeights[idx_weights];
-            vertexJointData[tmpVertWeight.mVertexId][jointsPerVertex[tmpVertWeight.mVertexId]] = idx_bone;
-            vertexWeightData[tmpVertWeight.mVertexId][jointsPerVertex[tmpVertWeight.mVertexId]] = tmpVertWeight.mWeight;
+            unsigned int vertexId = aib->mWeights[idx_weights].mVertexId;
+            float vertWeight      = aib->mWeights[idx_weights].mWeight;
 
-            jointsPerVertex[tmpVertWeight.mVertexId] += 1;
-        }
+            // A vertex can only have at most four joint weights. Ignore all others.
+            if (jointsPerVertex[vertexId] > 3) { continue; }
 
-    } // End: for-loop mNumMeshes
+            vertexJointData[vertexId][jointsPerVertex[vertexId]] = jointNamesIndex;
+            vertexWeightData[vertexId][jointsPerVertex[vertexId]] = vertWeight;
 
-    // Create the Accessor for skinRef->inverseBindMatrices
-    Ref<Accessor> invBindMatrixAccessor = ExportData(mAsset, skinName, bufferRef, aim->mNumBones, inverseBindMatricesData, AttribType::MAT4, AttribType::MAT4, ComponentType_FLOAT);
-    if (invBindMatrixAccessor) skinRef->inverseBindMatrices = invBindMatrixAccessor;
+            jointsPerVertex[vertexId] += 1;
+        }
 
+    } // End: for-loop mNumMeshes
 
     Mesh::Primitive& p = meshRef->primitives.back();
-    Ref<Accessor> vertexJointAccessor = ExportData(mAsset, skinName, bufferRef, aim->mNumVertices, vertexJointData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
+    Ref<Accessor> vertexJointAccessor = ExportData(mAsset, skinRef->id, bufferRef, aim->mNumVertices, vertexJointData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
     if (vertexJointAccessor) p.attributes.joint.push_back(vertexJointAccessor);
 
-    Ref<Accessor> vertexWeightAccessor = ExportData(mAsset, skinName, bufferRef, aim->mNumVertices, vertexWeightData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
+    Ref<Accessor> vertexWeightAccessor = ExportData(mAsset, skinRef->id, bufferRef, aim->mNumVertices, vertexWeightData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
     if (vertexWeightAccessor) p.attributes.weight.push_back(vertexWeightAccessor);
-
-
-    // Create the skinned mesh instance node.
-    Ref<Node> node = mAsset.nodes.Create(mAsset.FindUniqueID(skinName, "node"));
-    // Ref<Node> node = mAsset.nodes.Get(aim->mBones[0]->mName.C_Str());
-    node->meshes.push_back(meshRef);
-    node->name = node->id;
-    node->skeletons.push_back(mAsset.nodes.Get(aim->mBones[0]->mName.C_Str()));
-    node->skin = skinRef;
 }
 
 void glTFExporter::ExportMeshes()
@@ -463,6 +515,26 @@ void glTFExporter::ExportMeshes()
        b = mAsset->buffers.Create(bufferId);
     }
 
+    //----------------------------------------
+    // Initialize variables for the skin
+    bool createSkin = false;
+    for (unsigned int idx_mesh = 0; idx_mesh < mScene->mNumMeshes; ++idx_mesh) {
+        const aiMesh* aim = mScene->mMeshes[idx_mesh];
+        if(aim->HasBones()) {
+            createSkin = true;
+            break;
+        }
+    }
+
+    Ref<Skin> skinRef;
+    std::string skinName = mAsset->FindUniqueID("skin", "skin");
+    std::vector<aiMatrix4x4> inverseBindMatricesData;
+    if(createSkin) {
+        skinRef = mAsset->skins.Create(skinName);
+        skinRef->name = skinName;
+    }
+    //----------------------------------------
+
 	for (unsigned int idx_mesh = 0; idx_mesh < mScene->mNumMeshes; ++idx_mesh) {
 		const aiMesh* aim = mScene->mMeshes[idx_mesh];
 
@@ -558,10 +630,9 @@ void glTFExporter::ExportMeshes()
         }
 
     /*************** Skins ****************/
-    ///TODO: Fix skinning animation
-    // if(aim->HasBones()) {
-    //     ExportSkin(*mAsset, aim, m, b);
-    // }
+    if(aim->HasBones()) {
+        ExportSkin(*mAsset, aim, m, b, skinRef, inverseBindMatricesData);
+    }
 
 		/****************** Compression ******************/
 		///TODO: animation: weights, joints.
@@ -655,9 +726,41 @@ void glTFExporter::ExportMeshes()
 #endif
 		}// if(comp_allow)
 	}// for (unsigned int i = 0; i < mScene->mNumMeshes; ++i)
+
+    //----------------------------------------
+    // Finish the skin
+    // Create the Accessor for skinRef->inverseBindMatrices
+    if (createSkin) {
+        mat4* invBindMatrixData = new mat4[inverseBindMatricesData.size()];
+        for (int idx_joint = 0; idx_joint < inverseBindMatricesData.size(); ++idx_joint) {
+            CopyValue(inverseBindMatricesData[idx_joint], invBindMatrixData[idx_joint]);
+        }
+
+        Ref<Accessor> invBindMatrixAccessor = ExportData(*mAsset, skinName, b, inverseBindMatricesData.size(), invBindMatrixData, AttribType::MAT4, AttribType::MAT4, ComponentType_FLOAT);
+        if (invBindMatrixAccessor) skinRef->inverseBindMatrices = invBindMatrixAccessor;
+
+        // Identity Matrix   =====>  skinRef->bindShapeMatrix
+        // Temporary. Hard-coded identity matrix here
+        skinRef->bindShapeMatrix.isPresent = true;
+        IdentityMatrix4(skinRef->bindShapeMatrix.value);
+
+        // Find node that contains this mesh and add "skeletons" and "skin" attributes to that node.
+        Ref<Node> rootNode = mAsset->nodes.Get(unsigned(0));
+        Ref<Node> meshNode;
+        std::string meshID = mAsset->meshes.Get(unsigned(0))->id;
+        FindMeshNode(rootNode, meshNode, meshID);
+
+        Ref<Node> rootJoint = FindSkeletonRootJoint(skinRef);
+        meshNode->skeletons.push_back(rootJoint);
+        meshNode->skin = skinRef;
+    }
 }
 
-unsigned int glTFExporter::ExportNode(const aiNode* n)
+/*
+ * Export the root node of the node hierarchy.
+ * Calls ExportNode for all children.
+ */
+unsigned int glTFExporter::ExportNodeHierarchy(const aiNode* n)
 {
     Ref<Node> node = mAsset->nodes.Create(mAsset->FindUniqueID(n->mName.C_Str(), "node"));
 
@@ -671,7 +774,34 @@ unsigned int glTFExporter::ExportNode(const aiNode* n)
     }
 
     for (unsigned int i = 0; i < n->mNumChildren; ++i) {
-        unsigned int idx = ExportNode(n->mChildren[i]);
+        unsigned int idx = ExportNode(n->mChildren[i], node);
+        node->children.push_back(mAsset->nodes.Get(idx));
+    }
+
+    return node.GetIndex();
+}
+
+/*
+ * Export node and recursively calls ExportNode for all children.
+ * Since these nodes are not the root node, we also export the parent Ref<Node>
+ */
+unsigned int glTFExporter::ExportNode(const aiNode* n, Ref<Node>& parent)
+{
+    Ref<Node> node = mAsset->nodes.Create(mAsset->FindUniqueID(n->mName.C_Str(), "node"));
+
+    node->parent = parent;
+
+    if (!n->mTransformation.IsIdentity()) {
+        node->matrix.isPresent = true;
+        CopyValue(n->mTransformation, node->matrix.value);
+    }
+
+    for (unsigned int i = 0; i < n->mNumMeshes; ++i) {
+        node->meshes.push_back(mAsset->meshes.Get(n->mMeshes[i]));
+    }
+
+    for (unsigned int i = 0; i < n->mNumChildren; ++i) {
+        unsigned int idx = ExportNode(n->mChildren[i], node);
         node->children.push_back(mAsset->nodes.Get(idx));
     }
 
@@ -753,9 +883,12 @@ inline void ExtractAnimationData(Asset& mAsset, std::string& animId, Ref<Animati
     //-------------------------------------------------------
     // Extract rotation parameter data
     if(nodeChannel->mNumRotationKeys > 0) {
-        C_STRUCT aiQuaternion* rotationData = new aiQuaternion[nodeChannel->mNumRotationKeys];
+        vec4* rotationData = new vec4[nodeChannel->mNumRotationKeys];
         for (size_t i = 0; i < nodeChannel->mNumRotationKeys; ++i) {
-            rotationData[i] = nodeChannel->mRotationKeys[i].mValue;
+            rotationData[i][0] = nodeChannel->mRotationKeys[i].mValue.x;
+            rotationData[i][1] = nodeChannel->mRotationKeys[i].mValue.y;
+            rotationData[i][2] = nodeChannel->mRotationKeys[i].mValue.z;
+            rotationData[i][3] = nodeChannel->mRotationKeys[i].mValue.w;
         }
 
         Ref<Accessor> rotAccessor = ExportData(mAsset, animId, buffer, nodeChannel->mNumRotationKeys, rotationData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
@@ -780,7 +913,7 @@ void glTFExporter::ExportAnimations()
 
             // It appears that assimp stores this type of animation as multiple animations.
             // where each aiNodeAnim in mChannels animates a specific node.
-            std::string name = nameAnim + "_" + std::to_string(channelIndex);
+            std::string name = nameAnim + "_" + to_string(channelIndex);
             name = mAsset->FindUniqueID(name, "animation");
             Ref<Animation> animRef = mAsset->animations.Create(name);
 

+ 6 - 1
code/glTFExporter.h

@@ -58,8 +58,12 @@ struct aiMaterial;
 
 namespace glTF
 {
+    template<class T>
+    class Ref;
+
     class Asset;
     struct TexProperty;
+    struct Node;
 }
 
 namespace Assimp
@@ -98,7 +102,8 @@ namespace Assimp
         void ExportMetadata();
         void ExportMaterials();
         void ExportMeshes();
-        unsigned int ExportNode(const aiNode* node);
+        unsigned int ExportNodeHierarchy(const aiNode* n);
+        unsigned int ExportNode(const aiNode* node, glTF::Ref<glTF::Node>& parent);
         void ExportScene();
         void ExportAnimations();
     };

+ 2 - 2
code/glTFImporter.cpp

@@ -41,8 +41,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER
 
 #include "glTFImporter.h"
-
 #include "StringComparison.h"
+#include "StringUtils.h"
 
 #include <assimp/Importer.hpp>
 #include <assimp/scene.h>
@@ -285,7 +285,7 @@ void glTFImporter::ImportMeshes(glTF::Asset& r)
 				else
 #endif
 				{
-					throw DeadlyImportError("GLTF: Can not import mesh: unknown mesh extension (code: \"" + std::to_string(cur_ext->Type) +
+					throw DeadlyImportError("GLTF: Can not import mesh: unknown mesh extension (code: \"" + to_string(cur_ext->Type) +
 											"\"), only Open3DGC is supported.");
 				}
 			}

+ 8 - 8
include/assimp/cfileio.h

@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #ifndef AI_FILEIO_H_INC
 #define AI_FILEIO_H_INC
 
-#include "types.h"
+#include <assimp/types.h>
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -54,15 +54,15 @@ struct aiFileIO;
 struct aiFile;
 
 // aiFile callbacks
-typedef size_t   (*aiFileWriteProc) (C_STRUCT aiFile*,   const char*, size_t, size_t);
-typedef size_t   (*aiFileReadProc)  (C_STRUCT aiFile*,   char*, size_t,size_t);
-typedef size_t   (*aiFileTellProc)  (C_STRUCT aiFile*);
-typedef void     (*aiFileFlushProc) (C_STRUCT aiFile*);
-typedef aiReturn (*aiFileSeek)(C_STRUCT aiFile*, size_t, aiOrigin);
+typedef size_t          (*aiFileWriteProc) (C_STRUCT aiFile*,   const char*, size_t, size_t);
+typedef size_t          (*aiFileReadProc)  (C_STRUCT aiFile*,   char*, size_t,size_t);
+typedef size_t          (*aiFileTellProc)  (C_STRUCT aiFile*);
+typedef void            (*aiFileFlushProc) (C_STRUCT aiFile*);
+typedef C_ENUM aiReturn (*aiFileSeek)      (C_STRUCT aiFile*, size_t, C_ENUM aiOrigin);
 
 // aiFileIO callbacks
-typedef aiFile* (*aiFileOpenProc)  (C_STRUCT aiFileIO*, const char*, const char*);
-typedef void    (*aiFileCloseProc) (C_STRUCT aiFileIO*, C_STRUCT aiFile*);
+typedef C_STRUCT aiFile* (*aiFileOpenProc)  (C_STRUCT aiFileIO*, const char*, const char*);
+typedef void             (*aiFileCloseProc) (C_STRUCT aiFileIO*, C_STRUCT aiFile*);
 
 // Represents user-defined data
 typedef char* aiUserData;

+ 9 - 9
include/assimp/matrix4x4.inl

@@ -367,21 +367,21 @@ inline void aiMatrix4x4t<TReal>::Decompose(aiVector3t<TReal>& pScaling, aiVector
 	// Use a small epsilon to solve floating-point inaccuracies
     const TReal epsilon = 10e-3f;
 
-	pRotation.y  = asin(vCols[2].x);// D. Angle around oY.
+	pRotation.y  = std::asin(vCols[2].x);// D. Angle around oY.
 
-	TReal C = cos(pRotation.y);
+	TReal C = std::cos(pRotation.y);
 
-	if(fabs(C) > epsilon)
+	if(std::fabs(C) > epsilon)
 	{
 		// Finding angle around oX.
 		TReal tan_x =  vCols[2].z / C;// A
 		TReal tan_y = -vCols[2].y / C;// B
 
-		pRotation.x = atan2(tan_y, tan_x);
+		pRotation.x = std::atan2(tan_y, tan_x);
 		// Finding angle around oZ.
 		tan_x =  vCols[0].x / C;// E
 		tan_y = -vCols[1].x / C;// F
-		pRotation.z = atan2(tan_y, tan_x);
+		pRotation.z = std::atan2(tan_y, tan_x);
 	}
 	else
 	{// oY is fixed.
@@ -391,7 +391,7 @@ inline void aiMatrix4x4t<TReal>::Decompose(aiVector3t<TReal>& pScaling, aiVector
 		TReal tan_x = vCols[1].y;// -BDF+AE => E
 		TReal tan_y = vCols[0].y;//  BDE+AF => F
 
-		pRotation.z = atan2(tan_y, tan_x);
+		pRotation.z = std::atan2(tan_y, tan_x);
 	}
 }
 
@@ -407,14 +407,14 @@ aiQuaterniont<TReal> pRotation;
 	pRotation.Normalize();
 
 	TReal angle_cos = pRotation.w;
-	TReal angle_sin = sqrt(1.0f - angle_cos * angle_cos);
+	TReal angle_sin = std::sqrt(1.0f - angle_cos * angle_cos);
 
-	pRotationAngle = acos(angle_cos) * 2;
+	pRotationAngle = std::acos(angle_cos) * 2;
 
 	// Use a small epsilon to solve floating-point inaccuracies
     const TReal epsilon = 10e-3f;
 
-	if(fabs(angle_sin) < epsilon) angle_sin = 1;
+	if(std::fabs(angle_sin) < epsilon) angle_sin = 1;
 
 	pRotationAxis.x = pRotation.x / angle_sin;
 	pRotationAxis.y = pRotation.y / angle_sin;

+ 0 - 1
include/assimp/types.h

@@ -48,7 +48,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 // Some runtime headers
 #include <sys/types.h>
-#include <math.h>
 #include <stddef.h>
 #include <string.h>
 #include <limits.h>

+ 6 - 5
tools/assimp_qt_viewer/CMakeLists.txt

@@ -3,12 +3,12 @@ set(PROJECT_VERSION "")
 
 cmake_minimum_required(VERSION 2.6)
 
-find_package(Qt4 REQUIRED)
+find_package(Qt5Widgets REQUIRED)
 find_package(DevIL REQUIRED)
 find_package(OpenGL REQUIRED)
 
 include_directories(
-	${QT_INCLUDES}
+	${Qt5Widgets_INCLUDES}
 	${Assimp_SOURCE_DIR}/include
 	${Assimp_SOURCE_DIR}/code
 	${CMAKE_CURRENT_BINARY_DIR}
@@ -21,15 +21,16 @@ link_directories(${Assimp_BINARY_DIR})
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pedantic -Wall")
 
 set(assimp_qt_viewer_SRCS main.cpp loggerview.cpp glview.cpp mainwindow.cpp)
-qt4_wrap_ui(UISrcs mainwindow.ui)
-qt4_wrap_cpp(MOCrcs mainwindow.hpp glview.hpp)
+qt5_wrap_ui(UISrcs mainwindow.ui)
+qt5_wrap_cpp(MOCrcs mainwindow.hpp glview.hpp)
 
 add_executable(${PROJECT_NAME} ${assimp_qt_viewer_SRCS} ${UISrcs} ${MOCrcs})
 target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${IL_LIBRARIES} ${OPENGL_LIBRARIES} assimp)
 
+qt5_use_modules(${PROJECT_NAME} Widgets OpenGL)
 if(WIN32) # Check if we are on Windows
 	if(MSVC) # Check if we are using the Visual Studio compiler
-		set_target_properties(TestProject PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
+		#set_target_properties(TestProject PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
 	elseif(CMAKE_COMPILER_IS_GNUCXX)
 		# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") # Not tested
 	else()

+ 126 - 123
tools/assimp_qt_viewer/glview.cpp

@@ -9,7 +9,7 @@
 #include <GL/glu.h>
 
 // Header files, DevIL.
-#include <IL/il.h>
+#include <il.h>
 
 // Header files, Assimp.
 #include <assimp/DefaultLogger.hpp>
@@ -56,15 +56,15 @@ void CGLView::SHelper_Camera::SetDefault()
 
 void CGLView::Material_Apply(const aiMaterial* pMaterial)
 {
-GLfloat tcol[4];
-aiColor4D taicol;
-unsigned int max;
-int ret1, ret2;
-int texture_index = 0;
-aiString texture_path;
+    GLfloat tcol[4];
+    aiColor4D taicol;
+    unsigned int max;
+    int ret1, ret2;
+    int texture_index = 0;
+    aiString texture_path;
 
-auto set_float4 = [](float f[4], float a, float b, float c, float d) { f[0] = a, f[1] = b, f[2] = c, f[3] = d; };
-auto color4_to_float4 = [](const aiColor4D *c, float f[4]) { f[0] = c->r, f[1] = c->g, f[2] = c->b, f[3] = c->a; };
+    auto set_float4 = [](float f[4], float a, float b, float c, float d) { f[0] = a, f[1] = b, f[2] = c, f[3] = d; };
+    auto color4_to_float4 = [](const aiColor4D *c, float f[4]) { f[0] = c->r, f[1] = c->g, f[2] = c->b, f[3] = c->a; };
 
 	///TODO: cache materials
 	// Disable color material because glMaterial is used.
@@ -158,124 +158,127 @@ std::list<aiMatrix4x4> mat_list;
 		} while(node_cur != nullptr);
 	}
 
-	// multiplicate all matrices in reverse order
-	for(std::list<aiMatrix4x4>::reverse_iterator rit = mat_list.rbegin(); rit != mat_list.rend(); rit++) pOutMatrix = pOutMatrix * (*rit);
+	// multiply all matrices in reverse order
+    for ( std::list<aiMatrix4x4>::reverse_iterator rit = mat_list.rbegin(); rit != mat_list.rend(); rit++)
+    {
+        pOutMatrix = pOutMatrix * (*rit);
+    }
 }
 
 void CGLView::ImportTextures(const QString& pScenePath)
 {
-auto LoadTexture = [&](const QString& pFileName) -> bool ///TODO: IME texture mode, operation.
-{
-ILboolean success;
-GLuint id_ogl_texture;// OpenGL texture ID.
-
-	if(!pFileName.startsWith(AI_EMBEDDED_TEXNAME_PREFIX))
-	{
-		ILuint id_image;// DevIL image ID.
-		QString basepath = pScenePath.left(pScenePath.lastIndexOf('/') + 1);// path with '/' at the end.
-		QString fileloc = (basepath + pFileName);
-
-		fileloc.replace('\\', "/");
-		ilGenImages(1, &id_image);// Generate DevIL image ID.
-		ilBindImage(id_image);
-		success = ilLoadImage(fileloc.toLocal8Bit());
-		if(!success)
-		{
-			LogError(QString("Couldn't load Image: %1").arg(fileloc));
-
-			return false;
-		}
-
-		// Convert every colour component into unsigned byte. If your image contains alpha channel you can replace IL_RGB with IL_RGBA.
-		success = ilConvertImage(IL_RGBA, IL_UNSIGNED_BYTE);
-		if(!success)
-		{
-			LogError("Couldn't convert image.");
-
-			return false;
-		}
-
-		glGenTextures(1, &id_ogl_texture);// Texture ID generation.
-		mTexture_IDMap[pFileName] = id_ogl_texture;// save texture ID for filename in map
-		glBindTexture(GL_TEXTURE_2D, id_ogl_texture);// Binding of texture ID.
-		// Redefine standard texture values
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// We will use linear interpolation for magnification filter.
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// We will use linear interpolation for minifying filter.
-		glTexImage2D(GL_TEXTURE_2D, 0, ilGetInteger(IL_IMAGE_BPP), ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), 0,
-						ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData());// Texture specification.
-
-		//Cleanup
-		ilDeleteImages(1, &id_image);// Because we have already copied image data into texture data we can release memory used by image.
-	}
-	else
-	{
-		struct SPixel_Description
-		{
-			const char* FormatHint;
-			const GLint Image_InternalFormat;
-			const GLint Pixel_Format;
-		};
-
-		constexpr SPixel_Description Pixel_Description[] = {
-			{"rgba8880", GL_RGB, GL_RGB},
-			{"rgba8888", GL_RGBA, GL_RGBA}
-		};
-
-		constexpr size_t Pixel_Description_Count = sizeof(Pixel_Description) / sizeof(SPixel_Description);
-
-		size_t idx_description;
-		// Get texture index.
-		bool ok;
-		size_t idx_texture = pFileName.right(strlen(AI_EMBEDDED_TEXNAME_PREFIX)).toULong(&ok);
-
-		if(!ok)
-		{
-			LogError("Can not get index of the embedded texture from path in material.");
-
-			return false;
-		}
-
-		// Create alias for conveniance.
-		const aiTexture& als = *mScene->mTextures[idx_texture];
-
-		if(als.mHeight == 0)// Compressed texture.
-		{
-			LogError("IME: compressed embedded textures are not implemented.");
-		}
-		else
-		{
-			ok = false;
-			for(size_t idx = 0; idx < Pixel_Description_Count; idx++)
-			{
-				if(als.CheckFormat(Pixel_Description[idx].FormatHint))
-				{
-					idx_description = idx;
-					ok = true;
-					break;
-				}
-			}
-
-			if(!ok)
-			{
-				LogError(QString("Unsupported format hint for embedded texture: [%1]").arg(als.achFormatHint));
-
-				return false;
-			}
-
-			glGenTextures(1, &id_ogl_texture);// Texture ID generation.
-			mTexture_IDMap[pFileName] = id_ogl_texture;// save texture ID for filename in map
-			glBindTexture(GL_TEXTURE_2D, id_ogl_texture);// Binding of texture ID.
-			// Redefine standard texture values
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// We will use linear interpolation for magnification filter.
-			glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// We will use linear interpolation for minifying filter.
-			// Texture specification.
-			glTexImage2D(GL_TEXTURE_2D, 0, Pixel_Description[idx_description].Image_InternalFormat, als.mWidth, als.mHeight, 0,
-							Pixel_Description[idx_description].Pixel_Format, GL_UNSIGNED_BYTE, (uint8_t*)als.pcData);
-		}// if(als.mHeight == 0) else
-	}// if(!filename.startsWith(AI_EMBEDDED_TEXNAME_PREFIX)) else
-
-	return true;
-};// auto LoadTexture = [&](const aiString& pPath)
+    auto LoadTexture = [&](const QString& pFileName) -> bool ///TODO: IME texture mode, operation.
+    {
+        ILboolean success;
+        GLuint id_ogl_texture;// OpenGL texture ID.
+
+	    if(!pFileName.startsWith(AI_EMBEDDED_TEXNAME_PREFIX))
+	    {
+		    ILuint id_image;// DevIL image ID.
+		    QString basepath = pScenePath.left(pScenePath.lastIndexOf('/') + 1);// path with '/' at the end.
+		    QString fileloc = (basepath + pFileName);
+
+		    fileloc.replace('\\', "/");
+		    ilGenImages(1, &id_image);// Generate DevIL image ID.
+		    ilBindImage(id_image);
+		    success = ilLoadImage(fileloc.toLocal8Bit());
+		    if(!success)
+		    {
+			    LogError(QString("Couldn't load Image: %1").arg(fileloc));
+
+			    return false;
+		    }
+
+		    // Convert every colour component into unsigned byte. If your image contains alpha channel you can replace IL_RGB with IL_RGBA.
+		    success = ilConvertImage(IL_RGBA, IL_UNSIGNED_BYTE);
+		    if(!success)
+		    {
+			    LogError("Couldn't convert image.");
+
+			    return false;
+		    }
+
+		    glGenTextures(1, &id_ogl_texture);// Texture ID generation.
+		    mTexture_IDMap[pFileName] = id_ogl_texture;// save texture ID for filename in map
+		    glBindTexture(GL_TEXTURE_2D, id_ogl_texture);// Binding of texture ID.
+		    // Redefine standard texture values
+		    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// We will use linear interpolation for magnification filter.
+		    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// We will use linear interpolation for minifying filter.
+		    glTexImage2D(GL_TEXTURE_2D, 0, ilGetInteger(IL_IMAGE_BPP), ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), 0,
+						    ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData());// Texture specification.
+
+		    //Cleanup
+		    ilDeleteImages(1, &id_image);// Because we have already copied image data into texture data we can release memory used by image.
+	    }
+	    else
+	    {
+		    struct SPixel_Description
+		    {
+			    const char* FormatHint;
+			    const GLint Image_InternalFormat;
+			    const GLint Pixel_Format;
+		    };
+
+		    constexpr SPixel_Description Pixel_Description[] = {
+			    {"rgba8880", GL_RGB, GL_RGB},
+			    {"rgba8888", GL_RGBA, GL_RGBA}
+		    };
+
+		    constexpr size_t Pixel_Description_Count = sizeof(Pixel_Description) / sizeof(SPixel_Description);
+
+		    size_t idx_description;
+		    // Get texture index.
+		    bool ok;
+		    size_t idx_texture = pFileName.right(strlen(AI_EMBEDDED_TEXNAME_PREFIX)).toULong(&ok);
+
+		    if(!ok)
+		    {
+			    LogError("Can not get index of the embedded texture from path in material.");
+
+			    return false;
+		    }
+
+		    // Create alias for conveniance.
+		    const aiTexture& als = *mScene->mTextures[idx_texture];
+
+		    if(als.mHeight == 0)// Compressed texture.
+		    {
+			    LogError("IME: compressed embedded textures are not implemented.");
+		    }
+		    else
+		    {
+			    ok = false;
+			    for(size_t idx = 0; idx < Pixel_Description_Count; idx++)
+			    {
+				    if(als.CheckFormat(Pixel_Description[idx].FormatHint))
+				    {
+					    idx_description = idx;
+					    ok = true;
+					    break;
+				    }
+			    }
+
+			    if(!ok)
+			    {
+				    LogError(QString("Unsupported format hint for embedded texture: [%1]").arg(als.achFormatHint));
+
+				    return false;
+			    }
+
+			    glGenTextures(1, &id_ogl_texture);// Texture ID generation.
+			    mTexture_IDMap[pFileName] = id_ogl_texture;// save texture ID for filename in map
+			    glBindTexture(GL_TEXTURE_2D, id_ogl_texture);// Binding of texture ID.
+			    // Redefine standard texture values
+			    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// We will use linear interpolation for magnification filter.
+			    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// We will use linear interpolation for minifying filter.
+			    // Texture specification.
+			    glTexImage2D(GL_TEXTURE_2D, 0, Pixel_Description[idx_description].Image_InternalFormat, als.mWidth, als.mHeight, 0,
+							    Pixel_Description[idx_description].Pixel_Format, GL_UNSIGNED_BYTE, (uint8_t*)als.pcData);
+		    }// if(als.mHeight == 0) else
+	    }// if(!filename.startsWith(AI_EMBEDDED_TEXNAME_PREFIX)) else
+
+	    return true;
+    };// auto LoadTexture = [&](const aiString& pPath)
 
 	if(mScene == nullptr)
 	{

+ 1 - 1
tools/assimp_qt_viewer/mainwindow.cpp

@@ -325,7 +325,7 @@ bool selected = ui->lstLight->isItemSelected(ui->lstLight->currentItem());
 	mGLView->updateGL();
 }
 
-void MainWindow::on_lstCamera_clicked(__unused const QModelIndex &index)
+void MainWindow::on_lstCamera_clicked( const QModelIndex &)
 {
 	mGLView->Camera_Set(ui->lstLight->currentRow());
 	mGLView->updateGL();

+ 1 - 1
tools/assimp_qt_viewer/mainwindow.hpp

@@ -6,7 +6,7 @@
 #pragma once
 
 // Header files, Qt.
-#include <QMainWindow>
+#include <QtWidgets>
 
 // Header files, project.
 #include "glview.hpp"