From f761dc72f426444d56dbe9ed12b2823b08a68aa9 Mon Sep 17 00:00:00 2001 From: Krishty Date: Fri, 16 Apr 2021 23:43:56 +0200 Subject: [PATCH 01/99] style fix - initializing and assigning empty std::string properly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit std::string s(""); s = ""; calls the copy constructor, which in turn calls strlen(), … assigning a default-constructed string generates fewer instructions and is therefore preferred. With C++11 uniform initialization, you’d simply write s = { } instead. --- code/AssetLib/3DS/3DSConverter.cpp | 2 +- code/AssetLib/3DS/3DSLoader.cpp | 2 +- code/AssetLib/3MF/D3MFOpcPackage.cpp | 2 +- code/AssetLib/AC/ACLoader.h | 4 ++-- code/AssetLib/ASE/ASEParser.cpp | 2 +- code/AssetLib/Collada/ColladaLoader.cpp | 2 +- code/AssetLib/FBX/FBXMeshGeometry.cpp | 2 +- code/AssetLib/FBX/FBXParser.cpp | 8 ++++---- code/AssetLib/FBX/FBXProperties.cpp | 2 +- code/AssetLib/IFC/IFCLoader.cpp | 4 ++-- code/AssetLib/Irr/IRRLoader.cpp | 2 +- code/AssetLib/Irr/IRRMeshLoader.cpp | 2 +- code/AssetLib/LWO/LWOFileData.h | 2 +- code/AssetLib/LWS/LWSLoader.h | 2 +- .../MDL/HalfLife/UniqueNameGenerator.cpp | 2 +- code/AssetLib/MMD/MMDImporter.cpp | 2 +- code/AssetLib/MMD/MMDPmxParser.cpp | 2 +- code/AssetLib/OpenGEX/OpenGEXImporter.cpp | 2 +- code/AssetLib/OpenGEX/OpenGEXImporter.h | 2 +- code/AssetLib/Q3BSP/Q3BSPFileData.h | 2 +- code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp | 16 ++++++++-------- code/AssetLib/X/XFileHelper.h | 2 +- code/AssetLib/XGL/XGLLoader.cpp | 2 +- code/AssetLib/glTF/glTFAsset.h | 2 +- code/AssetLib/glTF2/glTF2Asset.h | 2 +- code/Common/BaseImporter.cpp | 2 +- code/Common/FileSystemFilter.h | 2 +- code/Common/Importer.cpp | 6 +++--- code/Common/scene.cpp | 2 +- code/PostProcessing/RemoveRedundantMaterials.h | 2 +- include/assimp/DefaultIOStream.h | 2 +- include/assimp/IOSystem.hpp | 2 +- include/assimp/Importer.hpp | 2 +- include/assimp/XmlParser.h | 2 +- 34 files changed, 48 insertions(+), 48 deletions(-) diff --git a/code/AssetLib/3DS/3DSConverter.cpp b/code/AssetLib/3DS/3DSConverter.cpp index 12ac7e69e..c977867c0 100644 --- a/code/AssetLib/3DS/3DSConverter.cpp +++ b/code/AssetLib/3DS/3DSConverter.cpp @@ -212,7 +212,7 @@ void Discreet3DSImporter::ConvertMaterial(D3DS::Material &oldMat, mat.AddProperty(&tex, AI_MATKEY_GLOBAL_BACKGROUND_IMAGE); // Be sure this is only done for the first material - mBackgroundImage = std::string(""); + mBackgroundImage = std::string(); } // At first add the base ambient color of the scene to the material diff --git a/code/AssetLib/3DS/3DSLoader.cpp b/code/AssetLib/3DS/3DSLoader.cpp index 0a64f6870..10aa10786 100644 --- a/code/AssetLib/3DS/3DSLoader.cpp +++ b/code/AssetLib/3DS/3DSLoader.cpp @@ -164,7 +164,7 @@ void Discreet3DSImporter::InternReadFile(const std::string &pFile, mRootNode->mHierarchyIndex = -1; mRootNode->mParent = nullptr; mMasterScale = 1.0f; - mBackgroundImage = ""; + mBackgroundImage = std::string(); bHasBG = false; bIsPrj = false; diff --git a/code/AssetLib/3MF/D3MFOpcPackage.cpp b/code/AssetLib/3MF/D3MFOpcPackage.cpp index 514e3c2f3..ec0861fc1 100644 --- a/code/AssetLib/3MF/D3MFOpcPackage.cpp +++ b/code/AssetLib/3MF/D3MFOpcPackage.cpp @@ -188,7 +188,7 @@ bool D3MFOpcPackage::validate() { std::string D3MFOpcPackage::ReadPackageRootRelationship(IOStream *stream) { XmlParser xmlParser; if (!xmlParser.parse(stream)) { - return ""; + return std::string(); } OpcPackageRelationshipReader reader(xmlParser); diff --git a/code/AssetLib/AC/ACLoader.h b/code/AssetLib/AC/ACLoader.h index 77de16b8b..5ae2e80bb 100644 --- a/code/AssetLib/AC/ACLoader.h +++ b/code/AssetLib/AC/ACLoader.h @@ -123,9 +123,9 @@ public: struct Object { Object() : type(World), - name(""), + name(), children(), - texture(""), + texture(), texRepeat(1.f, 1.f), texOffset(0.0f, 0.0f), rotation(), diff --git a/code/AssetLib/ASE/ASEParser.cpp b/code/AssetLib/ASE/ASEParser.cpp index 21ec26593..530766730 100644 --- a/code/AssetLib/ASE/ASEParser.cpp +++ b/code/AssetLib/ASE/ASEParser.cpp @@ -685,7 +685,7 @@ void Parser::ParseLV3MapBlock(Texture &map) { // Files with 'None' as map name are produced by // an Maja to ASE exporter which name I forgot .. ASSIMP_LOG_WARN("ASE: Skipping invalid map entry"); - map.mMapName = ""; + map.mMapName = std::string(); } continue; diff --git a/code/AssetLib/Collada/ColladaLoader.cpp b/code/AssetLib/Collada/ColladaLoader.cpp index 902eebc4b..faaa7cdba 100644 --- a/code/AssetLib/Collada/ColladaLoader.cpp +++ b/code/AssetLib/Collada/ColladaLoader.cpp @@ -1241,7 +1241,7 @@ void ColladaLoader::CreateAnimation(aiScene *pScene, const ColladaParser &pParse continue; } entry.mTargetId = entry.mTransformId; - entry.mTransformId = ""; + entry.mTransformId = std::string(); } entry.mChannel = &(*cit); diff --git a/code/AssetLib/FBX/FBXMeshGeometry.cpp b/code/AssetLib/FBX/FBXMeshGeometry.cpp index fd8a0ff98..2bca8dff2 100644 --- a/code/AssetLib/FBX/FBXMeshGeometry.cpp +++ b/code/AssetLib/FBX/FBXMeshGeometry.cpp @@ -330,7 +330,7 @@ void MeshGeometry::ReadVertexData(const std::string& type, int index, const Scop } const Element* Name = source["Name"]; - m_uvNames[index] = ""; + m_uvNames[index] = std::string(); if(Name) { m_uvNames[index] = ParseTokenAsString(GetRequiredToken(*Name,0)); } diff --git a/code/AssetLib/FBX/FBXParser.cpp b/code/AssetLib/FBX/FBXParser.cpp index 046d26c95..37cf83cf9 100644 --- a/code/AssetLib/FBX/FBXParser.cpp +++ b/code/AssetLib/FBX/FBXParser.cpp @@ -462,7 +462,7 @@ std::string ParseTokenAsString(const Token& t, const char*& err_out) if (t.Type() != TokenType_DATA) { err_out = "expected TOK_DATA token"; - return ""; + return std::string(); } if(t.IsBinary()) @@ -470,7 +470,7 @@ std::string ParseTokenAsString(const Token& t, const char*& err_out) const char* data = t.begin(); if (data[0] != 'S') { err_out = "failed to parse S(tring), unexpected data type (binary)"; - return ""; + return std::string(); } // read string length @@ -484,13 +484,13 @@ std::string ParseTokenAsString(const Token& t, const char*& err_out) const size_t length = static_cast(t.end() - t.begin()); if(length < 2) { err_out = "token is too short to hold a string"; - return ""; + return std::string(); } const char* s = t.begin(), *e = t.end() - 1; if (*s != '\"' || *e != '\"') { err_out = "expected double quoted string"; - return ""; + return std::string(); } return std::string(s+1,length-2); diff --git a/code/AssetLib/FBX/FBXProperties.cpp b/code/AssetLib/FBX/FBXProperties.cpp index 2f39fc7dc..1e4cd0ead 100644 --- a/code/AssetLib/FBX/FBXProperties.cpp +++ b/code/AssetLib/FBX/FBXProperties.cpp @@ -155,7 +155,7 @@ std::string PeekPropertyName(const Element& element) ai_assert(element.KeyToken().StringContents() == "P"); const TokenList& tok = element.Tokens(); if(tok.size() < 4) { - return ""; + return std::string(); } return ParseTokenAsString(*tok[0]); diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp index be100df57..df1ca32de 100644 --- a/code/AssetLib/IFC/IFCLoader.cpp +++ b/code/AssetLib/IFC/IFCLoader.cpp @@ -567,7 +567,7 @@ typedef std::map Metadata; // ------------------------------------------------------------------------------------------------ void ProcessMetadata(const Schema_2x3::ListOf, 1, 0> &set, ConversionData &conv, Metadata &properties, - const std::string &prefix = "", + const std::string &prefix = std::string(), unsigned int nest = 0) { for (const Schema_2x3::IfcProperty &property : set) { const std::string &key = prefix.length() > 0 ? (prefix + "." + property.Name) : property.Name; @@ -618,7 +618,7 @@ void ProcessMetadata(const Schema_2x3::ListOfHasProperties, conv, properties, key, nest + 1); } } else { - properties[key] = ""; + properties[key] = std::string(); } } } diff --git a/code/AssetLib/Irr/IRRLoader.cpp b/code/AssetLib/Irr/IRRLoader.cpp index 9c1136499..ed92c93bb 100644 --- a/code/AssetLib/Irr/IRRLoader.cpp +++ b/code/AssetLib/Irr/IRRLoader.cpp @@ -859,7 +859,7 @@ void IRRImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // Check whether we can read from the file if (file.get() == nullptr) { - throw DeadlyImportError("Failed to open IRR file " + pFile + ""); + throw DeadlyImportError("Failed to open IRR file " + pFile); } // Construct the irrXML parser diff --git a/code/AssetLib/Irr/IRRMeshLoader.cpp b/code/AssetLib/Irr/IRRMeshLoader.cpp index 97d74026f..edcff6c83 100644 --- a/code/AssetLib/Irr/IRRMeshLoader.cpp +++ b/code/AssetLib/Irr/IRRMeshLoader.cpp @@ -135,7 +135,7 @@ void IRRMeshImporter::InternReadFile(const std::string &pFile, // Check whether we can read from the file if (file.get() == NULL) - throw DeadlyImportError("Failed to open IRRMESH file " + pFile + ""); + throw DeadlyImportError("Failed to open IRRMESH file " + pFile); // Construct the irrXML parser XmlParser parser; diff --git a/code/AssetLib/LWO/LWOFileData.h b/code/AssetLib/LWO/LWOFileData.h index 70642c537..93ac1a236 100644 --- a/code/AssetLib/LWO/LWOFileData.h +++ b/code/AssetLib/LWO/LWOFileData.h @@ -502,7 +502,7 @@ struct Surface { Surface() : mColor(0.78431f, 0.78431f, 0.78431f), bDoubleSided(false), mDiffuseValue(1.f), mSpecularValue(0.f), mTransparency(0.f), mGlossiness(0.4f), mLuminosity(0.f), mColorHighlights(0.f), mMaximumSmoothAngle(0.f) // 0 == not specified, no smoothing , - mVCMap(""), + mVCMap(), mVCMapType(AI_LWO_RGBA), mIOR(1.f) // vakuum , diff --git a/code/AssetLib/LWS/LWSLoader.h b/code/AssetLib/LWS/LWSLoader.h index 93251cd5d..cd7a0543e 100644 --- a/code/AssetLib/LWS/LWSLoader.h +++ b/code/AssetLib/LWS/LWSLoader.h @@ -88,7 +88,7 @@ struct NodeDesc { id(), number(0), parent(0), - name(""), + name(), isPivotSet(false), lightColor(1.f, 1.f, 1.f), lightIntensity(1.f), diff --git a/code/AssetLib/MDL/HalfLife/UniqueNameGenerator.cpp b/code/AssetLib/MDL/HalfLife/UniqueNameGenerator.cpp index 72081ea73..dde81454b 100644 --- a/code/AssetLib/MDL/HalfLife/UniqueNameGenerator.cpp +++ b/code/AssetLib/MDL/HalfLife/UniqueNameGenerator.cpp @@ -95,7 +95,7 @@ void UniqueNameGenerator::make_unique(std::vector &names) { auto generate_unique_name = [&](const std::string &base_name) -> std::string { auto *duplicate_info = &names_to_duplicates[base_name]; - std::string new_name = ""; + std::string new_name; bool found_identical_name; bool tried_with_base_name_only = false; diff --git a/code/AssetLib/MMD/MMDImporter.cpp b/code/AssetLib/MMD/MMDImporter.cpp index e4ecc1445..2895c3879 100644 --- a/code/AssetLib/MMD/MMDImporter.cpp +++ b/code/AssetLib/MMD/MMDImporter.cpp @@ -75,7 +75,7 @@ using namespace std; // Default constructor MMDImporter::MMDImporter() : m_Buffer(), - m_strAbsPath("") { + m_strAbsPath() { DefaultIOSystem io; m_strAbsPath = io.getOsSeparator(); } diff --git a/code/AssetLib/MMD/MMDPmxParser.cpp b/code/AssetLib/MMD/MMDPmxParser.cpp index 320182c3d..cb4787efd 100644 --- a/code/AssetLib/MMD/MMDPmxParser.cpp +++ b/code/AssetLib/MMD/MMDPmxParser.cpp @@ -91,7 +91,7 @@ namespace pmx std::vector buffer; if (size == 0) { - return std::string(""); + return std::string(); } buffer.reserve(size); stream->read((char*) buffer.data(), size); diff --git a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp index 14c9ea37f..b29aeeeb1 100644 --- a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp +++ b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp @@ -206,7 +206,7 @@ USE_ODDLPARSER_NS //------------------------------------------------------------------------------------------------ static void propId2StdString(Property *prop, std::string &name, std::string &key) { - name = key = ""; + name = key = std::string(); if (nullptr == prop) { return; } diff --git a/code/AssetLib/OpenGEX/OpenGEXImporter.h b/code/AssetLib/OpenGEX/OpenGEXImporter.h index 677ef73aa..3c26a4a30 100644 --- a/code/AssetLib/OpenGEX/OpenGEXImporter.h +++ b/code/AssetLib/OpenGEX/OpenGEXImporter.h @@ -79,7 +79,7 @@ struct MetricInfo { int m_intValue; MetricInfo() - : m_stringValue( "" ) + : m_stringValue( ) , m_floatValue( 0.0f ) , m_intValue( -1 ) { // empty diff --git a/code/AssetLib/Q3BSP/Q3BSPFileData.h b/code/AssetLib/Q3BSP/Q3BSPFileData.h index ba826d541..a121cdbcd 100644 --- a/code/AssetLib/Q3BSP/Q3BSPFileData.h +++ b/code/AssetLib/Q3BSP/Q3BSPFileData.h @@ -178,7 +178,7 @@ struct Q3BSPModel { m_Textures(), m_Lightmaps(), m_EntityData(), - m_ModelName( "" ) + m_ModelName() { // empty } diff --git a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp index c66582fea..85e79a12c 100644 --- a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp +++ b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp @@ -113,7 +113,7 @@ static void extractIds(const std::string &key, int &id1, int &id2) { // ------------------------------------------------------------------------------------------------ // Local helper function to normalize filenames. static void normalizePathName(const std::string &rPath, std::string &normalizedPath) { - normalizedPath = ""; + normalizedPath = std::string(); if (rPath.empty()) { return; } @@ -183,7 +183,7 @@ void Q3BSPFileImporter::InternReadFile(const std::string &rFile, aiScene *scene, throw DeadlyImportError("Failed to open file ", rFile, "."); } - std::string archiveName(""), mapName(""); + std::string archiveName, mapName; separateMapName(rFile, archiveName, mapName); if (mapName.empty()) { @@ -202,8 +202,8 @@ void Q3BSPFileImporter::InternReadFile(const std::string &rFile, aiScene *scene, // ------------------------------------------------------------------------------------------------ // Separates the map name from the import name. void Q3BSPFileImporter::separateMapName(const std::string &importName, std::string &archiveName, std::string &mapName) { - archiveName = ""; - mapName = ""; + archiveName = std::string(); + mapName = std::string(); if (importName.empty()) { return; } @@ -221,7 +221,7 @@ void Q3BSPFileImporter::separateMapName(const std::string &importName, std::stri // ------------------------------------------------------------------------------------------------ // Returns the first map in the map archive. bool Q3BSPFileImporter::findFirstMapInArchive(ZipArchiveIOSystem &bspArchive, std::string &mapName) { - mapName = ""; + mapName = std::string(); std::vector fileList; bspArchive.getFileListExtension(fileList, "bsp"); if (fileList.empty()) { @@ -440,7 +440,7 @@ void Q3BSPFileImporter::createMaterials(const Q3BSP::Q3BSPModel *pModel, aiScene if (-1 != textureId) { sQ3BSPTexture *pTexture = pModel->m_Textures[textureId]; if (nullptr != pTexture) { - std::string tmp("*"), texName(""); + std::string tmp("*"), texName; tmp += pTexture->strName; tmp += ".jpg"; normalizePathName(tmp, texName); @@ -512,7 +512,7 @@ size_t Q3BSPFileImporter::countTriangles(const std::vector // ------------------------------------------------------------------------------------------------ // Creates the faces-to-material map. void Q3BSPFileImporter::createMaterialMap(const Q3BSP::Q3BSPModel *pModel) { - std::string key(""); + std::string key; std::vector *pCurFaceArray = nullptr; for (size_t idx = 0; idx < pModel->m_Faces.size(); idx++) { Q3BSP::sQ3BSPFace *pQ3BSPFace = pModel->m_Faces[idx]; @@ -660,7 +660,7 @@ bool Q3BSPFileImporter::expandFile(ZipArchiveIOSystem *pArchive, const std::stri if (rExtList.empty()) { rFile = rFilename; - rExt = ""; + rExt = std::string(); return true; } diff --git a/code/AssetLib/X/XFileHelper.h b/code/AssetLib/X/XFileHelper.h index 8ba166350..5bdaf4d35 100644 --- a/code/AssetLib/X/XFileHelper.h +++ b/code/AssetLib/X/XFileHelper.h @@ -130,7 +130,7 @@ struct Mesh { std::vector mBones; - explicit Mesh(const std::string &pName = "") AI_NO_EXCEPT + explicit Mesh(const std::string &pName = std::string()) AI_NO_EXCEPT : mName( pName ) , mPositions() , mPosFaces() diff --git a/code/AssetLib/XGL/XGLLoader.cpp b/code/AssetLib/XGL/XGLLoader.cpp index 824f0c2c3..00e8bafb2 100644 --- a/code/AssetLib/XGL/XGLLoader.cpp +++ b/code/AssetLib/XGL/XGLLoader.cpp @@ -142,7 +142,7 @@ void XGLImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // check whether we can read from the file if (stream.get() == NULL) { - throw DeadlyImportError("Failed to open XGL/ZGL file " + pFile + ""); + throw DeadlyImportError("Failed to open XGL/ZGL file " + pFile); } // see if its compressed, if so uncompress it diff --git a/code/AssetLib/glTF/glTFAsset.h b/code/AssetLib/glTF/glTFAsset.h index 1da70832b..8e4f1ff8f 100644 --- a/code/AssetLib/glTF/glTFAsset.h +++ b/code/AssetLib/glTF/glTFAsset.h @@ -1029,7 +1029,7 @@ namespace glTF AssetMetadata() : premultipliedAlpha(false) - , version("") + , version() { } }; diff --git a/code/AssetLib/glTF2/glTF2Asset.h b/code/AssetLib/glTF2/glTF2Asset.h index 53b079117..af48aa01b 100644 --- a/code/AssetLib/glTF2/glTF2Asset.h +++ b/code/AssetLib/glTF2/glTF2Asset.h @@ -1067,7 +1067,7 @@ struct AssetMetadata { void Read(Document &doc); AssetMetadata() : - version("") {} + version() {} }; // diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 0657216cf..7da615ac4 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -271,7 +271,7 @@ std::string BaseImporter::GetExtension(const std::string &file) { // no file extension at all if (pos == std::string::npos) { - return ""; + return std::string(); } // thanks to Andy Maloney for the hint diff --git a/code/Common/FileSystemFilter.h b/code/Common/FileSystemFilter.h index 1440cf97d..92f199870 100644 --- a/code/Common/FileSystemFilter.h +++ b/code/Common/FileSystemFilter.h @@ -76,7 +76,7 @@ public: if (std::string::npos != (ss2 = mBase.find_last_of("\\/"))) { mBase.erase(ss2,mBase.length()-ss2); } else { - mBase = ""; + mBase = std::string(); } // make sure the directory is terminated properly diff --git a/code/Common/Importer.cpp b/code/Common/Importer.cpp index db7fc9e1c..8cea2cd09 100644 --- a/code/Common/Importer.cpp +++ b/code/Common/Importer.cpp @@ -149,7 +149,7 @@ void AllocateFromAssimpHeap::operator delete[] ( void* data) { Importer::Importer() : pimpl( new ImporterPimpl ) { pimpl->mScene = nullptr; - pimpl->mErrorString = ""; + pimpl->mErrorString = std::string(); // Allocate a default IO handler pimpl->mIOHandler = new DefaultIOSystem; @@ -387,7 +387,7 @@ void Importer::FreeScene( ) { delete pimpl->mScene; pimpl->mScene = nullptr; - pimpl->mErrorString = ""; + pimpl->mErrorString = std::string(); pimpl->mException = std::exception_ptr(); ASSIMP_END_EXCEPTION_REGION(void); } @@ -434,7 +434,7 @@ aiScene* Importer::GetOrphanedScene() { ASSIMP_BEGIN_EXCEPTION_REGION(); pimpl->mScene = nullptr; - pimpl->mErrorString = ""; // reset error string + pimpl->mErrorString = std::string(); pimpl->mException = std::exception_ptr(); ASSIMP_END_EXCEPTION_REGION(aiScene*); diff --git a/code/Common/scene.cpp b/code/Common/scene.cpp index 82430f5fc..67feb7afb 100644 --- a/code/Common/scene.cpp +++ b/code/Common/scene.cpp @@ -43,7 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include aiNode::aiNode() -: mName("") +: mName() , mParent(nullptr) , mNumChildren(0) , mChildren(nullptr) diff --git a/code/PostProcessing/RemoveRedundantMaterials.h b/code/PostProcessing/RemoveRedundantMaterials.h index 6b4f8b1fb..4210a7fe2 100644 --- a/code/PostProcessing/RemoveRedundantMaterials.h +++ b/code/PostProcessing/RemoveRedundantMaterials.h @@ -81,7 +81,7 @@ public: /** @brief Set list of fixed (inmutable) materials * @param fixed See #AI_CONFIG_PP_RRM_EXCLUDE_LIST */ - void SetFixedMaterialsString(const std::string& fixed = "") { + void SetFixedMaterialsString(const std::string& fixed = std::string()) { mConfigFixedMaterials = fixed; } diff --git a/include/assimp/DefaultIOStream.h b/include/assimp/DefaultIOStream.h index b1bb66902..6d0e13149 100644 --- a/include/assimp/DefaultIOStream.h +++ b/include/assimp/DefaultIOStream.h @@ -119,7 +119,7 @@ private: AI_FORCE_INLINE DefaultIOStream::DefaultIOStream() AI_NO_EXCEPT : mFile(nullptr) -, mFilename("") +, mFilename() , mCachedSize(SIZE_MAX) { // empty } diff --git a/include/assimp/IOSystem.hpp b/include/assimp/IOSystem.hpp index b05eebce6..76f876440 100644 --- a/include/assimp/IOSystem.hpp +++ b/include/assimp/IOSystem.hpp @@ -294,7 +294,7 @@ bool IOSystem::PushDirectory( const std::string &path ) { AI_FORCE_INLINE const std::string &IOSystem::CurrentDirectory() const { if ( m_pathStack.empty() ) { - static const std::string Dummy(""); + static const std::string Dummy; return Dummy; } return m_pathStack[ m_pathStack.size()-1 ]; diff --git a/include/assimp/Importer.hpp b/include/assimp/Importer.hpp index 18734c302..09b5b6883 100644 --- a/include/assimp/Importer.hpp +++ b/include/assimp/Importer.hpp @@ -286,7 +286,7 @@ public: * @see GetPropertyInteger() */ std::string GetPropertyString(const char *szName, - const std::string &sErrorReturn = "") const; + const std::string &sErrorReturn = std::string()) const; // ------------------------------------------------------------------- /** Get a matrix configuration property diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 15c4ff9ff..f525d3549 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -239,7 +239,7 @@ public: } static inline bool getValueAsString( XmlNode &node, std::string &text ) { - text = ""; + text = std::string(); if (node.empty()) { return false; } From a19299d501e1130bc69fc2bf1d7a3cb466b1998d Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 17 Apr 2021 00:32:04 +0200 Subject: [PATCH 02/99] moved MD2/MDC tables from BSS to const data Visual C++ is unable to identify them as constant data during optimization, so explicitly declare them const. --- code/AssetLib/MD2/MD2NormalTable.h | 2 +- code/AssetLib/MDC/MDCNormalTable.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/AssetLib/MD2/MD2NormalTable.h b/code/AssetLib/MD2/MD2NormalTable.h index 3eff0d666..b2330d862 100644 --- a/code/AssetLib/MD2/MD2NormalTable.h +++ b/code/AssetLib/MD2/MD2NormalTable.h @@ -51,7 +51,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define AI_MDL_NORMALTABLE_H_INC -float g_avNormals[162][3] = { +const float g_avNormals[162][3] = { { -0.525731f, 0.000000f, 0.850651f }, { -0.442863f, 0.238856f, 0.864188f }, { -0.295242f, 0.000000f, 0.955423f }, diff --git a/code/AssetLib/MDC/MDCNormalTable.h b/code/AssetLib/MDC/MDCNormalTable.h index f47e97f33..c96eba7bd 100644 --- a/code/AssetLib/MDC/MDCNormalTable.h +++ b/code/AssetLib/MDC/MDCNormalTable.h @@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define MDC_NORMAL_TABLE_INCLUDED /* mdc decoding normal table */ -float mdcNormals[ 256 ][ 3 ] = +const float mdcNormals[ 256 ][ 3 ] = { { 1.000000f, 0.000000f, 0.000000f }, { 0.980785f, 0.195090f, 0.000000f }, From 06437862888e914c6003f1dd87be1b6c629d4910 Mon Sep 17 00:00:00 2001 From: Tobias Rittig Date: Mon, 19 Apr 2021 15:27:59 +0200 Subject: [PATCH 03/99] Add PBRT to exportable file formats list As of #3580 assimp can export to the newest version of the PBRT renderer. This was not listed here. --- doc/Fileformats.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/Fileformats.md b/doc/Fileformats.md index c9116e2e7..89b68e17f 100644 --- a/doc/Fileformats.md +++ b/doc/Fileformats.md @@ -81,6 +81,7 @@ __Exporters__: - JSON (for WebGl, via https://github.com/acgessler/assimp2json) - ASSBIN - STEP +- [PBRTv4](https://github.com/mmp/pbrt-v4) - glTF 1.0 (partial) - glTF 2.0 (partial) - 3MF ( experimental ) From 746d5cf964120967a72322ad98723390707f15f4 Mon Sep 17 00:00:00 2001 From: "Max Vollmer (Microsoft Havok)" <60260460+ms-maxvollmer@users.noreply.github.com> Date: Wed, 21 Apr 2021 16:17:03 +0100 Subject: [PATCH 04/99] * Throw instead of assert on invalid file input * Check JSON object type before accessing members * Ensure samplers input and output references are set before accessing them --- code/AssetLib/glTF2/glTF2Asset.inl | 27 ++++++++++++++++++++-- code/AssetLib/glTF2/glTF2Importer.cpp | 6 ++--- code/PostProcessing/SortByPTypeProcess.cpp | 4 +++- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/code/AssetLib/glTF2/glTF2Asset.inl b/code/AssetLib/glTF2/glTF2Asset.inl index 77537028f..8a793c144 100644 --- a/code/AssetLib/glTF2/glTF2Asset.inl +++ b/code/AssetLib/glTF2/glTF2Asset.inl @@ -162,6 +162,9 @@ inline static bool ReadValue(Value &val, T &out) { template inline static bool ReadMember(Value &obj, const char *id, T &out) { + if (!obj.IsObject()) { + return false; + } Value::MemberIterator it = obj.FindMember(id); if (it != obj.MemberEnd()) { return ReadHelper::Read(it->value, out); @@ -176,6 +179,9 @@ inline static T MemberOrDefault(Value &obj, const char *id, T defaultValue) { } inline Value *FindMember(Value &val, const char *id) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(id); return (it != val.MemberEnd()) ? &it->value : nullptr; } @@ -193,6 +199,9 @@ inline void throwUnexpectedTypeError(const char (&expectedTypeName)[N], const ch // Look-up functions with type checks. Context and extra context help the user identify the problem if there's an error. inline Value *FindStringInContext(Value &val, const char *memberId, const char* context, const char* extraContext = nullptr) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(memberId); if (it == val.MemberEnd()) { return nullptr; @@ -204,6 +213,9 @@ inline Value *FindStringInContext(Value &val, const char *memberId, const char* } inline Value *FindNumberInContext(Value &val, const char *memberId, const char* context, const char* extraContext = nullptr) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(memberId); if (it == val.MemberEnd()) { return nullptr; @@ -215,6 +227,9 @@ inline Value *FindNumberInContext(Value &val, const char *memberId, const char* } inline Value *FindUIntInContext(Value &val, const char *memberId, const char* context, const char* extraContext = nullptr) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(memberId); if (it == val.MemberEnd()) { return nullptr; @@ -226,6 +241,9 @@ inline Value *FindUIntInContext(Value &val, const char *memberId, const char* co } inline Value *FindArrayInContext(Value &val, const char *memberId, const char* context, const char* extraContext = nullptr) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(memberId); if (it == val.MemberEnd()) { return nullptr; @@ -237,6 +255,9 @@ inline Value *FindArrayInContext(Value &val, const char *memberId, const char* c } inline Value *FindObjectInContext(Value &val, const char *memberId, const char* context, const char* extraContext = nullptr) { + if (!val.IsObject()) { + return nullptr; + } Value::MemberIterator it = val.FindMember(memberId); if (it == val.MemberEnd()) { return nullptr; @@ -886,7 +907,7 @@ inline void Accessor::Read(Value &obj, Asset &r) { componentType = MemberOrDefault(obj, "componentType", ComponentType_BYTE); { const Value* countValue = FindUInt(obj, "count"); - if (!countValue || countValue->GetInt() < 1) + if (!countValue || countValue->GetUint() < 1) { throw DeadlyImportError("A strictly positive count value is required, when reading ", id.c_str(), name.empty() ? "" : " (" + name + ")"); } @@ -1105,7 +1126,9 @@ inline Accessor::Indexer::Indexer(Accessor &acc) : template T Accessor::Indexer::GetValue(int i) { ai_assert(data); - ai_assert(i * stride < accessor.GetMaxByteSize()); + if (i * stride >= accessor.GetMaxByteSize()) { + throw DeadlyImportError("GLTF: Invalid index ", i, ", count out of range for buffer with stride ", stride, " and size ", accessor.GetMaxByteSize(), "."); + } // Ensure that the memcpy doesn't overwrite the local. const size_t sizeToCopy = std::min(elemSize, sizeof(T)); T value = T(); diff --git a/code/AssetLib/glTF2/glTF2Importer.cpp b/code/AssetLib/glTF2/glTF2Importer.cpp index dca6fcb2d..b6b6a364c 100644 --- a/code/AssetLib/glTF2/glTF2Importer.cpp +++ b/code/AssetLib/glTF2/glTF2Importer.cpp @@ -1170,7 +1170,7 @@ aiNodeAnim *CreateNodeAnim(glTF2::Asset&, Node &node, AnimationSamplers &sampler static const float kMillisecondsFromSeconds = 1000.f; - if (samplers.translation) { + if (samplers.translation && samplers.translation->input && samplers.translation->output) { float *times = nullptr; samplers.translation->input->ExtractData(times); aiVector3D *values = nullptr; @@ -1194,7 +1194,7 @@ aiNodeAnim *CreateNodeAnim(glTF2::Asset&, Node &node, AnimationSamplers &sampler anim->mPositionKeys->mValue.z = node.translation.value[2]; } - if (samplers.rotation) { + if (samplers.rotation && samplers.rotation->input && samplers.rotation->output) { float *times = nullptr; samplers.rotation->input->ExtractData(times); aiQuaternion *values = nullptr; @@ -1222,7 +1222,7 @@ aiNodeAnim *CreateNodeAnim(glTF2::Asset&, Node &node, AnimationSamplers &sampler anim->mRotationKeys->mValue.w = node.rotation.value[3]; } - if (samplers.scale) { + if (samplers.scale && samplers.scale->input && samplers.scale->output) { float *times = nullptr; samplers.scale->input->ExtractData(times); aiVector3D *values = nullptr; diff --git a/code/PostProcessing/SortByPTypeProcess.cpp b/code/PostProcessing/SortByPTypeProcess.cpp index dd6902692..38549b9a0 100644 --- a/code/PostProcessing/SortByPTypeProcess.cpp +++ b/code/PostProcessing/SortByPTypeProcess.cpp @@ -135,7 +135,9 @@ void SortByPTypeProcess::Execute(aiScene *pScene) { std::vector::iterator meshIdx = replaceMeshIndex.begin(); for (unsigned int i = 0; i < pScene->mNumMeshes; ++i) { aiMesh *const mesh = pScene->mMeshes[i]; - ai_assert(0 != mesh->mPrimitiveTypes); + if (mesh->mPrimitiveTypes == 0) { + throw DeadlyImportError("GLTF: Mesh with invalid primitive type: ", mesh->mName.C_Str()); + } // if there's just one primitive type in the mesh there's nothing to do for us unsigned int num = 0; From 44dc08f128c97667104a5dc6a85bf1ea645ce1b5 Mon Sep 17 00:00:00 2001 From: "Max Vollmer (Microsoft Havok)" <60260460+ms-maxvollmer@users.noreply.github.com> Date: Wed, 21 Apr 2021 16:20:58 +0100 Subject: [PATCH 05/99] Remove GLTF tag, postprocessing is format independent --- code/PostProcessing/SortByPTypeProcess.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/PostProcessing/SortByPTypeProcess.cpp b/code/PostProcessing/SortByPTypeProcess.cpp index 38549b9a0..20ab63249 100644 --- a/code/PostProcessing/SortByPTypeProcess.cpp +++ b/code/PostProcessing/SortByPTypeProcess.cpp @@ -136,7 +136,7 @@ void SortByPTypeProcess::Execute(aiScene *pScene) { for (unsigned int i = 0; i < pScene->mNumMeshes; ++i) { aiMesh *const mesh = pScene->mMeshes[i]; if (mesh->mPrimitiveTypes == 0) { - throw DeadlyImportError("GLTF: Mesh with invalid primitive type: ", mesh->mName.C_Str()); + throw DeadlyImportError("Mesh with invalid primitive type: ", mesh->mName.C_Str()); } // if there's just one primitive type in the mesh there's nothing to do for us From aae3788247ca35395e5044f5a23709aef9fa0365 Mon Sep 17 00:00:00 2001 From: Scott Baldric Date: Thu, 22 Apr 2021 08:49:47 -0500 Subject: [PATCH 06/99] Fix: Removing double delete of texture items. Textures were being double deleted after a merge scene because the texture array wasn't being properly deleted at the end of merging. Furthermore, the texture array was being sized to the number of materials instead of the number of textures. --- code/Common/SceneCombiner.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/Common/SceneCombiner.cpp b/code/Common/SceneCombiner.cpp index e39660cd6..fe00dfe1f 100644 --- a/code/Common/SceneCombiner.cpp +++ b/code/Common/SceneCombiner.cpp @@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // possible as new fields are added to assimp structures. // ---------------------------------------------------------------------------- -/** +/** * @file Implements Assimp::SceneCombiner. This is a smart utility * class that combines multiple scenes, meshes, ... into one. Currently * these utilities are used by the IRR and LWS loaders and the @@ -359,7 +359,7 @@ void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master, std::vectormNumTextures) { - aiTexture **pip = dest->mTextures = new aiTexture *[dest->mNumMaterials]; + aiTexture **pip = dest->mTextures = new aiTexture *[dest->mNumTextures]; cnt = 0; for (unsigned int n = 0; n < src.size(); ++n) { SceneHelper *cur = &src[n]; @@ -638,6 +638,8 @@ void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master, std::vectormMaterials = nullptr; delete[] deleteMe->mAnimations; deleteMe->mAnimations = nullptr; + delete[] deleteMe->mTextures; + deleteMe->mTextures = nullptr; deleteMe->mRootNode = nullptr; From 31438a03a6430ee35c686b2bb7b3294fb55588cb Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 23 Apr 2021 14:52:31 +0200 Subject: [PATCH 07/99] Add Codacy Badge - Add assimp to codacy - Add batch to readme --- Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.md b/Readme.md index 9fecfedf5..e6c5fdbac 100644 --- a/Readme.md +++ b/Readme.md @@ -8,6 +8,7 @@ A library to import and export various 3d-model-formats including scene-post-pro Coverity Scan Build Status +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9973693b7bdd4543b07084d5d9cf4745)](https://www.codacy.com/gh/assimp/assimp/dashboard?utm_source=github.com&utm_medium=referral&utm_content=assimp/assimp&utm_campaign=Badge_Grade) [![Coverage Status](https://coveralls.io/repos/github/assimp/assimp/badge.svg?branch=master)](https://coveralls.io/github/assimp/assimp?branch=master) [![Join the chat at https://gitter.im/assimp/assimp](https://badges.gitter.im/assimp/assimp.svg)](https://gitter.im/assimp/assimp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/assimp/assimp.svg)](http://isitmaintained.com/project/assimp/assimp "Average time to resolve an issue") From 196deea7ce96d937e30a055b772f8ad1dded29c1 Mon Sep 17 00:00:00 2001 From: Krishty Date: Fri, 23 Apr 2021 15:05:09 +0200 Subject: [PATCH 08/99] added missing file extensions to aiImporterDesc::mFileExtensions --- code/AssetLib/Collada/ColladaLoader.cpp | 2 +- code/AssetLib/M3D/M3DImporter.cpp | 5 ++--- code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/AssetLib/Collada/ColladaLoader.cpp b/code/AssetLib/Collada/ColladaLoader.cpp index 902eebc4b..a3a54886e 100644 --- a/code/AssetLib/Collada/ColladaLoader.cpp +++ b/code/AssetLib/Collada/ColladaLoader.cpp @@ -75,7 +75,7 @@ static const aiImporterDesc desc = { 3, 1, 5, - "dae zae" + "dae xml zae" }; static const float kMillisecondsFromSeconds = 1000.f; diff --git a/code/AssetLib/M3D/M3DImporter.cpp b/code/AssetLib/M3D/M3DImporter.cpp index 8cbda23cb..b7ba74c8a 100644 --- a/code/AssetLib/M3D/M3DImporter.cpp +++ b/code/AssetLib/M3D/M3DImporter.cpp @@ -95,10 +95,9 @@ static const aiImporterDesc desc = { 0, 0, 0, -#ifdef M3D_ASCII - "m3d a3d" -#else "m3d" +#ifdef M3D_ASCII + " a3d" #endif }; diff --git a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp index c66582fea..c8eaf85ce 100644 --- a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp +++ b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp @@ -75,7 +75,7 @@ static const aiImporterDesc desc = { 0, 0, 0, - "pk3" + "bsp pk3" }; namespace Assimp { From 4db4e7206da36f80136f85912beb2110866edb0d Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 23 Apr 2021 15:14:38 +0200 Subject: [PATCH 09/99] Update Readme.md --- Readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Readme.md b/Readme.md index e6c5fdbac..81fd9fd9d 100644 --- a/Readme.md +++ b/Readme.md @@ -12,7 +12,6 @@ A library to import and export various 3d-model-formats including scene-post-pro [![Coverage Status](https://coveralls.io/repos/github/assimp/assimp/badge.svg?branch=master)](https://coveralls.io/github/assimp/assimp?branch=master) [![Join the chat at https://gitter.im/assimp/assimp](https://badges.gitter.im/assimp/assimp.svg)](https://gitter.im/assimp/assimp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/assimp/assimp.svg)](http://isitmaintained.com/project/assimp/assimp "Average time to resolve an issue") -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5be56faac64f46fc941ac890fb4febef)](https://www.codacy.com/app/kimkulling/assimp?utm_source=github.com&utm_medium=referral&utm_content=assimp/assimp&utm_campaign=Badge_Grade) [![Total alerts](https://img.shields.io/lgtm/alerts/g/assimp/assimp.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/assimp/assimp/alerts/)
From 9dc66b0003cc0f045860a1a3122ae8e69f89a279 Mon Sep 17 00:00:00 2001 From: Krishty Date: Fri, 23 Apr 2021 15:15:21 +0200 Subject: [PATCH 10/99] removed dead code BaseImporter::GetExtensionList() is not a virtual function; overriding it is useless. This probably stemmed from a misunderstanding. --- code/AssetLib/AMF/AMFImporter.cpp | 4 ---- code/AssetLib/AMF/AMFImporter.hpp | 1 - code/AssetLib/Blender/BlenderLoader.cpp | 6 ------ code/AssetLib/Blender/BlenderLoader.h | 1 - code/AssetLib/X3D/X3DImporter.cpp | 4 ---- code/AssetLib/X3D/X3DImporter.hpp | 1 - 6 files changed, 17 deletions(-) diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index 37756aea0..1a3efba9a 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -517,10 +517,6 @@ bool AMFImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool p return false; } -void AMFImporter::GetExtensionList(std::set &pExtensionList) { - pExtensionList.insert("amf"); -} - const aiImporterDesc *AMFImporter::GetInfo() const { return &Description; } diff --git a/code/AssetLib/AMF/AMFImporter.hpp b/code/AssetLib/AMF/AMFImporter.hpp index ef61be463..18ef83c24 100644 --- a/code/AssetLib/AMF/AMFImporter.hpp +++ b/code/AssetLib/AMF/AMFImporter.hpp @@ -277,7 +277,6 @@ public: void ParseHelper_Node_Enter(AMFNodeElementBase *child); void ParseHelper_Node_Exit(); bool CanRead(const std::string &pFile, IOSystem *pIOHandler, bool pCheckSig) const; - void GetExtensionList(std::set &pExtensionList); void InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler); const aiImporterDesc *GetInfo() const; bool Find_NodeElement(const std::string &pID, const AMFNodeElementBase::EType pType, AMFNodeElementBase **pNodeElement) const; diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index 989e9d59a..1c9482631 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -132,12 +132,6 @@ bool BlenderImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bo return false; } -// ------------------------------------------------------------------------------------------------ -// List all extensions handled by this loader -void BlenderImporter::GetExtensionList(std::set &app) { - app.insert("blend"); -} - // ------------------------------------------------------------------------------------------------ // Loader registry entry const aiImporterDesc *BlenderImporter::GetInfo() const { diff --git a/code/AssetLib/Blender/BlenderLoader.h b/code/AssetLib/Blender/BlenderLoader.h index fdbb586c9..42da76514 100644 --- a/code/AssetLib/Blender/BlenderLoader.h +++ b/code/AssetLib/Blender/BlenderLoader.h @@ -110,7 +110,6 @@ public: protected: const aiImporterDesc* GetInfo () const; - void GetExtensionList(std::set& app); void SetupProperties(const Importer* pImp); void InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler); void ParseBlendFile(Blender::FileDatabase& out, std::shared_ptr stream); diff --git a/code/AssetLib/X3D/X3DImporter.cpp b/code/AssetLib/X3D/X3DImporter.cpp index 287fdeceb..121b7490e 100644 --- a/code/AssetLib/X3D/X3DImporter.cpp +++ b/code/AssetLib/X3D/X3DImporter.cpp @@ -167,10 +167,6 @@ bool X3DImporter::CanRead( const std::string &pFile, IOSystem * /*pIOHandler*/, return false; } -void X3DImporter::GetExtensionList( std::set &extensionList ) { - extensionList.insert("x3d"); -} - void X3DImporter::InternReadFile( const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler ) { std::shared_ptr stream(pIOHandler->Open(pFile, "rb")); if (!stream) { diff --git a/code/AssetLib/X3D/X3DImporter.hpp b/code/AssetLib/X3D/X3DImporter.hpp index 3d263a2cc..c96bb17d8 100644 --- a/code/AssetLib/X3D/X3DImporter.hpp +++ b/code/AssetLib/X3D/X3DImporter.hpp @@ -307,7 +307,6 @@ public: /// \param [in] pIOHandler - pointer to IO helper object. void ParseFile(const std::string &pFile, IOSystem *pIOHandler); bool CanRead(const std::string &pFile, IOSystem *pIOHandler, bool pCheckSig) const; - void GetExtensionList(std::set &pExtensionList); void InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler); const aiImporterDesc *GetInfo() const; void Clear(); From 0b14eb7523e05a675d383d95fbfbe2abae5b0201 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 23 Apr 2021 15:30:12 +0200 Subject: [PATCH 11/99] Fix formatter. --- tools/assimp_cmd/ImageExtractor.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/assimp_cmd/ImageExtractor.cpp b/tools/assimp_cmd/ImageExtractor.cpp index 58aa42fa8..105c4fe37 100644 --- a/tools/assimp_cmd/ImageExtractor.cpp +++ b/tools/assimp_cmd/ImageExtractor.cpp @@ -130,8 +130,9 @@ int SaveAsBMP(FILE *file, const aiTexel *data, unsigned int width, unsigned int s[0] = t->b; s[1] = t->g; s[2] = t->r; - if (4 == numc) + if (4 == numc) { s[3] = t->a; + } } } @@ -296,7 +297,7 @@ int Assimp_Extract(const char *const *params, unsigned int num) { // check whether the requested texture is existing if (texIdx >= scene->mNumTextures) { - ::printf("assimp extract: Texture %i requested, but there are just %i textures\n", + ::printf("assimp extract: Texture %u requested, but there are just %i textures\n", texIdx, scene->mNumTextures); return AssimpCmdExtractError::TextureIndexIsOutOfRange; } @@ -325,7 +326,7 @@ int Assimp_Extract(const char *const *params, unsigned int num) { // if the texture is a compressed one, we'll export // it to its native file format if (!tex->mHeight) { - printf("assimp extract: Texture %i is compressed (%s). Writing native file format.\n", + printf("assimp extract: Texture %u is compressed (%s). Writing native file format.\n", i, tex->achFormatHint); // modify file extension @@ -350,7 +351,7 @@ int Assimp_Extract(const char *const *params, unsigned int num) { } ::fclose(p); - printf("assimp extract: Wrote texture %i to %s\n", i, out_cpy.c_str()); + printf("assimp extract: Wrote texture %u to %s\n", i, out_cpy.c_str()); if (texIdx != 0xffffffff) { return m; } From afe947d5db64c21e42e7a6d91b952bf0bea74144 Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 24 Apr 2021 12:38:31 +0200 Subject: [PATCH 12/99] fixed malformatted message --- code/Common/BaseImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 0657216cf..20043e931 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -97,7 +97,7 @@ void BaseImporter::UpdateImporterScale(Importer *pImp) { // Set active scaling pImp->SetPropertyFloat(AI_CONFIG_APP_SCALE_KEY, static_cast(activeScale)); - ASSIMP_LOG_DEBUG_F("UpdateImporterScale scale set: %f", activeScale); + ASSIMP_LOG_DEBUG_F("UpdateImporterScale scale set: ", activeScale); } // ------------------------------------------------------------------------------------------------ From e6a47d93c2f630688d49eec82bb7226e236d2399 Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 24 Apr 2021 13:29:15 +0200 Subject: [PATCH 13/99] removed dead code from 0d29203e24a8bc2c75278931a6bd25b2ae5848de --- code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp | 1 + code/Common/BaseImporter.cpp | 14 -------- include/assimp/BaseImporter.h | 37 +-------------------- 3 files changed, 2 insertions(+), 50 deletions(-) diff --git a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp index 4df0d0d1d..eee9ed346 100644 --- a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp @@ -57,6 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include #ifdef MDL_HALFLIFE_LOG_WARN_HEADER #undef MDL_HALFLIFE_LOG_WARN_HEADER diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 0657216cf..6e65692f0 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -65,20 +65,6 @@ using namespace Assimp; // Constructor to be privately used by Importer BaseImporter::BaseImporter() AI_NO_EXCEPT : m_progress() { - /** - * Assimp Importer - * unit conversions available - * if you need another measurment unit add it below. - * it's currently defined in assimp that we prefer meters. - * - * NOTE: Initialised here rather than in the header file - * to workaround a VS2013 bug with brace initialisers - * */ - importerUnits[ImporterUnits::M] = 1.0; - importerUnits[ImporterUnits::CM] = 0.01; - importerUnits[ImporterUnits::MM] = 0.001; - importerUnits[ImporterUnits::INCHES] = 0.0254; - importerUnits[ImporterUnits::FEET] = 0.3048; } // ------------------------------------------------------------------------------------------------ diff --git a/include/assimp/BaseImporter.h b/include/assimp/BaseImporter.h index 86d7ba70f..80c79b9a2 100644 --- a/include/assimp/BaseImporter.h +++ b/include/assimp/BaseImporter.h @@ -51,10 +51,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "Exceptional.h" -#include #include #include -#include #include #include #include @@ -179,42 +177,10 @@ public: /** * Will be called only by scale process when scaling is requested. */ - virtual void SetFileScale(double scale) { + void SetFileScale(double scale) { fileScale = scale; } - virtual double GetFileScale() const { - return fileScale; - } - - enum ImporterUnits { - M, - MM, - CM, - INCHES, - FEET - }; - - /** - * Assimp Importer - * unit conversions available - * NOTE: Valid options are initialised in the - * constructor in the implementation file to - * work around a VS2013 compiler bug if support - * for that compiler is dropped in the future - * initialisation can be moved back here - * */ - std::map importerUnits; - - virtual void SetApplicationUnits(const ImporterUnits &unit) { - importerScale = importerUnits[unit]; - applicationUnits = unit; - } - - virtual const ImporterUnits &GetApplicationUnits() { - return applicationUnits; - } - // ------------------------------------------------------------------- /** Called by #Importer::GetExtensionList for each loaded importer. * Take the extension list contained in the structure returned by @@ -223,7 +189,6 @@ public: void GetExtensionList(std::set &extensions); protected: - ImporterUnits applicationUnits = ImporterUnits::M; double importerScale = 1.0; double fileScale = 1.0; From 5c64a4dc1eb09aea9bcfc0be93136ab753a9eea1 Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 24 Apr 2021 18:33:57 +0200 Subject: [PATCH 14/99] devirtualized a function that is called once and never overridden --- include/assimp/BaseImporter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/assimp/BaseImporter.h b/include/assimp/BaseImporter.h index 80c79b9a2..38bec1afd 100644 --- a/include/assimp/BaseImporter.h +++ b/include/assimp/BaseImporter.h @@ -385,7 +385,7 @@ public: // static utilities private: /* Pushes state into importer for the importer scale */ - virtual void UpdateImporterScale(Importer *pImp); + void UpdateImporterScale(Importer *pImp); protected: /// Error description in case there was one. From ee8d1b041709b59ef79ed1b237acca0836fcfa35 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Sat, 24 Apr 2021 14:13:51 -0600 Subject: [PATCH 15/99] SimpleTexturedDirectx11: embedded texture loading fixes - remove assumption that embedded texture names start with "*0", etc. - rename ModelLoader::getTextureFromModel() to loadEmbeddedTexture() - support loading uncompressed embedded textures Fixes display of bullsquid.mdl from Half-Life (which has an embdedded texture named "bottommap.bmp") --- .../SimpleTexturedDirectx11/ModelLoader.cpp | 83 +++++++++---------- .../SimpleTexturedDirectx11/ModelLoader.h | 4 +- 2 files changed, 42 insertions(+), 45 deletions(-) diff --git a/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.cpp b/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.cpp index 733d3d620..92760d691 100644 --- a/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.cpp +++ b/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.cpp @@ -42,22 +42,12 @@ void ModelLoader::Draw(ID3D11DeviceContext * devcon) { } } -std::string textype; - Mesh ModelLoader::processMesh(aiMesh * mesh, const aiScene * scene) { // Data to fill std::vector vertices; std::vector indices; std::vector textures; - if (mesh->mMaterialIndex >= 0) { - aiMaterial* mat = scene->mMaterials[mesh->mMaterialIndex]; - - if (textype.empty()) { - textype = determineTextureType(scene, mat); - } - } - // Walk through each of the mesh's vertices for (UINT i = 0; i < mesh->mNumVertices; i++) { VERTEX vertex; @@ -108,9 +98,10 @@ std::vector ModelLoader::loadMaterialTextures(aiMaterial * mat, aiTextu if (!skip) { // If texture hasn't been loaded already, load it HRESULT hr; Texture texture; - if (textype == "embedded compressed texture") { - int textureindex = getTextureIndex(&str); - texture.texture = getTextureFromModel(scene, textureindex); + + const aiTexture* embeddedTexture = scene->GetEmbeddedTexture(str.C_Str()); + if (embeddedTexture != nullptr) { + texture.texture = loadEmbeddedTexture(embeddedTexture); } else { std::string filename = std::string(str.C_Str()); filename = directory_ + '/' + filename; @@ -148,38 +139,46 @@ void ModelLoader::processNode(aiNode * node, const aiScene * scene) { } } -std::string ModelLoader::determineTextureType(const aiScene * scene, aiMaterial * mat) { - aiString textypeStr; - mat->GetTexture(aiTextureType_DIFFUSE, 0, &textypeStr); - std::string textypeteststr = textypeStr.C_Str(); - if (textypeteststr == "*0" || textypeteststr == "*1" || textypeteststr == "*2" || textypeteststr == "*3" || textypeteststr == "*4" || textypeteststr == "*5") { - if (scene->mTextures[0]->mHeight == 0) { - return "embedded compressed texture"; - } else { - return "embedded non-compressed texture"; - } - } - if (textypeteststr.find('.') != std::string::npos) { - return "textures are on disk"; - } - - return "."; -} - -int ModelLoader::getTextureIndex(aiString * str) { - std::string tistr; - tistr = str->C_Str(); - tistr = tistr.substr(1); - return stoi(tistr); -} - -ID3D11ShaderResourceView * ModelLoader::getTextureFromModel(const aiScene * scene, int textureindex) { +ID3D11ShaderResourceView * ModelLoader::loadEmbeddedTexture(const aiTexture* embeddedTexture) { HRESULT hr; - ID3D11ShaderResourceView *texture; + ID3D11ShaderResourceView *texture = nullptr; - int* size = reinterpret_cast(&scene->mTextures[textureindex]->mWidth); + if (embeddedTexture->mHeight != 0) { + // Load an uncompressed ARGB8888 embedded texture + D3D11_TEXTURE2D_DESC desc; + desc.Width = embeddedTexture->mWidth; + desc.Height = embeddedTexture->mHeight; + desc.MipLevels = 1; + desc.ArraySize = 1; + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; + desc.BindFlags = D3D11_BIND_SHADER_RESOURCE; + desc.CPUAccessFlags = 0; + desc.MiscFlags = 0; - hr = CreateWICTextureFromMemory(dev_, devcon_, reinterpret_cast(scene->mTextures[textureindex]->pcData), *size, nullptr, &texture); + D3D11_SUBRESOURCE_DATA subresourceData; + subresourceData.pSysMem = embeddedTexture->pcData; + subresourceData.SysMemPitch = embeddedTexture->mWidth * 4; + subresourceData.SysMemSlicePitch = embeddedTexture->mWidth * embeddedTexture->mHeight * 4; + + ID3D11Texture2D *texture2D = nullptr; + hr = dev_->CreateTexture2D(&desc, &subresourceData, &texture2D); + if (FAILED(hr)) + MessageBox(hwnd_, "CreateTexture2D failed!", "Error!", MB_ICONERROR | MB_OK); + + hr = dev_->CreateShaderResourceView(texture2D, nullptr, &texture); + if (FAILED(hr)) + MessageBox(hwnd_, "CreateShaderResourceView failed!", "Error!", MB_ICONERROR | MB_OK); + + return texture; + } + + // mHeight is 0, so try to load a compressed texture of mWidth bytes + const size_t size = embeddedTexture->mWidth; + + hr = CreateWICTextureFromMemory(dev_, devcon_, reinterpret_cast(embeddedTexture->pcData), size, nullptr, &texture); if (FAILED(hr)) MessageBox(hwnd_, "Texture couldn't be created from memory!", "Error!", MB_ICONERROR | MB_OK); diff --git a/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.h b/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.h index 9d3ed50b3..a04484f08 100644 --- a/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.h +++ b/samples/SimpleTexturedDirectx11/SimpleTexturedDirectx11/ModelLoader.h @@ -35,9 +35,7 @@ private: void processNode(aiNode* node, const aiScene* scene); Mesh processMesh(aiMesh* mesh, const aiScene* scene); std::vector loadMaterialTextures(aiMaterial* mat, aiTextureType type, std::string typeName, const aiScene* scene); - std::string determineTextureType(const aiScene* scene, aiMaterial* mat); - int getTextureIndex(aiString* str); - ID3D11ShaderResourceView* getTextureFromModel(const aiScene* scene, int textureindex); + ID3D11ShaderResourceView* loadEmbeddedTexture(const aiTexture* embeddedTexture); }; #endif // !MODEL_LOADER_H From a5d0e99548056e42b6b74e033b6d4eec04548869 Mon Sep 17 00:00:00 2001 From: Gordon Chapman Date: Mon, 26 Apr 2021 12:19:20 -0700 Subject: [PATCH 16/99] Fixed error in blendShapeChannel Weighting --- code/AssetLib/FBX/FBXExporter.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/AssetLib/FBX/FBXExporter.cpp b/code/AssetLib/FBX/FBXExporter.cpp index 322161411..e519f7e77 100644 --- a/code/AssetLib/FBX/FBXExporter.cpp +++ b/code/AssetLib/FBX/FBXExporter.cpp @@ -1789,13 +1789,13 @@ void FBXExporter::WriteObjects () blendchannel_uid, blendshape_name + FBX::SEPARATOR + "SubDeformer", "BlendShapeChannel" ); sdnode.AddChild("Version", int32_t(100)); - sdnode.AddChild("DeformPercent", int32_t(100)); + sdnode.AddChild("DeformPercent", float_t(0.0)); FBX::Node p("Properties70"); - p.AddP70numberA("DeformPercent", 100.); + p.AddP70numberA("DeformPercent", 0.0); sdnode.AddChild(p); // TODO: Normally just one weight per channel, adding stub for later development std::vectorfFullWeights; - fFullWeights.push_back(0.); + fFullWeights.push_back(100.); sdnode.AddChild("FullWeights", fFullWeights); sdnode.Dump(outstream, binary, indent); From 708d124745a4256e8e8850dd9cbce4853a971e9f Mon Sep 17 00:00:00 2001 From: Jason C Date: Mon, 26 Apr 2021 19:42:22 -0400 Subject: [PATCH 17/99] Update aiProcess_PreTransformVertices docs to match behavior. Addresses #3820, the easy way. --- include/assimp/postprocess.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/assimp/postprocess.h b/include/assimp/postprocess.h index 01eabaef9..ca2c2c22d 100644 --- a/include/assimp/postprocess.h +++ b/include/assimp/postprocess.h @@ -209,9 +209,14 @@ enum aiPostProcessSteps /**
Removes the node graph and pre-transforms all vertices with * the local transformation matrices of their nodes. * - * The output scene still contains nodes, however there is only a - * root node with children, each one referencing only one mesh, - * and each mesh referencing one material. For rendering, you can + * If the resulting scene can be reduced to a single mesh, with a single + * material, no lights, and no cameras, then the output scene will contain + * only a root node (with no children) that references the single mesh. + * Otherwise, the output scene will be reduced to a root node with a single + * level of child nodes, each one referencing one mesh, and each mesh + * referencing one material. + * + * In either case, for rendering, you can * simply render all meshes in order - you don't need to pay * attention to local transformations and the node hierarchy. * Animations are removed during this step. From 3acd42c22ed48225919cf03a092262a2e706fbdd Mon Sep 17 00:00:00 2001 From: Jason C Date: Mon, 26 Apr 2021 20:27:28 -0400 Subject: [PATCH 18/99] Remove newline from name of Blender importer. Addresses #3797. Re-submitting this as a quick fix to the immediate issue while I think about the website field. --- code/AssetLib/Blender/BlenderLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index 989e9d59a..71ab67721 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -88,7 +88,7 @@ using namespace Assimp::Blender; using namespace Assimp::Formatter; static const aiImporterDesc blenderDesc = { - "Blender 3D Importer \nhttp://www.blender3d.org", + "Blender 3D Importer (http://www.blender3d.org)", "", "", "No animation support yet", From 260cc6bd2674a858ca5193b2ed47ed1c1d5efd01 Mon Sep 17 00:00:00 2001 From: Krishty Date: Wed, 28 Apr 2021 01:02:24 +0200 Subject: [PATCH 19/99] reverted regression in 3DS transformation (issue #3802) The regression was introduced to align 3DS export and import, but in fact it broke the transformation matrices on import. This commit reverts the relevant lines. Furthermore, matrix layout was double-checked with two other 3DS importers. Export was not considered. --- code/AssetLib/3DS/3DSLoader.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/AssetLib/3DS/3DSLoader.cpp b/code/AssetLib/3DS/3DSLoader.cpp index 0a64f6870..3dabf9da1 100644 --- a/code/AssetLib/3DS/3DSLoader.cpp +++ b/code/AssetLib/3DS/3DSLoader.cpp @@ -981,9 +981,9 @@ void Discreet3DSImporter::ParseMeshChunk() { mMesh.mMat.a3 = stream->GetF4(); mMesh.mMat.b3 = stream->GetF4(); mMesh.mMat.c3 = stream->GetF4(); - mMesh.mMat.d1 = stream->GetF4(); - mMesh.mMat.d2 = stream->GetF4(); - mMesh.mMat.d3 = stream->GetF4(); + mMesh.mMat.a4 = stream->GetF4(); + mMesh.mMat.b4 = stream->GetF4(); + mMesh.mMat.c4 = stream->GetF4(); } break; case Discreet3DS::CHUNK_MAPLIST: { From 6abdd0cd3e5f199f0c3bd5f4b08eb3c296edce81 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 28 Apr 2021 16:38:22 +0200 Subject: [PATCH 20/99] Fix crash when reading 0 bytes - This is a valid option so crash shall not happen --- code/Common/DefaultIOStream.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/Common/DefaultIOStream.cpp b/code/Common/DefaultIOStream.cpp index 115fea63c..ba9b9d625 100644 --- a/code/Common/DefaultIOStream.cpp +++ b/code/Common/DefaultIOStream.cpp @@ -90,10 +90,12 @@ DefaultIOStream::~DefaultIOStream() { size_t DefaultIOStream::Read(void *pvBuffer, size_t pSize, size_t pCount) { + if (0 == pCount) { + return 0; + } ai_assert(nullptr != pvBuffer); ai_assert(0 != pSize); - ai_assert(0 != pCount); - + return (mFile ? ::fread(pvBuffer, pSize, pCount, mFile) : 0); } From cf498c979a64426f4a0d87a82d8c67b84c90fdb6 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 28 Apr 2021 11:16:49 -0400 Subject: [PATCH 21/99] ASSIMP_ENABLE_DEV_IMPORTERS env var to control registration of wip importers; applied to X3D - GetImporterInstanceList reads ASSIMP_ENABLE_DEV_IMPORTERS env var. Development importers are enabled if the env var is set and is not equal to the literal string "0". - X3D importer will not be registered unless ASSIMP_ENABLE_DEV_IMPORTERS is set; addresses #3647. TODO: If this change is incorporated, it should be documented. NOTE: Effective git branch structure is a better solution. This is an alternate for #3825. --- code/Common/ImporterRegistry.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/code/Common/ImporterRegistry.cpp b/code/Common/ImporterRegistry.cpp index a902fc89d..ddfcf6798 100644 --- a/code/Common/ImporterRegistry.cpp +++ b/code/Common/ImporterRegistry.cpp @@ -48,6 +48,7 @@ corresponding preprocessor flag to selectively disable formats. #include #include +#include // ------------------------------------------------------------------------------------------------ // Importers @@ -204,7 +205,17 @@ corresponding preprocessor flag to selectively disable formats. namespace Assimp { // ------------------------------------------------------------------------------------------------ -void GetImporterInstanceList(std::vector &out) { +void GetImporterInstanceList(std::vector &out) { + + // Some importers may be unimplemented or otherwise unsuitable for general use + // in their current state. Devs can set ASSIMP_ENABLE_DEV_IMPORTERS in their + // local environment to enable them, otherwise they're left out of the registry. + const char *envStr = std::getenv("ASSIMP_ENABLE_DEV_IMPORTERS"); + bool devImportersEnabled = envStr && strcmp(envStr, "0"); + + // Ensure no unused var warnings if all uses are #ifndef'd away below: + (void)devImportersEnabled; + // ---------------------------------------------------------------------------- // Add an instance of each worker class here // (register_new_importers_here) @@ -354,7 +365,9 @@ void GetImporterInstanceList(std::vector &out) { out.push_back(new D3MFImporter()); #endif #ifndef ASSIMP_BUILD_NO_X3D_IMPORTER - out.push_back(new X3DImporter()); + if (devImportersEnabled) { // https://github.com/assimp/assimp/issues/3647 + out.push_back(new X3DImporter()); + } #endif #ifndef ASSIMP_BUILD_NO_MMD_IMPORTER out.push_back(new MMDImporter()); From db142da571d99a3a44a0eed52a819bc7c4a85617 Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 29 Apr 2021 19:44:06 +0300 Subject: [PATCH 22/99] orient mdc correctly --- code/AssetLib/MDC/MDCLoader.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/AssetLib/MDC/MDCLoader.cpp b/code/AssetLib/MDC/MDCLoader.cpp index 17a349768..c53c31b77 100644 --- a/code/AssetLib/MDC/MDCLoader.cpp +++ b/code/AssetLib/MDC/MDCLoader.cpp @@ -465,6 +465,13 @@ void MDCImporter::InternReadFile( pcMat->AddProperty(&path, AI_MATKEY_TEXTURE_DIFFUSE(0)); } } + + // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system + pScene->mRootNode->mTransformation = aiMatrix4x4( + 1.f, 0.f, 0.f, 0.f, + 0.f, 0.f, 1.f, 0.f, + 0.f, -1.f, 0.f, 0.f, + 0.f, 0.f, 0.f, 1.f); } #endif // !! ASSIMP_BUILD_NO_MDC_IMPORTER From ebf5ef9a4be21f1f8c5a5f311aad342f41878291 Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 29 Apr 2021 20:02:20 +0300 Subject: [PATCH 23/99] consider pScene->mRootNode->mTransformation set by some importers while using AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION --- code/PostProcessing/PretransformVertices.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/PostProcessing/PretransformVertices.cpp b/code/PostProcessing/PretransformVertices.cpp index d1740f30b..2691ed488 100644 --- a/code/PostProcessing/PretransformVertices.cpp +++ b/code/PostProcessing/PretransformVertices.cpp @@ -429,7 +429,7 @@ void PretransformVertices::Execute(aiScene *pScene) { const unsigned int iOldNodes = CountNodes(pScene->mRootNode); if (configTransform) { - pScene->mRootNode->mTransformation = configTransformation; + pScene->mRootNode->mTransformation = configTransformation * pScene->mRootNode->mTransformation; } // first compute absolute transformation matrices for all nodes From 4798ff3882bac60e89d2015783d2966ffc8e620c Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 29 Apr 2021 19:51:03 +0300 Subject: [PATCH 24/99] fix hl1 mdl orientation, tex coords, face windings order --- code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp | 6 +++--- code/AssetLib/MDL/MDLLoader.cpp | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp index 4df0d0d1d..e9020637b 100644 --- a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp @@ -868,7 +868,7 @@ void HL1MDLLoader::read_meshes() { scene_mesh->mNormals[v] = bind_pose_normals[pTrivert->normindex]; scene_mesh->mTextureCoords[0][v] = aiVector3D( pTrivert->s * texcoords_s_scale, - pTrivert->t * texcoords_t_scale, 0); + pTrivert->t * -texcoords_t_scale, 0); } // Add face and indices. @@ -879,9 +879,9 @@ void HL1MDLLoader::read_meshes() { aiFace *face = &scene_mesh->mFaces[f]; face->mNumIndices = 3; face->mIndices = new unsigned int[3]; - face->mIndices[0] = mesh_faces[f].v0; + face->mIndices[0] = mesh_faces[f].v2; face->mIndices[1] = mesh_faces[f].v1; - face->mIndices[2] = mesh_faces[f].v2; + face->mIndices[2] = mesh_faces[f].v0; } // Add mesh bones. diff --git a/code/AssetLib/MDL/MDLLoader.cpp b/code/AssetLib/MDL/MDLLoader.cpp index a4286a716..0d694a2cc 100644 --- a/code/AssetLib/MDL/MDLLoader.cpp +++ b/code/AssetLib/MDL/MDLLoader.cpp @@ -199,6 +199,7 @@ void MDLImporter::InternReadFile(const std::string &pFile, const uint32_t iMagicWord = *((uint32_t *)mBuffer); // Determine the file subtype and call the appropriate member function + bool is_half_life = false; // Original Quake1 format if (AI_MDL_MAGIC_NUMBER_BE == iMagicWord || AI_MDL_MAGIC_NUMBER_LE == iMagicWord) { @@ -240,6 +241,7 @@ void MDLImporter::InternReadFile(const std::string &pFile, else if (AI_MDL_MAGIC_NUMBER_BE_HL2a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2a == iMagicWord || AI_MDL_MAGIC_NUMBER_BE_HL2b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2b == iMagicWord) { iGSFileVersion = 0; + is_half_life = true; HalfLife::HalfLifeMDLBaseHeader *pHeader = (HalfLife::HalfLifeMDLBaseHeader *)mBuffer; if (pHeader->version == AI_MDL_HL1_VERSION) { @@ -255,9 +257,19 @@ void MDLImporter::InternReadFile(const std::string &pFile, ". Magic word (", std::string((char *)&iMagicWord, 4), ") is not known"); } - // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system - pScene->mRootNode->mTransformation = aiMatrix4x4(1.f, 0.f, 0.f, 0.f, - 0.f, 0.f, 1.f, 0.f, 0.f, -1.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f); + if (is_half_life){ + // Now rotate the whole scene 90 degrees around the z and x axes to convert to internal coordinate system + pScene->mRootNode->mTransformation = aiMatrix4x4( + 0.f, -1.f, 0.f, 0.f, + 0.f, 0.f, 1.f, 0.f, + -1.f, 0.f, 0.f, 0.f, + 0.f, 0.f, 0.f, 1.f); + } + else { + // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system + pScene->mRootNode->mTransformation = aiMatrix4x4(1.f, 0.f, 0.f, 0.f, + 0.f, 0.f, 1.f, 0.f, 0.f, -1.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f); + } DeleteBufferAndCleanup(); } catch (...) { From 3717e66faeae90d8fa4daff5f139767ce1feb388 Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 29 Apr 2021 19:57:57 +0300 Subject: [PATCH 25/99] consider aiProcess_FlipWindingOrder in aiProcess_GenNormals & aiProcess_GenSmoothNormals --- code/PostProcessing/GenFaceNormalsProcess.cpp | 3 +++ code/PostProcessing/GenFaceNormalsProcess.h | 1 + code/PostProcessing/GenVertexNormalsProcess.cpp | 3 +++ code/PostProcessing/GenVertexNormalsProcess.h | 1 + 4 files changed, 8 insertions(+) diff --git a/code/PostProcessing/GenFaceNormalsProcess.cpp b/code/PostProcessing/GenFaceNormalsProcess.cpp index a73df2b5d..3e8612d29 100644 --- a/code/PostProcessing/GenFaceNormalsProcess.cpp +++ b/code/PostProcessing/GenFaceNormalsProcess.cpp @@ -70,6 +70,7 @@ GenFaceNormalsProcess::~GenFaceNormalsProcess() { // Returns whether the processing step is present in the given flag field. bool GenFaceNormalsProcess::IsActive(unsigned int pFlags) const { force_ = (pFlags & aiProcess_ForceGenNormals) != 0; + flippedWindingOrder_ = (pFlags & aiProcess_FlipWindingOrder) != 0; return (pFlags & aiProcess_GenNormals) != 0; } @@ -134,6 +135,8 @@ bool GenFaceNormalsProcess::GenMeshFaceNormals(aiMesh *pMesh) { const aiVector3D *pV1 = &pMesh->mVertices[face.mIndices[0]]; const aiVector3D *pV2 = &pMesh->mVertices[face.mIndices[1]]; const aiVector3D *pV3 = &pMesh->mVertices[face.mIndices[face.mNumIndices - 1]]; + if (flippedWindingOrder_) + std::swap( pV2, pV3 ); const aiVector3D vNor = ((*pV2 - *pV1) ^ (*pV3 - *pV1)).NormalizeSafe(); for (unsigned int i = 0; i < face.mNumIndices; ++i) { diff --git a/code/PostProcessing/GenFaceNormalsProcess.h b/code/PostProcessing/GenFaceNormalsProcess.h index 4b9222af3..eefff6c73 100644 --- a/code/PostProcessing/GenFaceNormalsProcess.h +++ b/code/PostProcessing/GenFaceNormalsProcess.h @@ -80,6 +80,7 @@ public: private: bool GenMeshFaceNormals(aiMesh* pcMesh); mutable bool force_ = false; + mutable bool flippedWindingOrder_ = false; }; } // end of namespace Assimp diff --git a/code/PostProcessing/GenVertexNormalsProcess.cpp b/code/PostProcessing/GenVertexNormalsProcess.cpp index 5c9a6b754..e82bc3e6f 100644 --- a/code/PostProcessing/GenVertexNormalsProcess.cpp +++ b/code/PostProcessing/GenVertexNormalsProcess.cpp @@ -70,6 +70,7 @@ GenVertexNormalsProcess::~GenVertexNormalsProcess() { // Returns whether the processing step is present in the given flag field. bool GenVertexNormalsProcess::IsActive(unsigned int pFlags) const { force_ = (pFlags & aiProcess_ForceGenNormals) != 0; + flippedWindingOrder_ = (pFlags & aiProcess_FlipWindingOrder) != 0; return (pFlags & aiProcess_GenSmoothNormals) != 0; } @@ -142,6 +143,8 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals(aiMesh *pMesh, unsigned int m const aiVector3D *pV1 = &pMesh->mVertices[face.mIndices[0]]; const aiVector3D *pV2 = &pMesh->mVertices[face.mIndices[1]]; const aiVector3D *pV3 = &pMesh->mVertices[face.mIndices[face.mNumIndices - 1]]; + if (flippedWindingOrder_) + std::swap( pV2, pV3 ); const aiVector3D vNor = ((*pV2 - *pV1) ^ (*pV3 - *pV1)).NormalizeSafe(); for (unsigned int i = 0; i < face.mNumIndices; ++i) { diff --git a/code/PostProcessing/GenVertexNormalsProcess.h b/code/PostProcessing/GenVertexNormalsProcess.h index 8b98ea8e6..8fc301ab7 100644 --- a/code/PostProcessing/GenVertexNormalsProcess.h +++ b/code/PostProcessing/GenVertexNormalsProcess.h @@ -104,6 +104,7 @@ private: /** Configuration option: maximum smoothing angle, in radians*/ ai_real configMaxAngle; mutable bool force_ = false; + mutable bool flippedWindingOrder_ = false; }; } // end of namespace Assimp From 666b5eff76484252e3191a29b1a3fa333095b6ec Mon Sep 17 00:00:00 2001 From: Krishty Date: Thu, 29 Apr 2021 21:29:10 +0200 Subject: [PATCH 26/99] added .step extension to IFC loader The extension .step is at least as common as .stp, so both should be supported. --- code/AssetLib/IFC/IFCLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp index be100df57..3c0690c93 100644 --- a/code/AssetLib/IFC/IFCLoader.cpp +++ b/code/AssetLib/IFC/IFCLoader.cpp @@ -115,7 +115,7 @@ static const aiImporterDesc desc = { 0, 0, 0, - "ifc ifczip stp" + "ifc ifczip step stp" }; // ------------------------------------------------------------------------------------------------ From edf12bd3571a0297d5a2784704b206df69655bbf Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 29 Apr 2021 20:14:57 +0300 Subject: [PATCH 27/99] fix md2 orientation --- code/AssetLib/MD2/MD2Loader.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/AssetLib/MD2/MD2Loader.cpp b/code/AssetLib/MD2/MD2Loader.cpp index 9ccbcdfca..41cec5ab6 100644 --- a/code/AssetLib/MD2/MD2Loader.cpp +++ b/code/AssetLib/MD2/MD2Loader.cpp @@ -433,10 +433,6 @@ void MD2Importer::InternReadFile( const std::string& pFile, aiVector3D& vNormal = pcMesh->mNormals[iCurrent]; LookupNormalIndex(pcVerts[iIndex].lightNormalIndex,vNormal); - // flip z and y to become right-handed - std::swap((float&)vNormal.z,(float&)vNormal.y); - std::swap((float&)vec.z,(float&)vec.y); - if (m_pcHeader->numTexCoords) { // validate texture coordinates iIndex = pcTriangles[i].textureIndices[c]; @@ -454,7 +450,15 @@ void MD2Importer::InternReadFile( const std::string& pFile, } pScene->mMeshes[0]->mFaces[i].mIndices[c] = iCurrent; } + // flip the face order + std::swap( pScene->mMeshes[0]->mFaces[i].mIndices[0], pScene->mMeshes[0]->mFaces[i].mIndices[2] ); } + // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system + pScene->mRootNode->mTransformation = aiMatrix4x4( + 1.f, 0.f, 0.f, 0.f, + 0.f, 0.f, 1.f, 0.f, + 0.f, -1.f, 0.f, 0.f, + 0.f, 0.f, 0.f, 1.f); } #endif // !! ASSIMP_BUILD_NO_MD2_IMPORTER From 149224091f2967badf71d074b1839a45afa1695e Mon Sep 17 00:00:00 2001 From: Garux Date: Fri, 30 Apr 2021 10:37:06 +0300 Subject: [PATCH 28/99] support missing closing brace in material list after Ascii Scene Exporter v2.51 --- code/AssetLib/ASE/ASEParser.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/AssetLib/ASE/ASEParser.cpp b/code/AssetLib/ASE/ASEParser.cpp index 21ec26593..958e3b9a8 100644 --- a/code/AssetLib/ASE/ASEParser.cpp +++ b/code/AssetLib/ASE/ASEParser.cpp @@ -498,6 +498,12 @@ void Parser::ParseLV1MaterialListBlock() { ParseLV2MaterialBlock(sMat); continue; } + if( iDepth == 1 ){ + // CRUDE HACK: support missing brace after "Ascii Scene Exporter v2.51" + LogWarning("Missing closing brace in material list"); + --filePtr; + return; + } } AI_ASE_HANDLE_TOP_LEVEL_SECTION(); } From feeb89a1dd4b572f6380fa075e67efbe7d3dee1e Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 30 Apr 2021 16:49:15 +0200 Subject: [PATCH 29/99] closes https://github.com/assimp/assimp/issues/3831 : update zip --- contrib/zip/.gitignore | 58 -- contrib/zip/CMakeLists.txt | 44 +- contrib/zip/README.md | 149 ++++- contrib/zip/src/miniz.h | 74 ++- contrib/zip/src/zip.c | 1094 ++++++++++++++++++++++++------- contrib/zip/src/zip.h | 136 +++- contrib/zip/test/CMakeLists.txt | 41 +- 7 files changed, 1219 insertions(+), 377 deletions(-) delete mode 100644 contrib/zip/.gitignore diff --git a/contrib/zip/.gitignore b/contrib/zip/.gitignore deleted file mode 100644 index 49b2cb2fd..000000000 --- a/contrib/zip/.gitignore +++ /dev/null @@ -1,58 +0,0 @@ -/build/ -/test/build/ -/xcodeproj/ -.vscode/ - -# Object files -*.o -*.ko -*.obj -*.elf - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib -*.suo - -# Executables -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Temporary -*.swp -.DS_Store - -# CMake -CMakeScripts -*.cmake - -# Xcode -*.build -*.xcodeproj -zip.sln -zip.vcxproj.filters -zip.vcxproj -ALL_BUILD.vcxproj.filters -ALL_BUILD.vcxproj -CMakeFiles/ -zip.dir/ -test/test.exe.vcxproj.filters -test/test.exe.vcxproj -test/test.exe.dir/ - diff --git a/contrib/zip/CMakeLists.txt b/contrib/zip/CMakeLists.txt index cdfa94b3b..bba4e7bde 100644 --- a/contrib/zip/CMakeLists.txt +++ b/contrib/zip/CMakeLists.txt @@ -1,26 +1,29 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.4) project(zip LANGUAGES C - VERSION "0.1.18") + VERSION "0.1.19") set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) - +set(CMAKE_VERBOSE_MAKEFILE ON) option(CMAKE_DISABLE_TESTING "Disable test creation" OFF) -if (MSVC) - # Use secure functions by default and suppress warnings about "deprecated" functions - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1") -elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -Werror -pedantic") -endif (MSVC) - # zip set(SRC src/miniz.h src/zip.h src/zip.c) -add_library(${PROJECT_NAME} ${SRC}) + +# this is the "object library" target: compiles the sources only once +add_library(OBJLIB OBJECT ${SRC}) +# shared libraries need PIC +set_property(TARGET OBJLIB PROPERTY POSITION_INDEPENDENT_CODE 1) + +# static and shared libraries built from the same object files +if (BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} SHARED $) + include(GenerateExportHeader) + generate_export_header(${PROJECT_NAME}) +else() + add_library(${PROJECT_NAME} STATIC $) +endif() + target_include_directories(${PROJECT_NAME} PUBLIC $ $ @@ -34,6 +37,17 @@ if (NOT CMAKE_DISABLE_TESTING) add_sanitizers(${PROJECT_NAME} ${test_out}) endif() +if (MSVC) + # Use secure functions by default and suppress warnings about "deprecated" functions + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1") +elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR + "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR + "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wextra -Werror -pedantic -Wno-deprecated") +endif (MSVC) + #### # Installation (https://github.com/forexample/package-example) { diff --git a/contrib/zip/README.md b/contrib/zip/README.md index bdd0822b6..308327a3f 100644 --- a/contrib/zip/README.md +++ b/contrib/zip/README.md @@ -2,7 +2,6 @@ This is done by hacking awesome [miniz](https://code.google.com/p/miniz) library and layering functions on top of the miniz v1.15 API. [![Build](https://github.com/kuba--/zip/workflows/build/badge.svg)](https://github.com/kuba--/zip/actions?query=workflow%3Abuild) -[![Version](https://badge.fury.io/gh/kuba--%2Fzip.svg)](https://github.com/kuba--/zip/releases) # The Idea @@ -155,10 +154,52 @@ struct zip_t *zip = zip_open("foo.zip", 0, 'r'); zip_close(zip); ``` +* Create a new zip archive in memory (stream API). + +```c +char *outbuf = NULL; +size_t outbufsize = 0; + +const char *inbuf = "Append some data here...\0"; +struct zip_t *zip = zip_stream_open(NULL, 0, ZIP_DEFAULT_COMPRESSION_LEVEL, 'w'); +{ + zip_entry_open(zip, "foo-1.txt"); + { + zip_entry_write(zip, inbuf, strlen(inbuf)); + } + zip_entry_close(zip); + + /* copy compressed stream into outbuf */ + zip_stream_copy(zip, (void **)&outbuf, &outbufsize); +} +zip_stream_close(zip); + +free(outbuf); +``` + +* Extract a zip entry into a memory (stream API). + +```c +char *buf = NULL; +ssize_t bufsize = 0; + +struct zip_t *zip = zip_stream_open(zipstream, zipstreamsize, 0, 'r'); +{ + zip_entry_open(zip, "foo-1.txt"); + { + zip_entry_read(zip, (void **)&buf, &bufsize); + } + zip_entry_close(zip); +} +zip_stream_close(zip); + +free(buf); +``` + * List of all zip entries ```c struct zip_t *zip = zip_open("foo.zip", 0, 'r'); -int i, n = zip_total_entries(zip); +int i, n = zip_entries_total(zip); for (i = 0; i < n; ++i) { zip_entry_openbyindex(zip, i); { @@ -172,6 +213,49 @@ for (i = 0; i < n; ++i) { zip_close(zip); ``` +* Compress folder (recursively) +```c +void zip_walk(struct zip_t *zip, const char *path) { + DIR *dir; + struct dirent *entry; + char fullpath[MAX_PATH]; + struct stat s; + + memset(fullpath, 0, MAX_PATH); + dir = opendir(path); + assert(dir); + + while ((entry = readdir(dir))) { + // skip "." and ".." + if (!strcmp(entry->d_name, ".\0") || !strcmp(entry->d_name, "..\0")) + continue; + + snprintf(fullpath, sizeof(fullpath), "%s/%s", path, entry->d_name); + stat(fullpath, &s); + if (S_ISDIR(s.st_mode)) + zip_walk(zip, fullpath); + else { + zip_entry_open(zip, fullpath); + zip_entry_fwrite(zip, fullpath); + zip_entry_close(zip); + } + } + + closedir(dir); +} +``` + +* Deletes zip archive entries. +```c +char *entries[] = {"unused.txt", "remove.ini", "delete.me"}; + +struct zip_t *zip = zip_open("foo.zip", 0, 'd'); +{ + zip_entries_delete(zip, entries, 3); +} +zip_close(zip); +``` + # Bindings Compile zip library as a dynamic library. ```shell @@ -181,7 +265,7 @@ $ cmake -DBUILD_SHARED_LIBS=true .. $ make ``` -### Go (cgo) +### [Go](https://golang.org) (cgo) ```go package main @@ -211,7 +295,7 @@ func main() { } ``` -### Rust (ffi) +### [Rust](https://www.rust-lang.org) (ffi) ```rust extern crate libc; use std::ffi::CString; @@ -236,7 +320,7 @@ extern "C" { } fn main() { - let path = CString::new("/tmp/test.zip").unwrap(); + let path = CString::new("/tmp/rust.zip").unwrap(); let mode: libc::c_char = 'w' as libc::c_char; let entryname = CString::new("test.txt").unwrap(); @@ -258,7 +342,7 @@ fn main() { } ``` -### Ruby (ffi) +### [Ruby](http://www.ruby-lang.org) (ffi) Install _ffi_ gem. ```shell $ gem install ffi @@ -291,7 +375,7 @@ Zip.zip_entry_close(ptr) Zip.zip_close(ptr) ``` -### Python (cffi) +### [Python](https://www.python.org) (cffi) Install _cffi_ package ```shell $ pip install cffi @@ -325,7 +409,36 @@ Zip.zip_entry_close(ptr) Zip.zip_close(ptr) ``` -### Ring +### [Never](https://never-lang.readthedocs.io/) (ffi) +```never +extern "libzip.so" func zip_open(zipname: string, level: int, mode: char) -> c_ptr +extern "libzip.so" func zip_close(zip: c_ptr) -> void + +extern "libzip.so" func zip_entry_open(zip: c_ptr, entryname: string) -> int +extern "libzip.so" func zip_entry_close(zip: c_ptr) -> int +extern "libzip.so" func zip_entry_write(zip: c_ptr, buf: string, bufsize: int) -> int +extern "libzip.so" func zip_entry_fwrite(zip: c_ptr, filename: string) -> int + +func main() -> int +{ + let content = "Test content" + + let zip = zip_open("/tmp/never.zip", 6, 'w'); + + zip_entry_open(zip, "test.file"); + zip_entry_fwrite(zip, "/tmp/test.txt"); + zip_entry_close(zip); + + zip_entry_open(zip, "test.content"); + zip_entry_write(zip, content, length(content)); + zip_entry_close(zip); + + zip_close(zip); + 0 +} +``` + +### [Ring](http://ring-lang.net) The language comes with RingZip based on this library ```ring load "ziplib.ring" @@ -342,13 +455,15 @@ new Zip { } ``` -# Contribution Rules/Coding Standards -No need to throw away your coding style, just do your best to follow default clang-format style. -Apply `clang-format` to the source files before commit: -```sh -for file in $(git ls-files | \grep -E '\.(c|h)$' | \grep -v -- '#') -do - clang-format -i $file -done -``` +# Check out more cool projects which use this library: +- [Filament](https://github.com/google/filament): Filament is a real-time physically based rendering engine for Android, iOS, Linux, macOS, Windows, and WebGL. It is designed to be as small as possible and as efficient as possible on Android. +- [Hermes JS Engine](https://github.com/facebook/hermes): Hermes is a JavaScript engine optimized for fast start-up of React Native apps on Android. It features ahead-of-time static optimization and compact bytecode. +- [Open Asset Import Library](https://github.com/assimp/assimp): A library to import and export various 3d-model-formats including scene-post-processing to generate missing render data. +- [PowerToys](https://github.com/microsoft/PowerToys): Set of utilities for power users to tune and streamline their Windows 10 experience for greater productivity. +- [The Ring Programming Language](https://ring-lang.github.io): Innovative and practical general-purpose multi-paradigm language. +- [The V Programming Language](https://github.com/vlang/v): Simple, fast, safe, compiled. For developing maintainable software. +- [TIC-80](https://github.com/nesbox/TIC-80): TIC-80 is a FREE and OPEN SOURCE fantasy computer for making, playing and sharing tiny games. +- [Urho3D](https://github.com/urho3d/Urho3D): Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by OGRE and Horde3D. +- [Vcpkg](https://github.com/microsoft/vcpkg): Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. +- [and more...](https://grep.app/search?q=kuba--/zip) diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h index 7570ae929..0a5560b24 100644 --- a/contrib/zip/src/miniz.h +++ b/contrib/zip/src/miniz.h @@ -400,7 +400,7 @@ typedef enum { #ifndef MINIZ_NO_ZLIB_APIS // Heap allocation callbacks. -// Note that mz_alloc_func parameter types purpsosely differ from zlib's: +// Note that mz_alloc_func parameter types purposely differ from zlib's: // items/size is size_t, not unsigned long. typedef void *(*mz_alloc_func)(void *opaque, size_t items, size_t size); typedef void (*mz_free_func)(void *opaque, void *address); @@ -2194,7 +2194,8 @@ tinfl_status tinfl_decompress(tinfl_decompressor *r, } else tree_cur = pTable->m_tree[-tree_cur - 1]; } - tree_cur -= ((rev_code >>= 1) & 1); + rev_code >>= 1; + tree_cur -= (rev_code & 1); pTable->m_tree[-tree_cur - 1] = (mz_int16)sym_index; } if (r->m_type == 2) { @@ -3970,6 +3971,7 @@ mz_uint tdefl_create_comp_flags_from_zip_params(int level, int window_bits, #ifdef _MSC_VER #pragma warning(push) +#pragma warning(disable : 4121 4127 4244) #pragma warning(disable : 4204) // nonstandard extension used : non-constant // aggregate initializer (also supported by GNU // C and C99, so no big deal) @@ -4098,10 +4100,6 @@ void *tdefl_write_image_to_png_file_in_memory(const void *pImage, int w, int h, pLen_out, 6, MZ_FALSE); } -#ifdef _MSC_VER -#pragma warning(pop) -#endif - // ------------------- .ZIP archive reading #ifndef MINIZ_NO_ARCHIVE_APIS @@ -4112,18 +4110,39 @@ void *tdefl_write_image_to_png_file_in_memory(const void *pImage, int w, int h, #include #include -#if defined(_MSC_VER) +#if defined(_MSC_VER) || defined(__MINGW32__) + +#include + +static wchar_t *str2wstr(const char *str) { + int len = (int) strlen(str) + 1; + wchar_t *wstr = malloc(len * sizeof(wchar_t)); + MultiByteToWideChar(CP_UTF8, 0, str, len * sizeof(char), wstr, len); + return wstr; +} + static FILE *mz_fopen(const char *pFilename, const char *pMode) { - FILE *pFile = NULL; - fopen_s(&pFile, pFilename, pMode); + wchar_t *wFilename = str2wstr(pFilename); + wchar_t *wMode = str2wstr(pMode); + FILE *pFile = _wfopen(wFilename, wMode); + + free(wFilename); + free(wMode); + return pFile; } + static FILE *mz_freopen(const char *pPath, const char *pMode, FILE *pStream) { - FILE *pFile = NULL; - if (freopen_s(&pFile, pPath, pMode, pStream)) - return NULL; + wchar_t *wPath = str2wstr(pPath); + wchar_t *wMode = str2wstr(pMode); + FILE *pFile = _wfreopen(wPath, wMode, pStream); + + free(wPath); + free(wMode); + return pFile; } + #ifndef MINIZ_NO_TIME #include #endif @@ -4144,7 +4163,7 @@ static FILE *mz_freopen(const char *pPath, const char *pMode, FILE *pStream) { #include #endif #define MZ_FILE FILE -#define MZ_FOPEN(f, m) fopen(f, m) +#define MZ_FOPEN(f, m) mz_fopen #define MZ_FCLOSE fclose #define MZ_FREAD fread #define MZ_FWRITE fwrite @@ -4153,7 +4172,7 @@ static FILE *mz_freopen(const char *pPath, const char *pMode, FILE *pStream) { #define MZ_FILE_STAT_STRUCT _stat #define MZ_FILE_STAT _stat #define MZ_FFLUSH fflush -#define MZ_FREOPEN(f, m, s) freopen(f, m, s) +#define MZ_FREOPEN(f, m, s) mz_freopen #define MZ_DELETE_FILE remove #elif defined(__TINYC__) #ifndef MINIZ_NO_TIME @@ -5361,13 +5380,9 @@ mz_bool mz_zip_reader_extract_to_mem_no_alloc(mz_zip_archive *pZip, } else { // Temporarily allocate a read buffer. read_buf_size = MZ_MIN(file_stat.m_comp_size, MZ_ZIP_MAX_IO_BUF_SIZE); -#if defined(_MSC_VER) && !defined(__clang__) - if (((0, sizeof(size_t) == sizeof(mz_uint32))) && - (read_buf_size > 0x7FFFFFFF)) -#else if (((sizeof(size_t) == sizeof(mz_uint32))) && (read_buf_size > 0x7FFFFFFF)) -#endif return MZ_FALSE; + if (NULL == (pRead_buf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)read_buf_size))) return MZ_FALSE; @@ -5454,11 +5469,7 @@ void *mz_zip_reader_extract_to_heap(mz_zip_archive *pZip, mz_uint file_index, uncomp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_DECOMPRESSED_SIZE_OFS); alloc_size = (flags & MZ_ZIP_FLAG_COMPRESSED_DATA) ? comp_size : uncomp_size; -#if defined(_MSC_VER) && !defined(__clang__) - if (((0, sizeof(size_t) == sizeof(mz_uint32))) && (alloc_size > 0x7FFFFFFF)) -#else if (((sizeof(size_t) == sizeof(mz_uint32))) && (alloc_size > 0x7FFFFFFF)) -#endif return NULL; if (NULL == (pBuf = pZip->m_pAlloc(pZip->m_pAlloc_opaque, 1, (size_t)alloc_size))) @@ -5560,14 +5571,10 @@ mz_bool mz_zip_reader_extract_to_callback(mz_zip_archive *pZip, if ((flags & MZ_ZIP_FLAG_COMPRESSED_DATA) || (!file_stat.m_method)) { // The file is stored or the caller has requested the compressed data. if (pZip->m_pState->m_pMem) { -#if defined (_MSC_VER) && !defined(__clang__) - if (((0, sizeof(size_t) == sizeof(mz_uint32))) && - (file_stat.m_comp_size > 0xFFFFFFFF)) -#else if (((sizeof(size_t) == sizeof(mz_uint32))) && (file_stat.m_comp_size > 0xFFFFFFFF)) -#endif return MZ_FALSE; + if (pCallback(pOpaque, out_buf_ofs, pRead_buf, (size_t)file_stat.m_comp_size) != file_stat.m_comp_size) status = TINFL_STATUS_FAILED; @@ -6085,7 +6092,7 @@ mz_zip_writer_compute_padding_needed_for_file_alignment(mz_zip_archive *pZip) { if (!pZip->m_file_offset_alignment) return 0; n = (mz_uint32)(pZip->m_archive_size & (pZip->m_file_offset_alignment - 1)); - return (mz_uint)(pZip->m_file_offset_alignment - n) & + return (pZip->m_file_offset_alignment - n) & (pZip->m_file_offset_alignment - 1); } @@ -6289,7 +6296,10 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, mz_uint32 ext_attributes) { mz_uint uncomp_crc32 = MZ_CRC32_INIT, level, num_alignment_padding_bytes; mz_uint16 method = 0, dos_time = 0, dos_date = 0; +#ifndef MINIZ_NO_TIME time_t file_modified_time; +#endif + mz_uint64 local_dir_header_ofs, cur_archive_file_ofs, uncomp_size = 0, comp_size = 0; size_t archive_name_size; @@ -6326,10 +6336,12 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, comment_size + archive_name_size) > 0xFFFFFFFF)) return MZ_FALSE; +#ifndef MINIZ_NO_TIME memset(&file_modified_time, 0, sizeof(file_modified_time)); if (!mz_zip_get_file_modified_time(pSrc_filename, &file_modified_time)) return MZ_FALSE; mz_zip_time_t_to_dos_time(file_modified_time, &dos_time, &dos_date); +#endif pSrc_file = MZ_FOPEN(pSrc_filename, "rb"); if (!pSrc_file) @@ -6814,6 +6826,10 @@ void *mz_zip_extract_archive_file_to_heap(const char *pZip_filename, return p; } +#ifdef _MSC_VER +#pragma warning(pop) +#endif + #endif // #ifndef MINIZ_NO_STDIO #endif // #ifndef MINIZ_NO_ARCHIVE_WRITING_APIS diff --git a/contrib/zip/src/zip.c b/contrib/zip/src/zip.c index 83e8e2a41..1f7fa8b76 100644 --- a/contrib/zip/src/zip.c +++ b/contrib/zip/src/zip.c @@ -18,11 +18,6 @@ /* Win32, DOS, MSVC, MSVS */ #include -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4706) -#endif // _MSC_VER - #define MKDIR(DIRNAME) _mkdir(DIRNAME) #define STRCLONE(STR) ((STR) ? _strdup(STR) : NULL) #define HAS_DEVICE(P) \ @@ -32,17 +27,29 @@ #else -#include // needed for symlink() on BSD -int symlink(const char *target, const char *linkpath); // needed on Linux +#include // needed for symlink() #define MKDIR(DIRNAME) mkdir(DIRNAME, 0755) #define STRCLONE(STR) ((STR) ? strdup(STR) : NULL) #endif +#ifdef __MINGW32__ +#include +#include +#endif + #include "miniz.h" #include "zip.h" +#ifdef _MSC_VER +#include +#pragma warning(disable : 4706) + +#define ftruncate(fd, sz) (-(_chsize_s((fd), (sz)) != 0)) +#define fileno _fileno +#endif + #ifndef HAS_DEVICE #define HAS_DEVICE(P) 0 #endif @@ -63,7 +70,84 @@ int symlink(const char *target, const char *linkpath); // needed on Linux } \ } while (0) -static const char *base_name(const char *name) { +struct zip_entry_t { + int index; + char *name; + mz_uint64 uncomp_size; + mz_uint64 comp_size; + mz_uint32 uncomp_crc32; + mz_uint64 offset; + mz_uint8 header[MZ_ZIP_LOCAL_DIR_HEADER_SIZE]; + mz_uint64 header_offset; + mz_uint16 method; + mz_zip_writer_add_state state; + tdefl_compressor comp; + mz_uint32 external_attr; + time_t m_time; +}; + +struct zip_t { + mz_zip_archive archive; + mz_uint level; + struct zip_entry_t entry; +}; + +enum zip_modify_t { + MZ_KEEP = 0, + MZ_DELETE = 1, + MZ_MOVE = 2, +}; + +struct zip_entry_mark_t { + int file_index; + enum zip_modify_t type; + mz_uint64 m_local_header_ofs; + mz_uint64 lf_length; +}; + +static const char *const zip_errlist[30] = { + NULL, + "not initialized\0", + "invalid entry name\0", + "entry not found\0", + "invalid zip mode\0", + "invalid compression level\0", + "no zip 64 support\0", + "memset error\0", + "cannot write data to entry\0", + "cannot initialize tdefl compressor\0", + "invalid index\0", + "header not found\0", + "cannot flush tdefl buffer\0", + "cannot write entry header\0", + "cannot create entry header\0", + "cannot write to central dir\0", + "cannot open file\0", + "invalid entry type\0", + "extracting data using no memory allocation\0", + "file not found\0", + "no permission\0", + "out of memory\0", + "invalid zip archive name\0", + "make dir error\0" + "symlink error\0" + "close archive error\0" + "capacity size too small\0", + "fseek error\0", + "fread error\0", + "fwrite error\0", +}; + +const char *zip_strerror(int errnum) { + errnum = -errnum; + if (errnum <= 0 || errnum >= 30) { + return NULL; + } + + return zip_errlist[errnum]; +} + +static const char *zip_basename(const char *name) { char const *p; char const *base = name += FILESYSTEM_PREFIX_LEN(name); int all_slashes = 1; @@ -82,7 +166,7 @@ static const char *base_name(const char *name) { return base; } -static int mkpath(char *path) { +static int zip_mkpath(char *path) { char *p; char npath[MAX_PATH + 1]; int len = 0; @@ -107,7 +191,7 @@ static int mkpath(char *path) { if (MKDIR(npath) == -1) { if (errno != EEXIST) { - return -1; + return ZIP_EMKDIR; } } } @@ -117,7 +201,7 @@ static int mkpath(char *path) { return 0; } -static char *strrpl(const char *str, size_t n, char oldchar, char newchar) { +static char *zip_strrpl(const char *str, size_t n, char oldchar, char newchar) { char c; size_t i; char *rpl = (char *)calloc((1 + n), sizeof(char)); @@ -136,27 +220,562 @@ static char *strrpl(const char *str, size_t n, char oldchar, char newchar) { return begin; } -struct zip_entry_t { - int index; - char *name; - mz_uint64 uncomp_size; - mz_uint64 comp_size; - mz_uint32 uncomp_crc32; - mz_uint64 offset; - mz_uint8 header[MZ_ZIP_LOCAL_DIR_HEADER_SIZE]; - mz_uint64 header_offset; - mz_uint16 method; - mz_zip_writer_add_state state; - tdefl_compressor comp; - mz_uint32 external_attr; - time_t m_time; -}; +static char *zip_name_normalize(char *name, char *const nname, size_t len) { + size_t offn = 0; + size_t offnn = 0, ncpy = 0; -struct zip_t { - mz_zip_archive archive; - mz_uint level; - struct zip_entry_t entry; -}; + if (name == NULL || nname == NULL || len <= 0) { + return NULL; + } + // skip trailing '/' + while (ISSLASH(*name)) + name++; + + for (; offn < len; offn++) { + if (ISSLASH(name[offn])) { + if (ncpy > 0 && strcmp(&nname[offnn], ".\0") && + strcmp(&nname[offnn], "..\0")) { + offnn += ncpy; + nname[offnn++] = name[offn]; // append '/' + } + ncpy = 0; + } else { + nname[offnn + ncpy] = name[offn]; + ncpy++; + } + } + + // at the end, extra check what we've already copied + if (ncpy == 0 || !strcmp(&nname[offnn], ".\0") || + !strcmp(&nname[offnn], "..\0")) { + nname[offnn] = 0; + } + return nname; +} + +static mz_bool zip_name_match(const char *name1, const char *name2) { + int len2 = (int) strlen(name2); + char *nname2 = zip_strrpl(name2, len2, '\\', '/'); + if (!nname2) { + return MZ_FALSE; + } + + mz_bool res = (strcmp(name1, nname2) == 0) ? MZ_TRUE : MZ_FALSE; + CLEANUP(nname2); + return res; +} + +static int zip_archive_truncate(mz_zip_archive *pzip) { + mz_zip_internal_state *pState = pzip->m_pState; + mz_uint64 file_size = pzip->m_archive_size; + if ((pzip->m_pWrite == mz_zip_heap_write_func) && (pState->m_pMem)) { + return 0; + } + if (pzip->m_zip_mode == MZ_ZIP_MODE_WRITING_HAS_BEEN_FINALIZED) { + if (pState->m_pFile) { + int fd = fileno(pState->m_pFile); + return ftruncate(fd, file_size); + } + } + return 0; +} + +static int zip_archive_extract(mz_zip_archive *zip_archive, const char *dir, + int (*on_extract)(const char *filename, + void *arg), + void *arg) { + int err = 0; + mz_uint i, n; + char path[MAX_PATH + 1]; + char symlink_to[MAX_PATH + 1]; + mz_zip_archive_file_stat info; + size_t dirlen = 0; + mz_uint32 xattr = 0; + + memset(path, 0, sizeof(path)); + memset(symlink_to, 0, sizeof(symlink_to)); + + dirlen = strlen(dir); + if (dirlen + 1 > MAX_PATH) { + return ZIP_EINVENTNAME; + } + + memset((void *)&info, 0, sizeof(mz_zip_archive_file_stat)); + +#if defined(_MSC_VER) + strcpy_s(path, MAX_PATH, dir); +#else + strcpy(path, dir); +#endif + + if (!ISSLASH(path[dirlen - 1])) { +#if defined(_WIN32) || defined(__WIN32__) + path[dirlen] = '\\'; +#else + path[dirlen] = '/'; +#endif + ++dirlen; + } + + // Get and print information about each file in the archive. + n = mz_zip_reader_get_num_files(zip_archive); + for (i = 0; i < n; ++i) { + if (!mz_zip_reader_file_stat(zip_archive, i, &info)) { + // Cannot get information about zip archive; + err = ZIP_ENOENT; + goto out; + } + + if (!zip_name_normalize(info.m_filename, info.m_filename, + strlen(info.m_filename))) { + // Cannot normalize file name; + err = ZIP_EINVENTNAME; + goto out; + } +#if defined(_MSC_VER) + strncpy_s(&path[dirlen], MAX_PATH - dirlen, info.m_filename, + MAX_PATH - dirlen); +#else + strncpy(&path[dirlen], info.m_filename, MAX_PATH - dirlen); +#endif + err = zip_mkpath(path); + if (err < 0) { + // Cannot make a path + goto out; + } + + if ((((info.m_version_made_by >> 8) == 3) || + ((info.m_version_made_by >> 8) == + 19)) // if zip is produced on Unix or macOS (3 and 19 from + // section 4.4.2.2 of zip standard) + && info.m_external_attr & + (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 + // is directory) +#if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \ + defined(__MINGW32__) +#else + if (info.m_uncomp_size > MAX_PATH || + !mz_zip_reader_extract_to_mem_no_alloc(zip_archive, i, symlink_to, + MAX_PATH, 0, NULL, 0)) { + err = ZIP_EMEMNOALLOC; + goto out; + } + symlink_to[info.m_uncomp_size] = '\0'; + if (symlink(symlink_to, path) != 0) { + err = ZIP_ESYMLINK; + goto out; + } +#endif + } else { + if (!mz_zip_reader_is_file_a_directory(zip_archive, i)) { + if (!mz_zip_reader_extract_to_file(zip_archive, i, path, 0)) { + // Cannot extract zip archive to file + err = ZIP_ENOFILE; + goto out; + } + } + +#if defined(_MSC_VER) + (void)xattr; // unused +#else + xattr = (info.m_external_attr >> 16) & 0xFFFF; + if (xattr > 0) { + if (chmod(path, (mode_t)xattr) < 0) { + err = ZIP_ENOPERM; + goto out; + } + } +#endif + } + + if (on_extract) { + if (on_extract(path, arg) < 0) { + goto out; + } + } + } + +out: + // Close the archive, freeing any resources it was using + if (!mz_zip_reader_end(zip_archive)) { + // Cannot end zip reader + err = ZIP_ECLSZIP; + } + return err; +} + +static inline void zip_archive_finalize(mz_zip_archive *pzip) { + mz_zip_writer_finalize_archive(pzip); + zip_archive_truncate(pzip); +} + +static int zip_entry_mark(struct zip_t *zip, + struct zip_entry_mark_t *entry_mark, int n, + char *const entries[], const size_t len) { + int err = 0; + if (!zip || !entry_mark || !entries) { + return ZIP_ENOINIT; + } + + mz_zip_archive_file_stat file_stat; + mz_uint64 d_pos = (mz_uint64) ~0; + for (int i = 0; i < n; ++i) { + err = zip_entry_openbyindex(zip, i); + if (err) { + return err; + } + + mz_bool name_matches = MZ_FALSE; + for (int j = 0; j < (const int)len; ++j) { + if (zip_name_match(zip->entry.name, entries[j])) { + name_matches = MZ_TRUE; + break; + } + } + if (name_matches) { + entry_mark[i].type = MZ_DELETE; + } else { + entry_mark[i].type = MZ_KEEP; + } + + if (!mz_zip_reader_file_stat(&zip->archive, i, &file_stat)) { + return ZIP_ENOENT; + } + + zip_entry_close(zip); + + entry_mark[i].m_local_header_ofs = file_stat.m_local_header_ofs; + entry_mark[i].file_index = -1; + entry_mark[i].lf_length = 0; + if ((entry_mark[i].type) == MZ_DELETE && + (d_pos > entry_mark[i].m_local_header_ofs)) { + d_pos = entry_mark[i].m_local_header_ofs; + } + } + for (int i = 0; i < n; ++i) { + if ((entry_mark[i].m_local_header_ofs > d_pos) && + (entry_mark[i].type != MZ_DELETE)) { + entry_mark[i].type = MZ_MOVE; + } + } + return err; +} + +static int zip_index_next(mz_uint64 *local_header_ofs_array, int cur_index) { + int new_index = 0; + for (int i = cur_index - 1; i >= 0; --i) { + if (local_header_ofs_array[cur_index] > local_header_ofs_array[i]) { + new_index = i + 1; + return new_index; + } + } + return new_index; +} + +static int zip_sort(mz_uint64 *local_header_ofs_array, int cur_index) { + int nxt_index = zip_index_next(local_header_ofs_array, cur_index); + + if (nxt_index != cur_index) { + mz_uint64 temp = local_header_ofs_array[cur_index]; + for (int i = cur_index; i > nxt_index; i--) { + local_header_ofs_array[i] = local_header_ofs_array[i - 1]; + } + local_header_ofs_array[nxt_index] = temp; + } + return nxt_index; +} + +static int zip_index_update(struct zip_entry_mark_t *entry_mark, int last_index, + int nxt_index) { + for (int j = 0; j < last_index; j++) { + if (entry_mark[j].file_index >= nxt_index) { + entry_mark[j].file_index += 1; + } + } + entry_mark[nxt_index].file_index = last_index; + return 0; +} + +static int zip_entry_finalize(struct zip_t *zip, + struct zip_entry_mark_t *entry_mark, + const int n) { + + mz_uint64 *local_header_ofs_array = (mz_uint64 *)calloc(n, sizeof(mz_uint64)); + if (!local_header_ofs_array) { + return ZIP_EOOMEM; + } + + for (int i = 0; i < n; ++i) { + local_header_ofs_array[i] = entry_mark[i].m_local_header_ofs; + int index = zip_sort(local_header_ofs_array, i); + + if (index != i) { + zip_index_update(entry_mark, i, index); + } + entry_mark[i].file_index = index; + } + + mz_uint64 *length = (mz_uint64 *)calloc(n, sizeof(mz_uint64)); + if (!length) { + CLEANUP(local_header_ofs_array); + return ZIP_EOOMEM; + } + for (int i = 0; i < n - 1; i++) { + length[i] = local_header_ofs_array[i + 1] - local_header_ofs_array[i]; + } + length[n - 1] = zip->archive.m_archive_size - local_header_ofs_array[n - 1]; + + for (int i = 0; i < n; i++) { + entry_mark[i].lf_length = length[entry_mark[i].file_index]; + } + + CLEANUP(length); + CLEANUP(local_header_ofs_array); + return 0; +} + +static int zip_entry_set(struct zip_t *zip, struct zip_entry_mark_t *entry_mark, + int n, char *const entries[], const size_t len) { + int err = 0; + + if ((err = zip_entry_mark(zip, entry_mark, n, entries, len)) < 0) { + return err; + } + if ((err = zip_entry_finalize(zip, entry_mark, n)) < 0) { + return err; + } + return 0; +} + +static mz_int64 zip_file_move(MZ_FILE *m_pFile, const mz_uint64 to, + const mz_uint64 from, const mz_uint64 length, + mz_uint8 *move_buf, + const mz_int64 capacity_size) { + if ((mz_int64)length > capacity_size) { + return ZIP_ECAPSIZE; + } + if (MZ_FSEEK64(m_pFile, from, SEEK_SET)) { + MZ_FCLOSE(m_pFile); + return ZIP_EFSEEK; + } + + if (fread(move_buf, 1, length, m_pFile) != length) { + MZ_FCLOSE(m_pFile); + return ZIP_EFREAD; + } + if (MZ_FSEEK64(m_pFile, to, SEEK_SET)) { + MZ_FCLOSE(m_pFile); + return ZIP_EFSEEK; + } + if (fwrite(move_buf, 1, length, m_pFile) != length) { + MZ_FCLOSE(m_pFile); + return ZIP_EFWRITE; + } + return (mz_int64)length; +} + +static mz_int64 zip_files_move(MZ_FILE *m_pFile, mz_uint64 writen_num, + mz_uint64 read_num, mz_uint64 length) { + int n = 0; + const mz_int64 page_size = 1 << 12; // 4K + mz_uint8 *move_buf = (mz_uint8 *)calloc(1, page_size); + if (move_buf == NULL) { + return ZIP_EOOMEM; + } + + mz_int64 moved_length = 0; + mz_int64 move_count = 0; + while ((mz_int64)length > 0) { + move_count = ((mz_int64)length >= page_size) ? page_size : (mz_int64)length; + n = (int) zip_file_move(m_pFile, writen_num, read_num, move_count, move_buf, + page_size); + if (n < 0) { + moved_length = n; + goto cleanup; + } + + if (n != move_count) { + goto cleanup; + } + + writen_num += move_count; + read_num += move_count; + length -= move_count; + moved_length += move_count; + } + +cleanup: + CLEANUP(move_buf); + return moved_length; +} + +static int zip_central_dir_move(mz_zip_internal_state *pState, int begin, + int end, int entry_num) { + if (begin == entry_num) { + return 0; + } + + mz_uint64 l_size = 0; + mz_uint64 r_size = 0; + mz_uint64 d_size = 0; + mz_uint8 *next = NULL; + mz_uint8 *deleted = &MZ_ZIP_ARRAY_ELEMENT( + &pState->m_central_dir, mz_uint8, + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint32, begin)); + l_size = (mz_uint32)(deleted - (mz_uint8 *)(pState->m_central_dir.m_p)); + if (end == entry_num) { + r_size = 0; + } else { + next = &MZ_ZIP_ARRAY_ELEMENT( + &pState->m_central_dir, mz_uint8, + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint32, end)); + r_size = pState->m_central_dir.m_size - + (mz_uint32)(next - (mz_uint8 *)(pState->m_central_dir.m_p)); + d_size = next - deleted; + } + + if (l_size == 0) { + memmove(pState->m_central_dir.m_p, next, r_size); + pState->m_central_dir.m_p = MZ_REALLOC(pState->m_central_dir.m_p, r_size); + for (int i = end; i < entry_num; i++) { + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint64, i) -= + d_size; + } + } + + if (l_size * r_size != 0) { + memmove(deleted, next, r_size); + for (int i = end; i < entry_num; i++) { + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint64, i) -= + d_size; + } + } + + pState->m_central_dir.m_size = l_size + r_size; + return 0; +} + +static int zip_central_dir_delete(mz_zip_internal_state *pState, + int *deleted_entry_index_array, + int entry_num) { + int i = 0; + int begin = 0; + int end = 0; + int d_num = 0; + while (i < entry_num) { + while ((!deleted_entry_index_array[i]) && (i < entry_num)) { + i++; + } + begin = i; + + while ((deleted_entry_index_array[i]) && (i < entry_num)) { + i++; + } + end = i; + zip_central_dir_move(pState, begin, end, entry_num); + } + + i = 0; + while (i < entry_num) { + while ((!deleted_entry_index_array[i]) && (i < entry_num)) { + i++; + } + begin = i; + if (begin == entry_num) { + break; + } + while ((deleted_entry_index_array[i]) && (i < entry_num)) { + i++; + } + end = i; + int k = 0; + for (int j = end; j < entry_num; j++) { + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint32, + begin + k) = + (mz_uint32)MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, + mz_uint32, j); + k++; + } + d_num += end - begin; + } + + pState->m_central_dir_offsets.m_size = + sizeof(mz_uint32) * (entry_num - d_num); + return 0; +} + +static int zip_entries_delete_mark(struct zip_t *zip, + struct zip_entry_mark_t *entry_mark, + int entry_num) { + mz_uint64 writen_num = 0; + mz_uint64 read_num = 0; + mz_uint64 deleted_length = 0; + mz_uint64 move_length = 0; + int i = 0; + int deleted_entry_num = 0; + int n = 0; + + mz_bool *deleted_entry_flag_array = + (mz_bool *)calloc(entry_num, sizeof(mz_bool)); + if (deleted_entry_flag_array == NULL) { + return ZIP_EOOMEM; + } + + mz_zip_internal_state *pState = zip->archive.m_pState; + zip->archive.m_zip_mode = MZ_ZIP_MODE_WRITING; + + if (MZ_FSEEK64(pState->m_pFile, 0, SEEK_SET)) { + CLEANUP(deleted_entry_flag_array); + return ZIP_ENOENT; + } + + while (i < entry_num) { + while ((entry_mark[i].type == MZ_KEEP) && (i < entry_num)) { + writen_num += entry_mark[i].lf_length; + read_num = writen_num; + i++; + } + + while ((entry_mark[i].type == MZ_DELETE) && (i < entry_num)) { + deleted_entry_flag_array[i] = MZ_TRUE; + read_num += entry_mark[i].lf_length; + deleted_length += entry_mark[i].lf_length; + i++; + deleted_entry_num++; + } + + while ((entry_mark[i].type == MZ_MOVE) && (i < entry_num)) { + move_length += entry_mark[i].lf_length; + mz_uint8 *p = &MZ_ZIP_ARRAY_ELEMENT( + &pState->m_central_dir, mz_uint8, + MZ_ZIP_ARRAY_ELEMENT(&pState->m_central_dir_offsets, mz_uint32, i)); + if (!p) { + CLEANUP(deleted_entry_flag_array); + return ZIP_ENOENT; + } + mz_uint32 offset = MZ_READ_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS); + offset -= (mz_uint32)deleted_length; + MZ_WRITE_LE32(p + MZ_ZIP_CDH_LOCAL_HEADER_OFS, offset); + i++; + } + + n = (int) zip_files_move(pState->m_pFile, writen_num, read_num, move_length); + if (n != (mz_int64)move_length) { + CLEANUP(deleted_entry_flag_array); + return n; + } + writen_num += move_length; + read_num += move_length; + } + + zip->archive.m_archive_size -= deleted_length; + zip->archive.m_total_files = entry_num - deleted_entry_num; + + zip_central_dir_delete(pState, deleted_entry_flag_array, entry_num); + CLEANUP(deleted_entry_flag_array); + + return deleted_entry_num; +} struct zip_t *zip_open(const char *zipname, int level, char mode) { struct zip_t *zip = NULL; @@ -189,6 +808,7 @@ struct zip_t *zip_open(const char *zipname, int level, char mode) { case 'r': case 'a': + case 'd': if (!mz_zip_reader_init_file( &(zip->archive), zipname, zip->level | MZ_ZIP_FLAG_DO_NOT_SORT_CENTRAL_DIRECTORY)) { @@ -196,7 +816,7 @@ struct zip_t *zip_open(const char *zipname, int level, char mode) { // zip_archive reader goto cleanup; } - if (mode == 'a' && + if ((mode == 'a' || mode == 'd') && !mz_zip_writer_init_from_reader(&(zip->archive), zipname)) { mz_zip_reader_end(&(zip->archive)); goto cleanup; @@ -219,7 +839,7 @@ void zip_close(struct zip_t *zip) { // Always finalize, even if adding failed for some reason, so we have a // valid central directory. mz_zip_writer_finalize_archive(&(zip->archive)); - + zip_archive_truncate(&(zip->archive)); mz_zip_writer_end(&(zip->archive)); mz_zip_reader_end(&(zip->archive)); @@ -228,14 +848,9 @@ void zip_close(struct zip_t *zip) { } int zip_is64(struct zip_t *zip) { - if (!zip) { - // zip_t handler is not initialized - return -1; - } - - if (!zip->archive.m_pState) { - // zip state is not initialized - return -1; + if (!zip || !zip->archive.m_pState) { + // zip_t handler or zip state is not initialized + return ZIP_ENOINIT; } return (int)zip->archive.m_pState->m_zip64; @@ -246,14 +861,19 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { mz_zip_archive *pzip = NULL; mz_uint num_alignment_padding_bytes, level; mz_zip_archive_file_stat stats; + int err = 0; - if (!zip || !entryname) { - return -1; + if (!zip) { + return ZIP_ENOINIT; + } + + if (!entryname) { + return ZIP_EINVENTNAME; } entrylen = strlen(entryname); - if (entrylen < 1) { - return -1; + if (entrylen == 0) { + return ZIP_EINVENTNAME; } /* @@ -267,10 +887,13 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { and UNIX file systems etc. If input came from standard input, there is no file name field. */ - zip->entry.name = strrpl(entryname, entrylen, '\\', '/'); + if (zip->entry.name) { + CLEANUP(zip->entry.name); + } + zip->entry.name = zip_strrpl(entryname, entrylen, '\\', '/'); if (!zip->entry.name) { // Cannot parse zip entry name - return -1; + return ZIP_EINVENTNAME; } pzip = &(zip->archive); @@ -278,10 +901,12 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { zip->entry.index = mz_zip_reader_locate_file(pzip, zip->entry.name, NULL, 0); if (zip->entry.index < 0) { + err = ZIP_ENOENT; goto cleanup; } if (!mz_zip_reader_file_stat(pzip, (mz_uint)zip->entry.index, &stats)) { + err = ZIP_ENOENT; goto cleanup; } @@ -292,7 +917,9 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { zip->entry.header_offset = stats.m_local_header_ofs; zip->entry.method = stats.m_method; zip->entry.external_attr = stats.m_external_attr; +#ifndef MINIZ_NO_TIME zip->entry.m_time = stats.m_time; +#endif return 0; } @@ -318,11 +945,13 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { mz_zip_writer_compute_padding_needed_for_file_alignment(pzip); if (!pzip->m_pState || (pzip->m_zip_mode != MZ_ZIP_MODE_WRITING)) { - // Wrong zip mode + // Invalid zip mode + err = ZIP_EINVMODE; goto cleanup; } if (zip->level & MZ_ZIP_FLAG_COMPRESSED_DATA) { - // Wrong zip compression level + // Invalid zip compression level + err = ZIP_EINVLVL; goto cleanup; } // no zip64 support yet @@ -331,12 +960,14 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { MZ_ZIP_LOCAL_DIR_HEADER_SIZE + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + entrylen) > 0xFFFFFFFF)) { // No zip64 support yet + err = ZIP_ENOSUP64; goto cleanup; } if (!mz_zip_writer_write_zeros(pzip, zip->entry.offset, num_alignment_padding_bytes + sizeof(zip->entry.header))) { // Cannot memset zip entry header + err = ZIP_EMEMSET; goto cleanup; } @@ -350,6 +981,7 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { if (pzip->m_pWrite(pzip->m_pIO_opaque, zip->entry.offset, zip->entry.name, entrylen) != entrylen) { // Cannot write data to zip entry + err = ZIP_EWRTENT; goto cleanup; } @@ -366,6 +998,7 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { (int)level, -15, MZ_DEFAULT_STRATEGY)) != TDEFL_STATUS_OKAY) { // Cannot initialize the zip compressor + err = ZIP_ETDEFLINIT; goto cleanup; } } @@ -376,7 +1009,7 @@ int zip_entry_open(struct zip_t *zip, const char *entryname) { cleanup: CLEANUP(zip->entry.name); - return -1; + return err; } int zip_entry_openbyindex(struct zip_t *zip, int index) { @@ -388,28 +1021,26 @@ int zip_entry_openbyindex(struct zip_t *zip, int index) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } pZip = &(zip->archive); if (pZip->m_zip_mode != MZ_ZIP_MODE_READING) { // open by index requires readonly mode - return -1; + return ZIP_EINVMODE; } if (index < 0 || (mz_uint)index >= pZip->m_total_files) { // index out of range - return -1; + return ZIP_EINVIDX; } - if (!(pHeader = &MZ_ZIP_ARRAY_ELEMENT( &pZip->m_pState->m_central_dir, mz_uint8, MZ_ZIP_ARRAY_ELEMENT(&pZip->m_pState->m_central_dir_offsets, mz_uint32, index)))) { // cannot find header in central directory - return -1; + return ZIP_ENOHDR; } - namelen = MZ_READ_LE16(pHeader + MZ_ZIP_CDH_FILENAME_LEN_OFS); pFilename = (const char *)pHeader + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE; @@ -424,14 +1055,17 @@ int zip_entry_openbyindex(struct zip_t *zip, int index) { and UNIX file systems etc. If input came from standard input, there is no file name field. */ - zip->entry.name = strrpl(pFilename, namelen, '\\', '/'); + if (zip->entry.name) { + CLEANUP(zip->entry.name); + } + zip->entry.name = zip_strrpl(pFilename, namelen, '\\', '/'); if (!zip->entry.name) { // local entry name is NULL - return -1; + return ZIP_EINVENTNAME; } if (!mz_zip_reader_file_stat(pZip, (mz_uint)index, &stats)) { - return -1; + return ZIP_ENOENT; } zip->entry.index = index; @@ -442,7 +1076,9 @@ int zip_entry_openbyindex(struct zip_t *zip, int index) { zip->entry.header_offset = stats.m_local_header_ofs; zip->entry.method = stats.m_method; zip->entry.external_attr = stats.m_external_attr; +#ifndef MINIZ_NO_TIME zip->entry.m_time = stats.m_time; +#endif return 0; } @@ -452,17 +1088,17 @@ int zip_entry_close(struct zip_t *zip) { mz_uint level; tdefl_status done; mz_uint16 entrylen; - mz_uint16 dos_time, dos_date; - int status = -1; + mz_uint16 dos_time = 0, dos_date = 0; + int err = 0; if (!zip) { // zip_t handler is not initialized + err = ZIP_ENOINIT; goto cleanup; } pzip = &(zip->archive); if (pzip->m_zip_mode == MZ_ZIP_MODE_READING) { - status = 0; goto cleanup; } @@ -471,6 +1107,7 @@ int zip_entry_close(struct zip_t *zip) { done = tdefl_compress_buffer(&(zip->entry.comp), "", 0, TDEFL_FINISH); if (done != TDEFL_STATUS_DONE && done != TDEFL_STATUS_OKAY) { // Cannot flush compressed buffer + err = ZIP_ETDEFLBUF; goto cleanup; } zip->entry.comp_size = zip->entry.state.m_comp_size; @@ -479,18 +1116,22 @@ int zip_entry_close(struct zip_t *zip) { } entrylen = (mz_uint16)strlen(zip->entry.name); - // no zip64 support yet if ((zip->entry.comp_size > 0xFFFFFFFF) || (zip->entry.offset > 0xFFFFFFFF)) { // No zip64 support, yet + err = ZIP_ENOSUP64; goto cleanup; } +#ifndef MINIZ_NO_TIME mz_zip_time_t_to_dos_time(zip->entry.m_time, &dos_time, &dos_date); +#endif + if (!mz_zip_writer_create_local_dir_header( pzip, zip->entry.header, entrylen, 0, zip->entry.uncomp_size, zip->entry.comp_size, zip->entry.uncomp_crc32, zip->entry.method, 0, dos_time, dos_date)) { // Cannot create zip entry header + err = ZIP_ECRTHDR; goto cleanup; } @@ -498,6 +1139,7 @@ int zip_entry_close(struct zip_t *zip) { zip->entry.header, sizeof(zip->entry.header)) != sizeof(zip->entry.header)) { // Cannot write zip entry header + err = ZIP_EWRTHDR; goto cleanup; } @@ -507,19 +1149,19 @@ int zip_entry_close(struct zip_t *zip) { zip->entry.method, 0, dos_time, dos_date, zip->entry.header_offset, zip->entry.external_attr)) { // Cannot write to zip central dir + err = ZIP_EWRTDIR; goto cleanup; } pzip->m_total_files++; pzip->m_archive_size = zip->entry.offset; - status = 0; cleanup: if (zip) { zip->entry.m_time = 0; CLEANUP(zip->entry.name); } - return status; + return err; } const char *zip_entry_name(struct zip_t *zip) { @@ -534,7 +1176,7 @@ const char *zip_entry_name(struct zip_t *zip) { int zip_entry_index(struct zip_t *zip) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } return zip->entry.index; @@ -543,12 +1185,12 @@ int zip_entry_index(struct zip_t *zip) { int zip_entry_isdir(struct zip_t *zip) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } if (zip->entry.index < 0) { // zip entry is not opened - return -1; + return ZIP_EINVIDX; } return (int)mz_zip_reader_is_file_a_directory(&zip->archive, @@ -570,7 +1212,7 @@ int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } pzip = &(zip->archive); @@ -584,7 +1226,7 @@ int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize) { if ((pzip->m_pWrite(pzip->m_pIO_opaque, zip->entry.offset, buf, bufsize) != bufsize)) { // Cannot write buffer - return -1; + return ZIP_EWRTENT; } zip->entry.offset += bufsize; zip->entry.comp_size += bufsize; @@ -593,7 +1235,7 @@ int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize) { TDEFL_NO_FLUSH); if (status != TDEFL_STATUS_DONE && status != TDEFL_STATUS_OKAY) { // Cannot compress buffer - return -1; + return ZIP_ETDEFLBUF; } } } @@ -602,7 +1244,7 @@ int zip_entry_write(struct zip_t *zip, const void *buf, size_t bufsize) { } int zip_entry_fwrite(struct zip_t *zip, const char *filename) { - int status = 0; + int err = 0; size_t n = 0; FILE *stream = NULL; mz_uint8 buf[MZ_ZIP_MAX_IO_BUF_SIZE]; @@ -610,14 +1252,14 @@ int zip_entry_fwrite(struct zip_t *zip, const char *filename) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } memset(buf, 0, MZ_ZIP_MAX_IO_BUF_SIZE); memset((void *)&file_stat, 0, sizeof(struct MZ_FILE_STAT_STRUCT)); if (MZ_FILE_STAT(filename, &file_stat) != 0) { // problem getting information - check errno - return -1; + return ZIP_ENOENT; } if ((file_stat.st_mode & 0200) == 0) { @@ -634,19 +1276,19 @@ int zip_entry_fwrite(struct zip_t *zip, const char *filename) { #endif { // Cannot open filename - return -1; + return ZIP_EOPNFILE; } while ((n = fread(buf, sizeof(mz_uint8), MZ_ZIP_MAX_IO_BUF_SIZE, stream)) > 0) { if (zip_entry_write(zip, buf, n) < 0) { - status = -1; + err = ZIP_EWRTENT; break; } } fclose(stream); - return status; + return err; } ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize) { @@ -656,19 +1298,19 @@ ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } pzip = &(zip->archive); if (pzip->m_zip_mode != MZ_ZIP_MODE_READING || zip->entry.index < 0) { // the entry is not found or we do not have read access - return -1; + return ZIP_ENOENT; } idx = (mz_uint)zip->entry.index; if (mz_zip_reader_is_file_a_directory(pzip, idx)) { // the entry is a directory - return -1; + return ZIP_EINVENTTYPE; } *buf = mz_zip_reader_extract_to_heap(pzip, idx, &size, 0); @@ -683,18 +1325,18 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } pzip = &(zip->archive); if (pzip->m_zip_mode != MZ_ZIP_MODE_READING || zip->entry.index < 0) { // the entry is not found or we do not have read access - return -1; + return ZIP_ENOENT; } if (!mz_zip_reader_extract_to_mem_no_alloc(pzip, (mz_uint)zip->entry.index, buf, bufsize, 0, NULL, 0)) { - return -1; + return ZIP_EMEMNOALLOC; } return (ssize_t)zip->entry.uncomp_size; @@ -703,45 +1345,43 @@ ssize_t zip_entry_noallocread(struct zip_t *zip, void *buf, size_t bufsize) { int zip_entry_fread(struct zip_t *zip, const char *filename) { mz_zip_archive *pzip = NULL; mz_uint idx; -#if defined(_MSC_VER) -#else mz_uint32 xattr = 0; -#endif mz_zip_archive_file_stat info; if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } memset((void *)&info, 0, sizeof(mz_zip_archive_file_stat)); pzip = &(zip->archive); if (pzip->m_zip_mode != MZ_ZIP_MODE_READING || zip->entry.index < 0) { // the entry is not found or we do not have read access - return -1; + return ZIP_ENOENT; } idx = (mz_uint)zip->entry.index; if (mz_zip_reader_is_file_a_directory(pzip, idx)) { // the entry is a directory - return -1; + return ZIP_EINVENTTYPE; } if (!mz_zip_reader_extract_to_file(pzip, idx, filename, 0)) { - return -1; + return ZIP_ENOFILE; } #if defined(_MSC_VER) + (void)xattr; // unused #else if (!mz_zip_reader_file_stat(pzip, idx, &info)) { // Cannot get information about zip archive; - return -1; + return ZIP_ENOFILE; } xattr = (info.m_external_attr >> 16) & 0xFFFF; if (xattr > 0) { if (chmod(filename, (mode_t)xattr) < 0) { - return -1; + return ZIP_ENOPERM; } } #endif @@ -758,32 +1398,147 @@ int zip_entry_extract(struct zip_t *zip, if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } pzip = &(zip->archive); if (pzip->m_zip_mode != MZ_ZIP_MODE_READING || zip->entry.index < 0) { // the entry is not found or we do not have read access - return -1; + return ZIP_ENOENT; } idx = (mz_uint)zip->entry.index; return (mz_zip_reader_extract_to_callback(pzip, idx, on_extract, arg, 0)) ? 0 - : -1; + : ZIP_EINVIDX; } -int zip_total_entries(struct zip_t *zip) { +int zip_entries_total(struct zip_t *zip) { if (!zip) { // zip_t handler is not initialized - return -1; + return ZIP_ENOINIT; } return (int)zip->archive.m_total_files; } +int zip_entries_delete(struct zip_t *zip, char *const entries[], + const size_t len) { + int n = 0; + int err = 0; + struct zip_entry_mark_t *entry_mark = NULL; + + if (zip == NULL || (entries == NULL && len != 0)) { + return ZIP_ENOINIT; + } + + if (entries == NULL && len == 0) { + return 0; + } + + n = zip_entries_total(zip); + + entry_mark = + (struct zip_entry_mark_t *)calloc(n, sizeof(struct zip_entry_mark_t)); + if (!entry_mark) { + return ZIP_EOOMEM; + } + + zip->archive.m_zip_mode = MZ_ZIP_MODE_READING; + + err = zip_entry_set(zip, entry_mark, n, entries, len); + if (err < 0) { + CLEANUP(entry_mark); + return err; + } + + err = zip_entries_delete_mark(zip, entry_mark, n); + CLEANUP(entry_mark); + return err; +} + +int zip_stream_extract(const char *stream, size_t size, const char *dir, + int (*on_extract)(const char *filename, void *arg), + void *arg) { + mz_zip_archive zip_archive; + if (!stream || !dir) { + // Cannot parse zip archive stream + return ZIP_ENOINIT; + } + if (!memset(&zip_archive, 0, sizeof(mz_zip_archive))) { + // Cannot memset zip archive + return ZIP_EMEMSET; + } + if (!mz_zip_reader_init_mem(&zip_archive, stream, size, 0)) { + // Cannot initialize zip_archive reader + return ZIP_ENOINIT; + } + + return zip_archive_extract(&zip_archive, dir, on_extract, arg); +} + +struct zip_t *zip_stream_open(const char *stream, size_t size, int level, + char mode) { + struct zip_t *zip = (struct zip_t *)calloc((size_t)1, sizeof(struct zip_t)); + if (!zip) { + return NULL; + } + + if (level < 0) { + level = MZ_DEFAULT_LEVEL; + } + if ((level & 0xF) > MZ_UBER_COMPRESSION) { + // Wrong compression level + goto cleanup; + } + zip->level = (mz_uint)level; + + if ((stream != NULL) && (size > 0) && (mode == 'r')) { + if (!mz_zip_reader_init_mem(&(zip->archive), stream, size, 0)) { + goto cleanup; + } + } else if ((stream == NULL) && (size == 0) && (mode == 'w')) { + // Create a new archive. + if (!mz_zip_writer_init_heap(&(zip->archive), 0, 1024)) { + // Cannot initialize zip_archive writer + goto cleanup; + } + } else { + goto cleanup; + } + return zip; + +cleanup: + CLEANUP(zip); + return NULL; +} + +ssize_t zip_stream_copy(struct zip_t *zip, void **buf, ssize_t *bufsize) { + if (!zip) { + return ZIP_ENOINIT; + } + + zip_archive_finalize(&(zip->archive)); + + if (bufsize != NULL) { + *bufsize = zip->archive.m_archive_size; + } + *buf = calloc(sizeof(unsigned char), zip->archive.m_archive_size); + memcpy(*buf, zip->archive.m_pState->m_pMem, zip->archive.m_archive_size); + + return zip->archive.m_archive_size; +} + +void zip_stream_close(struct zip_t *zip) { + if (zip) { + mz_zip_writer_end(&(zip->archive)); + mz_zip_reader_end(&(zip->archive)); + CLEANUP(zip); + } +} + int zip_create(const char *zipname, const char *filenames[], size_t len) { - int status = 0; + int err = 0; size_t i; mz_zip_archive zip_archive; struct MZ_FILE_STAT_STRUCT file_stat; @@ -791,32 +1546,34 @@ int zip_create(const char *zipname, const char *filenames[], size_t len) { if (!zipname || strlen(zipname) < 1) { // zip_t archive name is empty or NULL - return -1; + return ZIP_EINVZIPNAME; } // Create a new archive. if (!memset(&(zip_archive), 0, sizeof(zip_archive))) { // Cannot memset zip archive - return -1; + return ZIP_EMEMSET; } if (!mz_zip_writer_init_file(&zip_archive, zipname, 0)) { // Cannot initialize zip_archive writer - return -1; + return ZIP_ENOINIT; } - memset((void *)&file_stat, 0, sizeof(struct MZ_FILE_STAT_STRUCT)); + if (!memset((void *)&file_stat, 0, sizeof(struct MZ_FILE_STAT_STRUCT))) { + return ZIP_EMEMSET; + } for (i = 0; i < len; ++i) { const char *name = filenames[i]; if (!name) { - status = -1; + err = ZIP_EINVENTNAME; break; } if (MZ_FILE_STAT(name, &file_stat) != 0) { // problem getting information - check errno - status = -1; + err = ZIP_ENOFILE; break; } @@ -826,150 +1583,39 @@ int zip_create(const char *zipname, const char *filenames[], size_t len) { } ext_attributes |= (mz_uint32)((file_stat.st_mode & 0xFFFF) << 16); - if (!mz_zip_writer_add_file(&zip_archive, base_name(name), name, "", 0, + if (!mz_zip_writer_add_file(&zip_archive, zip_basename(name), name, "", 0, ZIP_DEFAULT_COMPRESSION_LEVEL, ext_attributes)) { // Cannot add file to zip_archive - status = -1; + err = ZIP_ENOFILE; break; } } mz_zip_writer_finalize_archive(&zip_archive); mz_zip_writer_end(&zip_archive); - return status; + return err; } int zip_extract(const char *zipname, const char *dir, int (*on_extract)(const char *filename, void *arg), void *arg) { - int status = -1; - mz_uint i, n; - char path[MAX_PATH + 1]; - char symlink_to[MAX_PATH + 1]; mz_zip_archive zip_archive; - mz_zip_archive_file_stat info; - size_t dirlen = 0; -#if defined(_MSC_VER) -#else - mz_uint32 xattr = 0; -#endif - - - memset(path, 0, sizeof(path)); - memset(symlink_to, 0, sizeof(symlink_to)); - if (!memset(&(zip_archive), 0, sizeof(zip_archive))) { - // Cannot memset zip archive - return -1; - } if (!zipname || !dir) { // Cannot parse zip archive name - return -1; + return ZIP_EINVZIPNAME; } - dirlen = strlen(dir); - if (dirlen + 1 > MAX_PATH) { - return -1; + if (!memset(&zip_archive, 0, sizeof(mz_zip_archive))) { + // Cannot memset zip archive + return ZIP_EMEMSET; } // Now try to open the archive. if (!mz_zip_reader_init_file(&zip_archive, zipname, 0)) { // Cannot initialize zip_archive reader - return -1; + return ZIP_ENOINIT; } - memset((void *)&info, 0, sizeof(mz_zip_archive_file_stat)); - -#if defined(_MSC_VER) - strcpy_s(path, MAX_PATH, dir); -#else - strcpy(path, dir); -#endif - - if (!ISSLASH(path[dirlen - 1])) { -#if defined(_WIN32) || defined(__WIN32__) - path[dirlen] = '\\'; -#else - path[dirlen] = '/'; -#endif - ++dirlen; - } - - // Get and print information about each file in the archive. - n = mz_zip_reader_get_num_files(&zip_archive); - for (i = 0; i < n; ++i) { - if (!mz_zip_reader_file_stat(&zip_archive, i, &info)) { - // Cannot get information about zip archive; - goto out; - } -#if defined(_MSC_VER) - strncpy_s(&path[dirlen], MAX_PATH - dirlen, info.m_filename, - MAX_PATH - dirlen); -#else - strncpy(&path[dirlen], info.m_filename, MAX_PATH - dirlen); -#endif - if (mkpath(path) < 0) { - // Cannot make a path - goto out; - } - - if ((((info.m_version_made_by >> 8) == 3) || - ((info.m_version_made_by >> 8) == - 19)) // if zip is produced on Unix or macOS (3 and 19 from - // section 4.4.2.2 of zip standard) - && info.m_external_attr & - (0x20 << 24)) { // and has sym link attribute (0x80 is file, 0x40 - // is directory) -#if defined(_WIN32) || defined(__WIN32__) || defined(_MSC_VER) || \ - defined(__MINGW32__) -#else - if (info.m_uncomp_size > MAX_PATH || - !mz_zip_reader_extract_to_mem_no_alloc(&zip_archive, i, symlink_to, - MAX_PATH, 0, NULL, 0)) { - goto out; - } - symlink_to[info.m_uncomp_size] = '\0'; - if (symlink(symlink_to, path) != 0) { - goto out; - } -#endif - } else { - if (!mz_zip_reader_is_file_a_directory(&zip_archive, i)) { - if (!mz_zip_reader_extract_to_file(&zip_archive, i, path, 0)) { - // Cannot extract zip archive to file - goto out; - } - } - -#if defined(_MSC_VER) -#else - xattr = (info.m_external_attr >> 16) & 0xFFFF; - if (xattr > 0) { - if (chmod(path, (mode_t)xattr) < 0) { - goto out; - } - } -#endif - } - - if (on_extract) { - if (on_extract(path, arg) < 0) { - goto out; - } - } - } - status = 0; - -out: - // Close the archive, freeing any resources it was using - if (!mz_zip_reader_end(&zip_archive)) { - // Cannot end zip reader - status = -1; - } - - return status; + return zip_archive_extract(&zip_archive, dir, on_extract, arg); } - -#ifdef _MSC_VER -#pragma warning(pop) -#endif // _MSC_VER diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h index 87f3654f4..70ab2cee6 100644 --- a/contrib/zip/src/zip.h +++ b/contrib/zip/src/zip.h @@ -15,19 +15,11 @@ #include #include -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4127 ) -#endif //_MSC_VER - #ifdef __cplusplus extern "C" { #endif -#if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \ - !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \ - !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(_SSIZE_T_DECLARED) - +#if !defined(_POSIX_C_SOURCE) && defined(_MSC_VER) // 64-bit Windows is the only mainstream platform // where sizeof(long) != sizeof(void*) #ifdef _WIN64 @@ -35,15 +27,6 @@ typedef long long ssize_t; /* byte count or error */ #else typedef long ssize_t; /* byte count or error */ #endif - -#define _SSIZE_T_DEFINED -#define _SSIZE_T_DEFINED_ -#define __DEFINED_ssize_t -#define __ssize_t_defined -#define _SSIZE_T -#define _SSIZE_T_ -#define _SSIZE_T_DECLARED - #endif #ifndef MAX_PATH @@ -64,9 +47,49 @@ typedef long ssize_t; /* byte count or error */ /** * Default zip compression level. */ - #define ZIP_DEFAULT_COMPRESSION_LEVEL 6 +/** + * Error codes + */ +#define ZIP_ENOINIT -1 // not initialized +#define ZIP_EINVENTNAME -2 // invalid entry name +#define ZIP_ENOENT -3 // entry not found +#define ZIP_EINVMODE -4 // invalid zip mode +#define ZIP_EINVLVL -5 // invalid compression level +#define ZIP_ENOSUP64 -6 // no zip 64 support +#define ZIP_EMEMSET -7 // memset error +#define ZIP_EWRTENT -8 // cannot write data to entry +#define ZIP_ETDEFLINIT -9 // cannot initialize tdefl compressor +#define ZIP_EINVIDX -10 // invalid index +#define ZIP_ENOHDR -11 // header not found +#define ZIP_ETDEFLBUF -12 // cannot flush tdefl buffer +#define ZIP_ECRTHDR -13 // cannot create entry header +#define ZIP_EWRTHDR -14 // cannot write entry header +#define ZIP_EWRTDIR -15 // cannot write to central dir +#define ZIP_EOPNFILE -16 // cannot open file +#define ZIP_EINVENTTYPE -17 // invalid entry type +#define ZIP_EMEMNOALLOC -18 // extracting data using no memory allocation +#define ZIP_ENOFILE -19 // file not found +#define ZIP_ENOPERM -20 // no permission +#define ZIP_EOOMEM -21 // out of memory +#define ZIP_EINVZIPNAME -22 // invalid zip archive name +#define ZIP_EMKDIR -23 // make dir error +#define ZIP_ESYMLINK -24 // symlink error +#define ZIP_ECLSZIP -25 // close archive error +#define ZIP_ECAPSIZE -26 // capacity size too small +#define ZIP_EFSEEK -27 // fseek error +#define ZIP_EFREAD -28 // fread error +#define ZIP_EFWRITE -29 // fwrite error + +/** + * Looks up the error message string coresponding to an error number. + * @param errnum error number + * @return error message string coresponding to errnum or NULL if error is not + * found. + */ +extern const char *zip_strerror(int errnum); + /** * @struct zip_t * @@ -242,8 +265,8 @@ extern ssize_t zip_entry_read(struct zip_t *zip, void **buf, size_t *bufsize); * * @note ensure supplied output buffer is large enough. * zip_entry_size function (returns uncompressed size for the current - * entry) can be handy to estimate how big buffer is needed. for large - * entries, please take a look at zip_entry_extract function. + * entry) can be handy to estimate how big buffer is needed. + * For large entries, please take a look at zip_entry_extract function. * * @return the return code - the number of bytes actually read on success. * Otherwise a -1 on error (e.g. bufsize is not large enough). @@ -285,7 +308,71 @@ zip_entry_extract(struct zip_t *zip, * @return the return code - the number of entries on success, negative number * (< 0) on error. */ -extern int zip_total_entries(struct zip_t *zip); +extern int zip_entries_total(struct zip_t *zip); + +/** + * Deletes zip archive entries. + * + * @param zip zip archive handler. + * @param entries array of zip archive entries to be deleted. + * @param len the number of entries to be deleted. + * @return the number of deleted entries, or negative number (< 0) on error. + */ +extern int zip_entries_delete(struct zip_t *zip, char *const entries[], + size_t len); + +/** + * Extracts a zip archive stream into directory. + * + * If on_extract is not NULL, the callback will be called after + * successfully extracted each zip entry. + * Returning a negative value from the callback will cause abort and return an + * error. The last argument (void *arg) is optional, which you can use to pass + * data to the on_extract callback. + * + * @param stream zip archive stream. + * @param size stream size. + * @param dir output directory. + * @param on_extract on extract callback. + * @param arg opaque pointer. + * + * @return the return code - 0 on success, negative number (< 0) on error. + */ +extern int zip_stream_extract(const char *stream, size_t size, const char *dir, + int (*on_extract)(const char *filename, + void *arg), + void *arg); + +/** + * Opens zip archive stream into memory. + * + * @param stream zip archive stream. + * @param size stream size. + * + * @return the zip archive handler or NULL on error + */ +extern struct zip_t *zip_stream_open(const char *stream, size_t size, int level, + char mode); + +/** + * Copy zip archive stream output buffer. + * + * @param zip zip archive handler. + * @param buf output buffer. User should free buf. + * @param bufsize output buffer size (in bytes). + * + * @return copy size + */ +extern ssize_t zip_stream_copy(struct zip_t *zip, void **buf, ssize_t *bufsize); + +/** + * Close zip archive releases resources. + * + * @param zip zip archive handler. + * + * @return + */ +extern void zip_stream_close(struct zip_t *zip); /** * Creates a new archive and puts files into a single zip archive. @@ -319,11 +406,6 @@ extern int zip_extract(const char *zipname, const char *dir, void *arg); /** @} */ - -#ifdef _MSC_VER -#pragma warning(pop) -#endif //_MSC_VER - #ifdef __cplusplus } #endif diff --git a/contrib/zip/test/CMakeLists.txt b/contrib/zip/test/CMakeLists.txt index a7c3650f7..0da1684d4 100644 --- a/contrib/zip/test/CMakeLists.txt +++ b/contrib/zip/test/CMakeLists.txt @@ -1,11 +1,38 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.4) -# test -set(test_out test.out) +# tests +set(test_write_out test_write.out) +add_executable(${test_write_out} test_write.c) +target_link_libraries(${test_write_out} zip) +add_test(NAME ${test_write_out} COMMAND ${test_write_out}) +set(test_write_out ${test_write_out} PARENT_SCOPE) -add_executable(${test_out} test.c) -target_link_libraries(${test_out} zip) +set(test_append_out test_append.out) +add_executable(${test_append_out} test_append.c) +target_link_libraries(${test_append_out} zip) +add_test(NAME ${test_append_out} COMMAND ${test_append_out}) +set(test_append_out ${test_append_out} PARENT_SCOPE) -add_test(NAME ${test_out} COMMAND ${test_out}) +set(test_read_out test_read.out) +add_executable(${test_read_out} test_read.c) +target_link_libraries(${test_read_out} zip) +add_test(NAME ${test_read_out} COMMAND ${test_read_out}) +set(test_read_out ${test_read_out} PARENT_SCOPE) -set(test_out ${test_out} PARENT_SCOPE) +set(test_extract_out test_extract.out) +add_executable(${test_extract_out} test_extract.c) +target_link_libraries(${test_extract_out} zip) +add_test(NAME ${test_extract_out} COMMAND ${test_extract_out}) +set(test_extract_out ${test_extract_out} PARENT_SCOPE) + +set(test_entry_out test_entry.out) +add_executable(${test_entry_out} test_entry.c) +target_link_libraries(${test_entry_out} zip) +add_test(NAME ${test_entry_out} COMMAND ${test_entry_out}) +set(test_entry_out ${test_entry_out} PARENT_SCOPE) + +set(test_permissions_out test_permissions.out) +add_executable(${test_permissions_out} test_permissions.c) +target_link_libraries(${test_permissions_out} zip) +add_test(NAME ${test_permissions_out} COMMAND ${test_permissions_out}) +set(test_permissions_out ${test_permissions_out} PARENT_SCOPE) From af0aca796ebab7663bba2778f7f30dd424f324ca Mon Sep 17 00:00:00 2001 From: contriteobserver Date: Fri, 30 Apr 2021 21:07:01 -0700 Subject: [PATCH 30/99] now compiling M3D ASCII support by default addresses issue #3777 --- code/AssetLib/M3D/M3DExporter.cpp | 12 ++++------ code/AssetLib/M3D/M3DImporter.cpp | 10 -------- code/AssetLib/M3D/M3DWrapper.h | 1 - code/AssetLib/M3D/m3d.h | 38 +++---------------------------- 4 files changed, 7 insertions(+), 54 deletions(-) diff --git a/code/AssetLib/M3D/M3DExporter.cpp b/code/AssetLib/M3D/M3DExporter.cpp index 856932947..bcac1d98a 100644 --- a/code/AssetLib/M3D/M3DExporter.cpp +++ b/code/AssetLib/M3D/M3DExporter.cpp @@ -294,21 +294,17 @@ void ExportSceneM3D( // Worker function for exporting a scene to ASCII A3D. // Prototyped and registered in Exporter.cpp void ExportSceneM3DA( - const char *, - IOSystem *, - const aiScene *, - const ExportProperties * + const char *pFile, + IOSystem *pIOSystem, + const aiScene *pScene, + const ExportProperties *pProperties ) { -#ifdef M3D_ASCII // initialize the exporter M3DExporter exporter(pScene, pProperties); // perform ascii export exporter.doExport(pFile, pIOSystem, true); -#else - throw DeadlyExportError("Assimp configured without M3D_ASCII support"); -#endif } // ------------------------------------------------------------------------------------------------ diff --git a/code/AssetLib/M3D/M3DImporter.cpp b/code/AssetLib/M3D/M3DImporter.cpp index 8cbda23cb..56c272be8 100644 --- a/code/AssetLib/M3D/M3DImporter.cpp +++ b/code/AssetLib/M3D/M3DImporter.cpp @@ -95,11 +95,7 @@ static const aiImporterDesc desc = { 0, 0, 0, -#ifdef M3D_ASCII "m3d a3d" -#else - "m3d" -#endif }; namespace Assimp { @@ -119,9 +115,7 @@ bool M3DImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool c const std::string extension = GetExtension(pFile); if (extension == "m3d" -#ifdef M3D_ASCII || extension == "a3d" -#endif ) return true; else if (!extension.length() || checkSig) { @@ -141,9 +135,7 @@ bool M3DImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool c return false; } return !memcmp(data, "3DMO", 4) /* bin */ -#ifdef M3D_ASCII || !memcmp(data, "3dmo", 4) /* ASCII */ -#endif ; } return false; @@ -176,12 +168,10 @@ void M3DImporter::InternReadFile(const std::string &file, aiScene *pScene, IOSys if (!memcmp(buffer.data(), "3DMO", 4) && memcmp(buffer.data() + 4, &fileSize, 4)) { throw DeadlyImportError("Bad binary header in file ", file, "."); } -#ifdef M3D_ASCII // make sure there's a terminator zero character, as input must be ASCIIZ if (!memcmp(buffer.data(), "3dmo", 4)) { buffer.push_back(0); } -#endif // Get the path for external assets std::string folderName("./"); diff --git a/code/AssetLib/M3D/M3DWrapper.h b/code/AssetLib/M3D/M3DWrapper.h index 5c370e607..782e908d2 100644 --- a/code/AssetLib/M3D/M3DWrapper.h +++ b/code/AssetLib/M3D/M3DWrapper.h @@ -54,7 +54,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Assimp specific M3D configuration. Comment out these defines to remove functionality //#define ASSIMP_USE_M3D_READFILECB -//#define M3D_ASCII #include "m3d.h" diff --git a/code/AssetLib/M3D/m3d.h b/code/AssetLib/M3D/m3d.h index dfc30aec3..11398cfab 100644 --- a/code/AssetLib/M3D/m3d.h +++ b/code/AssetLib/M3D/m3d.h @@ -231,14 +231,9 @@ enum { typedef struct { uint8_t format; uint8_t id; -#ifdef M3D_ASCII #define M3D_PROPERTYDEF(f, i, n) \ { (f), (i), (char *)(n) } char *key; -#else -#define M3D_PROPERTYDEF(f, i, n) \ - { (f), (i) } -#endif } m3dpd_t; /* material property types */ @@ -376,18 +371,11 @@ enum { #define M3D_CMDMAXARG 8 /* if you increase this, add more arguments to the macro below */ typedef struct { -#ifdef M3D_ASCII #define M3D_CMDDEF(t, n, p, a, b, c, d, e, f, g, h) \ { \ (char *)(n), (p), { (a), (b), (c), (d), (e), (f), (g), (h) } \ } char *key; -#else -#define M3D_CMDDEF(t, n, p, a, b, c, d, e, f, g, h) \ - { \ - (p), { (a), (b), (c), (d), (e), (f), (g), (h) } \ - } -#endif uint8_t p; uint8_t a[M3D_CMDMAXARG]; } m3dcd_t; @@ -2059,15 +2047,13 @@ unsigned char *_m3dstbi_zlib_compress(unsigned char *data, int data_len, int *ou #define M3D_CHUNKMAGIC(m, a, b, c, d) ((m)[0] == (a) && (m)[1] == (b) && (m)[2] == (c) && (m)[3] == (d)) -#ifdef M3D_ASCII #include /* sprintf and strtod cares about number locale */ #include /* get sprintf */ -#endif #ifdef M3D_PROFILING #include #endif -#if !defined(M3D_NOIMPORTER) && defined(M3D_ASCII) +#if !defined(M3D_NOIMPORTER) /* helper functions for the ASCII parser */ static char *_m3d_findarg(char *s) { while (s && *s && *s != ' ' && *s != '\t' && *s != '\r' && *s != '\n') @@ -2118,7 +2104,7 @@ static char *_m3d_getfloat(char *s, M3D_FLOAT *ret) { return _m3d_findarg(e); } #endif -#if !defined(M3D_NODUP) && (!defined(M3D_NOIMPORTER) || defined(M3D_ASCII) || defined(M3D_EXPORTER)) +#if !defined(M3D_NODUP) && (!defined(M3D_NOIMPORTER) || defined(M3D_EXPORTER)) /* helper function to create safe strings */ char *_m3d_safestr(char *in, int morelines) { char *out, *o, *i = in; @@ -2426,21 +2412,17 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d #ifndef M3D_NOWEIGHTS m3ds_t *sk; #endif -#ifdef M3D_ASCII m3ds_t s; M3D_INDEX bi[M3D_BONEMAXLEVEL + 1], level; const char *ol; char *ptr, *pe, *fn; -#endif #ifdef M3D_PROFILING struct timeval tv0, tv1, tvd; gettimeofday(&tv0, NULL); #endif if (!data || (!M3D_CHUNKMAGIC(data, '3', 'D', 'M', 'O') -#ifdef M3D_ASCII && !M3D_CHUNKMAGIC(data, '3', 'd', 'm', 'o') -#endif )) return NULL; model = (m3d_t *)M3D_MALLOC(sizeof(m3d_t)); @@ -2457,7 +2439,6 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d model->texture = mtllib->texture; model->flags |= M3D_FLG_MTLLIB; } -#ifdef M3D_ASCII /* ASCII variant? */ if (M3D_CHUNKMAGIC(data, '3', 'd', 'm', 'o')) { model->errcode = M3D_ERR_BADFILE; @@ -3034,7 +3015,6 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d setlocale(LC_NUMERIC, ol); goto postprocess; } -#endif /* Binary variant */ if (!M3D_CHUNKMAGIC(data + 8, 'H', 'E', 'A', 'D')) { buff = (unsigned char *)stbi_zlib_decode_malloc_guesssize_headerflag((const char *)data + 8, ((m3dchunk_t *)data)->length - 8, @@ -3698,9 +3678,7 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d } } /* calculate normals, normalize skin weights, create bone/vertex cross-references and calculate transform matrices */ -#ifdef M3D_ASCII postprocess: -#endif if (model) { M3D_LOG("Post-process"); #ifdef M3D_PROFILING @@ -3989,7 +3967,6 @@ void m3d_free(m3d_t *model) { unsigned int i, j; if (!model) return; -#ifdef M3D_ASCII /* if model imported from ASCII, we have to free all strings as well */ if (model->flags & M3D_FLG_FREESTR) { if (model->name) M3D_FREE(model->name); @@ -4047,7 +4024,6 @@ void m3d_free(m3d_t *model) { if (model->preview.data) M3D_FREE(model->preview.data); } -#endif if (model->flags & M3D_FLG_FREERAW) M3D_FREE(model->raw); if (model->tmap) M3D_FREE(model->tmap); @@ -4315,7 +4291,6 @@ static void _m3d_round(int quality, m3dv_t *src, m3dv_t *dst) { if (dst->w == (M3D_FLOAT)-0.0) dst->w = (M3D_FLOAT)0.0; } -#ifdef M3D_ASCII /* add a bone to ascii output */ static char *_m3d_prtbone(char *ptr, m3db_t *bone, M3D_INDEX numbone, M3D_INDEX parent, uint32_t level, M3D_INDEX *vrtxidx) { uint32_t i, j; @@ -4334,16 +4309,13 @@ static char *_m3d_prtbone(char *ptr, m3db_t *bone, M3D_INDEX numbone, M3D_INDEX } return ptr; } -#endif /** * Function to encode an in-memory model into on storage Model 3D format */ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size) { -#ifdef M3D_ASCII const char *ol; char *ptr; -#endif char vc_s, vi_s, si_s, ci_s, ti_s, bi_s, nb_s, sk_s, fc_s, hi_s, fi_s; char *sn = NULL, *sl = NULL, *sa = NULL, *sd = NULL; unsigned char *out = NULL, *z = NULL, weights[M3D_NUMBONE], *norm = NULL; @@ -4369,9 +4341,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size return NULL; } model->errcode = M3D_SUCCESS; -#ifdef M3D_ASCII if (flags & M3D_EXP_ASCII) quality = M3D_EXP_DOUBLE; -#endif vrtxidx = (M3D_INDEX *)M3D_MALLOC(model->numvertex * sizeof(M3D_INDEX)); if (!vrtxidx) goto memerr; memset(vrtxidx, 255, model->numvertex * sizeof(M3D_INDEX)); @@ -4800,7 +4770,6 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size } M3D_LOG("Serializing model"); -#ifdef M3D_ASCII if (flags & M3D_EXP_ASCII) { /* use CRLF to make model creators on Win happy... */ sd = _m3d_safestr(model->desc, 1); @@ -5073,7 +5042,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size ptr += sprintf(ptr, "\r\n"); } /* mathematical shapes face */ - if (model->numshape !(flags & M3D_EXP_NOFACE)) { + if (model->numshape != (flags & M3D_EXP_NOFACE)) { for (j = 0; j < model->numshape; j++) { sn = _m3d_safestr(model->shape[j].name, 0); if (!sn) { @@ -5287,7 +5256,6 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size if (!out) goto memerr; out[len] = 0; } else -#endif { /* stricly only use LF (newline) in binary */ sd = _m3d_safestr(model->desc, 3); From e51bb1e77e5d26aaaa40ef9bcffb196aa3049dfb Mon Sep 17 00:00:00 2001 From: contriteobserver Date: Fri, 30 Apr 2021 21:26:57 -0700 Subject: [PATCH 31/99] fixed signed/unsigned mismatch warning --- code/AssetLib/M3D/m3d.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/M3D/m3d.h b/code/AssetLib/M3D/m3d.h index 11398cfab..7dcb29593 100644 --- a/code/AssetLib/M3D/m3d.h +++ b/code/AssetLib/M3D/m3d.h @@ -5042,7 +5042,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size ptr += sprintf(ptr, "\r\n"); } /* mathematical shapes face */ - if (model->numshape != (flags & M3D_EXP_NOFACE)) { + if (model->numshape != (M3D_INDEX)(flags & M3D_EXP_NOFACE)) { for (j = 0; j < model->numshape; j++) { sn = _m3d_safestr(model->shape[j].name, 0); if (!sn) { From 813b64ef520a8b35548684e0bc42362bdb386e01 Mon Sep 17 00:00:00 2001 From: contriteobserver Date: Fri, 30 Apr 2021 21:51:02 -0700 Subject: [PATCH 32/99] corrected M3D_EXP_NOFACE test --- code/AssetLib/M3D/m3d.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/M3D/m3d.h b/code/AssetLib/M3D/m3d.h index 7dcb29593..68265959e 100644 --- a/code/AssetLib/M3D/m3d.h +++ b/code/AssetLib/M3D/m3d.h @@ -5042,7 +5042,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size ptr += sprintf(ptr, "\r\n"); } /* mathematical shapes face */ - if (model->numshape != (M3D_INDEX)(flags & M3D_EXP_NOFACE)) { + if (model->numshape && (!(flags & M3D_EXP_NOFACE))) { for (j = 0; j < model->numshape; j++) { sn = _m3d_safestr(model->shape[j].name, 0); if (!sn) { From c2d3d22271cb81aacce318df85a1cf8be1ad8122 Mon Sep 17 00:00:00 2001 From: Jason C Date: Sat, 1 May 2021 10:58:29 -0400 Subject: [PATCH 33/99] Fix crash in CanRead when file can not be opened. Addresses #3849 --- code/AssetLib/M3D/M3DImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/M3D/M3DImporter.cpp b/code/AssetLib/M3D/M3DImporter.cpp index 8cbda23cb..91fa54b75 100644 --- a/code/AssetLib/M3D/M3DImporter.cpp +++ b/code/AssetLib/M3D/M3DImporter.cpp @@ -137,7 +137,7 @@ bool M3DImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool c */ std::unique_ptr pStream(pIOHandler->Open(pFile, "rb")); unsigned char data[4]; - if (4 != pStream->Read(data, 1, 4)) { + if (!pStream || 4 != pStream->Read(data, 1, 4)) { return false; } return !memcmp(data, "3DMO", 4) /* bin */ From 65a2b98b867a3dece8b2428c0defe8acb7f4fafd Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 1 May 2021 18:46:12 +0200 Subject: [PATCH 34/99] updated C4D importer to use the Cineware SDK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Maxon’s Melange SDK has been renamed Cineware SDK as of 21.004, and with it all namespaces and types. This commit - makes CMake use contrib/Cineware instead of contrib/Melange; - renames Assimp’s namespace melange to namespace cineware; - removes useless functions and formatter references from class C4DImporter; - removes duplicate conversion of cineware::String to aiString in the importer; - updates comments accordingly; - updates copyright info. --- CMakeLists.txt | 15 ++++---- code/AssetLib/C4D/C4DImporter.cpp | 64 +++++++++++-------------------- code/AssetLib/C4D/C4DImporter.h | 39 ++++++++----------- 3 files changed, 46 insertions(+), 72 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 97a3641f5..7027e3300 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -527,12 +527,12 @@ ENDIF() MARK_AS_ADVANCED ( ASSIMP_BUILD_ARCHITECTURE ASSIMP_BUILD_COMPILER ) SET ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER OFF CACHE BOOL - "Build the C4D importer, which relies on the non-free Melange SDK." + "Build the C4D importer, which relies on the non-free Cineware SDK." ) IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) IF ( MSVC ) - SET(C4D_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/includes") + SET(C4D_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Cineware/includes") # pick the correct prebuilt library IF(MSVC15) @@ -551,22 +551,23 @@ IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) ) ENDIF() - SET(C4D_LIB_BASE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/libraries/win") + SET(C4D_LIB_BASE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Cineware/libraries/win") SET(C4D_DEBUG_LIBRARIES - "${C4D_LIB_BASE_PATH}/melangelib${C4D_LIB_POSTFIX}/melangelib_debug.lib" + "${C4D_LIB_BASE_PATH}/cinewarelib${C4D_LIB_POSTFIX}/cinewarelib_debug.lib" "${C4D_LIB_BASE_PATH}/jpeglib${C4D_LIB_POSTFIX}/jpeglib_debug.lib" ) SET(C4D_RELEASE_LIBRARIES - "${C4D_LIB_BASE_PATH}/melangelib${C4D_LIB_POSTFIX}/melangelib_release.lib" + "${C4D_LIB_BASE_PATH}/cinewarelib${C4D_LIB_POSTFIX}/cinewarelib_release.lib" "${C4D_LIB_BASE_PATH}/jpeglib${C4D_LIB_POSTFIX}/jpeglib_release.lib" ) - # winsock and winmm are necessary dependencies of melange (this is undocumented, but true.) + # winsock and winmm are necessary (and undocumented) dependencies of Cineware SDK because + # it can be used to communicate with a running Cinema 4D instance SET(C4D_EXTRA_LIBRARIES WSock32.lib Winmm.lib) ELSE () MESSAGE( FATAL_ERROR - "C4D is currently only available on Windows with melange SDK installed in contrib/Melange" + "C4D is currently only available on Windows with Cineware SDK installed in contrib/Cineware" ) ENDIF () ELSE () diff --git a/code/AssetLib/C4D/C4DImporter.cpp b/code/AssetLib/C4D/C4DImporter.cpp index 24fd6f622..594bcfddd 100644 --- a/code/AssetLib/C4D/C4DImporter.cpp +++ b/code/AssetLib/C4D/C4DImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2020, assimp team +Copyright (c) 2006-2021, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, @@ -51,7 +51,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #endif #include "C4DImporter.h" -#include #include #include #include @@ -65,7 +64,19 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "c4d_file.h" #include "default_alien_overloads.h" -using namespace melange; +namespace { + +aiString aiStringFrom(cineware::String const & cinestring) { + aiString result; + cinestring.GetCString(result.data, MAXLEN-1); + result.length = static_cast(cinestring.GetLength()); + return result; +} + +} + +using namespace Assimp; +using namespace cineware; // overload this function and fill in your own unique data void GetWriterInfo(int &id, String &appname) { @@ -73,9 +84,6 @@ void GetWriterInfo(int &id, String &appname) { appname = "Open Asset Import Library"; } -using namespace Assimp; -using namespace Assimp::Formatter; - namespace Assimp { template<> const char* LogFunctions::Prefix() { static auto prefix = "C4D: "; @@ -97,17 +105,6 @@ static const aiImporterDesc desc = { }; -// ------------------------------------------------------------------------------------------------ -C4DImporter::C4DImporter() -: BaseImporter() { - // empty -} - -// ------------------------------------------------------------------------------------------------ -C4DImporter::~C4DImporter() { - // empty -} - // ------------------------------------------------------------------------------------------------ bool C4DImporter::CanRead( const std::string& pFile, IOSystem* pIOHandler, bool checkSig) const { const std::string& extension = GetExtension(pFile); @@ -125,11 +122,6 @@ const aiImporterDesc* C4DImporter::GetInfo () const { return &desc; } -// ------------------------------------------------------------------------------------------------ -void C4DImporter::SetupProperties(const Importer* /*pImp*/) { - // nothing to be done for the moment -} - // ------------------------------------------------------------------------------------------------ // Imports the given file into the given scene structure. @@ -199,8 +191,8 @@ void C4DImporter::InternReadFile( const std::string& pFile, aiScene* pScene, IOS // ------------------------------------------------------------------------------------------------ -bool C4DImporter::ReadShader(aiMaterial* out, melange::BaseShader* shader) { - // based on Melange sample code (C4DImportExport.cpp) +bool C4DImporter::ReadShader(aiMaterial* out, BaseShader* shader) { + // based on Cineware sample code (C4DImportExport.cpp) while(shader) { if(shader->GetType() == Xlayer) { BaseContainer* container = shader->GetDataInstance(); @@ -242,9 +234,7 @@ bool C4DImporter::ReadShader(aiMaterial* out, melange::BaseShader* shader) { lsl = lsl->GetNext(); } } else if ( shader->GetType() == Xbitmap ) { - aiString path; - shader->GetFileName().GetString().GetCString(path.data, MAXLEN-1); - path.length = ::strlen(path.data); + auto const path = aiStringFrom(shader->GetFileName().GetString()); out->AddProperty(&path, AI_MATKEY_TEXTURE_DIFFUSE(0)); return true; } else { @@ -257,18 +247,15 @@ bool C4DImporter::ReadShader(aiMaterial* out, melange::BaseShader* shader) { } // ------------------------------------------------------------------------------------------------ -void C4DImporter::ReadMaterials(melange::BaseMaterial* mat) { - // based on Melange sample code +void C4DImporter::ReadMaterials(BaseMaterial* mat) { + // based on Cineware sample code while (mat) { - const String& name = mat->GetName(); if (mat->GetType() == Mmaterial) { aiMaterial* out = new aiMaterial(); material_mapping[mat] = static_cast(materials.size()); materials.push_back(out); - aiString ai_name; - name.GetCString(ai_name.data, MAXLEN-1); - ai_name.length = ::strlen(ai_name.data); + auto const ai_name = aiStringFrom(mat->GetName()); out->AddProperty(&ai_name, AI_MATKEY_NAME); Material& m = dynamic_cast(*mat); @@ -305,19 +292,15 @@ void C4DImporter::RecurseHierarchy(BaseObject* object, aiNode* parent) { ai_assert(parent != nullptr ); std::vector nodes; - // based on Melange sample code + // based on Cineware sample code while (object) { - const String& name = object->GetName(); const LONG type = object->GetType(); const Matrix& ml = object->GetMl(); - aiString string; - name.GetCString(string.data, MAXLEN-1); - string.length = ::strlen(string.data); aiNode* const nd = new aiNode(); nd->mParent = parent; - nd->mName = string; + nd->mName = aiStringFrom(object->GetName()); nd->mTransformation.a1 = ml.v1.x; nd->mTransformation.b1 = ml.v1.y; @@ -370,7 +353,7 @@ aiMesh* C4DImporter::ReadMesh(BaseObject* object) { ai_assert(object != nullptr); ai_assert( object->GetType() == Opolygon ); - // based on Melange sample code + // based on Cineware sample code PolygonObject* const polyObject = dynamic_cast(object); ai_assert(polyObject != nullptr); @@ -618,4 +601,3 @@ unsigned int C4DImporter::ResolveMaterial(PolygonObject* obj) { } #endif // ASSIMP_BUILD_NO_C4D_IMPORTER - diff --git a/code/AssetLib/C4D/C4DImporter.h b/code/AssetLib/C4D/C4DImporter.h index f9406c3e0..c44cf5e37 100644 --- a/code/AssetLib/C4D/C4DImporter.h +++ b/code/AssetLib/C4D/C4DImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2020, assimp team +Copyright (c) 2006-2021, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, @@ -56,8 +56,8 @@ struct aiMaterial; struct aiImporterDesc; -namespace melange { - class BaseObject; // c4d_file.h +namespace cineware { + class BaseObject; class PolygonObject; class BaseMaterial; class BaseShader; @@ -71,43 +71,34 @@ namespace Assimp { } // ------------------------------------------------------------------------------------------- -/** Importer class to load Cinema4D files using the Melange library to be obtained from - * www.plugincafe.com +/** Importer class to load Cinema4D files using the Cineware library to be obtained from + * https://developers.maxon.net * - * Note that Melange is not free software. */ + * Note that Cineware is not free software. */ // ------------------------------------------------------------------------------------------- class C4DImporter : public BaseImporter, public LogFunctions { public: - C4DImporter(); - ~C4DImporter(); - bool CanRead( const std::string& pFile, IOSystem* pIOHandler, - bool checkSig) const; + bool CanRead( const std::string& pFile, IOSystem*, bool checkSig) const override; protected: - // -------------------- - const aiImporterDesc* GetInfo () const; + const aiImporterDesc* GetInfo () const override; - // -------------------- - void SetupProperties(const Importer* pImp); - - // -------------------- - void InternReadFile( const std::string& pFile, aiScene* pScene, - IOSystem* pIOHandler); + void InternReadFile( const std::string& pFile, aiScene*, IOSystem* ) override; private: - void ReadMaterials(melange::BaseMaterial* mat); - void RecurseHierarchy(melange::BaseObject* object, aiNode* parent); - aiMesh* ReadMesh(melange::BaseObject* object); - unsigned int ResolveMaterial(melange::PolygonObject* obj); + void ReadMaterials(cineware::BaseMaterial* mat); + void RecurseHierarchy(cineware::BaseObject* object, aiNode* parent); + aiMesh* ReadMesh(cineware::BaseObject* object); + unsigned int ResolveMaterial(cineware::PolygonObject* obj); - bool ReadShader(aiMaterial* out, melange::BaseShader* shader); + bool ReadShader(aiMaterial* out, cineware::BaseShader* shader); std::vector meshes; std::vector materials; - typedef std::map MaterialMap; + typedef std::map MaterialMap; MaterialMap material_mapping; }; // !class C4DImporter From e73a2ed5e0b044033ed6870715bc80e77ca36393 Mon Sep 17 00:00:00 2001 From: Krishty Date: Sat, 1 May 2021 23:20:37 +0200 Subject: [PATCH 35/99] style fix: namespace instead of class with public static members --- code/AssetLib/3DS/3DSHelper.h | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/code/AssetLib/3DS/3DSHelper.h b/code/AssetLib/3DS/3DSHelper.h index f3f9efb25..1930c0c40 100644 --- a/code/AssetLib/3DS/3DSHelper.h +++ b/code/AssetLib/3DS/3DSHelper.h @@ -61,20 +61,10 @@ namespace D3DS { #include // --------------------------------------------------------------------------- -/** Discreet3DS class: Helper class for loading 3ds files. Defines chunks -* and data structures. +/** Defines chunks and data structures. */ -class Discreet3DS { -private: - Discreet3DS() AI_NO_EXCEPT { - // empty - } +namespace Discreet3DS { - ~Discreet3DS() { - // empty - } - -public: //! data structure for a single chunk in a .3ds file struct Chunk { uint16_t Flag; @@ -314,7 +304,7 @@ public: // camera sub-chunks CHUNK_CAM_RANGES = 0x4720 }; -}; +} // --------------------------------------------------------------------------- /** Helper structure representing a 3ds mesh face */ From 55fd820ed782e97a76925e0926dfa021baa1c6f5 Mon Sep 17 00:00:00 2001 From: kkulling Date: Tue, 4 May 2021 10:57:30 +0200 Subject: [PATCH 36/99] use const chars --- code/AssetLib/3DS/3DSExporter.cpp | 5 +- code/AssetLib/3MF/3MFXmlTags.h | 101 +++++------ code/AssetLib/3MF/D3MFExporter.cpp | 37 ++-- code/AssetLib/3MF/D3MFImporter.cpp | 164 +++++++++--------- code/AssetLib/3MF/D3MFOpcPackage.cpp | 6 +- code/AssetLib/AMF/AMFImporter_Postprocess.cpp | 4 +- code/CApi/CInterfaceIOWrapper.cpp | 4 +- contrib/zip/src/zip.c | 2 +- 8 files changed, 172 insertions(+), 151 deletions(-) diff --git a/code/AssetLib/3DS/3DSExporter.cpp b/code/AssetLib/3DS/3DSExporter.cpp index 108d917d1..07e9ccfc7 100644 --- a/code/AssetLib/3DS/3DSExporter.cpp +++ b/code/AssetLib/3DS/3DSExporter.cpp @@ -102,13 +102,14 @@ private: // preserves the mesh's given name if it has one. |index| is the index // of the mesh in |aiScene::mMeshes|. std::string GetMeshName(const aiMesh &mesh, unsigned int index, const aiNode &node) { - static const std::string underscore = "_"; + static const char underscore = '_'; char postfix[10] = { 0 }; ASSIMP_itoa10(postfix, index); std::string result = node.mName.C_Str(); if (mesh.mName.length > 0) { - result += underscore + mesh.mName.C_Str(); + result += underscore; + result += mesh.mName.C_Str(); } return result + underscore + postfix; } diff --git a/code/AssetLib/3MF/3MFXmlTags.h b/code/AssetLib/3MF/3MFXmlTags.h index 3996c60e5..910006bc9 100644 --- a/code/AssetLib/3MF/3MFXmlTags.h +++ b/code/AssetLib/3MF/3MFXmlTags.h @@ -44,62 +44,65 @@ namespace Assimp { namespace D3MF { namespace XmlTag { + // Root tag + static const char *RootTag = "3MF"; + // Meta-data - static const std::string meta = "metadata"; - static const std::string meta_name = "name"; + static const char *meta = "metadata"; + static const char *meta_name = "name"; // Model-data specific tags - static const std::string model = "model"; - static const std::string model_unit = "unit"; - static const std::string metadata = "metadata"; - static const std::string resources = "resources"; - static const std::string object = "object"; - static const std::string mesh = "mesh"; - static const std::string components = "components"; - static const std::string component = "component"; - static const std::string vertices = "vertices"; - static const std::string vertex = "vertex"; - static const std::string triangles = "triangles"; - static const std::string triangle = "triangle"; - static const std::string x = "x"; - static const std::string y = "y"; - static const std::string z = "z"; - static const std::string v1 = "v1"; - static const std::string v2 = "v2"; - static const std::string v3 = "v3"; - static const std::string id = "id"; - static const std::string pid = "pid"; - static const std::string pindex = "pindex"; - static const std::string p1 = "p1"; - static const std::string name = "name"; - static const std::string type = "type"; - static const std::string build = "build"; - static const std::string item = "item"; - static const std::string objectid = "objectid"; - static const std::string transform = "transform"; + static const char *model = "model"; + static const char *model_unit = "unit"; + static const char *metadata = "metadata"; + static const char *resources = "resources"; + static const char *object = "object"; + static const char *mesh = "mesh"; + static const char *components = "components"; + static const char *component = "component"; + static const char *vertices = "vertices"; + static const char *vertex = "vertex"; + static const char *triangles = "triangles"; + static const char *triangle = "triangle"; + static const char *x = "x"; + static const char *y = "y"; + static const char *z = "z"; + static const char *v1 = "v1"; + static const char *v2 = "v2"; + static const char *v3 = "v3"; + static const char *id = "id"; + static const char *pid = "pid"; + static const char *pindex = "pindex"; + static const char *p1 = "p1"; + static const char *name = "name"; + static const char *type = "type"; + static const char *build = "build"; + static const char *item = "item"; + static const char *objectid = "objectid"; + static const char *transform = "transform"; // Material definitions - static const std::string basematerials = "basematerials"; - static const std::string basematerials_id = "id"; - static const std::string basematerials_base = "base"; - static const std::string basematerials_name = "name"; - static const std::string basematerials_displaycolor = "displaycolor"; + static const char *basematerials = "basematerials"; + static const char *basematerials_id = "id"; + static const char *basematerials_base = "base"; + static const char *basematerials_name = "name"; + static const char *basematerials_displaycolor = "displaycolor"; // Meta info tags - static const std::string CONTENT_TYPES_ARCHIVE = "[Content_Types].xml"; - static const std::string ROOT_RELATIONSHIPS_ARCHIVE = "_rels/.rels"; - static const std::string SCHEMA_CONTENTTYPES = "http://schemas.openxmlformats.org/package/2006/content-types"; - static const std::string SCHEMA_RELATIONSHIPS = "http://schemas.openxmlformats.org/package/2006/relationships"; - static const std::string RELS_RELATIONSHIP_CONTAINER = "Relationships"; - static const std::string RELS_RELATIONSHIP_NODE = "Relationship"; - static const std::string RELS_ATTRIB_TARGET = "Target"; - static const std::string RELS_ATTRIB_TYPE = "Type"; - static const std::string RELS_ATTRIB_ID = "Id"; - static const std::string PACKAGE_START_PART_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel"; - static const std::string PACKAGE_PRINT_TICKET_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/printticket"; - static const std::string PACKAGE_TEXTURE_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dtexture"; - static const std::string PACKAGE_CORE_PROPERTIES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"; - static const std::string PACKAGE_THUMBNAIL_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail"; + static const char *CONTENT_TYPES_ARCHIVE = "[Content_Types].xml"; + static const char *ROOT_RELATIONSHIPS_ARCHIVE = "_rels/.rels"; + static const char *SCHEMA_CONTENTTYPES = "http://schemas.openxmlformats.org/package/2006/content-types"; + static const char *SCHEMA_RELATIONSHIPS = "http://schemas.openxmlformats.org/package/2006/relationships"; + static const char *RELS_RELATIONSHIP_CONTAINER = "Relationships"; + static const char *RELS_RELATIONSHIP_NODE = "Relationship"; + static const char *RELS_ATTRIB_TARGET = "Target"; + static const char *RELS_ATTRIB_TYPE = "Type"; + static const char *RELS_ATTRIB_ID = "Id"; + static const char *PACKAGE_START_PART_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel"; + static const char *PACKAGE_PRINT_TICKET_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/printticket"; + static const char *PACKAGE_TEXTURE_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dtexture"; + static const char *PACKAGE_CORE_PROPERTIES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"; + static const char *PACKAGE_THUMBNAIL_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail"; } } // Namespace D3MF diff --git a/code/AssetLib/3MF/D3MFExporter.cpp b/code/AssetLib/3MF/D3MFExporter.cpp index 4a16a0ad3..76a601cbe 100644 --- a/code/AssetLib/3MF/D3MFExporter.cpp +++ b/code/AssetLib/3MF/D3MFExporter.cpp @@ -307,18 +307,26 @@ void D3MFExporter::writeMesh(aiMesh *mesh) { return; } - mModelOutput << "<" << XmlTag::mesh << ">" << std::endl; - mModelOutput << "<" << XmlTag::vertices << ">" << std::endl; + mModelOutput << "<" + << XmlTag::mesh + << ">" << "\n"; + mModelOutput << "<" + << XmlTag::vertices + << ">" << "\n"; for (unsigned int i = 0; i < mesh->mNumVertices; ++i) { writeVertex(mesh->mVertices[i]); } - mModelOutput << "" << std::endl; + mModelOutput << "" + << "\n"; const unsigned int matIdx(mesh->mMaterialIndex); writeFaces(mesh, matIdx); - mModelOutput << "" << std::endl; + mModelOutput << "" + << "\n"; } void D3MFExporter::writeVertex(const aiVector3D &pos) { @@ -334,27 +342,34 @@ void D3MFExporter::writeFaces(aiMesh *mesh, unsigned int matIdx) { if (!mesh->HasFaces()) { return; } - mModelOutput << "<" << XmlTag::triangles << ">" << std::endl; + mModelOutput << "<" + << XmlTag::triangles << ">" + << "\n"; for (unsigned int i = 0; i < mesh->mNumFaces; ++i) { aiFace ¤tFace = mesh->mFaces[i]; mModelOutput << "<" << XmlTag::triangle << " v1=\"" << currentFace.mIndices[0] << "\" v2=\"" << currentFace.mIndices[1] << "\" v3=\"" << currentFace.mIndices[2] << "\" pid=\"1\" p1=\"" + ai_to_string(matIdx) + "\" />"; - mModelOutput << std::endl; + mModelOutput << "\n"; } - mModelOutput << ""; - mModelOutput << std::endl; + mModelOutput << ""; + mModelOutput << "\n"; } void D3MFExporter::writeBuild() { - mModelOutput << "<" << XmlTag::build << ">" << std::endl; + mModelOutput << "<" + << XmlTag::build + << ">" + << "\n"; for (size_t i = 0; i < mBuildItems.size(); ++i) { mModelOutput << "<" << XmlTag::item << " objectid=\"" << i + 2 << "\"/>"; - mModelOutput << std::endl; + mModelOutput << "\n"; } mModelOutput << ""; - mModelOutput << std::endl; + mModelOutput << "\n"; } void D3MFExporter::zipContentType(const std::string &filename) { diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index f4ddb6054..b2d421610 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -72,32 +72,39 @@ enum class ResourceType { RT_Unknown }; // To be extended with other resource types (eg. material extension resources like Texture2d, Texture2dGroup...) -class Resource -{ +class Resource { public: - Resource(int id) : - mId(id) {} - - virtual ~Resource() {} - int mId; - virtual ResourceType getType() { + Resource(int id) : + mId(id) { + // empty + } + + virtual ~Resource() { + // empty + } + + virtual ResourceType getType() const { return ResourceType::RT_Unknown; } }; class BaseMaterials : public Resource { public: - BaseMaterials(int id) : - Resource(id), - mMaterials(), - mMaterialIndex() {} - std::vector mMaterials; std::vector mMaterialIndex; - virtual ResourceType getType() { + BaseMaterials(int id) : + Resource(id), + mMaterials(), + mMaterialIndex() { + // empty + } + + ~BaseMaterials() = default; + + ResourceType getType() const override { return ResourceType::RT_BaseMaterials; } }; @@ -109,24 +116,26 @@ struct Component { class Object : public Resource { public: - std::vector mMeshes; + std::vector mMeshes; std::vector mMeshIndex; std::vector mComponents; std::string mName; Object(int id) : Resource(id), - mName(std::string("Object_") + ai_to_string(id)) {} + mName(std::string("Object_") + ai_to_string(id)) { + // empty + } - virtual ResourceType getType() { + ~Object() = default; + + ResourceType getType() const override { return ResourceType::RT_Object; } }; - class XmlSerializer { public: - XmlSerializer(XmlParser *xmlParser) : mResourcesDictionnary(), mMaterialCount(0), @@ -136,7 +145,7 @@ public: } ~XmlSerializer() { - for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); it++) { + for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); ++it ) { delete it->second; } } @@ -146,28 +155,28 @@ public: return; } - scene->mRootNode = new aiNode("3MF"); + scene->mRootNode = new aiNode(XmlTag::RootTag); - XmlNode node = mXmlParser->getRootNode().child("model"); + XmlNode node = mXmlParser->getRootNode().child(XmlTag::model); if (node.empty()) { return; } - XmlNode resNode = node.child("resources"); - for (XmlNode currentNode = resNode.first_child(); currentNode; currentNode = currentNode.next_sibling()) { + XmlNode resNode = node.child(XmlTag::resources); + for (auto ¤tNode : resNode.children()) { const std::string ¤tNodeName = currentNode.name(); - if (currentNodeName == D3MF::XmlTag::object) { - ReadObject(currentNode);; - } else if (currentNodeName == D3MF::XmlTag::basematerials) { + if (currentNodeName == XmlTag::object) { + ReadObject(currentNode); + } else if (currentNodeName == XmlTag::basematerials) { ReadBaseMaterials(currentNode); - } else if (currentNodeName == D3MF::XmlTag::meta) { + } else if (currentNodeName == XmlTag::meta) { ReadMetadata(currentNode); } } - XmlNode buildNode = node.child("build"); - for (XmlNode currentNode = buildNode.first_child(); currentNode; currentNode = currentNode.next_sibling()) { + XmlNode buildNode = node.child(XmlTag::build); + for (auto ¤tNode : resNode.children()) { const std::string ¤tNodeName = currentNode.name(); - if (currentNodeName == D3MF::XmlTag::item) { + if (currentNodeName == XmlTag::item) { int objectId = -1; std::string transformationMatrixStr; aiMatrix4x4 transformationMatrix; @@ -186,7 +195,6 @@ public: } } - // import the metadata if (!mMetaData.empty()) { const size_t numMeta(mMetaData.size()); @@ -201,22 +209,21 @@ public: scene->mNumMeshes = static_cast(mMeshCount); if (scene->mNumMeshes != 0) { scene->mMeshes = new aiMesh *[scene->mNumMeshes](); - for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); it++) { + for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); ++it) { if (it->second->getType() == ResourceType::RT_Object) { - Object *obj = static_cast(it->second); + Object *obj = static_cast(it->second); for (unsigned int i = 0; i < obj->mMeshes.size(); ++i) { scene->mMeshes[obj->mMeshIndex[i]] = obj->mMeshes[i]; } } } } - // import the materials - scene->mNumMaterials = static_cast(mMaterialCount); + scene->mNumMaterials = mMaterialCount; if (scene->mNumMaterials != 0) { scene->mMaterials = new aiMaterial *[scene->mNumMaterials]; - for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); it++) { + for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); ++it) { if (it->second->getType() == ResourceType::RT_BaseMaterials) { BaseMaterials *baseMaterials = static_cast(it->second); for (unsigned int i = 0; i < baseMaterials->mMaterials.size(); ++i) { @@ -228,35 +235,36 @@ public: } private: + void addObjectToNode(aiNode *parent, Object *obj, aiMatrix4x4 nodeTransform) { + ai_assert(nullptr != obj); - void addObjectToNode(aiNode* parent, Object* obj, aiMatrix4x4 nodeTransform) { aiNode *sceneNode = new aiNode(obj->mName); sceneNode->mNumMeshes = static_cast(obj->mMeshes.size()); sceneNode->mMeshes = new unsigned int[sceneNode->mNumMeshes]; std::copy(obj->mMeshIndex.begin(), obj->mMeshIndex.end(), sceneNode->mMeshes); sceneNode->mTransformation = nodeTransform; - - parent->addChildren(1, &sceneNode); + if (nullptr != parent) { + parent->addChildren(1, &sceneNode); + } for (size_t i = 0; i < obj->mComponents.size(); ++i) { Component c = obj->mComponents[i]; auto it = mResourcesDictionnary.find(c.mObjectId); if (it != mResourcesDictionnary.end() && it->second->getType() == ResourceType::RT_Object) { - addObjectToNode(sceneNode, static_cast(it->second), c.mTransformation); + addObjectToNode(sceneNode, static_cast(it->second), c.mTransformation); } - } } - bool getNodeAttribute(const XmlNode& node, const std::string& attribute, std::string& value) { + bool getNodeAttribute(const XmlNode &node, const std::string &attribute, std::string &value) { pugi::xml_attribute objectAttribute = node.attribute(attribute.c_str()); if (!objectAttribute.empty()) { value = objectAttribute.as_string(); return true; - } else { - return false; } + + return false; } bool getNodeAttribute(const XmlNode &node, const std::string &attribute, int &value) { @@ -265,9 +273,9 @@ private: if (ret) { value = std::atoi(strValue.c_str()); return true; - } else { - return false; - } + } + + return false; } aiMatrix4x4 parseTransformMatrix(std::string matrixStr) { @@ -287,7 +295,7 @@ private: } } if (currentNumber.size() > 0) { - float f = std::stof(currentNumber); + const float f = std::stof(currentNumber); numbers.push_back(f); } @@ -311,29 +319,26 @@ private: transformMatrix.b4 = numbers[10]; transformMatrix.c4 = numbers[11]; transformMatrix.d4 = 1; + return transformMatrix; } void ReadObject(XmlNode &node) { int id = -1, pid = -1, pindex = -1; - bool hasId = getNodeAttribute(node, D3MF::XmlTag::id, id); - //bool hasType = getNodeAttribute(node, D3MF::XmlTag::type, type); not used currently - bool hasPid = getNodeAttribute(node, D3MF::XmlTag::pid, pid); - bool hasPindex = getNodeAttribute(node, D3MF::XmlTag::pindex, pindex); - - std::string idStr = ai_to_string(id); - + bool hasId = getNodeAttribute(node, XmlTag::id, id); + bool hasPid = getNodeAttribute(node, XmlTag::pid, pid); + bool hasPindex = getNodeAttribute(node, XmlTag::pindex, pindex); if (!hasId) { return; } Object *obj = new Object(id); - for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) { + for (XmlNode ¤tNode : node.children()) { const std::string ¤tName = currentNode.name(); if (currentName == D3MF::XmlTag::mesh) { auto mesh = ReadMesh(currentNode); - mesh->mName.Set(idStr); + mesh->mName.Set(ai_to_string(id)); if (hasPid) { auto it = mResourcesDictionnary.find(pid); @@ -347,7 +352,7 @@ private: obj->mMeshIndex.push_back(mMeshCount); mMeshCount++; } else if (currentName == D3MF::XmlTag::components) { - for (XmlNode currentSubNode = currentNode.first_child(); currentSubNode; currentSubNode = currentSubNode.next_sibling()) { + for (XmlNode ¤tSubNode : currentNode.children()) { if (currentSubNode.name() == D3MF::XmlTag::component) { int objectId = -1; std::string componentTransformStr; @@ -369,21 +374,20 @@ private: aiMesh *ReadMesh(XmlNode &node) { aiMesh *mesh = new aiMesh(); - for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) { + for (XmlNode ¤tNode : node.children()) { const std::string ¤tName = currentNode.name(); - if (currentName == D3MF::XmlTag::vertices) { + if (currentName == XmlTag::vertices) { ImportVertices(currentNode, mesh); - } else if (currentName == D3MF::XmlTag::triangles) { + } else if (currentName == XmlTag::triangles) { ImportTriangles(currentNode, mesh); } - } return mesh; } void ReadMetadata(XmlNode &node) { - pugi::xml_attribute attribute = node.attribute(D3MF::XmlTag::meta_name.c_str()); + pugi::xml_attribute attribute = node.attribute(D3MF::XmlTag::meta_name); const std::string name = attribute.as_string(); const std::string value = node.value(); if (name.empty()) { @@ -398,7 +402,7 @@ private: void ImportVertices(XmlNode &node, aiMesh *mesh) { std::vector vertices; - for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) { + for (XmlNode ¤tNode : node.children()) { const std::string ¤tName = currentNode.name(); if (currentName == D3MF::XmlTag::vertex) { vertices.push_back(ReadVertex(currentNode)); @@ -412,9 +416,9 @@ private: aiVector3D ReadVertex(XmlNode &node) { aiVector3D vertex; - vertex.x = ai_strtof(node.attribute(D3MF::XmlTag::x.c_str()).as_string(), nullptr); - vertex.y = ai_strtof(node.attribute(D3MF::XmlTag::y.c_str()).as_string(), nullptr); - vertex.z = ai_strtof(node.attribute(D3MF::XmlTag::z.c_str()).as_string(), nullptr); + vertex.x = ai_strtof(node.attribute(D3MF::XmlTag::x).as_string(), nullptr); + vertex.y = ai_strtof(node.attribute(D3MF::XmlTag::y).as_string(), nullptr); + vertex.z = ai_strtof(node.attribute(D3MF::XmlTag::z).as_string(), nullptr); return vertex; } @@ -433,8 +437,7 @@ private: if (hasPid && hasP1) { auto it = mResourcesDictionnary.find(pid); - if (it != mResourcesDictionnary.end()) - { + if (it != mResourcesDictionnary.end()) { if (it->second->getType() == ResourceType::RT_BaseMaterials) { BaseMaterials *baseMaterials = static_cast(it->second); mesh->mMaterialIndex = baseMaterials->mMaterialIndex[p1]; @@ -457,9 +460,9 @@ private: face.mNumIndices = 3; face.mIndices = new unsigned int[face.mNumIndices]; - face.mIndices[0] = static_cast(std::atoi(node.attribute(D3MF::XmlTag::v1.c_str()).as_string())); - face.mIndices[1] = static_cast(std::atoi(node.attribute(D3MF::XmlTag::v2.c_str()).as_string())); - face.mIndices[2] = static_cast(std::atoi(node.attribute(D3MF::XmlTag::v3.c_str()).as_string())); + face.mIndices[0] = static_cast(std::atoi(node.attribute(XmlTag::v1).as_string())); + face.mIndices[1] = static_cast(std::atoi(node.attribute(XmlTag::v2).as_string())); + face.mIndices[2] = static_cast(std::atoi(node.attribute(XmlTag::v3).as_string())); return face; } @@ -467,11 +470,10 @@ private: void ReadBaseMaterials(XmlNode &node) { int id = -1; if (getNodeAttribute(node, D3MF::XmlTag::basematerials_id, id)) { - BaseMaterials* baseMaterials = new BaseMaterials(id); + BaseMaterials *baseMaterials = new BaseMaterials(id); - for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) - { - if (currentNode.name() == D3MF::XmlTag::basematerials_base) { + for (XmlNode ¤tNode : node.children()) { + if (currentNode.name() == XmlTag::basematerials_base) { baseMaterials->mMaterialIndex.push_back(mMaterialCount); baseMaterials->mMaterials.push_back(readMaterialDef(currentNode, id)); mMaterialCount++; @@ -488,7 +490,7 @@ private: } //format of the color string: #RRGGBBAA or #RRGGBB (3MF Core chapter 5.1.1) - const size_t len(strlen(color)); + const size_t len = strlen(color); if (9 != len && 7 != len) { return false; } @@ -517,7 +519,7 @@ private: } void assignDiffuseColor(XmlNode &node, aiMaterial *mat) { - const char *color = node.attribute(D3MF::XmlTag::basematerials_displaycolor.c_str()).as_string(); + const char *color = node.attribute(XmlTag::basematerials_displaycolor).as_string(); aiColor4D diffuse; if (parseColor(color, diffuse)) { mat->AddProperty(&diffuse, 1, AI_MATKEY_COLOR_DIFFUSE); @@ -531,7 +533,7 @@ private: bool hasName = getNodeAttribute(node, D3MF::XmlTag::basematerials_name, name); std::string stdMaterialName; - std::string strId(ai_to_string(basematerialsId)); + const std::string strId(ai_to_string(basematerialsId)); stdMaterialName += "id"; stdMaterialName += strId; stdMaterialName += "_"; @@ -556,7 +558,7 @@ private: std::string value; }; std::vector mMetaData; - std::map mResourcesDictionnary; + std::map mResourcesDictionnary; unsigned int mMaterialCount, mMeshCount; XmlParser *mXmlParser; }; diff --git a/code/AssetLib/3MF/D3MFOpcPackage.cpp b/code/AssetLib/3MF/D3MFOpcPackage.cpp index c46b83b03..d5bbcd618 100644 --- a/code/AssetLib/3MF/D3MFOpcPackage.cpp +++ b/code/AssetLib/3MF/D3MFOpcPackage.cpp @@ -103,9 +103,9 @@ public: std::string name = currentNode.name(); if (name == "Relationship") { OpcPackageRelationshipPtr relPtr(new OpcPackageRelationship()); - relPtr->id = currentNode.attribute(XmlTag::RELS_ATTRIB_ID.c_str()).as_string(); - relPtr->type = currentNode.attribute(XmlTag::RELS_ATTRIB_TYPE.c_str()).as_string(); - relPtr->target = currentNode.attribute(XmlTag::RELS_ATTRIB_TARGET.c_str()).as_string(); + relPtr->id = currentNode.attribute(XmlTag::RELS_ATTRIB_ID).as_string(); + relPtr->type = currentNode.attribute(XmlTag::RELS_ATTRIB_TYPE).as_string(); + relPtr->target = currentNode.attribute(XmlTag::RELS_ATTRIB_TARGET).as_string(); if (validateRels(relPtr)) { m_relationShips.push_back(relPtr); } diff --git a/code/AssetLib/AMF/AMFImporter_Postprocess.cpp b/code/AssetLib/AMF/AMFImporter_Postprocess.cpp index 036b647e8..43d0de52f 100644 --- a/code/AssetLib/AMF/AMFImporter_Postprocess.cpp +++ b/code/AssetLib/AMF/AMFImporter_Postprocess.cpp @@ -428,10 +428,10 @@ void AMFImporter::Postprocess_BuildMeshSet(const AMFMesh &pNodeElement, const st if (pBiggerThan != nullptr) { bool found = false; - + const size_t biggerThan = *pBiggerThan; for (const SComplexFace &face : pFaceList) { for (size_t idx_vert = 0; idx_vert < face.Face.mNumIndices; idx_vert++) { - if (face.Face.mIndices[idx_vert] > *pBiggerThan) { + if (face.Face.mIndices[idx_vert] > biggerThan) { rv = face.Face.mIndices[idx_vert]; found = true; break; diff --git a/code/CApi/CInterfaceIOWrapper.cpp b/code/CApi/CInterfaceIOWrapper.cpp index ac358a4a8..8e2ac95c0 100644 --- a/code/CApi/CInterfaceIOWrapper.cpp +++ b/code/CApi/CInterfaceIOWrapper.cpp @@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { -CIOStreamWrapper::~CIOStreamWrapper(void) { +CIOStreamWrapper::~CIOStreamWrapper() { /* Various places depend on this destructor to close the file */ if (mFile) { mIO->mFileSystem->CloseProc(mIO->mFileSystem, mFile); @@ -78,7 +78,7 @@ aiReturn CIOStreamWrapper::Seek(size_t pOffset, } // ................................................................... -size_t CIOStreamWrapper::Tell(void) const { +size_t CIOStreamWrapper::Tell() const { return mFile->TellProc(mFile); } diff --git a/contrib/zip/src/zip.c b/contrib/zip/src/zip.c index 1f7fa8b76..29af2ec99 100644 --- a/contrib/zip/src/zip.c +++ b/contrib/zip/src/zip.c @@ -44,7 +44,7 @@ #ifdef _MSC_VER #include -#pragma warning(disable : 4706) +#pragma warning(disable : 4706 4244 4028) #define ftruncate(fd, sz) (-(_chsize_s((fd), (sz)) != 0)) #define fileno _fileno From 0e17939e8deed6c50796f334d6910ea0136a840b Mon Sep 17 00:00:00 2001 From: kimkulling Date: Tue, 4 May 2021 12:09:38 +0200 Subject: [PATCH 37/99] Use const char* const --- code/AssetLib/3MF/3MFXmlTags.h | 102 ++++++++++++++--------------- code/AssetLib/3MF/D3MFImporter.cpp | 1 - 2 files changed, 51 insertions(+), 52 deletions(-) diff --git a/code/AssetLib/3MF/3MFXmlTags.h b/code/AssetLib/3MF/3MFXmlTags.h index 910006bc9..d447556d6 100644 --- a/code/AssetLib/3MF/3MFXmlTags.h +++ b/code/AssetLib/3MF/3MFXmlTags.h @@ -45,65 +45,65 @@ namespace D3MF { namespace XmlTag { // Root tag - static const char *RootTag = "3MF"; + const char* const RootTag = "3MF"; // Meta-data - static const char *meta = "metadata"; - static const char *meta_name = "name"; + const char* const meta = "metadata"; + const char* const meta_name = "name"; // Model-data specific tags - static const char *model = "model"; - static const char *model_unit = "unit"; - static const char *metadata = "metadata"; - static const char *resources = "resources"; - static const char *object = "object"; - static const char *mesh = "mesh"; - static const char *components = "components"; - static const char *component = "component"; - static const char *vertices = "vertices"; - static const char *vertex = "vertex"; - static const char *triangles = "triangles"; - static const char *triangle = "triangle"; - static const char *x = "x"; - static const char *y = "y"; - static const char *z = "z"; - static const char *v1 = "v1"; - static const char *v2 = "v2"; - static const char *v3 = "v3"; - static const char *id = "id"; - static const char *pid = "pid"; - static const char *pindex = "pindex"; - static const char *p1 = "p1"; - static const char *name = "name"; - static const char *type = "type"; - static const char *build = "build"; - static const char *item = "item"; - static const char *objectid = "objectid"; - static const char *transform = "transform"; + const char* const model = "model"; + const char* const model_unit = "unit"; + const char* const metadata = "metadata"; + const char* const resources = "resources"; + const char* const object = "object"; + const char* const mesh = "mesh"; + const char* const components = "components"; + const char* const component = "component"; + const char* const vertices = "vertices"; + const char* const vertex = "vertex"; + const char* const triangles = "triangles"; + const char* const triangle = "triangle"; + const char* const x = "x"; + const char* const y = "y"; + const char* const z = "z"; + const char* const v1 = "v1"; + const char* const v2 = "v2"; + const char* const v3 = "v3"; + const char* const id = "id"; + const char* const pid = "pid"; + const char* const pindex = "pindex"; + const char* const p1 = "p1"; + const char* const name = "name"; + const char* const type = "type"; + const char* const build = "build"; + const char* const item = "item"; + const char* const objectid = "objectid"; + const char* const transform = "transform"; // Material definitions - static const char *basematerials = "basematerials"; - static const char *basematerials_id = "id"; - static const char *basematerials_base = "base"; - static const char *basematerials_name = "name"; - static const char *basematerials_displaycolor = "displaycolor"; + const char* const basematerials = "basematerials"; + const char* const basematerials_id = "id"; + const char* const basematerials_base = "base"; + const char* const basematerials_name = "name"; + const char* const basematerials_displaycolor = "displaycolor"; // Meta info tags - static const char *CONTENT_TYPES_ARCHIVE = "[Content_Types].xml"; - static const char *ROOT_RELATIONSHIPS_ARCHIVE = "_rels/.rels"; - static const char *SCHEMA_CONTENTTYPES = "http://schemas.openxmlformats.org/package/2006/content-types"; - static const char *SCHEMA_RELATIONSHIPS = "http://schemas.openxmlformats.org/package/2006/relationships"; - static const char *RELS_RELATIONSHIP_CONTAINER = "Relationships"; - static const char *RELS_RELATIONSHIP_NODE = "Relationship"; - static const char *RELS_ATTRIB_TARGET = "Target"; - static const char *RELS_ATTRIB_TYPE = "Type"; - static const char *RELS_ATTRIB_ID = "Id"; - static const char *PACKAGE_START_PART_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel"; - static const char *PACKAGE_PRINT_TICKET_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/printticket"; - static const char *PACKAGE_TEXTURE_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dtexture"; - static const char *PACKAGE_CORE_PROPERTIES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"; - static const char *PACKAGE_THUMBNAIL_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail"; -} + const char* const CONTENT_TYPES_ARCHIVE = "[Content_Types].xml"; + const char* const ROOT_RELATIONSHIPS_ARCHIVE = "_rels/.rels"; + const char* const SCHEMA_CONTENTTYPES = "http://schemas.openxmlformats.org/package/2006/content-types"; + const char* const SCHEMA_RELATIONSHIPS = "http://schemas.openxmlformats.org/package/2006/relationships"; + const char* const RELS_RELATIONSHIP_CONTAINER = "Relationships"; + const char* const RELS_RELATIONSHIP_NODE = "Relationship"; + const char* const RELS_ATTRIB_TARGET = "Target"; + const char* const RELS_ATTRIB_TYPE = "Type"; + const char* const RELS_ATTRIB_ID = "Id"; + const char* const PACKAGE_START_PART_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel"; + const char* const PACKAGE_PRINT_TICKET_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/printticket"; + const char* const PACKAGE_TEXTURE_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dtexture"; + const char* const PACKAGE_CORE_PROPERTIES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"; + const char* const PACKAGE_THUMBNAIL_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail"; + } } // Namespace D3MF } // Namespace Assimp diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index b2d421610..580f65dd2 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -173,7 +173,6 @@ public: } } - XmlNode buildNode = node.child(XmlTag::build); for (auto ¤tNode : resNode.children()) { const std::string ¤tNodeName = currentNode.name(); if (currentNodeName == XmlTag::item) { From ee5170c18a011398b9e3a677105e9196242b0f02 Mon Sep 17 00:00:00 2001 From: kimkulling Date: Tue, 4 May 2021 14:40:25 +0200 Subject: [PATCH 38/99] - fix security issue --- code/AssetLib/3MF/D3MFImporter.cpp | 17 +++++++++-------- code/AssetLib/3MF/D3MFImporter.h | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index 580f65dd2..a976a4731 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -42,6 +42,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ASSIMP_BUILD_NO_3MF_IMPORTER #include "D3MFImporter.h" +#include "3MFXmlTags.h" +#include "D3MFOpcPackage.h" #include #include @@ -51,16 +53,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include + #include #include #include #include #include - -#include "3MFXmlTags.h" -#include "D3MFOpcPackage.h" -#include - #include namespace Assimp { @@ -489,7 +488,7 @@ private: } //format of the color string: #RRGGBBAA or #RRGGBB (3MF Core chapter 5.1.1) - const size_t len = strlen(color); + const size_t len = strnlen_s(color, 9); if (9 != len && 7 != len) { return false; } @@ -564,6 +563,8 @@ private: } //namespace D3MF +using namespace D3MF; + static const aiImporterDesc desc = { "3mf Importer", "", @@ -613,11 +614,11 @@ const aiImporterDesc *D3MFImporter::GetInfo() const { } void D3MFImporter::InternReadFile(const std::string &filename, aiScene *pScene, IOSystem *pIOHandler) { - D3MF::D3MFOpcPackage opcPackage(pIOHandler, filename); + D3MFOpcPackage opcPackage(pIOHandler, filename); XmlParser xmlParser; if (xmlParser.parse(opcPackage.RootStream())) { - D3MF::XmlSerializer xmlSerializer(&xmlParser); + XmlSerializer xmlSerializer(&xmlParser); xmlSerializer.ImportXml(pScene); } } diff --git a/code/AssetLib/3MF/D3MFImporter.h b/code/AssetLib/3MF/D3MFImporter.h index a65c4102f..811c463b6 100644 --- a/code/AssetLib/3MF/D3MFImporter.h +++ b/code/AssetLib/3MF/D3MFImporter.h @@ -47,9 +47,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { +/// @brief The 3MF-importer class. class D3MFImporter : public BaseImporter { public: - // BaseImporter interface D3MFImporter(); ~D3MFImporter(); bool CanRead(const std::string &pFile, IOSystem *pIOHandler, bool checkSig) const; From 7690f92c816d1973696027b177f2bdff727ec780 Mon Sep 17 00:00:00 2001 From: kimkulling Date: Tue, 4 May 2021 14:48:39 +0200 Subject: [PATCH 39/99] Fix version of strnlen --- code/AssetLib/3MF/D3MFImporter.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index a976a4731..8343aa1c6 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -488,7 +488,11 @@ private: } //format of the color string: #RRGGBBAA or #RRGGBB (3MF Core chapter 5.1.1) +#ifdef _WIN32 const size_t len = strnlen_s(color, 9); +#else + const size_t len = strnlen(color, 9); +#endif if (9 != len && 7 != len) { return false; } From e85a69a9603d51f1a55eed6f9cfb37bfeb89b684 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 4 May 2021 15:31:07 +0200 Subject: [PATCH 40/99] Update D3MFImporter.cpp --- code/AssetLib/3MF/D3MFImporter.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index a976a4731..3535ed039 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -61,6 +61,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include namespace Assimp { namespace D3MF { From f17d58cadd714dda9ad186a465234a714727ed63 Mon Sep 17 00:00:00 2001 From: Eric Olson Date: Tue, 4 May 2021 13:38:38 -0500 Subject: [PATCH 41/99] Use POINTER(c_char) for binary data with pyassimp "For a general character pointer that may also point to binary data, POINTER(c_char) must be used." c_char_p is for a zero-terminated string. Reference: https://docs.python.org/3/library/ctypes.html#ctypes.c_char_p Applying this change to the 4.1.4 released python module fixes #2339 for me in Ubuntu. --- port/PyAssimp/pyassimp/structs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/port/PyAssimp/pyassimp/structs.py b/port/PyAssimp/pyassimp/structs.py index 809afae54..e1fba1950 100644 --- a/port/PyAssimp/pyassimp/structs.py +++ b/port/PyAssimp/pyassimp/structs.py @@ -1,6 +1,6 @@ #-*- coding: utf-8 -*- -from ctypes import POINTER, c_void_p, c_uint, c_char, c_float, Structure, c_char_p, c_double, c_ubyte, c_size_t, c_uint32 +from ctypes import POINTER, c_void_p, c_uint, c_char, c_float, Structure, c_double, c_ubyte, c_size_t, c_uint32 class Vector2D(Structure): @@ -1121,7 +1121,7 @@ class Scene(Structure): ("mMetadata", POINTER(Metadata)), # Internal data, do not touch - ("mPrivate", c_char_p), + ("mPrivate", POINTER(c_char)), ] assimp_structs_as_tuple = (Matrix4x4, From 2925592c640132e2b34d9aa52d7e36d675b18092 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 04:55:08 -0400 Subject: [PATCH 42/99] [assimp] Make sure ctype calls use unsigned char. Cast to unsigned char as required by C++ (see C++ **[cctype.cyn]** -> ISO C99 section 7.4, [see also](https://en.cppreference.com/w/cpp/string/byte/isspace)). Addresses https://github.com/assimp/assimp/issues/3867 and then some. --- code/AssetLib/3DS/3DSConverter.cpp | 2 +- code/AssetLib/AMF/AMFImporter.cpp | 2 +- code/AssetLib/BVH/BVHLoader.cpp | 4 ++-- code/AssetLib/Blender/BlenderLoader.cpp | 6 +++--- code/AssetLib/Collada/ColladaParser.cpp | 2 +- code/AssetLib/FBX/FBXMaterial.cpp | 2 +- code/AssetLib/MD3/MD3Loader.cpp | 2 +- code/AssetLib/X/XFileImporter.cpp | 4 ++-- code/AssetLib/X/XFileParser.cpp | 4 ++-- code/Common/BaseImporter.cpp | 6 +++--- include/assimp/ParsingUtils.h | 2 +- include/assimp/StringComparison.h | 8 ++++---- include/assimp/StringUtils.h | 2 +- 13 files changed, 23 insertions(+), 23 deletions(-) diff --git a/code/AssetLib/3DS/3DSConverter.cpp b/code/AssetLib/3DS/3DSConverter.cpp index c977867c0..aca16b0d6 100644 --- a/code/AssetLib/3DS/3DSConverter.cpp +++ b/code/AssetLib/3DS/3DSConverter.cpp @@ -69,7 +69,7 @@ void Discreet3DSImporter::ReplaceDefaultMaterial() { for (unsigned int i = 0; i < mScene->mMaterials.size(); ++i) { std::string s = mScene->mMaterials[i].mName; for (std::string::iterator it = s.begin(); it != s.end(); ++it) { - *it = static_cast(::tolower(*it)); + *it = static_cast(::tolower(static_cast(*it))); } if (std::string::npos == s.find("default")) continue; diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index 1a3efba9a..e77b65f77 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -205,7 +205,7 @@ void AMFImporter::ParseHelper_FixTruncatedFloatString(const char *pInStr, std::s } static bool ParseHelper_Decode_Base64_IsBase64(const char pChar) { - return (isalnum(pChar) || (pChar == '+') || (pChar == '/')); + return (isalnum((unsigned char)pChar) || (pChar == '+') || (pChar == '/')); } void AMFImporter::ParseHelper_Decode_Base64(const std::string &pInputBase64, std::vector &pOutputData) const { diff --git a/code/AssetLib/BVH/BVHLoader.cpp b/code/AssetLib/BVH/BVHLoader.cpp index 8ae99033c..cf78fb6c6 100644 --- a/code/AssetLib/BVH/BVHLoader.cpp +++ b/code/AssetLib/BVH/BVHLoader.cpp @@ -359,7 +359,7 @@ void BVHLoader::ReadMotion(aiScene * /*pScene*/) { std::string BVHLoader::GetNextToken() { // skip any preceding whitespace while (mReader != mBuffer.end()) { - if (!isspace(*mReader)) + if (!isspace((unsigned char)*mReader)) break; // count lines @@ -372,7 +372,7 @@ std::string BVHLoader::GetNextToken() { // collect all chars till the next whitespace. BVH is easy in respect to that. std::string token; while (mReader != mBuffer.end()) { - if (isspace(*mReader)) + if (isspace((unsigned char)*mReader)) break; token.push_back(*mReader); diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index 3722b9c73..56f4e985f 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -420,9 +420,9 @@ void BlenderImporter::ResolveImage(aiMaterial *out, const Material *mat, const M --s; } - curTex->achFormatHint[0] = s + 1 > e ? '\0' : (char)::tolower(s[1]); - curTex->achFormatHint[1] = s + 2 > e ? '\0' : (char)::tolower(s[2]); - curTex->achFormatHint[2] = s + 3 > e ? '\0' : (char)::tolower(s[3]); + curTex->achFormatHint[0] = s + 1 > e ? '\0' : (char)::tolower((unsigned char)s[1]); + curTex->achFormatHint[1] = s + 2 > e ? '\0' : (char)::tolower((unsigned char)s[2]); + curTex->achFormatHint[2] = s + 3 > e ? '\0' : (char)::tolower((unsigned char)s[3]); curTex->achFormatHint[3] = '\0'; // tex->mHeight = 0; diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp index 42166fdd4..1ef109f11 100644 --- a/code/AssetLib/Collada/ColladaParser.cpp +++ b/code/AssetLib/Collada/ColladaParser.cpp @@ -234,7 +234,7 @@ void ColladaParser::UriDecodePath(aiString &ss) { #if defined(_MSC_VER) if (ss.data[0] == '/' && isalpha((unsigned char)ss.data[1]) && ss.data[2] == ':') { #else - if (ss.data[0] == '/' && isalpha(ss.data[1]) && ss.data[2] == ':') { + if (ss.data[0] == '/' && isalpha((unsigned char)ss.data[1]) && ss.data[2] == ':') { #endif --ss.length; ::memmove(ss.data, ss.data + 1, ss.length); diff --git a/code/AssetLib/FBX/FBXMaterial.cpp b/code/AssetLib/FBX/FBXMaterial.cpp index 3af014bc3..409d7304a 100644 --- a/code/AssetLib/FBX/FBXMaterial.cpp +++ b/code/AssetLib/FBX/FBXMaterial.cpp @@ -82,7 +82,7 @@ Material::Material(uint64_t id, const Element& element, const Document& doc, con // lower-case shading because Blender (for example) writes "Phong" for (size_t i = 0; i < shading.length(); ++i) { - shading[i] = static_cast(tolower(shading[i])); + shading[i] = static_cast(tolower(static_cast(shading[i]))); } std::string templateName; if(shading == "phong") { diff --git a/code/AssetLib/MD3/MD3Loader.cpp b/code/AssetLib/MD3/MD3Loader.cpp index e27079766..3002aff67 100644 --- a/code/AssetLib/MD3/MD3Loader.cpp +++ b/code/AssetLib/MD3/MD3Loader.cpp @@ -702,7 +702,7 @@ void MD3Importer::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy } filename = mFile.substr(s), path = mFile.substr(0, s); for (std::string::iterator it = filename.begin(); it != filename.end(); ++it) { - *it = static_cast(tolower(*it)); + *it = static_cast(tolower(static_cast(*it))); } // Load multi-part model file, if necessary diff --git a/code/AssetLib/X/XFileImporter.cpp b/code/AssetLib/X/XFileImporter.cpp index cb245ed74..1fcd6b3db 100644 --- a/code/AssetLib/X/XFileImporter.cpp +++ b/code/AssetLib/X/XFileImporter.cpp @@ -667,8 +667,8 @@ void XFileImporter::ConvertMaterials( aiScene* pScene, std::vector &extensions) { } for (size_t i = 0; i < read; ++i) { - buffer[i] = static_cast(::tolower(buffer[i])); + buffer[i] = static_cast(::tolower((unsigned char)buffer[i])); } // It is not a proper handling of unicode files here ... @@ -214,7 +214,7 @@ void BaseImporter::GetExtensionList(std::set &extensions) { token.clear(); const char *ptr(tokens[i]); for (size_t tokIdx = 0; tokIdx < len; ++tokIdx) { - token.push_back(static_cast(tolower(*ptr))); + token.push_back(static_cast(tolower(static_cast(*ptr)))); ++ptr; } const char *r = strstr(buffer, token.c_str()); @@ -223,7 +223,7 @@ void BaseImporter::GetExtensionList(std::set &extensions) { } // We need to make sure that we didn't accidentially identify the end of another token as our token, // e.g. in a previous version the "gltf " present in some gltf files was detected as "f " - if (noAlphaBeforeTokens && (r != buffer && isalpha(r[-1]))) { + if (noAlphaBeforeTokens && (r != buffer && isalpha(static_cast(r[-1])))) { continue; } // We got a match, either we don't care where it is, or it happens to diff --git a/include/assimp/ParsingUtils.h b/include/assimp/ParsingUtils.h index b52b0610e..b5074869e 100644 --- a/include/assimp/ParsingUtils.h +++ b/include/assimp/ParsingUtils.h @@ -262,7 +262,7 @@ AI_FORCE_INLINE unsigned int tokenize(const string_type &str, std::vector= n) return 0; - c1 = tolower(*s1++); - c2 = tolower(*s2++); + c1 = tolower((unsigned char)*(s1++)); + c2 = tolower((unsigned char)*(s2++)); } while (c1 && (c1 == c2)); return c1 - c2; diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index 4afd717cf..93b7c3f0b 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -157,7 +157,7 @@ AI_FORCE_INLINE std::string ai_decimal_to_hexa(T toConvert) { ss >> result; for (size_t i = 0; i < result.size(); ++i) { - result[i] = (char)toupper(result[i]); + result[i] = (char)toupper((unsigned char)result[i]); } return result; From 1ec8d4b6cf15c8a14e8cc33834b9164c85cd79d7 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 17:22:44 -0400 Subject: [PATCH 43/99] [draco] Make sure ctype calls use unsigned char. Addresses https://github.com/assimp/assimp/issues/3867 and then some. --- contrib/draco/src/draco/io/parser_utils.cc | 2 +- contrib/draco/src/draco/io/ply_reader.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/draco/src/draco/io/parser_utils.cc b/contrib/draco/src/draco/io/parser_utils.cc index 753a1b314..4f95f6f84 100644 --- a/contrib/draco/src/draco/io/parser_utils.cc +++ b/contrib/draco/src/draco/io/parser_utils.cc @@ -252,7 +252,7 @@ DecoderBuffer ParseLineIntoDecoderBuffer(DecoderBuffer *buffer) { std::string ToLower(const std::string &str) { std::string out; - std::transform(str.begin(), str.end(), std::back_inserter(out), tolower); + std::transform(str.begin(), str.end(), std::back_inserter(out), [](unsigned char c){return tolower(c);}); return out; } diff --git a/contrib/draco/src/draco/io/ply_reader.cc b/contrib/draco/src/draco/io/ply_reader.cc index ea7f2689a..cb32df225 100644 --- a/contrib/draco/src/draco/io/ply_reader.cc +++ b/contrib/draco/src/draco/io/ply_reader.cc @@ -268,14 +268,14 @@ std::vector PlyReader::SplitWords(const std::string &line) { while ((end = line.find_first_of(" \t\n\v\f\r", start)) != std::string::npos) { const std::string word(line.substr(start, end - start)); - if (!std::all_of(word.begin(), word.end(), isspace)) { + if (!std::all_of(word.begin(), word.end(), [](unsigned char c){return isspace(c);})) { output.push_back(word); } start = end + 1; } const std::string last_word(line.substr(start)); - if (!std::all_of(last_word.begin(), last_word.end(), isspace)) { + if (!std::all_of(last_word.begin(), last_word.end(), [](unsigned char c){return isspace(c);})) { output.push_back(last_word); } return output; From 7dd7a053a91322fad88cdf958c6d0b3b7b91cb90 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 17:25:45 -0400 Subject: [PATCH 44/99] [gtest] Fixed a rogue std::isalnum Use IsAlNum instead (gtest-port.h), which deals with char signedness correctly. This was the only spot in gtest where a cctype function was called instead of its gtest-port.h equivalent. Addresses https://github.com/assimp/assimp/issues/3867 and then some. --- contrib/gtest/include/gtest/internal/gtest-param-util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/gtest/include/gtest/internal/gtest-param-util.h b/contrib/gtest/include/gtest/internal/gtest-param-util.h index 82cab9b02..9d725a433 100644 --- a/contrib/gtest/include/gtest/internal/gtest-param-util.h +++ b/contrib/gtest/include/gtest/internal/gtest-param-util.h @@ -644,7 +644,7 @@ class ParameterizedTestCaseInfo : public ParameterizedTestCaseInfoBase { // Check for invalid characters for (std::string::size_type index = 0; index < name.size(); ++index) { - if (!isalnum(name[index]) && name[index] != '_') + if (!IsAlNum(name[index]) && name[index] != '_') return false; } From 200086c4c5ea18593dace1f3800d1213b8b3588c Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 17:26:17 -0400 Subject: [PATCH 45/99] [assimp_view] Make sure ctype calls use unsigned char. Addresses https://github.com/assimp/assimp/issues/3867 and then some. --- tools/assimp_view/Material.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/assimp_view/Material.cpp b/tools/assimp_view/Material.cpp index 8141fb58c..bcc93011e 100644 --- a/tools/assimp_view/Material.cpp +++ b/tools/assimp_view/Material.cpp @@ -272,7 +272,7 @@ bool CMaterialManager::TryLongerPath(char* szTemp,aiString* p_szString) szExtFound - 1 - info.cFileName); for (unsigned int i = 0; i < iSizeFound;++i) - info.cFileName[i] = (CHAR)tolower(info.cFileName[i]); + info.cFileName[i] = (CHAR)tolower((unsigned char)info.cFileName[i]); if (0 == memcmp(info.cFileName,szFile2, std::min(iSizeFound,iSize))) { @@ -354,7 +354,7 @@ int CMaterialManager::FindValidPath(aiString* p_szString) for (unsigned int i = 0;;++i) { if ('\0' == szTemp[i])break; - szTemp[i] = (char)tolower(szTemp[i]); + szTemp[i] = (char)tolower((unsigned char)szTemp[i]); } if(TryLongerPath(szTemp,p_szString))return 1; From c8ad8c6017c78534d54a8478d3aa0b1203cc515b Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 04:15:17 -0400 Subject: [PATCH 46/99] [mmd] Remove stderr spam. Removed stderr spam and cleaned up exception text. Addresses #3865. --- code/AssetLib/MMD/MMDPmxParser.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/code/AssetLib/MMD/MMDPmxParser.cpp b/code/AssetLib/MMD/MMDPmxParser.cpp index cb4787efd..d57dc169a 100644 --- a/code/AssetLib/MMD/MMDPmxParser.cpp +++ b/code/AssetLib/MMD/MMDPmxParser.cpp @@ -478,8 +478,7 @@ namespace pmx void PmxSoftBody::Read(std::istream * /*stream*/, PmxSetting * /*setting*/) { - std::cerr << "Not Implemented Exception" << std::endl; - throw DeadlyImportError("MMD: Not Implemented Exception"); + throw DeadlyImportError("MMD: Soft Body support is not implemented."); } void PmxModel::Init() @@ -516,15 +515,13 @@ namespace pmx char magic[4]; stream->read((char*) magic, sizeof(char) * 4); if (magic[0] != 0x50 || magic[1] != 0x4d || magic[2] != 0x58 || magic[3] != 0x20) - { - std::cerr << "invalid magic number." << std::endl; - throw DeadlyImportError("MMD: invalid magic number."); + { + throw DeadlyImportError("MMD: Invalid magic number."); } stream->read((char*) &version, sizeof(float)); if (version != 2.0f && version != 2.1f) { - std::cerr << "this is not ver2.0 or ver2.1 but " << version << "." << std::endl; - throw DeadlyImportError("MMD: this is not ver2.0 or ver2.1 but ", ai_to_string(version)); + throw DeadlyImportError("MMD: Unsupported version (must be 2.0 or 2.1): ", ai_to_string(version)); } this->setting.Read(stream); From a9fb1e56ae1504001b3848c2019fb622fd6b72e3 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 19:16:23 -0400 Subject: [PATCH 47/99] Add ai_str_toprintable; fixed garbage messages in HMP, MDL, Q3D loaders. - ai_str_toprintable: See docs in StringUtils.h. - HMP, MDL, Q3D: In particular, newlines in binary data were complicating logging. --- code/AssetLib/HMP/HMPLoader.cpp | 8 ++------ code/AssetLib/MDL/MDLLoader.cpp | 2 +- code/AssetLib/Q3D/Q3DLoader.cpp | 3 ++- include/assimp/StringUtils.h | 27 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/code/AssetLib/HMP/HMPLoader.cpp b/code/AssetLib/HMP/HMPLoader.cpp index 56401f5c9..cd14cb9c3 100644 --- a/code/AssetLib/HMP/HMPLoader.cpp +++ b/code/AssetLib/HMP/HMPLoader.cpp @@ -47,6 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AssetLib/HMP/HMPLoader.h" #include "AssetLib/MD2/MD2FileData.h" +#include #include #include #include @@ -151,12 +152,7 @@ void HMPImporter::InternReadFile(const std::string &pFile, InternReadFile_HMP7(); } else { // Print the magic word to the logger - char szBuffer[5]; - szBuffer[0] = ((char *)&iMagic)[0]; - szBuffer[1] = ((char *)&iMagic)[1]; - szBuffer[2] = ((char *)&iMagic)[2]; - szBuffer[3] = ((char *)&iMagic)[3]; - szBuffer[4] = '\0'; + std::string szBuffer = ai_str_toprintable((const char *)&iMagic, sizeof(iMagic)); delete[] mBuffer; mBuffer = nullptr; diff --git a/code/AssetLib/MDL/MDLLoader.cpp b/code/AssetLib/MDL/MDLLoader.cpp index a4286a716..4c0fcd339 100644 --- a/code/AssetLib/MDL/MDLLoader.cpp +++ b/code/AssetLib/MDL/MDLLoader.cpp @@ -252,7 +252,7 @@ void MDLImporter::InternReadFile(const std::string &pFile, } else { // print the magic word to the log file throw DeadlyImportError("Unknown MDL subformat ", pFile, - ". Magic word (", std::string((char *)&iMagicWord, 4), ") is not known"); + ". Magic word (", ai_str_toprintable((const char *)&iMagicWord, sizeof(iMagicWord)), ") is not known"); } // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system diff --git a/code/AssetLib/Q3D/Q3DLoader.cpp b/code/AssetLib/Q3D/Q3DLoader.cpp index b52f86672..b6684d1b8 100644 --- a/code/AssetLib/Q3D/Q3DLoader.cpp +++ b/code/AssetLib/Q3D/Q3DLoader.cpp @@ -47,6 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // internal headers #include "Q3DLoader.h" +#include #include #include #include @@ -115,7 +116,7 @@ void Q3DImporter::InternReadFile(const std::string &pFile, // Check the file's signature if (ASSIMP_strincmp((const char *)stream.GetPtr(), "quick3Do", 8) && ASSIMP_strincmp((const char *)stream.GetPtr(), "quick3Ds", 8)) { - throw DeadlyImportError("Not a Quick3D file. Signature string is: ", std::string((const char *)stream.GetPtr(), 8)); + throw DeadlyImportError("Not a Quick3D file. Signature string is: ", ai_str_toprintable((const char *)stream.GetPtr(), 8)); } // Print the file format version diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index 4afd717cf..5ee1f48d8 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -249,4 +249,31 @@ AI_FORCE_INLINE std::string ai_str_toupper(const std::string &in) { return out; } +// --------------------------------------------------------------------------------- +/// @brief Make a string printable by replacing all non-printable characters with +/// the specified placeholder character. +/// @param in The incoming string. +/// @param placeholder Placeholder character, default is a question mark. +/// @return The string, with all non-printable characters replaced. +AI_FORCE_INLINE std::string ai_str_toprintable(const std::string &in, char placeholder = '?') { + std::string out(in); + std::transform(out.begin(), out.end(), out.begin(), [placeholder] (unsigned char c) { + return isprint(c) ? (char)c : placeholder; + }); + return out; +} + +// --------------------------------------------------------------------------------- +/// @brief Make a string printable by replacing all non-printable characters with +/// the specified placeholder character. +/// @param in The incoming string. +/// @param len The length of the incoming string. +/// @param placeholder Placeholder character, default is a question mark. +/// @return The string, with all non-printable characters replaced. Will return an +/// empty string if in is null or len is <= 0. +AI_FORCE_INLINE std::string ai_str_toprintable(const char *in, int len, char placeholder = '?') { + return (in && len > 0) ? ai_str_toprintable(std::string(in, len), placeholder) : std::string(); +} + + #endif From 9a04f5d4b0ea3cafba84dfcdc3f8746cc3eaac0a Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 21:24:44 -0400 Subject: [PATCH 48/99] Fix garbage messages in SIB, MD2, and MDC loaders. --- code/AssetLib/MD2/MD2Loader.cpp | 32 +++++++++++++------------------ code/AssetLib/MDC/MDCLoader.cpp | 13 +++---------- code/AssetLib/SIB/SIBImporter.cpp | 7 ++++--- 3 files changed, 20 insertions(+), 32 deletions(-) diff --git a/code/AssetLib/MD2/MD2Loader.cpp b/code/AssetLib/MD2/MD2Loader.cpp index 9ccbcdfca..5308ac89c 100644 --- a/code/AssetLib/MD2/MD2Loader.cpp +++ b/code/AssetLib/MD2/MD2Loader.cpp @@ -53,6 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include @@ -148,46 +149,39 @@ void MD2Importer::ValidateHeader( ) if (m_pcHeader->magic != AI_MD2_MAGIC_NUMBER_BE && m_pcHeader->magic != AI_MD2_MAGIC_NUMBER_LE) { - char szBuffer[5]; - szBuffer[0] = ((char*)&m_pcHeader->magic)[0]; - szBuffer[1] = ((char*)&m_pcHeader->magic)[1]; - szBuffer[2] = ((char*)&m_pcHeader->magic)[2]; - szBuffer[3] = ((char*)&m_pcHeader->magic)[3]; - szBuffer[4] = '\0'; - - throw DeadlyImportError("Invalid MD2 magic word: should be IDP2, the " - "magic word found is " + std::string(szBuffer)); + throw DeadlyImportError("Invalid MD2 magic word: expected IDP2, found ", + ai_str_toprintable((char *)&m_pcHeader->magic, 4)); } // check file format version if (m_pcHeader->version != 8) - ASSIMP_LOG_WARN( "Unsupported md2 file version. Continuing happily ..."); + ASSIMP_LOG_WARN( "Unsupported MD2 file version. Continuing happily ..."); // check some values whether they are valid if (0 == m_pcHeader->numFrames) - throw DeadlyImportError( "Invalid md2 file: NUM_FRAMES is 0"); + throw DeadlyImportError( "Invalid MD2 file: NUM_FRAMES is 0"); if (m_pcHeader->offsetEnd > (uint32_t)fileSize) - throw DeadlyImportError( "Invalid md2 file: File is too small"); + throw DeadlyImportError( "Invalid MD2 file: File is too small"); if (m_pcHeader->numSkins > AI_MAX_ALLOC(MD2::Skin)) { - throw DeadlyImportError("Invalid MD2 header: too many skins, would overflow"); + throw DeadlyImportError("Invalid MD2 header: Too many skins, would overflow"); } if (m_pcHeader->numVertices > AI_MAX_ALLOC(MD2::Vertex)) { - throw DeadlyImportError("Invalid MD2 header: too many vertices, would overflow"); + throw DeadlyImportError("Invalid MD2 header: Too many vertices, would overflow"); } if (m_pcHeader->numTexCoords > AI_MAX_ALLOC(MD2::TexCoord)) { - throw DeadlyImportError("Invalid MD2 header: too many texcoords, would overflow"); + throw DeadlyImportError("Invalid MD2 header: Too many texcoords, would overflow"); } if (m_pcHeader->numTriangles > AI_MAX_ALLOC(MD2::Triangle)) { - throw DeadlyImportError("Invalid MD2 header: too many triangles, would overflow"); + throw DeadlyImportError("Invalid MD2 header: Too many triangles, would overflow"); } if (m_pcHeader->numFrames > AI_MAX_ALLOC(MD2::Frame)) { - throw DeadlyImportError("Invalid MD2 header: too many frames, would overflow"); + throw DeadlyImportError("Invalid MD2 header: Too many frames, would overflow"); } // -1 because Frame already contains one @@ -199,7 +193,7 @@ void MD2Importer::ValidateHeader( ) m_pcHeader->offsetFrames + m_pcHeader->numFrames * frameSize >= fileSize || m_pcHeader->offsetEnd > fileSize) { - throw DeadlyImportError("Invalid MD2 header: some offsets are outside the file"); + throw DeadlyImportError("Invalid MD2 header: Some offsets are outside the file"); } if (m_pcHeader->numSkins > AI_MD2_MAX_SKINS) @@ -210,7 +204,7 @@ void MD2Importer::ValidateHeader( ) ASSIMP_LOG_WARN("The model contains more vertices than Quake 2 supports"); if (m_pcHeader->numFrames <= configFrameID ) - throw DeadlyImportError("The requested frame is not existing the file"); + throw DeadlyImportError("MD2: The requested frame (", configFrameID, ") does not exist in the file"); } // ------------------------------------------------------------------------------------------------ diff --git a/code/AssetLib/MDC/MDCLoader.cpp b/code/AssetLib/MDC/MDCLoader.cpp index 17a349768..ef5fdbfcd 100644 --- a/code/AssetLib/MDC/MDCLoader.cpp +++ b/code/AssetLib/MDC/MDCLoader.cpp @@ -53,6 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include @@ -143,16 +144,8 @@ void MDCImporter::ValidateHeader() { if (pcHeader->ulIdent != AI_MDC_MAGIC_NUMBER_BE && pcHeader->ulIdent != AI_MDC_MAGIC_NUMBER_LE) { - char szBuffer[5]; - szBuffer[0] = ((char *)&pcHeader->ulIdent)[0]; - szBuffer[1] = ((char *)&pcHeader->ulIdent)[1]; - szBuffer[2] = ((char *)&pcHeader->ulIdent)[2]; - szBuffer[3] = ((char *)&pcHeader->ulIdent)[3]; - szBuffer[4] = '\0'; - - throw DeadlyImportError("Invalid MDC magic word: should be IDPC, the " - "magic word found is " + - std::string(szBuffer)); + throw DeadlyImportError("Invalid MDC magic word: expected IDPC, found ", + ai_str_toprintable((char *)&pcHeader->ulIdent, 4)); } if (pcHeader->ulVersion != AI_MDC_VERSION) { diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp index 6898fb65c..5c43c8587 100644 --- a/code/AssetLib/SIB/SIBImporter.cpp +++ b/code/AssetLib/SIB/SIBImporter.cpp @@ -68,6 +68,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include @@ -166,14 +167,14 @@ static aiColor3D ReadColor(StreamReaderLE *stream) { } static void UnknownChunk(StreamReaderLE * /*stream*/, const SIBChunk &chunk) { - char temp[5] = { + char temp[4] = { static_cast((chunk.Tag >> 24) & 0xff), static_cast((chunk.Tag >> 16) & 0xff), static_cast((chunk.Tag >> 8) & 0xff), - static_cast(chunk.Tag & 0xff), '\0' + static_cast(chunk.Tag & 0xff) }; - ASSIMP_LOG_WARN((Formatter::format(), "SIB: Skipping unknown '", temp, "' chunk.")); + ASSIMP_LOG_WARN((Formatter::format(), "SIB: Skipping unknown '", ai_str_toprintable(temp, 4), "' chunk.")); } // Reads a UTF-16LE string and returns it at UTF-8. From 558457e5bf2711ab845239fe4b98c872f4b05d33 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 03:04:12 -0400 Subject: [PATCH 49/99] [openddlparser] Remove default log handler and unsolicited output. This addresses part of #3862. - Remove default log handler. - Log callback can now be set to nullptr, which just makes logging a no-op. - Initial log callback is nullptr. - Also tweaked format of token error log message and removed newline. Assimp code that uses this may regain logging output by installing a callback and directing the output through appropriate logging facilities. --- contrib/openddlparser/code/OpenDDLParser.cpp | 47 ++++++-------------- 1 file changed, 13 insertions(+), 34 deletions(-) diff --git a/contrib/openddlparser/code/OpenDDLParser.cpp b/contrib/openddlparser/code/OpenDDLParser.cpp index 024c26f41..6a9f802ec 100644 --- a/contrib/openddlparser/code/OpenDDLParser.cpp +++ b/contrib/openddlparser/code/OpenDDLParser.cpp @@ -72,13 +72,15 @@ const char *getTypeToken(Value::ValueType type) { } static void logInvalidTokenError(char *in, const std::string &exp, OpenDDLParser::logCallback callback) { - std::stringstream stream; - stream << "Invalid token \"" << *in << "\"" - << " expected \"" << exp << "\"" << std::endl; - std::string full(in); - std::string part(full.substr(0, 50)); - stream << part; - callback(ddl_error_msg, stream.str()); + if (callback) { + std::string full(in); + std::string part(full.substr(0, 50)); + std::stringstream stream; + stream << "Invalid token \"" << *in << "\" " + << "(expected \"" << exp << "\") " + << "in: \"" << part << "\""; + callback(ddl_error_msg, stream.str()); + } } static bool isIntegerType(Value::ValueType integerType) { @@ -111,26 +113,8 @@ static DDLNode *createDDLNode(Text *id, OpenDDLParser *parser) { return node; } -static void logMessage(LogSeverity severity, const std::string &msg) { - std::string log; - if (ddl_debug_msg == severity) { - log += "Debug:"; - } else if (ddl_info_msg == severity) { - log += "Info :"; - } else if (ddl_warn_msg == severity) { - log += "Warn :"; - } else if (ddl_error_msg == severity) { - log += "Error:"; - } else { - log += "None :"; - } - - log += msg; - std::cout << log; -} - OpenDDLParser::OpenDDLParser() : - m_logCallback(logMessage), + m_logCallback(nullptr), m_buffer(), m_stack(), m_context(nullptr) { @@ -138,7 +122,7 @@ OpenDDLParser::OpenDDLParser() : } OpenDDLParser::OpenDDLParser(const char *buffer, size_t len) : - m_logCallback(&logMessage), m_buffer(), m_context(nullptr) { + m_logCallback(nullptr), m_buffer(), m_context(nullptr) { if (0 != len) { setBuffer(buffer, len); } @@ -149,13 +133,8 @@ OpenDDLParser::~OpenDDLParser() { } void OpenDDLParser::setLogCallback(logCallback callback) { - if (nullptr != callback) { - // install user-specific log callback - m_logCallback = callback; - } else { - // install default log callback - m_logCallback = &logMessage; - } + // install user-specific log callback; null = no log callback + m_logCallback = callback; } OpenDDLParser::logCallback OpenDDLParser::getLogCallback() const { From f8609c2c2dc65d40a13c6e542f0cf0058821444b Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 03:32:49 -0400 Subject: [PATCH 50/99] [opengex] Direct OpenDDLParser log messages to assimp logger Also filter unprintable characters. Addresses second part of #3862. --- code/AssetLib/OpenGEX/OpenGEXImporter.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp index b29aeeeb1..44b0bbf7b 100644 --- a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp +++ b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp @@ -45,6 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include #include #include @@ -223,6 +224,18 @@ static void propId2StdString(Property *prop, std::string &name, std::string &key } } +//------------------------------------------------------------------------------------------------ +static void logDDLParserMessage (LogSeverity severity, const std::string &rawmsg) { + std::string msg = ai_str_toprintable(rawmsg); + switch (severity) { + case ddl_debug_msg: ASSIMP_LOG_DEBUG(msg); break; + case ddl_info_msg: ASSIMP_LOG_INFO(msg); break; + case ddl_warn_msg: ASSIMP_LOG_WARN(msg); break; + case ddl_error_msg: ASSIMP_LOG_ERROR(msg); break; + default: ASSIMP_LOG_VERBOSE_DEBUG(msg); break; + } +} + //------------------------------------------------------------------------------------------------ OpenGEXImporter::VertexContainer::VertexContainer() : m_numColors(0), m_colors(nullptr), m_numUVComps(), m_textureCoords() { @@ -306,6 +319,7 @@ void OpenGEXImporter::InternReadFile(const std::string &filename, aiScene *pScen pIOHandler->Close(file); OpenDDLParser myParser; + myParser.setLogCallback(&logDDLParserMessage); myParser.setBuffer(&buffer[0], buffer.size()); bool success(myParser.parse()); if (success) { From a03dc4edaa05731e81c5ac9edef78f9ac90097fa Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 20:45:08 -0400 Subject: [PATCH 51/99] [amf] Fix minor typo in error message. Added missing space to detail string on parse failure. --- code/AssetLib/AMF/AMFImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index 1a3efba9a..07b033b38 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -268,7 +268,7 @@ void AMFImporter::ParseFile(const std::string &pFile, IOSystem *pIOHandler) { mXmlParser = new XmlParser(); if (!mXmlParser->parse(file.get())) { delete mXmlParser; - throw DeadlyImportError("Failed to create XML reader for file" + pFile + "."); + throw DeadlyImportError("Failed to create XML reader for file ", pFile, "."); } // Start reading, search for root tag From ccd1a4455e3f5611e32cc5f933ec7f3f60316b70 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 21:14:39 -0400 Subject: [PATCH 52/99] [ply] Fix minor typo in error message. --- code/AssetLib/Ply/PlyLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/Ply/PlyLoader.cpp b/code/AssetLib/Ply/PlyLoader.cpp index ce52636dd..93d48bcbf 100644 --- a/code/AssetLib/Ply/PlyLoader.cpp +++ b/code/AssetLib/Ply/PlyLoader.cpp @@ -172,7 +172,7 @@ void PLYImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy (headerCheck[1] != 'L' && headerCheck[1] != 'l') || (headerCheck[2] != 'Y' && headerCheck[2] != 'y')) { streamedBuffer.close(); - throw DeadlyImportError("Invalid .ply file: Magic number \'ply\' is no there"); + throw DeadlyImportError("Invalid .ply file: Incorrect magic number (expected 'ply' or 'PLY')."); } std::vector mBuffer2; From 6e65115253dbb8806308c8efd399516fcfbd6ba9 Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 4 May 2021 21:10:02 -0400 Subject: [PATCH 53/99] [assimp/xml] Improved XML parse error message. Fixed typo, added detail. --- include/assimp/XmlParser.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index f525d3549..bd5281049 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -136,7 +136,9 @@ public: if (parse_result.status == pugi::status_ok) { return true; } else { - ASSIMP_LOG_DEBUG("Error while parse xml."); + std::ostringstream oss; + oss << "Error while parsing XML: " << parse_result.description() << " @ " << parse_result.offset; + ASSIMP_LOG_DEBUG(oss.str()); return false; } } From f15dcfa98174120ace6077ecbb8e0240bec597be Mon Sep 17 00:00:00 2001 From: kkulling Date: Wed, 5 May 2021 13:10:52 +0200 Subject: [PATCH 54/99] - Fix model parsing --- code/AssetLib/3MF/D3MFImporter.cpp | 49 +++++++++++++++--------------- include/assimp/StringUtils.h | 3 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index f7a3325cb..747af7cfc 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -163,7 +163,7 @@ public: } XmlNode resNode = node.child(XmlTag::resources); for (auto ¤tNode : resNode.children()) { - const std::string ¤tNodeName = currentNode.name(); + const std::string currentNodeName = currentNode.name(); if (currentNodeName == XmlTag::object) { ReadObject(currentNode); } else if (currentNodeName == XmlTag::basematerials) { @@ -173,8 +173,9 @@ public: } } - for (auto ¤tNode : resNode.children()) { - const std::string ¤tNodeName = currentNode.name(); + XmlNode buildNode = node.child(XmlTag::build); + for (auto ¤tNode : buildNode.children()) { + const std::string currentNodeName = currentNode.name(); if (currentNodeName == XmlTag::item) { int objectId = -1; std::string transformationMatrixStr; @@ -196,7 +197,7 @@ public: // import the metadata if (!mMetaData.empty()) { - const size_t numMeta(mMetaData.size()); + const size_t numMeta = mMetaData.size(); scene->mMetaData = aiMetadata::Alloc(static_cast(numMeta)); for (size_t i = 0; i < numMeta; ++i) { aiString val(mMetaData[i].value); @@ -211,6 +212,7 @@ public: for (auto it = mResourcesDictionnary.begin(); it != mResourcesDictionnary.end(); ++it) { if (it->second->getType() == ResourceType::RT_Object) { Object *obj = static_cast(it->second); + ai_assert(nullptr != obj); for (unsigned int i = 0; i < obj->mMeshes.size(); ++i) { scene->mMeshes[obj->mMeshIndex[i]] = obj->mMeshes[i]; } @@ -352,7 +354,8 @@ private: mMeshCount++; } else if (currentName == D3MF::XmlTag::components) { for (XmlNode ¤tSubNode : currentNode.children()) { - if (currentSubNode.name() == D3MF::XmlTag::component) { + const std::string subNodeName = currentSubNode.name(); + if (subNodeName == D3MF::XmlTag::component) { int objectId = -1; std::string componentTransformStr; aiMatrix4x4 componentTransform; @@ -360,8 +363,9 @@ private: componentTransform = parseTransformMatrix(componentTransformStr); } - if (getNodeAttribute(currentSubNode, D3MF::XmlTag::objectid, objectId)) + if (getNodeAttribute(currentSubNode, D3MF::XmlTag::objectid, objectId)) { obj->mComponents.push_back({ objectId, componentTransform }); + } } } } @@ -374,7 +378,7 @@ private: aiMesh *mesh = new aiMesh(); for (XmlNode ¤tNode : node.children()) { - const std::string ¤tName = currentNode.name(); + const std::string currentName = currentNode.name(); if (currentName == XmlTag::vertices) { ImportVertices(currentNode, mesh); } else if (currentName == XmlTag::triangles) { @@ -402,8 +406,8 @@ private: void ImportVertices(XmlNode &node, aiMesh *mesh) { std::vector vertices; for (XmlNode ¤tNode : node.children()) { - const std::string ¤tName = currentNode.name(); - if (currentName == D3MF::XmlTag::vertex) { + const std::string currentName = currentNode.name(); + if (currentName == XmlTag::vertex) { vertices.push_back(ReadVertex(currentNode)); } } @@ -415,22 +419,22 @@ private: aiVector3D ReadVertex(XmlNode &node) { aiVector3D vertex; - vertex.x = ai_strtof(node.attribute(D3MF::XmlTag::x).as_string(), nullptr); - vertex.y = ai_strtof(node.attribute(D3MF::XmlTag::y).as_string(), nullptr); - vertex.z = ai_strtof(node.attribute(D3MF::XmlTag::z).as_string(), nullptr); + vertex.x = ai_strtof(node.attribute(XmlTag::x).as_string(), nullptr); + vertex.y = ai_strtof(node.attribute(XmlTag::y).as_string(), nullptr); + vertex.z = ai_strtof(node.attribute(XmlTag::z).as_string(), nullptr); return vertex; } void ImportTriangles(XmlNode &node, aiMesh *mesh) { std::vector faces; - for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) { - const std::string ¤tName = currentNode.name(); - if (currentName == D3MF::XmlTag::triangle) { + for (XmlNode ¤tNode : node.children()) { + const std::string currentName = currentNode.name(); + if (currentName == XmlTag::triangle) { aiFace face = ReadTriangle(currentNode); faces.push_back(face); - int pid = 0, p1; + int pid = 0, p1 = 0; bool hasPid = getNodeAttribute(currentNode, D3MF::XmlTag::pid, pid); bool hasP1 = getNodeAttribute(currentNode, D3MF::XmlTag::p1, p1); @@ -472,10 +476,11 @@ private: BaseMaterials *baseMaterials = new BaseMaterials(id); for (XmlNode ¤tNode : node.children()) { - if (currentNode.name() == XmlTag::basematerials_base) { + const std::string currentName = currentNode.name(); + if (currentName == XmlTag::basematerials_base) { baseMaterials->mMaterialIndex.push_back(mMaterialCount); baseMaterials->mMaterials.push_back(readMaterialDef(currentNode, id)); - mMaterialCount++; + ++mMaterialCount; } } @@ -489,11 +494,7 @@ private: } //format of the color string: #RRGGBBAA or #RRGGBB (3MF Core chapter 5.1.1) -#ifdef _WIN32 - const size_t len = strnlen_s(color, 9); -#else - const size_t len = strnlen(color, 9); -#endif + const size_t len = strlen(color); if (9 != len && 7 != len) { return false; } @@ -603,7 +604,7 @@ bool D3MFImporter::CanRead(const std::string &filename, IOSystem *pIOHandler, bo if (!ZipArchiveIOSystem::isZipArchive(pIOHandler, filename)) { return false; } - D3MF::D3MFOpcPackage opcPackage(pIOHandler, filename); + D3MFOpcPackage opcPackage(pIOHandler, filename); return opcPackage.validate(); } diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index 4afd717cf..d716549e5 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -4,7 +4,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2021, assimp team - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -249,4 +248,4 @@ AI_FORCE_INLINE std::string ai_str_toupper(const std::string &in) { return out; } -#endif +#endif // INCLUDED_AI_STRINGUTILS_H From 2a6b84c8ea16f0950803dc6cc62de2801c26a4ee Mon Sep 17 00:00:00 2001 From: kkulling Date: Wed, 5 May 2021 14:43:51 +0200 Subject: [PATCH 55/99] - closes https://github.com/assimp/assimp/issues/3830 - Fix rgba2hex - Add tests --- include/assimp/StringUtils.h | 3 +- test/AssimpLog_C.txt | 3184 ++++++++++ test/AssimpLog_Cpp.txt | 3184 ++++++++++ test/dae.dae | 80 + test/dna.txt | 8008 ++++++++++++++++++++++++ test/spiderExport.stl | 10946 +++++++++++++++++++++++++++++++++ test/test.3mf | Bin 0 -> 1143 bytes test/testExport.stl | 33 + test/unit/utStringUtils.cpp | 13 +- 9 files changed, 25448 insertions(+), 3 deletions(-) create mode 100644 test/AssimpLog_C.txt create mode 100644 test/AssimpLog_Cpp.txt create mode 100644 test/dae.dae create mode 100644 test/dna.txt create mode 100644 test/spiderExport.stl create mode 100644 test/test.3mf create mode 100644 test/testExport.stl diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index d716549e5..d536b2f0a 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -54,6 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #ifdef _MSC_VER #define AI_SIZEFMT "%Iu" @@ -176,7 +177,7 @@ AI_FORCE_INLINE std::string ai_rgba2hex(int r, int g, int b, int a, bool with_he if (with_head) { ss << "#"; } - ss << std::hex << (r << 24 | g << 16 | b << 8 | a); + ss << std::hex << std::setfill('0') << std::setw(8) << (r << 24 | g << 16 | b << 8 | a); return ss.str(); } diff --git a/test/AssimpLog_C.txt b/test/AssimpLog_C.txt new file mode 100644 index 000000000..b843b6f07 --- /dev/null +++ b/test/AssimpLog_C.txt @@ -0,0 +1,3184 @@ +Info, T34284: Load dae.dae +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Collada Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: Collada schema version is 1.4.n +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: START `t1` +Debug, T34284: END `t1`, dt= 0.0064414 s +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_linear.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_bezier.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_stepped.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_56.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 2 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_offset_repeat.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_hermite.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[1].mTime (-72.00000) is smaller than aiAnimation::mPositionKeys[0] (which is 0.00000) +Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[5].mTime (-21.00000) is smaller than aiAnimation::mPositionKeys[4] (which is 0.00000) +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_6.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 3 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_repeat.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_linear.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_constant.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_reset.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_spline.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/boxuv.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/formatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/SMD/triangle.smd +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Valve SMD Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/SMD/holy_grailref.smd +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Valve SMD Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' +Error, T34284: [SMD/VTA] Bone index overflow. The bone index will be ignored, the weight will be assigned to the vertex' parent node +Skipping one or more lines with the same contents +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/IncorrectVertexArrays\' +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary/2CylinderEngine.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 34 materials +Debug, T34284: Importing 29 meshes +Debug, T34284: Importing 1 cameras +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 embedded textures +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/simple_skin/simple_skin.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/simple_skin\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 1 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Debug, T34284: ScenePreprocessor: Dummy position track has been generated +Info, T34284: Load D:/projects/assimp/test/models/glTF2/cameras/Cameras.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/cameras\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing 2 cameras +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: 0.000000 is not a valid value for aiCamera::mHorizontalFOV +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays/Cube.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 8 meshes +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/textureTransform/TextureTransformTest.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/textureTransform\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 9 materials +Debug, T34284: Importing 9 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 1 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Cube) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/MissingBin/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/RecursiveNodes/RecursiveNodes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/NoScene.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 0 meshes +Error, T34284: GLTF: No scene +Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/SceneWithoutNodes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 0 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/issue_3269/texcoord_crash.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. +Error, T34284: Mesh "Mesh" has no faces +Info, T34284: Load D:/projects/assimp/test/models/glTF2/draco/2CylinderEngine.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badArray.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badString.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badUint.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badNumber.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badObject.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badExtension.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/HMP/terrain.hmp +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3D GameStudio Heightmap (HMP) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/HMP\' +Debug, T34284: HMP subtype: 3D GameStudio A7, magic word is HMP7 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/IFC/AC14-FZK-Haus.ifc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Industry Foundation Classes (IFC) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/IFC\' +Debug, T34284: IFC: File schema is 'IFC2X3' +Debug, T34284: STEP: got 82226 object records with 5788 inverse index entries +Debug, T34284: IFC: got units used for lengths +Debug, T34284: IFC: got units used for angles +Debug, T34284: IFC: got world coordinate system +Debug, T34284: IFC: looking at spatial structure `Gelände` +Debug, T34284: IFC: selecting this spatial structure as root structure +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing degenerate faces +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings +Skipping one or more lines with the same contents +Debug, T34284: IFC: skipping IfcSpace entity due to importer settings +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Warn, T34284: IFC: failed to resolve all openings, presumably their topology is not supported by Assimp +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings +Skipping one or more lines with the same contents +Debug, T34284: IFC: skipping IfcSpace entity due to importer settings +Debug, T34284: IFC: STEP: evaluated 70094 object records +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: HEADER +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is '.\' +Warn, T34284: DXF: EOF reached, but did not encounter DXF EOF marker +Debug, T34284: DXF: Unexpanded polycount is 0, vertex count is 0 +Error, T34284: DXF: no data blocks loaded +Info, T34284: Load D:/projects/assimp/test/models/FBX/spider.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/box.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Info, T34284: FBX: generating full transformation chain for node: root +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_nonames.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_names.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_mirroring_and_pivot.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Info, T34284: FBX: generating full transformation chain for node: Cube1 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/close_to_identity_transforms.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Info, T34284: FBX: generating full transformation chain for node: Cube1 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/phong_cube.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Warn, T34284: FBX-DOM (TOK_KEY, offset 0x4190) source object for connection does not exist +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Error, T34284: FBX: no material assigned to mesh, setting default material +Debug, T34284: UpdateImporterScale scale set: 5 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box.FBX +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: A specular shading model is specified but the value of the AI_MATKEY_SHININESS_STRENGTH key is 0.0 +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box_embedded_texture_fragmented.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Error, T34284: FBX: ignoring additional binormal layer +Error, T34284: FBX: ignoring additional tangent layer +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/box_orphant_embedded_texture.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Error, T34284: FBX: ignoring additional binormal layer +Error, T34284: FBX: ignoring additional tangent layer +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Error, T34284: FBX: no material assigned to mesh, setting default material +Debug, T34284: UpdateImporterScale scale set: 5 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_outofrange_float.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_metalRough.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7700 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown +Info, T34284: FBX: generating full transformation chain for node: Box001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_specGloss.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7700 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown +Info, T34284: FBX: generating full transformation chain for node: Box001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$.3ds +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Error, T34284: 3DS: Skipping FOV animation track. This is not supported +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Info, T34284: 3DS: Generating default material +Debug, T34284: 3DS: Converting camera roll track ... +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Debug, T34284: ScenePreprocessor: Setting animation duration +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: SplitLargeMeshesProcess_Triangle begin +Debug, T34284: SplitLargeMeshesProcess_Triangle finished. There was nothing to do +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: CalcTangentsProcess begin +Info, T34284: CalcTangentsProcess finished. Tangents have been calculated +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (0) | Verts in: 36 out: 24 | ~33.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 +Debug, T34284: SplitLargeMeshesProcess_Vertex begin +Debug, T34284: SplitLargeMeshesProcess_Vertex finished. There was nothing to do +Debug, T34284: LimitBoneWeightsProcess begin +Debug, T34284: LimitBoneWeightsProcess end +Debug, T34284: ImproveCacheLocalityProcess begin +Debug, T34284: Mesh %u | ACMR in: 0 out: 2 | ~20 +Info, T34284: Cache relevant are 1 meshes (12 faces). Average output ACMR is 2 +Debug, T34284: ImproveCacheLocalityProcess finished. +Info, T34284: Leaving post processing pipeline +Info, T34284: Registering custom importer for these file extensions: applelinuxmacwindows +Info, T34284: Unregistering custom importer: +Info, T34284: Load D:/projects/assimp/test/models/X/test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCube1) | Verts in: 36 out: 24 | ~33.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Wuson) | Verts in: 11196 out: 3205 | ~71.3737% +Info, T34284: JoinVerticesProcess finished | Verts in: 11196 out: 3205 | ~71.3737 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Warn, T34284: Simplified dummy tracks with just one key +Skipping one or more lines with the same contents +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% +Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Warn, T34284: Simplified dummy tracks with just one key +Skipping one or more lines with the same contents +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% +Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 3, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: OptimizeMeshesProcess begin +Debug, T34284: OptimizeMeshesProcess finished +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Torso) | Verts in: 5898 out: 1170 | ~80.1628% +Debug, T34284: Mesh 1 (Head) | Verts in: 6108 out: 1196 | ~80.4191% +Debug, T34284: Mesh 2 (Legs) | Verts in: 3372 out: 648 | ~80.7829% +Info, T34284: JoinVerticesProcess finished | Verts in: 15378 out: 3014 | ~80.4006 +Info, T34284: Leaving post processing pipeline +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load deadlyImportError.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Error, T34284: Deadly import error test. Details: 42 More Details: Failure +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load stdException.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Error, T34284: std::exception test +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load unexpectedException.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Info, T34284: Load D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3DS/fels.3ds +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: No hierarchy information has been found in the file. +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3DS/testFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/closedLine.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/nosurfaces.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Warn, T34284: AC3D: No material has been found +Info, T34284: AC3D: No surfaces defined in object definition, a point list is returned +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/openLine.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/sample_subdiv.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Info, T34284: AC3D: Evaluating subdivision surface: cylinder +Debug, T34284: Catmull-Clark Subdivider: got 130 bad edges touching only one face (totally 61505 edges). +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Info, T34284: AC3D: Evaluating subdivision surface: sphere +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF16LE.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Debug, T34284: Found UTF-16 BOM ... +Error, T34284: AC3D: No valid AC3D file, magic sequence not found +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF8BOM.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Debug, T34284: Found UTF-8 BOM ... +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLightUvScaling4X.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Info, T34284: AC3D: Evaluating subdivision surface: sphere +Debug, T34284: Catmull-Clark Subdivider: got 12 bad edges touching only one face (totally 17670 edges). +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.acc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/TestFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AMF/test1.amf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/AMF/test_with_mat.amf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/ASE/ThreeCubesGreen.ASE +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: ASE Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/ASE\' +Info, T34284: Line 1: Comment: AsciiExport-Version 2,00 - Tue May 06 17:21:38 2008 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load test.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is '.\' +Warn, T34284: Ignored file of unknown type: 3D/3DModel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3DModel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/Q3D/earth.q3o +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Quick3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/Q3D\' +Info, T34284: Quick3D File format version: 30 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/formatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: solid +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_two_solids.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Warn, T34284: STL: mesh is empty or invalid; no data loaded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Warn, T34284: STL: mesh is empty or invalid; no data loaded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: The mesh emptySolid contains no vertices +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: PretransformVerticesProcess begin +Debug, T34284: PretransformVerticesProcess finished +Info, T34284: Removed 2 nodes and 0 animation channels (1 output nodes) +Info, T34284: Kept 0 lights and 0 cameras. +Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: GenFaceNormalsProcess begin +Debug, T34284: GenFaceNormalsProcess finished. Normals are already there +Info, T34284: Load spiderExport.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: GenFaceNormalsProcess begin +Info, T34284: Normal vectors are undefined for line and point meshes +Debug, T34284: GenFaceNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/X/test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/OV_GetNextToken +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Info, T34284: Successfully decompressed MSZIP-compressed file +Error, T34284: Opening brace expected. +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/fromtruespace_bin32.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/kwxport_test_cubewithvcolors.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_binary.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_compressed.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Info, T34284: Successfully decompressed MSZIP-compressed file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_text.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/TestFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models-nonbsd/X/dwarf.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models-nonbsd/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Skipping one or more lines with the same contents +Info, T34284: Load D:/projects/assimp/test/models/X3D/ComputerKeyboard.x3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Info, T34284: Found a matching importer for this file format: Extensible 3D(X3D) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X3D\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: aiScene::mNumMeshes is 0. At least one mesh must be there +Info, T34284: Load D:/projects/assimp/test/models/DXF/PinkEggFromLW.dxf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Debug, T34284: DXF: got 0 entries in BLOCKS +Debug, T34284: DXF: got 288 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: Unexpanded polycount is 288, vertex count is 1152 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/DXF/lineTest +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: SECTION +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Info, T34284: DXF Comment: VISION3D DXF +Debug, T34284: DXF: got 0 entries in BLOCKS +Debug, T34284: DXF: got 3 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: Unexpanded polycount is 3, vertex count is 9 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/DXF/issue_2229.dxf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Debug, T34284: DXF: skipped over control group (273 lines) +Debug, T34284: DXF: got 2 entries in BLOCKS +Warn, T34284: DXF: invalid vertex index, indices are one-based. +Skipping one or more lines with the same contents +Warn, T34284: DXF: unexpected face count in polymesh: 1173, expected 1174 +Warn, T34284: DXF: invalid vertex index, indices are one-based. +Skipping one or more lines with the same contents +Debug, T34284: DXF: got 4 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: skipped over control group (3 lines) +Skipping one or more lines with the same contents +Debug, T34284: DXF: Unexpanded polycount is 1289, vertex count is 768 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: PretransformVerticesProcess begin +Debug, T34284: PretransformVerticesProcess finished +Info, T34284: Removed 1 nodes and 0 animation channels (1 output nodes) +Info, T34284: Kept 0 lights and 0 cameras. +Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_uv.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_binary.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstanceBinary() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() begin +Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() succeeded +Debug, T34284: PLY::DOM::ParseInstanceBinary() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/float-color.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/issue623.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Warn, T34284: Unable to parse property instance. Skipping this element instance +Skipping one or more lines with the same contents +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: ply +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: usemtl +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: failed to locate material Default, creating new material +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: usemtl +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors_uni.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: mtllib +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Unable to locate material file $blobfile.mtl +Info, T34284: OBJ: Opening fallback material file $$$___magic___$mtl +Error, T34284: OBJ: Unable to locate fallback material file $$$___magic___$mtl +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: Mesh contains no faces +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Invalid component in homogeneous vector (Division by zero) +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Invalid face indice +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Error, T34284: OBJ: Unable to locate material file cube_mtllib_after_g.mat +Info, T34284: OBJ: Opening fallback material file D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.mtl +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/OBJ/point_cloud.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/OBJ/box_without_lineending.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Error, T34284: OBJ: failed to locate material Default, creating new material +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/Example.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/light_issue1262.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/empty_camera.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/SIB/heffalump.sib +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Silo SIB Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SIB\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/AreaLight_269.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Skipping one or more lines with the same contents +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Info, T34284: (Stats) Fields read: 918, pointers resolved: 23, cache hits: 3, cached objects: 19 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/box.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.76 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 604 structures with totally 6955 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Info, T34284: (Stats) Fields read: 668, pointers resolved: 17, cache hits: 3, cached objects: 13 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/4Cubes4Mats_248.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.48 (64bit: false, little endian: true) +Debug, T34284: REND +Debug, T34284: GLOB +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: TX +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Skipping one or more lines with the same contents +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 310 structures with totally 3868 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `sensor_x` in structure `Camera` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `totloop` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `totpoly` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloop` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloopuv` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloopcol` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mpoly` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mtpoly` in structure `Mesh` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `rot` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `colspecfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `mirrfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `alphafac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `difffac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `specfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `emitfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `hardfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `material_type` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `pr_texture` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `shadowonly_flag` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `index` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `vcol_alpha` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `typemap` in structure `CustomData` +Error, T34284: Constructing BlenderDNA Structure encountered an error +Info, T34284: Load D:/projects/assimp/test/models/BLEND/blender_269_regress1.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: KE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt diff --git a/test/AssimpLog_Cpp.txt b/test/AssimpLog_Cpp.txt new file mode 100644 index 000000000..b843b6f07 --- /dev/null +++ b/test/AssimpLog_Cpp.txt @@ -0,0 +1,3184 @@ +Info, T34284: Load dae.dae +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Collada Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: Collada schema version is 1.4.n +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: START `t1` +Debug, T34284: END `t1`, dt= 0.0064414 s +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_linear.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_bezier.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_stepped.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_56.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 2 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_offset_repeat.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_hermite.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[1].mTime (-72.00000) is smaller than aiAnimation::mPositionKeys[0] (which is 0.00000) +Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[5].mTime (-21.00000) is smaller than aiAnimation::mPositionKeys[4] (which is 0.00000) +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_6.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 3 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_repeat.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_linear.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_constant.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_reset.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_spline.lws +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' +Debug, T34284: LWS: Skipping over plugin-specific data +Skipping one or more lines with the same contents +Info, T34284: LWS file format version is 5 +Info, T34284: %%% BEGIN EXTERNAL FILE %%% +Info, T34284: File: simple_cube.lwo +Info, T34284: Load simple_cube.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: %%% END EXTERNAL FILE %%% +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/boxuv.lwo +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/formatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' +Info, T34284: LWO file format: LWO2 (>= LightWave 6) +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/SMD/triangle.smd +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Valve SMD Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/SMD/holy_grailref.smd +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Valve SMD Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' +Error, T34284: [SMD/VTA] Bone index overflow. The bone index will be ignored, the weight will be assigned to the vertex' parent node +Skipping one or more lines with the same contents +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/IncorrectVertexArrays\' +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: glTF Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary/2CylinderEngine.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 34 materials +Debug, T34284: Importing 29 meshes +Debug, T34284: Importing 1 cameras +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 embedded textures +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/simple_skin/simple_skin.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/simple_skin\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 1 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Debug, T34284: ScenePreprocessor: Dummy position track has been generated +Info, T34284: Load D:/projects/assimp/test/models/glTF2/cameras/Cameras.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/cameras\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing 2 cameras +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: 0.000000 is not a valid value for aiCamera::mHorizontalFOV +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays/Cube.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 8 meshes +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. +Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/textureTransform/TextureTransformTest.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/textureTransform\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 9 materials +Debug, T34284: Importing 9 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 1 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Cube) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/MissingBin/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% +Debug, T34284: JoinVerticesProcess finished +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Reading GLTF2 binary +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/RecursiveNodes/RecursiveNodes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/NoScene.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 0 meshes +Error, T34284: GLTF: No scene +Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/SceneWithoutNodes.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 0 materials +Debug, T34284: Importing 0 meshes +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/issue_3269/texcoord_crash.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. +Debug, T34284: Importing nodes +Debug, T34284: Importing 0 animations +Debug, T34284: Importing metadata +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: There are unreferenced vertices +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Found a matching importer for this file format: glTF2 Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' +Debug, T34284: Reading GLTF2 file +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Debug, T34284: Importing 1 materials +Debug, T34284: Importing 1 meshes +Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. +Error, T34284: Mesh "Mesh" has no faces +Info, T34284: Load D:/projects/assimp/test/models/glTF2/draco/2CylinderEngine.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badArray.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badString.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badUint.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badNumber.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badObject.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badExtension.gltf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Loading GLTF2 asset +Debug, T34284: Parsing GLTF2 JSON +Info, T34284: Load D:/projects/assimp/test/models/HMP/terrain.hmp +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3D GameStudio Heightmap (HMP) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/HMP\' +Debug, T34284: HMP subtype: 3D GameStudio A7, magic word is HMP7 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/IFC/AC14-FZK-Haus.ifc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Industry Foundation Classes (IFC) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/IFC\' +Debug, T34284: IFC: File schema is 'IFC2X3' +Debug, T34284: STEP: got 82226 object records with 5788 inverse index entries +Debug, T34284: IFC: got units used for lengths +Debug, T34284: IFC: got units used for angles +Debug, T34284: IFC: got world coordinate system +Debug, T34284: IFC: looking at spatial structure `Gelände` +Debug, T34284: IFC: selecting this spatial structure as root structure +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing degenerate faces +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Skipping one or more lines with the same contents +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings +Skipping one or more lines with the same contents +Debug, T34284: IFC: skipping IfcSpace entity due to importer settings +Skipping one or more lines with the same contents +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline +Debug, T34284: IFC: removing duplicate vertices +Error, T34284: IFC: failed to generate all window caps +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) +Skipping one or more lines with the same contents +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Skipping one or more lines with the same contents +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Warn, T34284: IFC: failed to resolve all openings, presumably their topology is not supported by Assimp +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: removing degenerate faces +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: removing duplicate vertices +Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) +Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings +Skipping one or more lines with the same contents +Debug, T34284: IFC: skipping IfcSpace entity due to importer settings +Debug, T34284: IFC: STEP: evaluated 70094 object records +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: HEADER +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is '.\' +Warn, T34284: DXF: EOF reached, but did not encounter DXF EOF marker +Debug, T34284: DXF: Unexpanded polycount is 0, vertex count is 0 +Error, T34284: DXF: no data blocks loaded +Info, T34284: Load D:/projects/assimp/test/models/FBX/spider.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/box.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Info, T34284: FBX: generating full transformation chain for node: root +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_nonames.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_names.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_mirroring_and_pivot.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Info, T34284: FBX: generating full transformation chain for node: Cube1 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/close_to_identity_transforms.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Info, T34284: FBX: generating full transformation chain for node: Cube1 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/phong_cube.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Warn, T34284: FBX-DOM (TOK_KEY, offset 0x4190) source object for connection does not exist +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Error, T34284: FBX: no material assigned to mesh, setting default material +Debug, T34284: UpdateImporterScale scale set: 5 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box.FBX +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: A specular shading model is specified but the value of the AI_MATKEY_SHININESS_STRENGTH key is 0.0 +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box_embedded_texture_fragmented.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Error, T34284: FBX: ignoring additional binormal layer +Error, T34284: FBX: ignoring additional tangent layer +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/box_orphant_embedded_texture.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Error, T34284: FBX: ignoring additional binormal layer +Error, T34284: FBX: ignoring additional tangent layer +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing binary FBX file +Debug, T34284: FBX version: 7400 +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7400 +Error, T34284: FBX: no material assigned to mesh, setting default material +Debug, T34284: UpdateImporterScale scale set: 5 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_outofrange_float.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7500 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 +Debug, T34284: UpdateImporterScale scale set: 0.01 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_metalRough.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7700 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown +Info, T34284: FBX: generating full transformation chain for node: Box001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_specGloss.fbx +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' +Debug, T34284: Reading FBX file +Debug, T34284: Tokenizing ASCII FBX file +Debug, T34284: Parsing FBX tokens +Debug, T34284: Creating FBX Document +Debug, T34284: FBX Version: 7700 +Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless +Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown +Info, T34284: FBX: generating full transformation chain for node: Box001 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$.3ds +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is '.\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Error, T34284: 3DS: Skipping FOV animation track. This is not supported +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Info, T34284: 3DS: Generating default material +Debug, T34284: 3DS: Converting camera roll track ... +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Debug, T34284: ScenePreprocessor: Setting animation duration +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: SplitLargeMeshesProcess_Triangle begin +Debug, T34284: SplitLargeMeshesProcess_Triangle finished. There was nothing to do +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: CalcTangentsProcess begin +Info, T34284: CalcTangentsProcess finished. Tangents have been calculated +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (0) | Verts in: 36 out: 24 | ~33.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 +Debug, T34284: SplitLargeMeshesProcess_Vertex begin +Debug, T34284: SplitLargeMeshesProcess_Vertex finished. There was nothing to do +Debug, T34284: LimitBoneWeightsProcess begin +Debug, T34284: LimitBoneWeightsProcess end +Debug, T34284: ImproveCacheLocalityProcess begin +Debug, T34284: Mesh %u | ACMR in: 0 out: 2 | ~20 +Info, T34284: Cache relevant are 1 meshes (12 faces). Average output ACMR is 2 +Debug, T34284: ImproveCacheLocalityProcess finished. +Info, T34284: Leaving post processing pipeline +Info, T34284: Registering custom importer for these file extensions: applelinuxmacwindows +Info, T34284: Unregistering custom importer: +Info, T34284: Load D:/projects/assimp/test/models/X/test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCube1) | Verts in: 36 out: 24 | ~33.3333% +Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Wuson) | Verts in: 11196 out: 3205 | ~71.3737% +Info, T34284: JoinVerticesProcess finished | Verts in: 11196 out: 3205 | ~71.3737 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Warn, T34284: Simplified dummy tracks with just one key +Skipping one or more lines with the same contents +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% +Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Warn, T34284: Simplified dummy tracks with just one key +Skipping one or more lines with the same contents +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: Skipping OptimizeMeshesProcess +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% +Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 +Info, T34284: Leaving post processing pipeline +Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Entering post processing pipeline +Debug, T34284: RemoveRedundantMatsProcess begin +Debug, T34284: RemoveRedundantMatsProcess finished +Debug, T34284: OptimizeGraphProcess begin +Debug, T34284: OptimizeGraphProcess finished +Debug, T34284: GenUVCoordsProcess begin +Debug, T34284: GenUVCoordsProcess finished +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: FindDegeneratesProcess begin +Debug, T34284: FindDegeneratesProcess finished +Debug, T34284: SortByPTypeProcess begin +Info, T34284: Points: 0, Lines: 0, Triangles: 3, Polygons: 0 (Meshes, X = removed) +Debug, T34284: SortByPTypeProcess finished +Debug, T34284: FindInvalidDataProcess begin +Info, T34284: FindInvalidDataProcess finished. Found issues ... +Debug, T34284: OptimizeMeshesProcess begin +Debug, T34284: OptimizeMeshesProcess finished +Debug, T34284: Generate spatially-sorted vertex cache +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: JoinVerticesProcess begin +Debug, T34284: Mesh 0 (Torso) | Verts in: 5898 out: 1170 | ~80.1628% +Debug, T34284: Mesh 1 (Head) | Verts in: 6108 out: 1196 | ~80.4191% +Debug, T34284: Mesh 2 (Legs) | Verts in: 3372 out: 648 | ~80.7829% +Info, T34284: JoinVerticesProcess finished | Verts in: 15378 out: 3014 | ~80.4006 +Info, T34284: Leaving post processing pipeline +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load deadlyImportError.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Error, T34284: Deadly import error test. Details: 42 More Details: Failure +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load stdException.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Error, T34284: std::exception test +Info, T34284: Registering custom importer for these file extensions: fail +Info, T34284: Load unexpectedException.fail +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Failing importer. +Info, T34284: Import root directory is './' +Info, T34284: Load D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' +Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d +Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d +Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3DS/fels.3ds +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: No hierarchy information has been found in the file. +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3DS/testFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' +Info, T34284: 3DS file format version: 3 +Warn, T34284: 3DS: Skipping TCB animation info +Skipping one or more lines with the same contents +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/closedLine.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/nosurfaces.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Warn, T34284: AC3D: No material has been found +Info, T34284: AC3D: No surfaces defined in object definition, a point list is returned +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/openLine.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/sample_subdiv.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Info, T34284: AC3D: Evaluating subdivision surface: cylinder +Debug, T34284: Catmull-Clark Subdivider: got 130 bad edges touching only one face (totally 61505 edges). +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Info, T34284: AC3D: Evaluating subdivision surface: sphere +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF16LE.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Debug, T34284: Found UTF-16 BOM ... +Error, T34284: AC3D: No valid AC3D file, magic sequence not found +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF8BOM.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Debug, T34284: Found UTF-8 BOM ... +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLightUvScaling4X.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: AC3D: Light source encountered +Info, T34284: AC3D: Evaluating subdivision surface: sphere +Debug, T34284: Catmull-Clark Subdivider: got 12 bad edges touching only one face (totally 17670 edges). +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.ac +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.acc +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AC/TestFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: AC3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' +Info, T34284: AC3D file format version: 11 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/AMF/test1.amf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/AMF/test_with_mat.amf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/ASE/ThreeCubesGreen.ASE +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: ASE Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/ASE\' +Info, T34284: Line 1: Comment: AsciiExport-Version 2,00 - Tue May 06 17:21:38 2008 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' +Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3dmodel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load test.3mf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: 3mf Importer. +Info, T34284: Import root directory is '.\' +Warn, T34284: Ignored file of unknown type: 3D/3DModel.model +Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml +Debug, T34284: 3D/3DModel.model +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/Q3D/earth.q3o +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Quick3D Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/Q3D\' +Info, T34284: Quick3D File format version: 30 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/formatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: solid +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_two_solids.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Warn, T34284: STL: mesh is empty or invalid; no data loaded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Warn, T34284: STL: mesh is empty or invalid; no data loaded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: The mesh emptySolid contains no vertices +Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: PretransformVerticesProcess begin +Debug, T34284: PretransformVerticesProcess finished +Info, T34284: Removed 2 nodes and 0 animation channels (1 output nodes) +Info, T34284: Kept 0 lights and 0 cameras. +Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: GenFaceNormalsProcess begin +Debug, T34284: GenFaceNormalsProcess finished. Normals are already there +Info, T34284: Load spiderExport.stl +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: TriangulateProcess begin +Debug, T34284: TriangulateProcess finished. There was nothing to be done. +Debug, T34284: GenFaceNormalsProcess begin +Info, T34284: Normal vectors are undefined for line and point meshes +Debug, T34284: GenFaceNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/X/test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/OV_GetNextToken +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Info, T34284: Successfully decompressed MSZIP-compressed file +Error, T34284: Opening brace expected. +Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Length of texture file name is zero. Skipping this texture. +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/fromtruespace_bin32.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/kwxport_test_cubewithvcolors.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_binary.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_compressed.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Info, T34284: Successfully decompressed MSZIP-compressed file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_text.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in animation of .x file +Skipping one or more lines with the same contents +Warn, T34284: Unknown data object in frame in x file +Skipping one or more lines with the same contents +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/X/TestFormatDetection +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' +Warn, T34284: Unknown data object in mesh in x file +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models-nonbsd/X/dwarf.x +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models-nonbsd/X\' +Debug, T34284: MakeLeftHandedProcess begin +Debug, T34284: MakeLeftHandedProcess finished +Debug, T34284: FlipWindingOrderProcess begin +Debug, T34284: FlipWindingOrderProcess finished +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated +Skipping one or more lines with the same contents +Info, T34284: Load D:/projects/assimp/test/models/X3D/ComputerKeyboard.x3d +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Info, T34284: Found a matching importer for this file format: Extensible 3D(X3D) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X3D\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: aiScene::mNumMeshes is 0. At least one mesh must be there +Info, T34284: Load D:/projects/assimp/test/models/DXF/PinkEggFromLW.dxf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Debug, T34284: DXF: got 0 entries in BLOCKS +Debug, T34284: DXF: got 288 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: Unexpanded polycount is 288, vertex count is 1152 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/DXF/lineTest +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: SECTION +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Info, T34284: DXF Comment: VISION3D DXF +Debug, T34284: DXF: got 0 entries in BLOCKS +Debug, T34284: DXF: got 3 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: Unexpanded polycount is 3, vertex count is 9 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/DXF/issue_2229.dxf +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' +Debug, T34284: DXF: skipped over control group (273 lines) +Debug, T34284: DXF: got 2 entries in BLOCKS +Warn, T34284: DXF: invalid vertex index, indices are one-based. +Skipping one or more lines with the same contents +Warn, T34284: DXF: unexpected face count in polymesh: 1173, expected 1174 +Warn, T34284: DXF: invalid vertex index, indices are one-based. +Skipping one or more lines with the same contents +Debug, T34284: DXF: got 4 polylines and 0 inserted blocks in ENTITIES +Debug, T34284: DXF: skipped over control group (3 lines) +Skipping one or more lines with the same contents +Debug, T34284: DXF: Unexpanded polycount is 1289, vertex count is 768 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: PretransformVerticesProcess begin +Debug, T34284: PretransformVerticesProcess finished +Info, T34284: Removed 1 nodes and 0 animation channels (1 output nodes) +Info, T34284: Kept 0 lights and 0 cameras. +Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: (Deleting previous scene) +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_uv.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_binary.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstanceBinary() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() begin +Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() succeeded +Debug, T34284: PLY::DOM::ParseInstanceBinary() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/float-color.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/PLY/issue623.ply +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Warn, T34284: Unable to parse property instance. Skipping this element instance +Skipping one or more lines with the same contents +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Debug, T34284: Found positive match for header keyword: ply +Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: PLY::DOM::ParseInstance() begin +Debug, T34284: PLY::DOM::ParseHeader() begin +Debug, T34284: PLY::DOM::ParseHeader() succeeded +Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin +Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded +Debug, T34284: PLY::DOM::ParseInstance() succeeded +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: usemtl +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: failed to locate material Default, creating new material +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: usemtl +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors_uni.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Debug, T34284: GenVertexNormalsProcess begin +Debug, T34284: GenVertexNormalsProcess finished. Normals are already there +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: mtllib +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Unable to locate material file $blobfile.mtl +Info, T34284: OBJ: Opening fallback material file $$$___magic___$mtl +Error, T34284: OBJ: Unable to locate fallback material file $$$___magic___$mtl +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Error, T34284: Validation failed: Mesh contains no faces +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Invalid component in homogeneous vector (Division by zero) +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Error, T34284: OBJ: Invalid face indice +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Error, T34284: OBJ: Unable to locate material file cube_mtllib_after_g.mat +Info, T34284: OBJ: Opening fallback material file D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.mtl +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/OBJ/point_cloud.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' +Info, T34284: Load D:/projects/assimp/test/models/OBJ/box_without_lineending.obj +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' +Error, T34284: OBJ: failed to locate material Default, creating new material +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load $$$___magic___$$$. +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: File extension not known, trying signature-based detection +Debug, T34284: Found positive match for header keyword: v +Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. +Info, T34284: Import root directory is '.\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/Example.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/light_issue1262.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/empty_camera.ogex +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' +Debug, T34284: UpdateImporterScale scale set: 1 +Info, T34284: Load D:/projects/assimp/test/models/SIB/heffalump.sib +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Silo SIB Importer. +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SIB\' +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/AreaLight_269.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Skipping one or more lines with the same contents +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Info, T34284: (Stats) Fields read: 918, pointers resolved: 23, cache hits: 3, cached objects: 19 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero +Skipping one or more lines with the same contents +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/box.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.76 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 604 structures with totally 6955 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` +Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` +Info, T34284: (Stats) Fields read: 668, pointers resolved: 17, cache hits: 3, cached objects: 13 +Debug, T34284: UpdateImporterScale scale set: 1 +Debug, T34284: ValidateDataStructureProcess begin +Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero +Debug, T34284: ValidateDataStructureProcess end +Info, T34284: Load D:/projects/assimp/test/models/BLEND/4Cubes4Mats_248.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.48 (64bit: false, little endian: true) +Debug, T34284: REND +Debug, T34284: GLOB +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: TX +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: OB +Skipping one or more lines with the same contents +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 310 structures with totally 3868 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt +Debug, T34284: ENDB +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `sensor_x` in structure `Camera` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `totloop` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `totpoly` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloop` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloopuv` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mloopcol` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mpoly` in structure `Mesh` +Warn, T34284: BlendDNA: Did not find a field named `*mtpoly` in structure `Mesh` +Warn, T34284: +Skipping one or more lines with the same contents +Warn, T34284: BlendDNA: Did not find a field named `rot` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `colspecfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `mirrfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `alphafac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `difffac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `specfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `emitfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `hardfac` in structure `MTex` +Warn, T34284: BlendDNA: Did not find a field named `material_type` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `pr_texture` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `shadowonly_flag` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `index` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `vcol_alpha` in structure `Material` +Warn, T34284: BlendDNA: Did not find a field named `typemap` in structure `CustomData` +Error, T34284: Constructing BlenderDNA Structure encountered an error +Info, T34284: Load D:/projects/assimp/test/models/BLEND/blender_269_regress1.blend +Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : +Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). +Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' +Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) +Debug, T34284: REND +Debug, T34284: TEST +Debug, T34284: GLOB +Debug, T34284: WM +Debug, T34284: DATA +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SN +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: SC +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: CA +Debug, T34284: LA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: KE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: WO +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Debug, T34284: OB +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: MA +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: TE +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: ME +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: BR +Debug, T34284: DATA +Skipping one or more lines with the same contents +Debug, T34284: LS +Debug, T34284: DATA +Debug, T34284: DNA1 +Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields +Info, T34284: BlenderDNA: Dumped dna to dna.txt diff --git a/test/dae.dae b/test/dae.dae new file mode 100644 index 000000000..f8db45d6d --- /dev/null +++ b/test/dae.dae @@ -0,0 +1,80 @@ + + + + + Assimp + Assimp Exporter + + 2021-05-05T14:41:31 + 2021-05-05T14:41:31 + + Y_UP + + + + + + + + + + 1 0 0 1 + + + 0.0373546556 + + + + + + + + + + + + + + + + 1 0 0 0 1 0 0 0 1 + + + + + + + + + + + + + + 3 +

0 1 2

+
+
+
+
+ + + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + + + + +
diff --git a/test/dna.txt b/test/dna.txt new file mode 100644 index 000000000..b89d0db4b --- /dev/null +++ b/test/dna.txt @@ -0,0 +1,8008 @@ +Field format: type name offset size +Structure format: name size +Link 16 + + Link *next 0 8 + Link *prev 8 8 + +LinkData 24 + + LinkData *next 0 8 + LinkData *prev 8 8 + void *data 16 8 + +ListBase 16 + + void *first 0 8 + void *last 8 8 + +vec2s 4 + + short x 0 2 + short y 2 2 + +vec2f 8 + + float x 0 4 + float y 4 4 + +vec3f 12 + + float x 0 4 + float y 4 4 + float z 8 4 + +rcti 16 + + int xmin 0 4 + int xmax 4 4 + int ymin 8 4 + int ymax 12 4 + +rctf 16 + + float xmin 0 4 + float xmax 4 4 + float ymin 8 4 + float ymax 12 4 + +IDPropertyData 32 + + void *pointer 0 8 + ListBase group 8 16 + int val 24 4 + int val2 28 4 + +IDProperty 128 + + IDProperty *next 0 8 + IDProperty *prev 8 8 + char type 16 1 + char subtype 17 1 + short flag 18 2 + char name 20 64 + int saved 84 4 + IDPropertyData data 88 32 + int len 120 4 + int totallen 124 4 + +ID 120 + + void *next 0 8 + void *prev 8 8 + ID *newid 16 8 + Library *lib 24 8 + char name 32 66 + short pad 98 2 + short us 100 2 + short flag 102 2 + int icon_id 104 4 + int pad2 108 4 + IDProperty *properties 112 8 + +Library 2200 + + ID id 0 120 + ID *idblock 120 8 + FileData *filedata 128 8 + char name 136 1024 + char filepath 1160 1024 + Library *parent 2184 8 + PackedFile *packedfile 2192 8 + +PreviewImage 56 + + int w 0 8 + int h 8 8 + short changed 16 4 + short changed_timestamp 20 4 + int *rect 24 16 + GPUTexture *gputexture 40 16 + +IpoDriver 144 + + Object *ob 0 8 + short blocktype 8 2 + short adrcode 10 2 + short type 12 2 + short flag 14 2 + char name 16 128 + +IpoCurve 112 + + IpoCurve *next 0 8 + IpoCurve *prev 8 8 + BPoint *bp 16 8 + BezTriple *bezt 24 8 + rctf maxrct 32 16 + rctf totrct 48 16 + short blocktype 64 2 + short adrcode 66 2 + short vartype 68 2 + short totvert 70 2 + short ipo 72 2 + short extrap 74 2 + short flag 76 2 + short rt 78 2 + float ymin 80 4 + float ymax 84 4 + int bitmask 88 4 + float slide_min 92 4 + float slide_max 96 4 + float curval 100 4 + IpoDriver *driver 104 8 + +Ipo 160 + + ID id 0 120 + ListBase curve 120 16 + rctf cur 136 16 + short blocktype 152 2 + short showkey 154 2 + short muteipo 156 2 + short pad 158 2 + +KeyBlock 184 + + KeyBlock *next 0 8 + KeyBlock *prev 8 8 + float pos 16 4 + float curval 20 4 + short type 24 2 + short pad1 26 2 + short relative 28 2 + short flag 30 2 + int totelem 32 4 + int uid 36 4 + void *data 40 8 + char name 48 64 + char vgroup 112 64 + float slidermin 176 4 + float slidermax 180 4 + +Key 224 + + ID id 0 120 + AnimData *adt 120 8 + KeyBlock *refkey 128 8 + char elemstr 136 32 + int elemsize 168 4 + int pad 172 4 + ListBase block 176 16 + Ipo *ipo 192 8 + ID *from 200 8 + short type 208 2 + short totkey 210 2 + short slurph 212 2 + short flag 214 2 + float ctime 216 4 + int uidgen 220 4 + +TextLine 40 + + TextLine *next 0 8 + TextLine *prev 8 8 + char *line 16 8 + char *format 24 8 + int len 32 4 + int blen 36 4 + +Text 208 + + ID id 0 120 + char *name 120 8 + int flags 128 4 + int nlines 132 4 + ListBase lines 136 16 + TextLine *curl 152 8 + TextLine *sell 160 8 + int curc 168 4 + int selc 172 4 + char *undo_buf 176 8 + int undo_pos 184 4 + int undo_len 188 4 + void *compiled 192 8 + double mtime 200 8 + +PackedFile 16 + + int size 0 4 + int seek 4 4 + void *data 8 8 + +Camera 200 + + ID id 0 120 + AnimData *adt 120 8 + char type 128 1 + char dtx 129 1 + short flag 130 2 + float passepartalpha 132 4 + float clipsta 136 4 + float clipend 140 4 + float lens 144 4 + float ortho_scale 148 4 + float drawsize 152 4 + float sensor_x 156 4 + float sensor_y 160 4 + float shiftx 164 4 + float shifty 168 4 + float YF_dofdist 172 4 + Ipo *ipo 176 8 + Object *dof_ob 184 8 + char sensor_fit 192 1 + char pad 193 7 + +ImageUser 40 + + Scene *scene 0 8 + int framenr 8 4 + int frames 12 4 + int offset 16 4 + int sfra 20 4 + char fie_ima 24 1 + char cycl 25 1 + char ok 26 1 + char pad 27 1 + short multi_index 28 2 + short layer 30 2 + short pass 32 2 + short flag 34 2 + int pad2 36 4 + +Image 1408 + + ID id 0 120 + char name 120 1024 + ListBase ibufs 1144 16 + GPUTexture *gputexture 1160 8 + anim *anim 1168 8 + RenderResult *rr 1176 8 + RenderResult *renders 1184 64 + short render_slot 1248 2 + short last_render_slot 1250 2 + short ok 1252 2 + short flag 1254 2 + short source 1256 2 + short type 1258 2 + int lastframe 1260 4 + short tpageflag 1264 2 + short totbind 1266 2 + short xrep 1268 2 + short yrep 1270 2 + short twsta 1272 2 + short twend 1274 2 + int bindcode 1276 4 + int *repbind 1280 8 + PackedFile *packedfile 1288 8 + PreviewImage *preview 1296 8 + float lastupdate 1304 4 + int lastused 1308 4 + short animspeed 1312 2 + short pad2 1314 2 + int gen_x 1316 4 + int gen_y 1320 4 + char gen_type 1324 1 + char gen_flag 1325 1 + short gen_depth 1326 2 + float aspx 1328 4 + float aspy 1332 4 + ColorManagedColorspaceSettings colorspace_settings 1336 64 + char alpha_mode 1400 1 + char pad 1401 7 + +MTex 312 + + short texco 0 2 + short mapto 2 2 + short maptoneg 4 2 + short blendtype 6 2 + Object *object 8 8 + Tex *tex 16 8 + char uvname 24 64 + char projx 88 1 + char projy 89 1 + char projz 90 1 + char mapping 91 1 + float ofs 92 12 + float size 104 12 + float rot 116 4 + short texflag 120 2 + short colormodel 122 2 + short pmapto 124 2 + short pmaptoneg 126 2 + short normapspace 128 2 + short which_output 130 2 + char brush_map_mode 132 1 + char pad 133 7 + float r 140 4 + float g 144 4 + float b 148 4 + float k 152 4 + float def_var 156 4 + float rt 160 4 + float colfac 164 4 + float varfac 168 4 + float norfac 172 4 + float dispfac 176 4 + float warpfac 180 4 + float colspecfac 184 4 + float mirrfac 188 4 + float alphafac 192 4 + float difffac 196 4 + float specfac 200 4 + float emitfac 204 4 + float hardfac 208 4 + float raymirrfac 212 4 + float translfac 216 4 + float ambfac 220 4 + float colemitfac 224 4 + float colreflfac 228 4 + float coltransfac 232 4 + float densfac 236 4 + float scatterfac 240 4 + float reflfac 244 4 + float timefac 248 4 + float lengthfac 252 4 + float clumpfac 256 4 + float dampfac 260 4 + float kinkfac 264 4 + float roughfac 268 4 + float padensfac 272 4 + float gravityfac 276 4 + float lifefac 280 4 + float sizefac 284 4 + float ivelfac 288 4 + float fieldfac 292 4 + float shadowfac 296 4 + float zenupfac 300 4 + float zendownfac 304 4 + float blendfac 308 4 + +CBData 24 + + float r 0 4 + float g 4 4 + float b 8 4 + float a 12 4 + float pos 16 4 + int cur 20 4 + +ColorBand 776 + + short flag 0 2 + short tot 2 2 + short cur 4 2 + short ipotype 6 2 + CBData data 8 768 + +EnvMap 200 + + Object *object 0 8 + Image *ima 8 8 + ImBuf *cube 16 48 + float imat 64 64 + float obimat 128 36 + short type 164 2 + short stype 166 2 + float clipsta 168 4 + float clipend 172 4 + float viewscale 176 4 + int notlay 180 4 + short cuberes 184 2 + short depth 186 2 + int ok 188 4 + int lastframe 192 4 + short recalc 196 2 + short lastsize 198 2 + +PointDensity 104 + + short flag 0 2 + short falloff_type 2 2 + float falloff_softness 4 4 + float radius 8 4 + short source 12 2 + short color_source 14 2 + int totpoints 16 4 + int pdpad 20 4 + Object *object 24 8 + int psys 32 4 + short psys_cache_space 36 2 + short ob_cache_space 38 2 + void *point_tree 40 8 + float *point_data 48 8 + float noise_size 56 4 + short noise_depth 60 2 + short noise_influence 62 2 + short noise_basis 64 2 + short pdpad3 66 6 + float noise_fac 72 4 + float speed_scale 76 4 + float falloff_speed_scale 80 4 + float pdpad2 84 4 + ColorBand *coba 88 8 + CurveMapping *falloff_curve 96 8 + +VoxelData 1088 + + int resol 0 12 + int interp_type 12 4 + short file_format 16 2 + short flag 18 2 + short extend 20 2 + short smoked_type 22 2 + short data_type 24 2 + short pad 26 2 + int _pad 28 4 + Object *object 32 8 + float int_multiplier 40 4 + int still_frame 44 4 + char source_path 48 1024 + float *dataset 1072 8 + int cachedframe 1080 4 + int ok 1084 4 + +OceanTex 80 + + Object *object 0 8 + char oceanmod 8 64 + int output 72 4 + int pad 76 4 + +Tex 416 + + ID id 0 120 + AnimData *adt 120 8 + float noisesize 128 4 + float turbul 132 4 + float bright 136 4 + float contrast 140 4 + float saturation 144 4 + float rfac 148 4 + float gfac 152 4 + float bfac 156 4 + float filtersize 160 4 + float pad2 164 4 + float mg_H 168 4 + float mg_lacunarity 172 4 + float mg_octaves 176 4 + float mg_offset 180 4 + float mg_gain 184 4 + float dist_amount 188 4 + float ns_outscale 192 4 + float vn_w1 196 4 + float vn_w2 200 4 + float vn_w3 204 4 + float vn_w4 208 4 + float vn_mexp 212 4 + short vn_distm 216 2 + short vn_coltype 218 2 + short noisedepth 220 2 + short noisetype 222 2 + short noisebasis 224 2 + short noisebasis2 226 2 + short imaflag 228 2 + short flag 230 2 + short type 232 2 + short stype 234 2 + float cropxmin 236 4 + float cropymin 240 4 + float cropxmax 244 4 + float cropymax 248 4 + int texfilter 252 4 + int afmax 256 4 + short xrepeat 260 2 + short yrepeat 262 2 + short extend 264 2 + short fie_ima 266 2 + int len 268 4 + int frames 272 4 + int offset 276 4 + int sfra 280 4 + float checkerdist 284 4 + float nabla 288 4 + float pad1 292 4 + ImageUser iuser 296 40 + bNodeTree *nodetree 336 8 + Ipo *ipo 344 8 + Image *ima 352 8 + ColorBand *coba 360 8 + EnvMap *env 368 8 + PreviewImage *preview 376 8 + PointDensity *pd 384 8 + VoxelData *vd 392 8 + OceanTex *ot 400 8 + char use_nodes 408 1 + char pad 409 7 + +TexMapping 144 + + float loc 0 12 + float rot 12 12 + float size 24 12 + int flag 36 4 + char projx 40 1 + char projy 41 1 + char projz 42 1 + char mapping 43 1 + int type 44 4 + float mat 48 64 + float min 112 12 + float max 124 12 + Object *ob 136 8 + +ColorMapping 824 + + ColorBand coba 0 776 + float bright 776 4 + float contrast 780 4 + float saturation 784 4 + int flag 788 4 + float blend_color 792 12 + float blend_factor 804 4 + int blend_type 808 4 + int pad 812 12 + +Lamp 528 + + ID id 0 120 + AnimData *adt 120 8 + short type 128 2 + short flag 130 2 + int mode 132 4 + short colormodel 136 2 + short totex 138 2 + float r 140 4 + float g 144 4 + float b 148 4 + float k 152 4 + float shdwr 156 4 + float shdwg 160 4 + float shdwb 164 4 + float shdwpad 168 4 + float energy 172 4 + float dist 176 4 + float spotsize 180 4 + float spotblend 184 4 + float haint 188 4 + float att1 192 4 + float att2 196 4 + CurveMapping *curfalloff 200 8 + short falloff_type 208 2 + short pad2 210 2 + float clipsta 212 4 + float clipend 216 4 + float shadspotsize 220 4 + float bias 224 4 + float soft 228 4 + float compressthresh 232 4 + float bleedbias 236 4 + float pad5 240 8 + short bufsize 248 2 + short samp 250 2 + short buffers 252 2 + short filtertype 254 2 + char bufflag 256 1 + char buftype 257 1 + short ray_samp 258 2 + short ray_sampy 260 2 + short ray_sampz 262 2 + short ray_samp_type 264 2 + short area_shape 266 2 + float area_size 268 4 + float area_sizey 272 4 + float area_sizez 276 4 + float adapt_thresh 280 4 + short ray_samp_method 284 2 + short shadowmap_type 286 2 + short texact 288 2 + short shadhalostep 290 2 + short sun_effect_type 292 2 + short skyblendtype 294 2 + float horizon_brightness 296 4 + float spread 300 4 + float sun_brightness 304 4 + float sun_size 308 4 + float backscattered_light 312 4 + float sun_intensity 316 4 + float atm_turbidity 320 4 + float atm_inscattering_factor 324 4 + float atm_extinction_factor 328 4 + float atm_distance_factor 332 4 + float skyblendfac 336 4 + float sky_exposure 340 4 + float shadow_frustum_size 344 4 + short sky_colorspace 348 2 + char pad4 350 2 + Ipo *ipo 352 8 + MTex *mtex 360 144 + short pr_texture 504 2 + short use_nodes 506 2 + char pad6 508 4 + PreviewImage *preview 512 8 + bNodeTree *nodetree 520 8 + +VolumeSettings 88 + + float density 0 4 + float emission 4 4 + float scattering 8 4 + float reflection 12 4 + float emission_col 16 12 + float transmission_col 28 12 + float reflection_col 40 12 + float density_scale 52 4 + float depth_cutoff 56 4 + float asymmetry 60 4 + short stepsize_type 64 2 + short shadeflag 66 2 + short shade_type 68 2 + short precache_resolution 70 2 + float stepsize 72 4 + float ms_diff 76 4 + float ms_intensity 80 4 + float ms_spread 84 4 + +GameSettings 16 + + int flag 0 4 + int alpha_blend 4 4 + int face_orientation 8 4 + int pad1 12 4 + +Material 904 + + ID id 0 120 + AnimData *adt 120 8 + short material_type 128 2 + short flag 130 2 + float r 132 4 + float g 136 4 + float b 140 4 + float specr 144 4 + float specg 148 4 + float specb 152 4 + float mirr 156 4 + float mirg 160 4 + float mirb 164 4 + float ambr 168 4 + float ambb 172 4 + float ambg 176 4 + float amb 180 4 + float emit 184 4 + float ang 188 4 + float spectra 192 4 + float ray_mirror 196 4 + float alpha 200 4 + float ref 204 4 + float spec 208 4 + float zoffs 212 4 + float add 216 4 + float translucency 220 4 + VolumeSettings vol 224 88 + GameSettings game 312 16 + float fresnel_mir 328 4 + float fresnel_mir_i 332 4 + float fresnel_tra 336 4 + float fresnel_tra_i 340 4 + float filter 344 4 + float tx_limit 348 4 + float tx_falloff 352 4 + short ray_depth 356 2 + short ray_depth_tra 358 2 + short har 360 2 + char seed1 362 1 + char seed2 363 1 + float gloss_mir 364 4 + float gloss_tra 368 4 + short samp_gloss_mir 372 2 + short samp_gloss_tra 374 2 + float adapt_thresh_mir 376 4 + float adapt_thresh_tra 380 4 + float aniso_gloss_mir 384 4 + float dist_mir 388 4 + short fadeto_mir 392 2 + short shade_flag 394 2 + int mode 396 4 + int mode_l 400 4 + short flarec 404 2 + short starc 406 2 + short linec 408 2 + short ringc 410 2 + float hasize 412 4 + float flaresize 416 4 + float subsize 420 4 + float flareboost 424 4 + float strand_sta 428 4 + float strand_end 432 4 + float strand_ease 436 4 + float strand_surfnor 440 4 + float strand_min 444 4 + float strand_widthfade 448 4 + char strand_uvname 452 64 + float sbias 516 4 + float lbias 520 4 + float shad_alpha 524 4 + int septex 528 4 + char rgbsel 532 1 + char texact 533 1 + char pr_type 534 1 + char use_nodes 535 1 + short pr_lamp 536 2 + short pr_texture 538 2 + short ml_flag 540 2 + char mapflag 542 1 + char pad 543 1 + short diff_shader 544 2 + short spec_shader 546 2 + float roughness 548 4 + float refrac 552 4 + float param 556 16 + float rms 572 4 + float darkness 576 4 + short texco 580 2 + short mapto 582 2 + ColorBand *ramp_col 584 8 + ColorBand *ramp_spec 592 8 + char rampin_col 600 1 + char rampin_spec 601 1 + char rampblend_col 602 1 + char rampblend_spec 603 1 + short ramp_show 604 2 + short pad3 606 2 + float rampfac_col 608 4 + float rampfac_spec 612 4 + MTex *mtex 616 144 + bNodeTree *nodetree 760 8 + Ipo *ipo 768 8 + Group *group 776 8 + PreviewImage *preview 784 8 + float friction 792 4 + float fh 796 4 + float reflect 800 4 + float fhdist 804 4 + float xyfrict 808 4 + short dynamode 812 2 + short pad2 814 2 + float sss_radius 816 12 + float sss_col 828 12 + float sss_error 840 4 + float sss_scale 844 4 + float sss_ior 848 4 + float sss_colfac 852 4 + float sss_texfac 856 4 + float sss_front 860 4 + float sss_back 864 4 + short sss_flag 868 2 + short sss_preset 870 2 + int mapto_textured 872 4 + short shadowonly_flag 876 2 + short index 878 2 + short vcol_alpha 880 2 + short pad4 882 6 + ListBase gpumaterial 888 16 + +VFont 1168 + + ID id 0 120 + char name 120 1024 + VFontData *data 1144 8 + PackedFile *packedfile 1152 8 + PackedFile *temp_pf 1160 8 + +MetaElem 104 + + MetaElem *next 0 8 + MetaElem *prev 8 8 + BoundBox *bb 16 8 + short type 24 2 + short flag 26 2 + short selcol1 28 2 + short selcol2 30 2 + float x 32 4 + float y 36 4 + float z 40 4 + float quat 44 16 + float expx 60 4 + float expy 64 4 + float expz 68 4 + float rad 72 4 + float rad2 76 4 + float s 80 4 + float len 84 4 + float *mat 88 8 + float *imat 96 8 + +MetaBall 248 + + ID id 0 120 + AnimData *adt 120 8 + ListBase elems 128 16 + ListBase disp 144 16 + ListBase *editelems 160 8 + Ipo *ipo 168 8 + Material **mat 176 8 + char flag 184 1 + char flag2 185 1 + short totcol 186 2 + short texflag 188 2 + short pad 190 2 + float loc 192 12 + float size 204 12 + float rot 216 12 + float wiresize 228 4 + float rendersize 232 4 + float thresh 236 4 + MetaElem *lastelem 240 8 + +BezTriple 56 + + float vec 0 36 + float alfa 36 4 + float weight 40 4 + float radius 44 4 + short ipo 48 2 + char h1 50 1 + char h2 51 1 + char f1 52 1 + char f2 53 1 + char f3 54 1 + char hide 55 1 + +BPoint 36 + + float vec 0 16 + float alfa 16 4 + float weight 20 4 + short f1 24 2 + short hide 26 2 + float radius 28 4 + float pad 32 4 + +Nurb 80 + + Nurb *next 0 8 + Nurb *prev 8 8 + short type 16 2 + short mat_nr 18 2 + short hide 20 2 + short flag 22 2 + short pntsu 24 2 + short pntsv 26 2 + short resolu 28 2 + short resolv 30 2 + short orderu 32 2 + short orderv 34 2 + short flagu 36 2 + short flagv 38 2 + float *knotsu 40 8 + float *knotsv 48 8 + BPoint *bp 56 8 + BezTriple *bezt 64 8 + short tilt_interp 72 2 + short radius_interp 74 2 + int charidx 76 4 + +CharInfo 8 + + short kern 0 2 + short mat_nr 2 2 + char flag 4 1 + char pad 5 1 + short pad2 6 2 + +TextBox 16 + + float x 0 4 + float y 4 4 + float w 8 4 + float h 12 4 + +EditNurb 32 + + ListBase nurbs 0 16 + GHash *keyindex 16 8 + int shapenr 24 4 + char pad 28 4 + +Curve 504 + + ID id 0 120 + AnimData *adt 120 8 + BoundBox *bb 128 8 + ListBase nurb 136 16 + ListBase disp 152 16 + EditNurb *editnurb 168 8 + Object *bevobj 176 8 + Object *taperobj 184 8 + Object *textoncurve 192 8 + Ipo *ipo 200 8 + Key *key 208 8 + Material **mat 216 8 + float loc 224 12 + float size 236 12 + float rot 248 12 + short type 260 2 + short texflag 262 2 + short drawflag 264 2 + short twist_mode 266 2 + float twist_smooth 268 4 + float smallcaps_scale 272 4 + int pathlen 276 4 + short bevresol 280 2 + short totcol 282 2 + int flag 284 4 + float width 288 4 + float ext1 292 4 + float ext2 296 4 + short resolu 300 2 + short resolv 302 2 + short resolu_ren 304 2 + short resolv_ren 306 2 + int actnu 308 4 + void *lastsel 312 8 + short len 320 2 + short lines 322 2 + short pos 324 2 + short spacemode 326 2 + float spacing 328 4 + float linedist 332 4 + float shear 336 4 + float fsize 340 4 + float wordspace 344 4 + float ulpos 348 4 + float ulheight 352 4 + float xof 356 4 + float yof 360 4 + float linewidth 364 4 + char *str 368 8 + SelBox *selboxes 376 8 + EditFont *editfont 384 8 + char family 392 24 + VFont *vfont 416 8 + VFont *vfontb 424 8 + VFont *vfonti 432 8 + VFont *vfontbi 440 8 + int sepchar 448 4 + float ctime 452 4 + int totbox 456 4 + int actbox 460 4 + TextBox *tb 464 8 + int selstart 472 4 + int selend 476 4 + CharInfo *strinfo 480 8 + CharInfo curinfo 488 8 + float bevfac1 496 4 + float bevfac2 500 4 + +Mesh 1336 + + ID id 0 120 + AnimData *adt 120 8 + BoundBox *bb 128 8 + Ipo *ipo 136 8 + Key *key 144 8 + Material **mat 152 8 + MSelect *mselect 160 8 + MPoly *mpoly 168 8 + MTexPoly *mtpoly 176 8 + MLoop *mloop 184 8 + MLoopUV *mloopuv 192 8 + MLoopCol *mloopcol 200 8 + MFace *mface 208 8 + MTFace *mtface 216 8 + TFace *tface 224 8 + MVert *mvert 232 8 + MEdge *medge 240 8 + MDeformVert *dvert 248 8 + MCol *mcol 256 8 + Mesh *texcomesh 264 8 + BMEditMesh *edit_btmesh 272 8 + CustomData vdata 280 192 + CustomData edata 472 192 + CustomData fdata 664 192 + CustomData pdata 856 192 + CustomData ldata 1048 192 + int totvert 1240 4 + int totedge 1244 4 + int totface 1248 4 + int totselect 1252 4 + int totpoly 1256 4 + int totloop 1260 4 + int act_face 1264 4 + float loc 1268 12 + float size 1280 12 + float rot 1292 12 + int drawflag 1304 4 + short texflag 1308 2 + short pad2 1310 6 + short smoothresh 1316 2 + short flag 1318 2 + char cd_flag 1320 1 + char pad 1321 1 + char subdiv 1322 1 + char subdivr 1323 1 + char subsurftype 1324 1 + char editflag 1325 1 + short totcol 1326 2 + Multires *mr 1328 8 + +TFace 64 + + void *tpage 0 8 + float uv 8 32 + int col 40 16 + char flag 56 1 + char transp 57 1 + short mode 58 2 + short tile 60 2 + short unwrap 62 2 + +MFace 20 + + int v1 0 4 + int v2 4 4 + int v3 8 4 + int v4 12 4 + short mat_nr 16 2 + char edcode 18 1 + char flag 19 1 + +MEdge 12 + + int v1 0 4 + int v2 4 4 + char crease 8 1 + char bweight 9 1 + short flag 10 2 + +MDeformWeight 8 + + int def_nr 0 4 + float weight 4 4 + +MDeformVert 16 + + MDeformWeight *dw 0 8 + int totweight 8 4 + int flag 12 4 + +MVert 20 + + float co 0 12 + short no 12 6 + char flag 18 1 + char bweight 19 1 + +MCol 4 + + char a 0 1 + char r 1 1 + char g 2 1 + char b 3 1 + +MPoly 12 + + int loopstart 0 4 + int totloop 4 4 + short mat_nr 8 2 + char flag 10 1 + char pad 11 1 + +MLoop 8 + + int v 0 4 + int e 4 4 + +MTexPoly 16 + + Image *tpage 0 8 + char flag 8 1 + char transp 9 1 + short mode 10 2 + short tile 12 2 + short pad 14 2 + +MLoopUV 12 + + float uv 0 8 + int flag 8 4 + +MLoopCol 4 + + char r 0 1 + char g 1 1 + char b 2 1 + char a 3 1 + +MSelect 8 + + int index 0 4 + int type 4 4 + +MTFace 48 + + float uv 0 32 + Image *tpage 32 8 + char flag 40 1 + char transp 41 1 + short mode 42 2 + short tile 44 2 + short unwrap 46 2 + +MFloatProperty 4 + + float f 0 4 + +MIntProperty 4 + + int i 0 4 + +MStringProperty 256 + + char s 0 255 + char s_len 255 1 + +OrigSpaceFace 32 + + float uv 0 32 + +OrigSpaceLoop 8 + + float uv 0 8 + +MDisps 20 + + int totdisp 0 4 + int level 4 4 + float (*disps)() 8 4 + int *hidden 12 8 + +MultiresCol 16 + + float a 0 4 + float r 4 4 + float g 8 4 + float b 12 4 + +MultiresColFace 64 + + MultiresCol col 0 64 + +MultiresFace 24 + + int v 0 16 + int mid 16 4 + char flag 20 1 + char mat_nr 21 1 + char pad 22 2 + +MultiresEdge 12 + + int v 0 8 + int mid 8 4 + +MultiresLevel 64 + + MultiresLevel *next 0 8 + MultiresLevel *prev 8 8 + MultiresFace *faces 16 8 + MultiresColFace *colfaces 24 8 + MultiresEdge *edges 32 8 + int totvert 40 4 + int totface 44 4 + int totedge 48 4 + int pad 52 4 + MVert *verts 56 8 + +Multires 432 + + ListBase levels 0 16 + MVert *verts 16 8 + char level_count 24 1 + char current 25 1 + char newlvl 26 1 + char edgelvl 27 1 + char pinlvl 28 1 + char renderlvl 29 1 + char use_col 30 1 + char flag 31 1 + CustomData vdata 32 192 + CustomData fdata 224 192 + short *edge_flags 416 8 + char *edge_creases 424 8 + +MRecast 4 + + int i 0 4 + +GridPaintMask 16 + + float *data 0 8 + int level 8 4 + int pad 12 4 + +MVertSkin 16 + + float radius 0 12 + int flag 12 4 + +FreestyleEdge 4 + + char flag 0 1 + char pad 1 3 + +FreestyleFace 4 + + char flag 0 1 + char pad 1 3 + +ModifierData 112 + + ModifierData *next 0 8 + ModifierData *prev 8 8 + int type 16 4 + int mode 20 4 + int stackindex 24 4 + int pad 28 4 + char name 32 64 + Scene *scene 96 8 + char *error 104 8 + +MappingInfoModifierData 200 + + ModifierData modifier 0 112 + Tex *texture 112 8 + Object *map_object 120 8 + char uvlayer_name 128 64 + int uvlayer_tmp 192 4 + int texmapping 196 4 + +SubsurfModifierData 136 + + ModifierData modifier 0 112 + short subdivType 112 2 + short levels 114 2 + short renderLevels 116 2 + short flags 118 2 + void *emCache 120 8 + void *mCache 128 8 + +LatticeModifierData 192 + + ModifierData modifier 0 112 + Object *object 112 8 + char name 120 64 + float strength 184 4 + char pad 188 4 + +CurveModifierData 192 + + ModifierData modifier 0 112 + Object *object 112 8 + char name 120 64 + short defaxis 184 2 + char pad 186 6 + +BuildModifierData 128 + + ModifierData modifier 0 112 + float start 112 4 + float length 116 4 + int randomize 120 4 + int seed 124 4 + +MaskModifierData 192 + + ModifierData modifier 0 112 + Object *ob_arm 112 8 + char vgroup 120 64 + int mode 184 4 + int flag 188 4 + +ArrayModifierData 192 + + ModifierData modifier 0 112 + Object *start_cap 112 8 + Object *end_cap 120 8 + Object *curve_ob 128 8 + Object *offset_ob 136 8 + float offset 144 12 + float scale 156 12 + float length 168 4 + float merge_dist 172 4 + int fit_type 176 4 + int offset_type 180 4 + int flags 184 4 + int count 188 4 + +MirrorModifierData 128 + + ModifierData modifier 0 112 + short axis 112 2 + short flag 114 2 + float tolerance 116 4 + Object *mirror_ob 120 8 + +EdgeSplitModifierData 120 + + ModifierData modifier 0 112 + float split_angle 112 4 + int flags 116 4 + +BevelModifierData 200 + + ModifierData modifier 0 112 + float value 112 4 + int res 116 4 + int pad 120 4 + short flags 124 2 + short val_flags 126 2 + short lim_flags 128 2 + short e_flags 130 2 + float bevel_angle 132 4 + char defgrp_name 136 64 + +SmokeModifierData 144 + + ModifierData modifier 0 112 + SmokeDomainSettings *domain 112 8 + SmokeFlowSettings *flow 120 8 + SmokeCollSettings *coll 128 8 + float time 136 4 + int type 140 4 + +DisplaceModifierData 280 + + ModifierData modifier 0 112 + Tex *texture 112 8 + Object *map_object 120 8 + char uvlayer_name 128 64 + int uvlayer_tmp 192 4 + int texmapping 196 4 + float strength 200 4 + int direction 204 4 + char defgrp_name 208 64 + float midlevel 272 4 + int pad 276 4 + +UVProjectModifierData 296 + + ModifierData modifier 0 112 + Object *projectors 112 80 + Image *image 192 8 + int flags 200 4 + int num_projectors 204 4 + float aspectx 208 4 + float aspecty 212 4 + float scalex 216 4 + float scaley 220 4 + char uvlayer_name 224 64 + int uvlayer_tmp 288 4 + int pad 292 4 + +DecimateModifierData 200 + + ModifierData modifier 0 112 + float percent 112 4 + short iter 116 2 + char delimit 118 1 + char pad 119 1 + float angle 120 4 + char defgrp_name 124 64 + short flag 188 2 + short mode 190 2 + int face_count 192 4 + int pad2 196 4 + +SmoothModifierData 184 + + ModifierData modifier 0 112 + float fac 112 4 + char defgrp_name 116 64 + short flag 180 2 + short repeat 182 2 + +CastModifierData 200 + + ModifierData modifier 0 112 + Object *object 112 8 + float fac 120 4 + float radius 124 4 + float size 128 4 + char defgrp_name 132 64 + short flag 196 2 + short type 198 2 + +WaveModifierData 320 + + ModifierData modifier 0 112 + Tex *texture 112 8 + Object *map_object 120 8 + char uvlayer_name 128 64 + int uvlayer_tmp 192 4 + int texmapping 196 4 + Object *objectcenter 200 8 + char defgrp_name 208 64 + short flag 272 2 + short pad 274 2 + float startx 276 4 + float starty 280 4 + float height 284 4 + float width 288 4 + float narrow 292 4 + float speed 296 4 + float damp 300 4 + float falloff 304 4 + float timeoffs 308 4 + float lifetime 312 4 + float pad1 316 4 + +ArmatureModifierData 200 + + ModifierData modifier 0 112 + short deformflag 112 2 + short multi 114 2 + int pad2 116 4 + Object *object 120 8 + float *prevCos 128 8 + char defgrp_name 136 64 + +HookModifierData 344 + + ModifierData modifier 0 112 + Object *object 112 8 + char subtarget 120 64 + float parentinv 184 64 + float cent 248 12 + float falloff 260 4 + int *indexar 264 8 + int totindex 272 4 + float force 276 4 + char name 280 64 + +SoftbodyModifierData 112 + + ModifierData modifier 0 112 + +ClothModifierData 168 + + ModifierData modifier 0 112 + Scene *scene 112 8 + Cloth *clothObject 120 8 + ClothSimSettings *sim_parms 128 8 + ClothCollSettings *coll_parms 136 8 + PointCache *point_cache 144 8 + ListBase ptcaches 152 16 + +CollisionModifierData 192 + + ModifierData modifier 0 112 + MVert *x 112 8 + MVert *xnew 120 8 + MVert *xold 128 8 + MVert *current_xnew 136 8 + MVert *current_x 144 8 + MVert *current_v 152 8 + MFace *mfaces 160 8 + int numverts 168 4 + int numfaces 172 4 + float time_x 176 4 + float time_xnew 180 4 + BVHTree *bvhtree 184 8 + +SurfaceModifierData 152 + + ModifierData modifier 0 112 + MVert *x 112 8 + MVert *v 120 8 + DerivedMesh *dm 128 8 + BVHTreeFromMesh *bvhtree 136 8 + int cfra 144 4 + int numverts 148 4 + +BooleanModifierData 128 + + ModifierData modifier 0 112 + Object *object 112 8 + int operation 120 4 + int pad 124 4 + +MDefInfluence 8 + + int vertex 0 4 + float weight 4 4 + +MDefCell 8 + + int offset 0 4 + int totinfluence 4 4 + +MeshDeformModifierData 360 + + ModifierData modifier 0 112 + Object *object 112 8 + char defgrp_name 120 64 + short gridsize 184 2 + short flag 186 2 + short mode 188 2 + short pad 190 2 + MDefInfluence *bindinfluences 192 8 + int *bindoffsets 200 8 + float *bindcagecos 208 8 + int totvert 216 4 + int totcagevert 220 4 + MDefCell *dyngrid 224 8 + MDefInfluence *dyninfluences 232 8 + int *dynverts 240 8 + int *pad2 248 8 + int dyngridsize 256 4 + int totinfluence 260 4 + float dyncellmin 264 12 + float dyncellwidth 276 4 + float bindmat 280 64 + float *bindweights 344 8 + float *bindcos 352 8 + void (*bindfunc)() 360 0 + +ParticleSystemModifierData 144 + + ModifierData modifier 0 112 + ParticleSystem *psys 112 8 + DerivedMesh *dm 120 8 + int totdmvert 128 4 + int totdmedge 132 4 + int totdmface 136 4 + short flag 140 2 + short rt 142 2 + +ParticleInstanceModifierData 136 + + ModifierData modifier 0 112 + Object *ob 112 8 + short psys 120 2 + short flag 122 2 + short axis 124 2 + short rt 126 2 + float position 128 4 + float random_position 132 4 + +ExplodeModifierData 192 + + ModifierData modifier 0 112 + int *facepa 112 8 + short flag 120 2 + short vgroup 122 2 + float protect 124 4 + char uvname 128 64 + +MultiresModifierData 120 + + ModifierData modifier 0 112 + char lvl 112 1 + char sculptlvl 113 1 + char renderlvl 114 1 + char totlvl 115 1 + char simple 116 1 + char flags 117 1 + char pad 118 2 + +FluidsimModifierData 128 + + ModifierData modifier 0 112 + FluidsimSettings *fss 112 8 + PointCache *point_cache 120 8 + +ShrinkwrapModifierData 208 + + ModifierData modifier 0 112 + Object *target 112 8 + Object *auxTarget 120 8 + char vgroup_name 128 64 + float keepDist 192 4 + short shrinkType 196 2 + short shrinkOpts 198 2 + float projLimit 200 4 + char projAxis 204 1 + char subsurfLevels 205 1 + char pad 206 2 + +SimpleDeformModifierData 200 + + ModifierData modifier 0 112 + Object *origin 112 8 + char vgroup_name 120 64 + float factor 184 4 + float limit 188 8 + char mode 196 1 + char axis 197 1 + char pad 198 2 + +ShapeKeyModifierData 112 + + ModifierData modifier 0 112 + +SolidifyModifierData 216 + + ModifierData modifier 0 112 + char defgrp_name 112 64 + float offset 176 4 + float offset_fac 180 4 + float offset_fac_vg 184 4 + float offset_clamp 188 4 + float pad 192 4 + float crease_inner 196 4 + float crease_outer 200 4 + float crease_rim 204 4 + int flag 208 4 + short mat_ofs 212 2 + short mat_ofs_rim 214 2 + +ScrewModifierData 144 + + ModifierData modifier 0 112 + Object *ob_axis 112 8 + int steps 120 4 + int render_steps 124 4 + int iter 128 4 + float screw_ofs 132 4 + float angle 136 4 + short axis 140 2 + short flag 142 2 + +OceanModifierData 1296 + + ModifierData modifier 0 112 + Ocean *ocean 112 8 + OceanCache *oceancache 120 8 + int resolution 128 4 + int spatial_size 132 4 + float wind_velocity 136 4 + float damp 140 4 + float smallest_wave 144 4 + float depth 148 4 + float wave_alignment 152 4 + float wave_direction 156 4 + float wave_scale 160 4 + float chop_amount 164 4 + float foam_coverage 168 4 + float time 172 4 + int bakestart 176 4 + int bakeend 180 4 + char cachepath 184 1024 + char foamlayername 1208 64 + char cached 1272 1 + char geometry_mode 1273 1 + char flag 1274 1 + char refresh 1275 1 + short repeat_x 1276 2 + short repeat_y 1278 2 + int seed 1280 4 + float size 1284 4 + float foam_fade 1288 4 + int pad 1292 4 + +WarpModifierData 304 + + ModifierData modifier 0 112 + Tex *texture 112 8 + Object *map_object 120 8 + char uvlayer_name 128 64 + int uvlayer_tmp 192 4 + int texmapping 196 4 + Object *object_from 200 8 + Object *object_to 208 8 + CurveMapping *curfalloff 216 8 + char defgrp_name 224 64 + float strength 288 4 + float falloff_radius 292 4 + char flag 296 1 + char falloff_type 297 1 + char pad 298 6 + +WeightVGEditModifierData 360 + + ModifierData modifier 0 112 + char defgrp_name 112 64 + short edit_flags 176 2 + short falloff_type 178 2 + float default_weight 180 4 + CurveMapping *cmap_curve 184 8 + float add_threshold 192 4 + float rem_threshold 196 4 + float mask_constant 200 4 + char mask_defgrp_name 204 64 + int mask_tex_use_channel 268 4 + Tex *mask_texture 272 8 + Object *mask_tex_map_obj 280 8 + int mask_tex_mapping 288 4 + char mask_tex_uvlayer_name 292 64 + int pad_i1 356 4 + +WeightVGMixModifierData 416 + + ModifierData modifier 0 112 + char defgrp_name_a 112 64 + char defgrp_name_b 176 64 + float default_weight_a 240 4 + float default_weight_b 244 4 + char mix_mode 248 1 + char mix_set 249 1 + char pad_c1 250 6 + float mask_constant 256 4 + char mask_defgrp_name 260 64 + int mask_tex_use_channel 324 4 + Tex *mask_texture 328 8 + Object *mask_tex_map_obj 336 8 + int mask_tex_mapping 344 4 + char mask_tex_uvlayer_name 348 64 + int pad_i1 412 4 + +WeightVGProximityModifierData 360 + + ModifierData modifier 0 112 + char defgrp_name 112 64 + int proximity_mode 176 4 + int proximity_flags 180 4 + Object *proximity_ob_target 184 8 + float mask_constant 192 4 + char mask_defgrp_name 196 64 + int mask_tex_use_channel 260 4 + Tex *mask_texture 264 8 + Object *mask_tex_map_obj 272 8 + int mask_tex_mapping 280 4 + char mask_tex_uvlayer_name 284 64 + float min_dist 348 4 + float max_dist 352 4 + short falloff_type 356 2 + short pad_s1 358 2 + +DynamicPaintModifierData 136 + + ModifierData modifier 0 112 + DynamicPaintCanvasSettings *canvas 112 8 + DynamicPaintBrushSettings *brush 120 8 + int type 128 4 + int pad 132 4 + +RemeshModifierData 128 + + ModifierData modifier 0 112 + float threshold 112 4 + float scale 116 4 + float hermite_num 120 4 + char depth 124 1 + char flag 125 1 + char mode 126 1 + char pad 127 1 + +SkinModifierData 120 + + ModifierData modifier 0 112 + float branch_smoothing 112 4 + char flag 116 1 + char symmetry_axes 117 1 + char pad 118 2 + +TriangulateModifierData 120 + + ModifierData modifier 0 112 + int flag 112 4 + int pad 116 4 + +LaplacianSmoothModifierData 192 + + ModifierData modifier 0 112 + float lambda 112 4 + float lambda_border 116 4 + float pad1 120 4 + char defgrp_name 124 64 + short flag 188 2 + short repeat 190 2 + +UVWarpModifierData 400 + + ModifierData modifier 0 112 + char axis_u 112 1 + char axis_v 113 1 + char pad 114 6 + float center 120 8 + Object *object_src 128 8 + char bone_src 136 64 + Object *object_dst 200 8 + char bone_dst 208 64 + char vgroup_name 272 64 + char uvlayer_name 336 64 + +MeshCacheModifierData 1176 + + ModifierData modifier 0 112 + char flag 112 1 + char type 113 1 + char time_mode 114 1 + char play_mode 115 1 + char forward_axis 116 1 + char up_axis 117 1 + char flip_axis 118 1 + char interp 119 1 + float factor 120 4 + char deform_mode 124 1 + char pad 125 7 + float frame_start 132 4 + float frame_scale 136 4 + float eval_frame 140 4 + float eval_time 144 4 + float eval_factor 148 4 + char filepath 152 1024 + +EditLatt 16 + + Lattice *latt 0 8 + int shapenr 8 4 + char pad 12 4 + +Lattice 280 + + ID id 0 120 + AnimData *adt 120 8 + short pntsu 128 2 + short pntsv 130 2 + short pntsw 132 2 + short flag 134 2 + short opntsu 136 2 + short opntsv 138 2 + short opntsw 140 2 + short pad2 142 2 + char typeu 144 1 + char typev 145 1 + char typew 146 1 + char pad3 147 1 + int actbp 148 4 + float fu 152 4 + float fv 156 4 + float fw 160 4 + float du 164 4 + float dv 168 4 + float dw 172 4 + BPoint *def 176 8 + Ipo *ipo 184 8 + Key *key 192 8 + MDeformVert *dvert 200 8 + char vgroup 208 64 + EditLatt *editlatt 272 8 + +bDeformGroup 88 + + bDeformGroup *next 0 8 + bDeformGroup *prev 8 8 + char name 16 64 + char flag 80 1 + char pad 81 7 + +BoundBox 104 + + float vec 0 96 + int flag 96 4 + int pad 100 4 + +Object 1416 + + ID id 0 120 + AnimData *adt 120 8 + SculptSession *sculpt 128 8 + short type 136 2 + short partype 138 2 + int par1 140 4 + int par2 144 4 + int par3 148 4 + char parsubstr 152 64 + Object *parent 216 8 + Object *track 224 8 + Object *proxy 232 8 + Object *proxy_group 240 8 + Object *proxy_from 248 8 + Ipo *ipo 256 8 + BoundBox *bb 264 8 + bAction *action 272 8 + bAction *poselib 280 8 + bPose *pose 288 8 + void *data 296 8 + bGPdata *gpd 304 8 + bAnimVizSettings avs 312 48 + bMotionPath *mpath 360 8 + ListBase constraintChannels 368 16 + ListBase effect 384 16 + ListBase defbase 400 16 + ListBase modifiers 416 16 + int mode 432 4 + int restore_mode 436 4 + Material **mat 440 8 + char *matbits 448 8 + int totcol 456 4 + int actcol 460 4 + float loc 464 12 + float dloc 476 12 + float orig 488 12 + float size 500 12 + float dsize 512 12 + float dscale 524 12 + float rot 536 12 + float drot 548 12 + float quat 560 16 + float dquat 576 16 + float rotAxis 592 12 + float drotAxis 604 12 + float rotAngle 616 4 + float drotAngle 620 4 + float obmat 624 64 + float parentinv 688 64 + float constinv 752 64 + float imat 816 64 + float imat_ren 880 64 + int lay 944 4 + float sf 948 4 + short flag 952 2 + short colbits 954 2 + short transflag 956 2 + short protectflag 958 2 + short trackflag 960 2 + short upflag 962 2 + short nlaflag 964 2 + short ipoflag 966 2 + short scaflag 968 2 + char scavisflag 970 1 + char depsflag 971 1 + int dupon 972 4 + int dupoff 976 4 + int dupsta 980 4 + int dupend 984 4 + float mass 988 4 + float damping 992 4 + float inertia 996 4 + float formfactor 1000 4 + float rdamping 1004 4 + float sizefac 1008 4 + float margin 1012 4 + float max_vel 1016 4 + float min_vel 1020 4 + float m_contactProcessingThreshold 1024 4 + float obstacleRad 1028 4 + float step_height 1032 4 + float jump_speed 1036 4 + float fall_speed 1040 4 + short col_group 1044 2 + short col_mask 1046 2 + short rotmode 1048 2 + char boundtype 1050 1 + char collision_boundtype 1051 1 + short dtx 1052 2 + char dt 1054 1 + char empty_drawtype 1055 1 + float empty_drawsize 1056 4 + float dupfacesca 1060 4 + ListBase prop 1064 16 + ListBase sensors 1080 16 + ListBase controllers 1096 16 + ListBase actuators 1112 16 + float bbsize 1128 12 + short index 1140 2 + short actdef 1142 2 + float col 1144 16 + int gameflag 1160 4 + int gameflag2 1164 4 + BulletSoftBody *bsoft 1168 8 + char restrictflag 1176 1 + char recalc 1177 1 + short softflag 1178 2 + float anisotropicFriction 1180 12 + ListBase constraints 1192 16 + ListBase nlastrips 1208 16 + ListBase hooks 1224 16 + ListBase particlesystem 1240 16 + PartDeflect *pd 1256 8 + SoftBody *soft 1264 8 + Group *dup_group 1272 8 + char body_type 1280 1 + char shapeflag 1281 1 + short shapenr 1282 2 + float smoothresh 1284 4 + FluidsimSettings *fluidsimSettings 1288 8 + DerivedMesh *derivedDeform 1296 8 + DerivedMesh *derivedFinal 1304 8 + int *pad 1312 8 + uint64_t lastDataMask 1320 8 + uint64_t customdata_mask 1328 8 + int state 1336 4 + int init_state 1340 4 + ListBase gpulamp 1344 16 + ListBase pc_ids 1360 16 + ListBase *duplilist 1376 8 + RigidBodyOb *rigidbody_object 1384 8 + RigidBodyCon *rigidbody_constraint 1392 8 + float ima_ofs 1400 8 + CurveCache *curve_cache 1408 8 + +ObHook 256 + + ObHook *next 0 8 + ObHook *prev 8 8 + Object *parent 16 8 + float parentinv 24 64 + float mat 88 64 + float cent 152 12 + float falloff 164 4 + char name 168 64 + int *indexar 232 8 + int totindex 240 4 + int curindex 244 4 + short type 248 2 + short active 250 2 + float force 252 4 + +DupliObject 224 + + DupliObject *next 0 8 + DupliObject *prev 8 8 + Object *ob 16 8 + int origlay 24 4 + int pad 28 4 + float mat 32 64 + float omat 96 64 + float orco 160 12 + float uv 172 8 + short type 180 2 + char no_draw 182 1 + char animated 183 1 + int persistent_id 184 32 + ParticleSystem *particle_system 216 8 + +PartDeflect 160 + + int flag 0 4 + short deflect 4 2 + short forcefield 6 2 + short falloff 8 2 + short shape 10 2 + short tex_mode 12 2 + short kink 14 2 + short kink_axis 16 2 + short zdir 18 2 + float f_strength 20 4 + float f_damp 24 4 + float f_flow 28 4 + float f_size 32 4 + float f_power 36 4 + float maxdist 40 4 + float mindist 44 4 + float f_power_r 48 4 + float maxrad 52 4 + float minrad 56 4 + float pdef_damp 60 4 + float pdef_rdamp 64 4 + float pdef_perm 68 4 + float pdef_frict 72 4 + float pdef_rfrict 76 4 + float pdef_stickness 80 4 + float absorption 84 4 + float pdef_sbdamp 88 4 + float pdef_sbift 92 4 + float pdef_sboft 96 4 + float clump_fac 100 4 + float clump_pow 104 4 + float kink_freq 108 4 + float kink_shape 112 4 + float kink_amp 116 4 + float free_end 120 4 + float tex_nabla 124 4 + Tex *tex 128 8 + RNG *rng 136 8 + float f_noise 144 4 + int seed 148 4 + Object *f_source 152 8 + +EffectorWeights 80 + + Group *group 0 8 + float weight 8 56 + float global_gravity 64 4 + short flag 68 2 + short rt 70 6 + int pad 76 4 + +PTCacheExtra 32 + + PTCacheExtra *next 0 8 + PTCacheExtra *prev 8 8 + int type 16 4 + int totdata 20 4 + void *data 24 8 + +PTCacheMem 176 + + PTCacheMem *next 0 8 + PTCacheMem *prev 8 8 + int frame 16 4 + int totpoint 20 4 + int data_types 24 4 + int flag 28 4 + void *data 32 64 + void *cur 96 64 + ListBase extradata 160 16 + +PointCache 1312 + + PointCache *next 0 8 + PointCache *prev 8 8 + int flag 16 4 + int step 20 4 + int simframe 24 4 + int startframe 28 4 + int endframe 32 4 + int editframe 36 4 + int last_exact 40 4 + int last_valid 44 4 + int pad 48 4 + int totpoint 52 4 + int index 56 4 + short compression 60 2 + short rt 62 2 + char name 64 64 + char prev_name 128 64 + char info 192 64 + char path 256 1024 + char *cached_frames 1280 8 + ListBase mem_cache 1288 16 + PTCacheEdit *edit 1304 8 + void (*free_edit)() 1312 0 + +SBVertex 16 + + float vec 0 16 + +BulletSoftBody 120 + + int flag 0 4 + float linStiff 4 4 + float angStiff 8 4 + float volume 12 4 + int viterations 16 4 + int piterations 20 4 + int diterations 24 4 + int citerations 28 4 + float kSRHR_CL 32 4 + float kSKHR_CL 36 4 + float kSSHR_CL 40 4 + float kSR_SPLT_CL 44 4 + float kSK_SPLT_CL 48 4 + float kSS_SPLT_CL 52 4 + float kVCF 56 4 + float kDP 60 4 + float kDG 64 4 + float kLF 68 4 + float kPR 72 4 + float kVC 76 4 + float kDF 80 4 + float kMT 84 4 + float kCHR 88 4 + float kKHR 92 4 + float kSHR 96 4 + float kAHR 100 4 + int collisionflags 104 4 + int numclusteriterations 108 4 + float welding 112 4 + float margin 116 4 + +SoftBody 472 + + int totpoint 0 4 + int totspring 4 4 + BodyPoint *bpoint 8 8 + BodySpring *bspring 16 8 + char pad 24 1 + char msg_lock 25 1 + short msg_value 26 2 + float nodemass 28 4 + char namedVG_Mass 32 64 + float grav 96 4 + float mediafrict 100 4 + float rklimit 104 4 + float physics_speed 108 4 + float goalspring 112 4 + float goalfrict 116 4 + float mingoal 120 4 + float maxgoal 124 4 + float defgoal 128 4 + short vertgroup 132 2 + char namedVG_Softgoal 134 64 + short fuzzyness 198 2 + float inspring 200 4 + float infrict 204 4 + char namedVG_Spring_K 208 64 + int sfra 272 4 + int efra 276 4 + int interval 280 4 + short local 284 2 + short solverflags 286 2 + SBVertex **keys 288 8 + int totpointkey 296 4 + int totkey 300 4 + float secondspring 304 4 + float colball 308 4 + float balldamp 312 4 + float ballstiff 316 4 + short sbc_mode 320 2 + short aeroedge 322 2 + short minloops 324 2 + short maxloops 326 2 + short choke 328 2 + short solver_ID 330 2 + short plastic 332 2 + short springpreload 334 2 + SBScratch *scratch 336 8 + float shearstiff 344 4 + float inpush 348 4 + PointCache *pointcache 352 8 + ListBase ptcaches 360 16 + EffectorWeights *effector_weights 376 8 + float lcom 384 12 + float lrot 396 36 + float lscale 432 36 + int last_frame 468 4 + +FluidVertexVelocity 12 + + float vel 0 12 + +FluidsimSettings 1256 + + FluidsimModifierData *fmd 0 8 + int threads 8 4 + int pad1 12 4 + short type 16 2 + short show_advancedoptions 18 2 + short resolutionxyz 20 2 + short previewresxyz 22 2 + float realsize 24 4 + short guiDisplayMode 28 2 + short renderDisplayMode 30 2 + float viscosityValue 32 4 + short viscosityMode 36 2 + short viscosityExponent 38 2 + float grav 40 12 + float animStart 52 4 + float animEnd 56 4 + int bakeStart 60 4 + int bakeEnd 64 4 + int frameOffset 68 4 + int pad2 72 4 + float gstar 76 4 + int maxRefine 80 4 + float iniVelx 84 4 + float iniVely 88 4 + float iniVelz 92 4 + Mesh *orgMesh 96 8 + Mesh *meshBB 104 8 + char surfdataPath 112 1024 + float bbStart 1136 12 + float bbSize 1148 12 + Ipo *ipo 1160 8 + short typeFlags 1168 2 + char domainNovecgen 1170 1 + char volumeInitType 1171 1 + float partSlipValue 1172 4 + int generateTracers 1176 4 + float generateParticles 1180 4 + float surfaceSmoothing 1184 4 + int surfaceSubdivs 1188 4 + int flag 1192 4 + float particleInfSize 1196 4 + float particleInfAlpha 1200 4 + float farFieldSize 1204 4 + FluidVertexVelocity *meshVelocities 1208 8 + int totvert 1216 4 + float cpsTimeStart 1220 4 + float cpsTimeEnd 1224 4 + float cpsQuality 1228 4 + float attractforceStrength 1232 4 + float attractforceRadius 1236 4 + float velocityforceStrength 1240 4 + float velocityforceRadius 1244 4 + int lastgoodframe 1248 4 + float animRate 1252 4 + +World 528 + + ID id 0 120 + AnimData *adt 120 8 + short colormodel 128 2 + short totex 130 2 + short texact 132 2 + short mistype 134 2 + float horr 136 4 + float horg 140 4 + float horb 144 4 + float zenr 148 4 + float zeng 152 4 + float zenb 156 4 + float ambr 160 4 + float ambg 164 4 + float ambb 168 4 + float exposure 172 4 + float exp 176 4 + float range 180 4 + float linfac 184 4 + float logfac 188 4 + float gravity 192 4 + float activityBoxRadius 196 4 + short skytype 200 2 + short mode 202 2 + short occlusionRes 204 2 + short physicsEngine 206 2 + short ticrate 208 2 + short maxlogicstep 210 2 + short physubstep 212 2 + short maxphystep 214 2 + float misi 216 4 + float miststa 220 4 + float mistdist 224 4 + float misthi 228 4 + float starr 232 4 + float starg 236 4 + float starb 240 4 + float stark 244 4 + float starsize 248 4 + float starmindist 252 4 + float stardist 256 4 + float starcolnoise 260 4 + short dofsta 264 2 + short dofend 266 2 + short dofmin 268 2 + short dofmax 270 2 + float aodist 272 4 + float aodistfac 276 4 + float aoenergy 280 4 + float aobias 284 4 + short aomode 288 2 + short aosamp 290 2 + short aomix 292 2 + short aocolor 294 2 + float ao_adapt_thresh 296 4 + float ao_adapt_speed_fac 300 4 + float ao_approx_error 304 4 + float ao_approx_correction 308 4 + float ao_indirect_energy 312 4 + float ao_env_energy 316 4 + float ao_pad2 320 4 + short ao_indirect_bounces 324 2 + short ao_pad 326 2 + short ao_samp_method 328 2 + short ao_gather_method 330 2 + short ao_approx_passes 332 2 + short flag 334 2 + float *aosphere 336 8 + float *aotables 344 8 + Ipo *ipo 352 8 + MTex *mtex 360 144 + short pr_texture 504 2 + short use_nodes 506 2 + short pad 508 4 + PreviewImage *preview 512 8 + bNodeTree *nodetree 520 8 + +Base 40 + + Base *next 0 8 + Base *prev 8 8 + int lay 16 4 + int selcol 20 4 + int flag 24 4 + short sx 28 2 + short sy 30 2 + Object *object 32 8 + +AviCodecData 184 + + void *lpFormat 0 8 + void *lpParms 8 8 + int cbFormat 16 4 + int cbParms 20 4 + int fccType 24 4 + int fccHandler 28 4 + int dwKeyFrameEvery 32 4 + int dwQuality 36 4 + int dwBytesPerSecond 40 4 + int dwFlags 44 4 + int dwInterleaveEvery 48 4 + int pad 52 4 + char avicodecname 56 128 + +QuicktimeCodecData 152 + + void *cdParms 0 8 + void *pad 8 8 + int cdSize 16 4 + int pad2 20 4 + char qtcodecname 24 128 + +QuicktimeCodecSettings 64 + + int codecType 0 4 + int codecSpatialQuality 4 4 + int codec 8 4 + int codecFlags 12 4 + int colorDepth 16 4 + int codecTemporalQuality 20 4 + int minSpatialQuality 24 4 + int minTemporalQuality 28 4 + int keyFrameRate 32 4 + int bitRate 36 4 + int audiocodecType 40 4 + int audioSampleRate 44 4 + short audioBitDepth 48 2 + short audioChannels 50 2 + int audioCodecFlags 52 4 + int audioBitRate 56 4 + int pad1 60 4 + +FFMpegCodecData 72 + + int type 0 4 + int codec 4 4 + int audio_codec 8 4 + int video_bitrate 12 4 + int audio_bitrate 16 4 + int audio_mixrate 20 4 + int audio_channels 24 4 + int audio_pad 28 4 + float audio_volume 32 4 + int gop_size 36 4 + int flags 40 4 + int rc_min_rate 44 4 + int rc_max_rate 48 4 + int rc_buffer_size 52 4 + int mux_packet_size 56 4 + int mux_rate 60 4 + IDProperty *properties 64 8 + +AudioData 32 + + int mixrate 0 4 + float main 4 4 + float speed_of_sound 8 4 + float doppler_factor 12 4 + int distance_model 16 4 + short flag 20 2 + short pad 22 2 + float volume 24 4 + float pad2 28 4 + +SceneRenderLayer 184 + + SceneRenderLayer *next 0 8 + SceneRenderLayer *prev 8 8 + char name 16 64 + Material *mat_override 80 8 + Group *light_override 88 8 + int lay 96 4 + int lay_zmask 100 4 + int lay_exclude 104 4 + int layflag 108 4 + int passflag 112 4 + int pass_xor 116 4 + int samples 120 4 + int pad 124 4 + FreestyleConfig freestyleConfig 128 56 + +ImageFormatData 248 + + char imtype 0 1 + char depth 1 1 + char planes 2 1 + char flag 3 1 + char quality 4 1 + char compress 5 1 + char exr_codec 6 1 + char cineon_flag 7 1 + short cineon_white 8 2 + short cineon_black 10 2 + float cineon_gamma 12 4 + char jp2_flag 16 1 + char jp2_codec 17 1 + char pad 18 6 + ColorManagedViewSettings view_settings 24 160 + ColorManagedDisplaySettings display_settings 184 64 + +RenderData 2608 + + ImageFormatData im_format 0 248 + AviCodecData *avicodecdata 248 8 + QuicktimeCodecData *qtcodecdata 256 8 + QuicktimeCodecSettings qtcodecsettings 264 64 + FFMpegCodecData ffcodecdata 328 72 + int cfra 400 4 + int sfra 404 4 + int efra 408 4 + float subframe 412 4 + int psfra 416 4 + int pefra 420 4 + int images 424 4 + int framapto 428 4 + short flag 432 2 + short threads 434 2 + float framelen 436 4 + float blurfac 440 4 + float edgeR 444 4 + float edgeG 448 4 + float edgeB 452 4 + short fullscreen 456 2 + short xplay 458 2 + short yplay 460 2 + short freqplay 462 2 + short depth 464 2 + short attrib 466 2 + int frame_step 468 4 + short stereomode 472 2 + short dimensionspreset 474 2 + short filtertype 476 2 + short size 478 2 + short maximsize 480 2 + short pad6 482 2 + int xsch 484 4 + int ysch 488 4 + short xparts 492 2 + short yparts 494 2 + int tilex 496 4 + int tiley 500 4 + short planes 504 2 + short imtype 506 2 + short subimtype 508 2 + short quality 510 2 + short displaymode 512 2 + short pad7 514 2 + int scemode 516 4 + int mode 520 4 + int raytrace_options 524 4 + short raytrace_structure 528 2 + short pad1 530 2 + short ocres 532 2 + short pad4 534 2 + short alphamode 536 2 + short osa 538 2 + short frs_sec 540 2 + short edgeint 542 2 + rctf safety 544 16 + rctf border 560 16 + rcti disprect 576 16 + ListBase layers 592 16 + short actlay 608 2 + short mblur_samples 610 2 + float xasp 612 4 + float yasp 616 4 + float frs_sec_base 620 4 + float gauss 624 4 + int color_mgt_flag 628 4 + float postgamma 632 4 + float posthue 636 4 + float postsat 640 4 + float dither_intensity 644 4 + short bake_osa 648 2 + short bake_filter 650 2 + short bake_mode 652 2 + short bake_flag 654 2 + short bake_normal_space 656 2 + short bake_quad_split 658 2 + float bake_maxdist 660 4 + float bake_biasdist 664 4 + short bake_samples 668 2 + short bake_pad 670 2 + char pic 672 1024 + int stamp 1696 4 + short stamp_font_id 1700 2 + short pad3 1702 2 + char stamp_udata 1704 768 + float fg_stamp 2472 16 + float bg_stamp 2488 16 + char seq_prev_type 2504 1 + char seq_rend_type 2505 1 + char seq_flag 2506 1 + char pad5 2507 5 + int simplify_flag 2512 4 + short simplify_subsurf 2516 2 + short simplify_shadowsamples 2518 2 + float simplify_particles 2520 4 + float simplify_aosss 2524 4 + short cineonwhite 2528 2 + short cineonblack 2530 2 + float cineongamma 2532 4 + short jp2_preset 2536 2 + short jp2_depth 2538 2 + int rpad3 2540 4 + short domeres 2544 2 + short domemode 2546 2 + short domeangle 2548 2 + short dometilt 2550 2 + float domeresbuf 2552 4 + float pad2 2556 4 + Text *dometext 2560 8 + int line_thickness_mode 2568 4 + float unit_line_thickness 2572 4 + char engine 2576 32 + +RenderProfile 64 + + RenderProfile *next 0 8 + RenderProfile *prev 8 8 + char name 16 32 + short particle_perc 48 2 + short subsurf_max 50 2 + short shadbufsample_max 52 2 + short pad1 54 2 + float ao_error 56 4 + float pad2 60 4 + +GameDome 24 + + short res 0 2 + short mode 2 2 + short angle 4 2 + short tilt 6 2 + float resbuf 8 4 + float pad2 12 4 + Text *warptext 16 8 + +GameFraming 16 + + float col 0 12 + char type 12 1 + char pad1 13 1 + char pad2 14 1 + char pad3 15 1 + +RecastData 56 + + float cellsize 0 4 + float cellheight 4 4 + float agentmaxslope 8 4 + float agentmaxclimb 12 4 + float agentheight 16 4 + float agentradius 20 4 + float edgemaxlen 24 4 + float edgemaxerror 28 4 + float regionminsize 32 4 + float regionmergesize 36 4 + int vertsperpoly 40 4 + float detailsampledist 44 4 + float detailsamplemaxerror 48 4 + short pad1 52 2 + short pad2 54 2 + +GameData 184 + + GameFraming framing 0 16 + short playerflag 16 2 + short xplay 18 2 + short yplay 20 2 + short freqplay 22 2 + short depth 24 2 + short attrib 26 2 + short rt1 28 2 + short rt2 30 2 + short aasamples 32 2 + short pad4 34 6 + GameDome dome 40 24 + short stereoflag 64 2 + short stereomode 66 2 + float eyeseparation 68 4 + RecastData recastData 72 56 + float gravity 128 4 + float activityBoxRadius 132 4 + int flag 136 4 + short mode 140 2 + short matmode 142 2 + short occlusionRes 144 2 + short physicsEngine 146 2 + short exitkey 148 2 + short vsync 150 2 + short ticrate 152 2 + short maxlogicstep 154 2 + short physubstep 156 2 + short maxphystep 158 2 + short obstacleSimulation 160 2 + short raster_storage 162 2 + float levelHeight 164 4 + float deactivationtime 168 4 + float lineardeactthreshold 172 4 + float angulardeactthreshold 176 4 + float pad2 180 4 + +TimeMarker 96 + + TimeMarker *next 0 8 + TimeMarker *prev 8 8 + int frame 16 4 + char name 20 64 + int flag 84 4 + Object *camera 88 8 + +Paint 32 + + Brush *brush 0 8 + void *paint_cursor 8 8 + char paint_cursor_col 16 4 + int flags 20 4 + int num_input_samples 24 4 + int pad 28 4 + +ImagePaintSettings 56 + + Paint paint 0 32 + short flag 32 2 + short pad 34 2 + short seam_bleed 36 2 + short normal_angle 38 2 + short screen_grab_size 40 4 + int pad1 44 4 + void *paintcursor 48 8 + +ParticleBrushData 16 + + short size 0 2 + short step 2 2 + short invert 4 2 + short count 6 2 + int flag 8 4 + float strength 12 4 + +ParticleEditSettings 168 + + short flag 0 2 + short totrekey 2 2 + short totaddkey 4 2 + short brushtype 6 2 + ParticleBrushData brush 8 112 + void *paintcursor 120 8 + float emitterdist 128 4 + float rt 132 4 + int selectmode 136 4 + int edittype 140 4 + int draw_step 144 4 + int fade_frames 148 4 + Scene *scene 152 8 + Object *object 160 8 + +Sculpt 56 + + Paint paint 0 32 + int flags 32 4 + int radial_symm 36 12 + int detail_size 48 4 + int symmetrize_direction 52 4 + +UvSculpt 32 + + Paint paint 0 32 + +VPaint 64 + + Paint paint 0 32 + short flag 32 2 + short pad 34 2 + int tot 36 4 + int *vpaint_prev 40 8 + MDeformVert *wpaint_prev 48 8 + void *paintcursor 56 8 + +TransformOrientation 120 + + TransformOrientation *next 0 8 + TransformOrientation *prev 8 8 + char name 16 64 + float mat 80 36 + int pad 116 4 + +UnifiedPaintSettings 80 + + int size 0 4 + float unprojected_radius 4 4 + float alpha 8 4 + float weight 12 4 + int flag 16 4 + float last_rake 20 8 + int pad 28 4 + float brush_rotation 32 4 + int draw_anchored 36 4 + int anchored_size 40 4 + float anchored_initial_mouse 44 8 + int draw_pressure 52 4 + float pressure_value 56 4 + float tex_mouse 60 8 + float mask_tex_mouse 68 8 + float pixel_radius 76 4 + +MeshStatVis 40 + + char type 0 1 + char _pad1 1 2 + char overhang_axis 3 1 + float overhang_min 4 4 + float overhang_max 8 4 + float thickness_min 12 4 + float thickness_max 16 4 + char thickness_samples 20 1 + char _pad2 21 3 + float distort_min 24 4 + float distort_max 28 4 + float sharp_min 32 4 + float sharp_max 36 4 + +ToolSettings 600 + + VPaint *vpaint 0 8 + VPaint *wpaint 8 8 + Sculpt *sculpt 16 8 + UvSculpt *uvsculpt 24 8 + float vgroup_weight 32 4 + short cornertype 36 2 + short pad1 38 2 + float jointrilimit 40 4 + float degr 44 4 + short step 48 2 + short turn 50 2 + float extr_offs 52 4 + float doublimit 56 4 + float normalsize 60 4 + short automerge 64 2 + short selectmode 66 2 + short segments 68 2 + short rings 70 2 + short vertices 72 2 + short unwrapper 74 2 + float uvcalc_radius 76 4 + float uvcalc_cubesize 80 4 + float uvcalc_margin 84 4 + short uvcalc_mapdir 88 2 + short uvcalc_mapalign 90 2 + short uvcalc_flag 92 2 + short uv_flag 94 2 + short uv_selectmode 96 2 + short pad2 98 2 + short gpencil_flags 100 2 + short autoik_chainlen 102 2 + ImagePaintSettings imapaint 104 56 + ParticleEditSettings particle 160 168 + float proportional_size 328 4 + float select_thresh 332 4 + float clean_thresh 336 4 + short autokey_mode 340 2 + short autokey_flag 342 2 + char multires_subdiv_type 344 1 + char pad3 345 5 + short skgen_resolution 350 2 + float skgen_threshold_internal 352 4 + float skgen_threshold_external 356 4 + float skgen_length_ratio 360 4 + float skgen_length_limit 364 4 + float skgen_angle_limit 368 4 + float skgen_correlation_limit 372 4 + float skgen_symmetry_limit 376 4 + float skgen_retarget_angle_weight 380 4 + float skgen_retarget_length_weight 384 4 + float skgen_retarget_distance_weight 388 4 + short skgen_options 392 2 + char skgen_postpro 394 1 + char skgen_postpro_passes 395 1 + char skgen_subdivisions 396 3 + char skgen_multi_level 399 1 + Object *skgen_template 400 8 + char bone_sketching 408 1 + char bone_sketching_convert 409 1 + char skgen_subdivision_number 410 1 + char skgen_retarget_options 411 1 + char skgen_retarget_roll 412 1 + char skgen_side_string 413 8 + char skgen_num_string 421 8 + char edge_mode 429 1 + char edge_mode_live_unwrap 430 1 + char snap_mode 431 1 + char snap_node_mode 432 1 + char snap_uv_mode 433 1 + short snap_flag 434 2 + short snap_target 436 2 + short proportional 438 2 + short prop_mode 440 2 + char proportional_objects 442 1 + char proportional_mask 443 1 + char auto_normalize 444 1 + char multipaint 445 1 + char weightuser 446 1 + char vgroupsubset 447 1 + int use_uv_sculpt 448 4 + int uv_sculpt_settings 452 4 + int uv_sculpt_tool 456 4 + int uv_relax_method 460 4 + short sculpt_paint_settings 464 2 + short pad5 466 2 + int sculpt_paint_unified_size 468 4 + float sculpt_paint_unified_unprojected_radius 472 4 + float sculpt_paint_unified_alpha 476 4 + UnifiedPaintSettings unified_paint_settings 480 80 + MeshStatVis statvis 560 40 + +bStats 32 + + int totobj 0 4 + int totlamp 4 4 + int totobjsel 8 4 + int totcurve 12 4 + int totmesh 16 4 + int totarmature 20 4 + int totvert 24 4 + int totface 28 4 + +UnitSettings 8 + + float scale_length 0 4 + char system 4 1 + char system_rotation 5 1 + short flag 6 2 + +PhysicsSettings 24 + + float gravity 0 12 + int flag 12 4 + int quick_cache_step 16 4 + int rt 20 4 + +Scene 3584 + + ID id 0 120 + AnimData *adt 120 8 + Object *camera 128 8 + World *world 136 8 + Scene *set 144 8 + ListBase base 152 16 + Base *basact 168 8 + Object *obedit 176 8 + float cursor 184 12 + float twcent 196 12 + float twmin 208 12 + float twmax 220 12 + int lay 232 4 + int layact 236 4 + int lay_updated 240 4 + short flag 244 2 + short use_nodes 246 2 + bNodeTree *nodetree 248 8 + Editing *ed 256 8 + ToolSettings *toolsettings 264 8 + SceneStats *stats 272 8 + RenderData r 280 2608 + AudioData audio 2888 32 + ListBase markers 2920 16 + ListBase transform_spaces 2936 16 + void *sound_scene 2952 8 + void *sound_scene_handle 2960 8 + void *sound_scrub_handle 2968 8 + void *speaker_handles 2976 8 + void *fps_info 2984 8 + DagForest *theDag 2992 8 + short dagflags 3000 2 + short recalc 3002 2 + int active_keyingset 3004 4 + ListBase keyingsets 3008 16 + GameFraming framing 3024 16 + GameData gm 3040 184 + UnitSettings unit 3224 8 + bGPdata *gpd 3232 8 + PhysicsSettings physics_settings 3240 24 + MovieClip *clip 3264 8 + uint64_t customdata_mask 3272 8 + uint64_t customdata_mask_modal 3280 8 + ColorManagedViewSettings view_settings 3288 160 + ColorManagedDisplaySettings display_settings 3448 64 + ColorManagedColorspaceSettings sequencer_colorspace_settings 3512 64 + RigidBodyWorld *rigidbody_world 3576 8 + +BGpic 104 + + BGpic *next 0 8 + BGpic *prev 8 8 + Image *ima 16 8 + ImageUser iuser 24 40 + MovieClip *clip 64 8 + MovieClipUser cuser 72 8 + float xof 80 4 + float yof 84 4 + float size 88 4 + float blend 92 4 + short view 96 2 + short flag 98 2 + short source 100 2 + short pad 102 2 + +RegionView3D 896 + + float winmat 0 64 + float viewmat 64 64 + float viewinv 128 64 + float persmat 192 64 + float persinv 256 64 + float viewmatob 320 64 + float persmatob 384 64 + float clip 448 96 + float clip_local 544 96 + BoundBox *clipbb 640 8 + bGPdata *gpd 648 8 + RegionView3D *localvd 656 8 + RenderInfo *ri 664 8 + RenderEngine *render_engine 672 8 + ViewDepths *depths 680 8 + void *gpuoffscreen 688 8 + SmoothView3DStore *sms 696 8 + wmTimer *smooth_timer 704 8 + float twmat 712 64 + float viewquat 776 16 + float dist 792 4 + float camdx 796 4 + float camdy 800 4 + float pixsize 804 4 + float ofs 808 12 + float camzoom 820 4 + char is_persp 824 1 + char persp 825 1 + char view 826 1 + char viewlock 827 1 + char viewlock_quad 828 1 + char pad 829 3 + float ofs_lock 832 8 + short twdrawflag 840 2 + short rflag 842 2 + float lviewquat 844 16 + short lpersp 860 2 + short lview 862 2 + float gridview 864 4 + float twangle 868 12 + float rot_angle 880 4 + float rot_axis 884 12 + +View3D 376 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + float viewquat 56 16 + float dist 72 4 + float bundle_size 76 4 + char bundle_drawtype 80 1 + char pad 81 3 + int lay_prev 84 4 + int lay_used 88 4 + short persp 92 2 + short view 94 2 + Object *camera 96 8 + Object *ob_centre 104 8 + rctf render_border 112 16 + ListBase bgpicbase 128 16 + BGpic *bgpic 144 8 + View3D *localvd 152 8 + char ob_centre_bone 160 64 + int lay 224 4 + int layact 228 4 + short drawtype 232 2 + short ob_centre_cursor 234 2 + short scenelock 236 2 + short around 238 2 + short flag 240 2 + short flag2 242 2 + float lens 244 4 + float grid 248 4 + float near 252 4 + float far 256 4 + float ofs 260 12 + float cursor 272 12 + short matcap_icon 284 2 + short gridlines 286 2 + short gridsubdiv 288 2 + char gridflag 290 1 + char twtype 291 1 + char twmode 292 1 + char twflag 293 1 + char pad2 294 2 + ListBase afterdraw_transp 296 16 + ListBase afterdraw_xray 312 16 + ListBase afterdraw_xraytransp 328 16 + char zbuf 344 1 + char transp 345 1 + char xray 346 1 + char pad3 347 5 + void *properties_storage 352 8 + Material *defmaterial 360 8 + bGPdata *gpd 368 8 + +View2D 160 + + rctf tot 0 16 + rctf cur 16 16 + rcti vert 32 16 + rcti hor 48 16 + rcti mask 64 16 + float min 80 8 + float max 88 8 + float minzoom 96 4 + float maxzoom 100 4 + short scroll 104 2 + short scroll_ui 106 2 + short keeptot 108 2 + short keepzoom 110 2 + short keepofs 112 2 + short flag 114 2 + short align 116 2 + short winx 118 2 + short winy 120 2 + short oldwinx 122 2 + short oldwiny 124 2 + short around 126 2 + float *tab_offset 128 8 + int tab_num 136 4 + int tab_cur 140 4 + SmoothView2DStore *sms 144 8 + wmTimer *smooth_timer 152 8 + +SpaceLink 56 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + +SpaceInfo 64 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + char rpt_mask 56 1 + char pad 57 7 + +SpaceButs 272 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + short mainb 216 2 + short mainbo 218 2 + short mainbuser 220 2 + short re_align 222 2 + short align 224 2 + short preview 226 2 + short texture_context 228 2 + short texture_context_prev 230 2 + char flag 232 1 + char pad 233 7 + void *path 240 8 + int pathflag 248 4 + int dataicon 252 4 + ID *pinid 256 8 + void *texuser 264 8 + +SpaceOops 304 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + ListBase tree 216 16 + BLI_mempool *treestore 232 8 + char search_string 240 32 + TreeStoreElem search_tse 272 16 + short flag 288 2 + short outlinevis 290 2 + short storeflag 292 2 + short search_flags 294 2 + void *treehash 296 8 + +SpaceIpo 256 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + bDopeSheet *ads 216 8 + ListBase ghostCurves 224 16 + short mode 240 2 + short autosnap 242 2 + int flag 244 4 + float cursorVal 248 4 + int around 252 4 + +SpaceNla 232 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + short autosnap 56 2 + short flag 58 2 + int pad 60 4 + bDopeSheet *ads 64 8 + View2D v2d 72 160 + +SpaceTimeCache 24 + + SpaceTimeCache *next 0 8 + SpaceTimeCache *prev 8 8 + float *array 16 8 + +SpaceTime 224 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + View2D v2d 40 160 + ListBase caches 200 16 + int cache_display 216 4 + int flag 220 4 + +SpaceSeq 304 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + float xof 216 4 + float yof 220 4 + short mainb 224 2 + short render_size 226 2 + short chanshown 228 2 + short zebra 230 2 + int flag 232 4 + float zoom 236 4 + int view 240 4 + int overlay_type 244 4 + bGPdata *gpd 248 8 + SequencerScopes scopes 256 48 + +MaskSpaceInfo 16 + + Mask *mask 0 8 + char draw_flag 8 1 + char draw_type 9 1 + char pad3 10 6 + +FileSelectParams 2016 + + char title 0 96 + char dir 96 1056 + char file 1152 256 + char renamefile 1408 256 + char renameedit 1664 256 + char filter_glob 1920 64 + int active_file 1984 4 + int sel_first 1988 4 + int sel_last 1992 4 + short type 1996 2 + short flag 1998 2 + short sort 2000 2 + short display 2002 2 + short filter 2004 2 + short f_fp 2006 2 + char fp_str 2008 8 + +SpaceFile 104 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + int scroll_offset 36 4 + FileSelectParams *params 40 8 + FileList *files 48 8 + ListBase *folders_prev 56 8 + ListBase *folders_next 64 8 + wmOperator *op 72 8 + wmTimer *smoothscroll_timer 80 8 + FileLayout *layout 88 8 + short recentnr 96 2 + short bookmarknr 98 2 + short systemnr 100 2 + short pad2 102 2 + +SpaceImage 10584 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + int flag 36 4 + Image *image 40 8 + ImageUser iuser 48 40 + CurveMapping *cumap 88 8 + Scopes scopes 96 5264 + Histogram sample_line_hist 5360 5160 + bGPdata *gpd 10520 8 + float cursor 10528 8 + float xof 10536 4 + float yof 10540 4 + float zoom 10544 4 + float centx 10548 4 + float centy 10552 4 + char mode 10556 1 + char pin 10557 1 + short pad 10558 2 + short curtile 10560 2 + short lock 10562 2 + char dt_uv 10564 1 + char sticky 10565 1 + char dt_uvstretch 10566 1 + char around 10567 1 + MaskSpaceInfo mask_info 10568 16 + +SpaceText 672 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + Text *text 56 8 + int top 64 4 + int viewlines 68 4 + short flags 72 2 + short menunr 74 2 + short lheight 76 2 + char cwidth 78 1 + char linenrs_tot 79 1 + int left 80 4 + int showlinenrs 84 4 + int tabnumber 88 4 + short showsyntax 92 2 + short line_hlight 94 2 + short overwrite 96 2 + short live_edit 98 2 + float pix_per_line 100 4 + rcti txtscroll 104 16 + rcti txtbar 120 16 + int wordwrap 136 4 + int doplugins 140 4 + char findstr 144 256 + char replacestr 400 256 + short margin_column 656 2 + short lheight_dpi 658 2 + char pad 660 4 + void *drawcache 664 8 + +Script 1448 + + ID id 0 120 + void *py_draw 120 8 + void *py_event 128 8 + void *py_button 136 8 + void *py_browsercallback 144 8 + void *py_globaldict 152 8 + int flags 160 4 + int lastspace 164 4 + char scriptname 168 1024 + char scriptarg 1192 256 + +SpaceScript 64 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + Script *script 40 8 + short flags 48 2 + short menunr 50 2 + int pad1 52 4 + void *but_refs 56 8 + +bNodeTreePath 104 + + bNodeTreePath *next 0 8 + bNodeTreePath *prev 8 8 + bNodeTree *nodetree 16 8 + bNodeInstanceKey parent_key 24 4 + int pad 28 4 + float view_center 32 8 + char node_name 40 64 + +SpaceNode 400 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + ID *id 216 8 + ID *from 224 8 + short flag 232 2 + short pad1 234 2 + float aspect 236 4 + float pad2 240 4 + float xof 244 4 + float yof 248 4 + float zoom 252 4 + float cursor 256 8 + ListBase treepath 264 16 + bNodeTree *nodetree 280 8 + bNodeTree *edittree 288 8 + char tree_idname 296 64 + int treetype 360 4 + int pad3 364 4 + short texfrom 368 2 + short shaderfrom 370 2 + short recalc 372 2 + short pad4 374 2 + ListBase linkdrag 376 16 + bGPdata *gpd 392 8 + +SpaceLogic 72 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + short flag 56 2 + short scaflag 58 2 + int pad 60 4 + bGPdata *gpd 64 8 + +ConsoleLine 40 + + ConsoleLine *next 0 8 + ConsoleLine *prev 8 8 + int len_alloc 16 4 + int len 20 4 + char *line 24 8 + int cursor 32 4 + int type 36 4 + +SpaceConsole 392 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + int lheight 56 4 + int pad 60 4 + ListBase scrollback 64 16 + ListBase history 80 16 + char prompt 96 256 + char language 352 32 + int sel_start 384 4 + int sel_end 388 4 + +SpaceUserPref 104 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + char pad 36 3 + char filter_type 39 1 + char filter 40 64 + +SpaceClip 408 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float xof 36 4 + float yof 40 4 + float xlockof 44 4 + float ylockof 48 4 + float zoom 52 4 + MovieClipUser user 56 8 + MovieClip *clip 64 8 + MovieClipScopes scopes 72 136 + int flag 208 4 + short mode 212 2 + short view 214 2 + int path_length 216 4 + float loc 220 8 + float scale 228 4 + float angle 232 4 + int pad 236 4 + float stabmat 240 64 + float unistabmat 304 64 + int postproc_flag 368 4 + short gpencil_src 372 2 + short pad2 374 2 + int around 376 4 + int pad4 380 4 + float cursor 384 8 + MaskSpaceInfo mask_info 392 16 + +uiFont 1048 + + uiFont *next 0 8 + uiFont *prev 8 8 + char filename 16 1024 + short blf_id 1040 2 + short uifont_id 1042 2 + short r_to_l 1044 2 + short hinting 1046 2 + +uiFontStyle 32 + + short uifont_id 0 2 + short points 2 2 + short kerning 4 2 + char pad 6 6 + short italic 12 2 + short bold 14 2 + short shadow 16 2 + short shadx 18 2 + short shady 20 2 + short align 22 2 + float shadowalpha 24 4 + float shadowcolor 28 4 + +uiStyle 232 + + uiStyle *next 0 8 + uiStyle *prev 8 8 + char name 16 64 + uiFontStyle paneltitle 80 32 + uiFontStyle grouplabel 112 32 + uiFontStyle widgetlabel 144 32 + uiFontStyle widget 176 32 + float panelzoom 208 4 + short minlabelchars 212 2 + short minwidgetchars 214 2 + short columnspace 216 2 + short templatespace 218 2 + short boxspace 220 2 + short buttonspacex 222 2 + short buttonspacey 224 2 + short panelspace 226 2 + short panelouter 228 2 + short pad 230 2 + +uiWidgetColors 32 + + char outline 0 4 + char inner 4 4 + char inner_sel 8 4 + char item 12 4 + char text 16 4 + char text_sel 20 4 + short shaded 24 2 + short shadetop 26 2 + short shadedown 28 2 + short alpha_check 30 2 + +uiWidgetStateColors 32 + + char inner_anim 0 4 + char inner_anim_sel 4 4 + char inner_key 8 4 + char inner_key_sel 12 4 + char inner_driven 16 4 + char inner_driven_sel 20 4 + float blend 24 4 + float pad 28 4 + +uiPanelColors 16 + + char header 0 4 + char back 4 4 + short show_header 8 2 + short show_back 10 2 + int pad 12 4 + +uiGradientColors 16 + + char gradient 0 4 + char high_gradient 4 4 + int show_grad 8 4 + int pad2 12 4 + +ThemeUI 872 + + uiWidgetColors wcol_regular 0 32 + uiWidgetColors wcol_tool 32 32 + uiWidgetColors wcol_text 64 32 + uiWidgetColors wcol_radio 96 32 + uiWidgetColors wcol_option 128 32 + uiWidgetColors wcol_toggle 160 32 + uiWidgetColors wcol_num 192 32 + uiWidgetColors wcol_numslider 224 32 + uiWidgetColors wcol_menu 256 32 + uiWidgetColors wcol_pulldown 288 32 + uiWidgetColors wcol_menu_back 320 32 + uiWidgetColors wcol_menu_item 352 32 + uiWidgetColors wcol_tooltip 384 32 + uiWidgetColors wcol_box 416 32 + uiWidgetColors wcol_scroll 448 32 + uiWidgetColors wcol_progress 480 32 + uiWidgetColors wcol_list_item 512 32 + uiWidgetStateColors wcol_state 544 32 + uiPanelColors panel 576 16 + float menu_shadow_fac 592 4 + short menu_shadow_width 596 2 + short pad 598 2 + char iconfile 600 256 + float icon_alpha 856 4 + char xaxis 860 4 + char yaxis 864 4 + char zaxis 868 4 + +ThemeSpace 584 + + char back 0 4 + char title 4 4 + char text 8 4 + char text_hi 12 4 + char header 16 4 + char header_title 20 4 + char header_text 24 4 + char header_text_hi 28 4 + char button 32 4 + char button_title 36 4 + char button_text 40 4 + char button_text_hi 44 4 + char list 48 4 + char list_title 52 4 + char list_text 56 4 + char list_text_hi 60 4 + uiPanelColors panelcolors 64 16 + uiGradientColors gradients 80 16 + char shade1 96 4 + char shade2 100 4 + char hilite 104 4 + char grid 108 4 + char wire 112 4 + char wire_edit 116 4 + char select 120 4 + char lamp 124 4 + char speaker 128 4 + char empty 132 4 + char camera 136 4 + char pad 140 4 + char active 144 4 + char group 148 4 + char group_active 152 4 + char transform 156 4 + char vertex 160 4 + char vertex_select 164 4 + char vertex_unreferenced 168 4 + char edge 172 4 + char edge_select 176 4 + char edge_seam 180 4 + char edge_sharp 184 4 + char edge_facesel 188 4 + char edge_crease 192 4 + char face 196 4 + char face_select 200 4 + char face_dot 204 4 + char extra_edge_len 208 4 + char extra_edge_angle 212 4 + char extra_face_angle 216 4 + char extra_face_area 220 4 + char normal 224 4 + char vertex_normal 228 4 + char bone_solid 232 4 + char bone_pose 236 4 + char bone_pose_active 240 4 + char strip 244 4 + char strip_select 248 4 + char cframe 252 4 + char freestyle_edge_mark 256 4 + char freestyle_face_mark 260 4 + char nurb_uline 264 4 + char nurb_vline 268 4 + char act_spline 272 4 + char nurb_sel_uline 276 4 + char nurb_sel_vline 280 4 + char lastsel_point 284 4 + char handle_free 288 4 + char handle_auto 292 4 + char handle_vect 296 4 + char handle_align 300 4 + char handle_auto_clamped 304 4 + char handle_sel_free 308 4 + char handle_sel_auto 312 4 + char handle_sel_vect 316 4 + char handle_sel_align 320 4 + char handle_sel_auto_clamped 324 4 + char ds_channel 328 4 + char ds_subchannel 332 4 + char console_output 336 4 + char console_input 340 4 + char console_info 344 4 + char console_error 348 4 + char console_cursor 352 4 + char console_select 356 4 + char pad1 360 4 + char vertex_size 364 1 + char outline_width 365 1 + char facedot_size 366 1 + char noodle_curving 367 1 + char syntaxl 368 4 + char syntaxs 372 4 + char syntaxb 376 4 + char syntaxn 380 4 + char syntaxv 384 4 + char syntaxc 388 4 + char syntaxd 392 4 + char syntaxr 396 4 + char movie 400 4 + char movieclip 404 4 + char mask 408 4 + char image 412 4 + char scene 416 4 + char audio 420 4 + char effect 424 4 + char transition 428 4 + char meta 432 4 + char editmesh_active 436 4 + char handle_vertex 440 4 + char handle_vertex_select 444 4 + char pad2 448 4 + char handle_vertex_size 452 1 + char marker_outline 453 4 + char marker 457 4 + char act_marker 461 4 + char sel_marker 465 4 + char dis_marker 469 4 + char lock_marker 473 4 + char bundle_solid 477 4 + char path_before 481 4 + char path_after 485 4 + char camera_path 489 4 + char hpad 493 3 + char preview_back 496 4 + char preview_stitch_face 500 4 + char preview_stitch_edge 504 4 + char preview_stitch_vert 508 4 + char preview_stitch_stitchable 512 4 + char preview_stitch_unstitchable 516 4 + char preview_stitch_active 520 4 + char uv_shadow 524 4 + char uv_others 528 4 + char match 532 4 + char selected_highlight 536 4 + char skin_root 540 4 + char anim_active 544 4 + char anim_non_active 548 4 + char nla_tweaking 552 4 + char nla_tweakdupli 556 4 + char nla_transition 560 4 + char nla_transition_sel 564 4 + char nla_meta 568 4 + char nla_meta_sel 572 4 + char nla_sound 576 4 + char nla_sound_sel 580 4 + +ThemeWireColor 16 + + char solid 0 4 + char select 4 4 + char active 8 4 + short flag 12 2 + short pad 14 2 + +bTheme 11176 + + bTheme *next 0 8 + bTheme *prev 8 8 + char name 16 32 + ThemeUI tui 48 872 + ThemeSpace tbuts 920 584 + ThemeSpace tv3d 1504 584 + ThemeSpace tfile 2088 584 + ThemeSpace tipo 2672 584 + ThemeSpace tinfo 3256 584 + ThemeSpace tact 3840 584 + ThemeSpace tnla 4424 584 + ThemeSpace tseq 5008 584 + ThemeSpace tima 5592 584 + ThemeSpace text 6176 584 + ThemeSpace toops 6760 584 + ThemeSpace ttime 7344 584 + ThemeSpace tnode 7928 584 + ThemeSpace tlogic 8512 584 + ThemeSpace tuserpref 9096 584 + ThemeSpace tconsole 9680 584 + ThemeSpace tclip 10264 584 + ThemeWireColor tarm 10848 320 + int active_theme_area 11168 4 + int pad 11172 4 + +bAddon 88 + + bAddon *next 0 8 + bAddon *prev 8 8 + char module 16 64 + IDProperty *prop 80 8 + +bPathCompare 792 + + bPathCompare *next 0 8 + bPathCompare *prev 8 8 + char path 16 768 + char flag 784 1 + char pad 785 7 + +SolidLight 56 + + int flag 0 4 + int pad 4 4 + float col 8 16 + float spec 24 16 + float vec 40 16 + +UserDef 9104 + + int versionfile 0 4 + int subversionfile 4 4 + int flag 8 4 + int dupflag 12 4 + int savetime 16 4 + char tempdir 20 768 + char fontdir 788 768 + char renderdir 1556 1024 + char textudir 2580 768 + char pythondir 3348 768 + char sounddir 4116 768 + char i18ndir 4884 768 + char image_editor 5652 1024 + char anim_player 6676 1024 + int anim_player_preset 7700 4 + short v2d_min_gridsize 7704 2 + short timecode_style 7706 2 + short versions 7708 2 + short dbl_click_time 7710 2 + short gameflags 7712 2 + short wheellinescroll 7714 2 + int uiflag 7716 4 + int uiflag2 7720 4 + int language 7724 4 + short userpref 7728 2 + short viewzoom 7730 2 + int mixbufsize 7732 4 + int audiodevice 7736 4 + int audiorate 7740 4 + int audioformat 7744 4 + int audiochannels 7748 4 + int scrollback 7752 4 + int dpi 7756 4 + short encoding 7760 2 + short transopts 7762 2 + short menuthreshold1 7764 2 + short menuthreshold2 7766 2 + ListBase themes 7768 16 + ListBase uifonts 7784 16 + ListBase uistyles 7800 16 + ListBase keymaps 7816 16 + ListBase user_keymaps 7832 16 + ListBase addons 7848 16 + ListBase autoexec_paths 7864 16 + char keyconfigstr 7880 64 + short undosteps 7944 2 + short undomemory 7946 2 + short gp_manhattendist 7948 2 + short gp_euclideandist 7950 2 + short gp_eraser 7952 2 + short gp_settings 7954 2 + short tb_leftmouse 7956 2 + short tb_rightmouse 7958 2 + SolidLight light 7960 168 + short tw_hotspot 8128 2 + short tw_flag 8130 2 + short tw_handlesize 8132 2 + short tw_size 8134 2 + short textimeout 8136 2 + short texcollectrate 8138 2 + short wmdrawmethod 8140 2 + short dragthreshold 8142 2 + int memcachelimit 8144 4 + int prefetchframes 8148 4 + short frameserverport 8152 2 + short pad_rot_angle 8154 2 + short obcenter_dia 8156 2 + short rvisize 8158 2 + short rvibright 8160 2 + short recent_files 8162 2 + short smooth_viewtx 8164 2 + short glreslimit 8166 2 + short curssize 8168 2 + short color_picker_type 8170 2 + short ipo_new 8172 2 + short keyhandles_new 8174 2 + short scrcastfps 8176 2 + short scrcastwait 8178 2 + short widget_unit 8180 2 + short anisotropic_filter 8182 2 + short use_16bit_textures 8184 2 + short use_gpu_mipmap 8186 2 + float ndof_sensitivity 8188 4 + float ndof_orbit_sensitivity 8192 4 + int ndof_flag 8196 4 + short ogl_multisamples 8200 2 + short image_draw_method 8202 2 + float glalphaclip 8204 4 + short autokey_mode 8208 2 + short autokey_flag 8210 2 + short text_render 8212 2 + short pad9 8214 2 + ColorBand coba_weight 8216 776 + float sculpt_paint_overlay_col 8992 12 + short tweak_threshold 9004 2 + short pad3 9006 2 + char author 9008 80 + int compute_device_type 9088 4 + int compute_device_id 9092 4 + float fcu_inactive_alpha 9096 4 + float pixelsize 9100 4 + +bScreen 248 + + ID id 0 120 + ListBase vertbase 120 16 + ListBase edgebase 136 16 + ListBase areabase 152 16 + ListBase regionbase 168 16 + Scene *scene 184 8 + Scene *newscene 192 8 + int redraws_flag 200 4 + int pad1 204 4 + short full 208 2 + short temp 210 2 + short winid 212 2 + short do_draw 214 2 + short do_refresh 216 2 + short do_draw_gesture 218 2 + short do_draw_paintcursor 220 2 + short do_draw_drag 222 2 + short swap 224 2 + short mainwin 226 2 + short subwinactive 228 2 + short pad 230 2 + wmTimer *animtimer 232 8 + void *context 240 8 + +ScrVert 32 + + ScrVert *next 0 8 + ScrVert *prev 8 8 + ScrVert *newv 16 8 + vec2s vec 24 4 + short flag 28 2 + short editflag 30 2 + +ScrEdge 40 + + ScrEdge *next 0 8 + ScrEdge *prev 8 8 + ScrVert *v1 16 8 + ScrVert *v2 24 8 + short border 32 2 + short flag 34 2 + int pad 36 4 + +Panel 272 + + Panel *next 0 8 + Panel *prev 8 8 + PanelType *type 16 8 + uiLayout *layout 24 8 + char panelname 32 64 + char tabname 96 64 + char drawname 160 64 + int ofsx 224 4 + int ofsy 228 4 + int sizex 232 4 + int sizey 236 4 + short labelofs 240 2 + short pad 242 2 + short flag 244 2 + short runtime_flag 246 2 + short control 248 2 + short snap 250 2 + int sortorder 252 4 + Panel *paneltab 256 8 + void *activedata 264 8 + +uiList 200 + + uiList *next 0 8 + uiList *prev 8 8 + uiListType *type 16 8 + char list_id 24 64 + int layout_type 88 4 + int flag 92 4 + int list_scroll 96 4 + int list_grip 100 4 + int list_last_len 104 4 + int padi1 108 4 + char filter_byname 112 64 + int filter_flag 176 4 + int filter_sort_flag 180 4 + IDProperty *properties 184 8 + uiListDyn *dyn_data 192 8 + +ScrArea 160 + + ScrArea *next 0 8 + ScrArea *prev 8 8 + ScrVert *v1 16 8 + ScrVert *v2 24 8 + ScrVert *v3 32 8 + ScrVert *v4 40 8 + bScreen *full 48 8 + rcti totrct 56 16 + char spacetype 72 1 + char butspacetype 73 1 + short winx 74 2 + short winy 76 2 + short headertype 78 2 + short do_refresh 80 2 + short flag 82 2 + short region_active_win 84 2 + short pad 86 2 + SpaceType *type 88 8 + ListBase spacedata 96 16 + ListBase regionbase 112 16 + ListBase handlers 128 16 + ListBase actionzones 144 16 + +ARegion 336 + + ARegion *next 0 8 + ARegion *prev 8 8 + View2D v2d 16 160 + rcti winrct 176 16 + rcti drawrct 192 16 + short winx 208 2 + short winy 210 2 + short swinid 212 2 + short regiontype 214 2 + short alignment 216 2 + short flag 218 2 + float fsize 220 4 + short sizex 224 2 + short sizey 226 2 + short do_draw 228 2 + short do_draw_overlay 230 2 + short swap 232 2 + short overlap 234 2 + short pad 236 4 + ARegionType *type 240 8 + ListBase uiblocks 248 16 + ListBase panels 264 16 + ListBase ui_lists 280 16 + ListBase handlers 296 16 + wmTimer *regiontimer 312 8 + char *headerstr 320 8 + void *regiondata 328 8 + +FileGlobal 1072 + + char subvstr 0 4 + short subversion 4 2 + short pads 6 2 + short minversion 8 2 + short minsubversion 10 2 + short displaymode 12 2 + short winpos 14 2 + bScreen *curscreen 16 8 + Scene *curscene 24 8 + int fileflags 32 4 + int globalf 36 4 + int revision 40 4 + int pad 44 4 + char filename 48 1024 + +StripElem 264 + + char name 0 256 + int orig_width 256 4 + int orig_height 260 4 + +StripCrop 16 + + int top 0 4 + int bottom 4 4 + int left 8 4 + int right 12 4 + +StripTransform 8 + + int xofs 0 4 + int yofs 4 4 + +StripColorBalance 44 + + float lift 0 12 + float gamma 12 12 + float gain 24 12 + int flag 36 4 + int pad 40 4 + +StripProxy 1040 + + char dir 0 768 + char file 768 256 + anim *anim 1024 8 + short tc 1032 2 + short quality 1034 2 + short build_size_flags 1036 2 + short build_tc_flags 1038 2 + +Strip 904 + + Strip *next 0 8 + Strip *prev 8 8 + int us 16 4 + int done 20 4 + int startstill 24 4 + int endstill 28 4 + StripElem *stripdata 32 8 + char dir 40 768 + StripProxy *proxy 808 8 + StripCrop *crop 816 8 + StripTransform *transform 824 8 + StripColorBalance *color_balance 832 8 + ColorManagedColorspaceSettings colorspace_settings 840 64 + +Sequence 352 + + Sequence *next 0 8 + Sequence *prev 8 8 + void *tmp 16 8 + void *lib 24 8 + char name 32 64 + int flag 96 4 + int type 100 4 + int len 104 4 + int start 108 4 + int startofs 112 4 + int endofs 116 4 + int startstill 120 4 + int endstill 124 4 + int machine 128 4 + int depth 132 4 + int startdisp 136 4 + int enddisp 140 4 + float sat 144 4 + float mul 148 4 + float handsize 152 4 + short anim_preseek 156 2 + short streamindex 158 2 + int multicam_source 160 4 + int clip_flag 164 4 + Strip *strip 168 8 + Ipo *ipo 176 8 + Scene *scene 184 8 + Object *scene_camera 192 8 + MovieClip *clip 200 8 + Mask *mask 208 8 + anim *anim 216 8 + float effect_fader 224 4 + float speed_fader 228 4 + Sequence *seq1 232 8 + Sequence *seq2 240 8 + Sequence *seq3 248 8 + ListBase seqbase 256 16 + bSound *sound 272 8 + void *scene_sound 280 8 + float volume 288 4 + float pitch 292 4 + float pan 296 4 + float strobe 300 4 + void *effectdata 304 8 + int anim_startofs 312 4 + int anim_endofs 316 4 + int blend_mode 320 4 + float blend_opacity 324 4 + int sfra 328 4 + char alpha_mode 332 1 + char pad 333 3 + ListBase modifiers 336 16 + +MetaStack 32 + + MetaStack *next 0 8 + MetaStack *prev 8 8 + ListBase *oldbasep 16 8 + Sequence *parseq 24 8 + +Editing 2128 + + ListBase *seqbasep 0 8 + ListBase seqbase 8 16 + ListBase metastack 24 16 + Sequence *act_seq 40 8 + char act_imagedir 48 1024 + char act_sounddir 1072 1024 + int over_ofs 2096 4 + int over_cfra 2100 4 + int over_flag 2104 4 + int pad 2108 4 + rctf over_border 2112 16 + +WipeVars 12 + + float edgeWidth 0 4 + float angle 4 4 + short forward 8 2 + short wipetype 10 2 + +GlowVars 24 + + float fMini 0 4 + float fClamp 4 4 + float fBoost 8 4 + float dDist 12 4 + int dQuality 16 4 + int bNoComp 20 4 + +TransformVars 32 + + float ScalexIni 0 4 + float ScaleyIni 4 4 + float xIni 8 4 + float yIni 12 4 + float rotIni 16 4 + int percent 20 4 + int interpolation 24 4 + int uniform_scale 28 4 + +SolidColorVars 16 + + float col 0 12 + float pad 12 4 + +SpeedControlVars 24 + + float *frameMap 0 8 + float globalSpeed 8 4 + int flags 12 4 + int length 16 4 + int lastValidFrame 20 4 + +SequenceModifierData 112 + + SequenceModifierData *next 0 8 + SequenceModifierData *prev 8 8 + int type 16 4 + int flag 20 4 + char name 24 64 + int mask_input_type 88 4 + int pad 92 4 + Sequence *mask_sequence 96 8 + Mask *mask_id 104 8 + +ColorBalanceModifierData 160 + + SequenceModifierData modifier 0 112 + StripColorBalance color_balance 112 44 + float color_multiply 156 4 + +CurvesModifierData 432 + + SequenceModifierData modifier 0 112 + CurveMapping curve_mapping 112 320 + +HueCorrectModifierData 432 + + SequenceModifierData modifier 0 112 + CurveMapping curve_mapping 112 320 + +BrightContrastModifierData 120 + + SequenceModifierData modifier 0 112 + float bright 112 4 + float contrast 116 4 + +SequencerMaskModifierData 112 + + SequenceModifierData modifier 0 112 + +SequencerScopes 48 + + ImBuf *reference_ibuf 0 8 + ImBuf *zebra_ibuf 8 8 + ImBuf *waveform_ibuf 16 8 + ImBuf *sep_waveform_ibuf 24 8 + ImBuf *vector_ibuf 32 8 + ImBuf *histogram_ibuf 40 8 + +Effect 24 + + Effect *next 0 8 + Effect *prev 8 8 + short type 16 2 + short flag 18 2 + short buttype 20 2 + short rt 22 2 + +BuildEff 32 + + BuildEff *next 0 8 + BuildEff *prev 8 8 + short type 16 2 + short flag 18 2 + short buttype 20 2 + short rt 22 2 + float len 24 4 + float sfra 28 4 + +PartEff 392 + + PartEff *next 0 8 + PartEff *prev 8 8 + short type 16 2 + short flag 18 2 + short buttype 20 2 + short stype 22 2 + short vertgroup 24 2 + short userjit 26 2 + float sta 28 4 + float end 32 4 + float lifetime 36 4 + int totpart 40 4 + int totkey 44 4 + int seed 48 4 + float normfac 52 4 + float obfac 56 4 + float randfac 60 4 + float texfac 64 4 + float randlife 68 4 + float force 72 12 + float damp 84 4 + float nabla 88 4 + float vectsize 92 4 + float maxlen 96 4 + float pad 100 4 + float defvec 104 12 + float mult 116 16 + float life 132 16 + short child 148 8 + short mat 156 8 + short texmap 164 2 + short curmult 166 2 + short staticstep 168 2 + short omat 170 2 + short timetex 172 2 + short speedtex 174 2 + short flag2 176 2 + short flag2neg 178 2 + short disp 180 2 + short vertgroup_v 182 2 + char vgroupname 184 64 + char vgroupname_v 248 64 + float imat 312 64 + Particle *keys 376 8 + Group *group 384 8 + +WaveEff 64 + + WaveEff *next 0 8 + WaveEff *prev 8 8 + short type 16 2 + short flag 18 2 + short buttype 20 2 + short stype 22 2 + float startx 24 4 + float starty 28 4 + float height 32 4 + float width 36 4 + float narrow 40 4 + float speed 44 4 + float minfac 48 4 + float damp 52 4 + float timeoffs 56 4 + float lifetime 60 4 + +TreeStoreElem 16 + + short type 0 2 + short nr 2 2 + short flag 4 2 + short used 6 2 + ID *id 8 8 + +TreeStore 16 + + int totelem 0 4 + int usedelem 4 4 + TreeStoreElem *data 8 8 + +bProperty 96 + + bProperty *next 0 8 + bProperty *prev 8 8 + char name 16 64 + short type 80 2 + short flag 82 2 + int data 84 4 + void *poin 88 8 + +bNearSensor 80 + + char name 0 64 + float dist 64 4 + float resetdist 68 4 + int lastval 72 4 + int pad 76 4 + +bMouseSensor 8 + + short type 0 2 + short flag 2 2 + short pad1 4 2 + short pad2 6 2 + +bTouchSensor 80 + + char name 0 64 + Material *ma 64 8 + float dist 72 4 + float pad 76 4 + +bKeyboardSensor 136 + + short key 0 2 + short qual 2 2 + short type 4 2 + short qual2 6 2 + char targetName 8 64 + char toggleName 72 64 + +bPropertySensor 200 + + int type 0 4 + int pad 4 4 + char name 8 64 + char value 72 64 + char maxvalue 136 64 + +bActuatorSensor 72 + + int type 0 4 + int pad 4 4 + char name 8 64 + +bDelaySensor 8 + + short delay 0 2 + short duration 2 2 + short flag 4 2 + short pad 6 2 + +bCollisionSensor 136 + + char name 0 64 + char materialName 64 64 + short damptimer 128 2 + short damp 130 2 + short mode 132 2 + short pad2 134 2 + +bRadarSensor 76 + + char name 0 64 + float angle 64 4 + float range 68 4 + short flag 72 2 + short axis 74 2 + +bRandomSensor 72 + + char name 0 64 + int seed 64 4 + int delay 68 4 + +bRaySensor 204 + + char name 0 64 + float range 64 4 + char propname 68 64 + char matname 132 64 + short mode 196 2 + short pad1 198 2 + int axisflag 200 4 + +bArmatureSensor 136 + + char posechannel 0 64 + char constraint 64 64 + int type 128 4 + float value 132 4 + +bMessageSensor 136 + + Object *fromObject 0 8 + char subject 8 64 + char body 72 64 + +bSensor 128 + + bSensor *next 0 8 + bSensor *prev 8 8 + short type 16 2 + short otype 18 2 + short flag 20 2 + short pulse 22 2 + short freq 24 2 + short totlinks 26 2 + short pad1 28 2 + short pad2 30 2 + char name 32 64 + void *data 96 8 + bController **links 104 8 + Object *ob 112 8 + short invert 120 2 + short level 122 2 + short tap 124 2 + short pad 126 2 + +bJoystickSensor 92 + + char name 0 64 + char type 64 1 + char joyindex 65 1 + short flag 66 2 + short axis 68 2 + short axis_single 70 2 + int axisf 72 4 + int button 76 4 + int hat 80 4 + int hatf 84 4 + int precision 88 4 + +bExpressionCont 128 + + char str 0 128 + +bPythonCont 80 + + Text *text 0 8 + char module 8 64 + int mode 72 4 + int flag 76 4 + +bController 136 + + bController *next 0 8 + bController *prev 8 8 + bController *mynew 16 8 + short type 24 2 + short flag 26 2 + short inputs 28 2 + short totlinks 30 2 + short otype 32 2 + short totslinks 34 2 + short pad2 36 2 + short pad3 38 2 + char name 40 64 + void *data 104 8 + bActuator **links 112 8 + bSensor **slinks 120 8 + short val 128 2 + short valo 130 2 + int state_mask 132 4 + +bAddObjectActuator 16 + + int time 0 4 + int pad 4 4 + Object *ob 8 8 + +bActionActuator 168 + + bAction *act 0 8 + short type 8 2 + short flag 10 2 + float sta 12 4 + float end 16 4 + char name 20 64 + char frameProp 84 64 + short blendin 148 2 + short priority 150 2 + short layer 152 2 + short end_reset 154 2 + short strideaxis 156 2 + short blend_mode 158 2 + float stridelength 160 4 + float layer_weight 164 4 + +Sound3D 32 + + float min_gain 0 4 + float max_gain 4 4 + float reference_distance 8 4 + float max_distance 12 4 + float rolloff_factor 16 4 + float cone_inner_angle 20 4 + float cone_outer_angle 24 4 + float cone_outer_gain 28 4 + +bSoundActuator 72 + + short flag 0 2 + short sndnr 2 2 + int pad1 4 4 + int pad2 8 4 + short pad3 12 4 + float volume 16 4 + float pitch 20 4 + bSound *sound 24 8 + Sound3D sound3D 32 32 + short type 64 2 + short pad4 66 2 + short pad5 68 2 + short pad6 70 2 + +bEditObjectActuator 120 + + int time 0 4 + short type 4 2 + short flag 6 2 + Object *ob 8 8 + Mesh *me 16 8 + char name 24 64 + float linVelocity 88 12 + float angVelocity 100 12 + float mass 112 4 + short localflag 116 2 + short dyn_operation 118 2 + +bSceneActuator 24 + + short type 0 2 + short pad1 2 2 + int pad 4 4 + Scene *scene 8 8 + Object *camera 16 8 + +bPropertyActuator 144 + + int pad 0 4 + int type 4 4 + char name 8 64 + char value 72 64 + Object *ob 136 8 + +bObjectActuator 112 + + short flag 0 2 + short type 2 2 + short otype 4 2 + short damping 6 2 + float forceloc 8 12 + float forcerot 20 12 + float pad 32 12 + float pad1 44 12 + float dloc 56 12 + float drot 68 12 + float linearvelocity 80 12 + float angularvelocity 92 12 + Object *reference 104 8 + +bIpoActuator 148 + + short flag 0 2 + short type 2 2 + float sta 4 4 + float end 8 4 + char name 12 64 + char frameProp 76 64 + short pad1 140 2 + short pad2 142 2 + short pad3 144 2 + short pad4 146 2 + +bCameraActuator 32 + + Object *ob 0 8 + float height 8 4 + float min 12 4 + float max 16 4 + float damping 20 4 + short pad1 24 2 + short axis 26 2 + float pad2 28 4 + +bConstraintActuator 128 + + short type 0 2 + short mode 2 2 + short flag 4 2 + short damp 6 2 + short time 8 2 + short rotdamp 10 2 + int pad 12 4 + float minloc 16 12 + float maxloc 28 12 + float minrot 40 12 + float maxrot 52 12 + char matprop 64 64 + +bGroupActuator 88 + + short flag 0 2 + short type 2 2 + int sta 4 4 + int end 8 4 + char name 12 64 + short pad 76 6 + short cur 82 2 + short butsta 84 2 + short butend 86 2 + +bRandomActuator 88 + + int seed 0 4 + int distribution 4 4 + int int_arg_1 8 4 + int int_arg_2 12 4 + float float_arg_1 16 4 + float float_arg_2 20 4 + char propname 24 64 + +bMessageActuator 208 + + char toPropName 0 64 + Object *toObject 64 8 + char subject 72 64 + short bodyType 136 2 + short pad1 138 2 + int pad2 140 4 + char body 144 64 + +bGameActuator 140 + + short flag 0 2 + short type 2 2 + int sta 4 4 + int end 8 4 + char filename 12 64 + char loadaniname 76 64 + +bVisibilityActuator 4 + + int flag 0 4 + +bTwoDFilterActuator 24 + + char pad 0 4 + short type 4 2 + short flag 6 2 + int int_arg 8 4 + float float_arg 12 4 + Text *text 16 8 + +bParentActuator 16 + + char pad 0 2 + short flag 2 2 + int type 4 4 + Object *ob 8 8 + +bStateActuator 8 + + int type 0 4 + int mask 4 4 + +bArmatureActuator 160 + + char posechannel 0 64 + char constraint 64 64 + int type 128 4 + float weight 132 4 + float influence 136 4 + float pad 140 4 + Object *target 144 8 + Object *subtarget 152 8 + +bSteeringActuator 48 + + char pad 0 5 + char flag 5 1 + short facingaxis 6 2 + int type 8 4 + float dist 12 4 + float velocity 16 4 + float acceleration 20 4 + float turnspeed 24 4 + int updateTime 28 4 + Object *target 32 8 + Object *navmesh 40 8 + +bActuator 112 + + bActuator *next 0 8 + bActuator *prev 8 8 + bActuator *mynew 16 8 + short type 24 2 + short flag 26 2 + short otype 28 2 + short go 30 2 + char name 32 64 + void *data 96 8 + Object *ob 104 8 + +bSound 1232 + + ID id 0 120 + char name 120 1024 + PackedFile *packedfile 1144 8 + void *handle 1152 8 + PackedFile *newpackedfile 1160 8 + Ipo *ipo 1168 8 + float volume 1176 4 + float attenuation 1180 4 + float pitch 1184 4 + float min_gain 1188 4 + float max_gain 1192 4 + float distance 1196 4 + int flags 1200 4 + int pad 1204 4 + void *cache 1208 8 + void *waveform 1216 8 + void *playback_handle 1224 8 + +GroupObject 40 + + GroupObject *next 0 8 + GroupObject *prev 8 8 + Object *ob 16 8 + void *lampren 24 8 + short recalc 32 2 + char pad 34 6 + +Group 152 + + ID id 0 120 + ListBase gobject 120 16 + int layer 136 4 + float dupli_ofs 140 12 + +Bone 328 + + Bone *next 0 8 + Bone *prev 8 8 + IDProperty *prop 16 8 + Bone *parent 24 8 + ListBase childbase 32 16 + char name 48 64 + float roll 112 4 + float head 116 12 + float tail 128 12 + float bone_mat 140 36 + int flag 176 4 + float arm_head 180 12 + float arm_tail 192 12 + float arm_mat 204 64 + float arm_roll 268 4 + float dist 272 4 + float weight 276 4 + float xwidth 280 4 + float length 284 4 + float zwidth 288 4 + float ease1 292 4 + float ease2 296 4 + float rad_head 300 4 + float rad_tail 304 4 + float size 308 12 + int layer 320 4 + short segments 324 2 + short pad 326 2 + +bArmature 256 + + ID id 0 120 + AnimData *adt 120 8 + ListBase bonebase 128 16 + ListBase chainbase 144 16 + ListBase *edbo 160 8 + Bone *act_bone 168 8 + EditBone *act_edbone 176 8 + void *sketch 184 8 + int flag 192 4 + int drawtype 196 4 + int gevertdeformer 200 4 + int pad 204 4 + short deformflag 208 2 + short pathflag 210 2 + int layer_used 212 4 + int layer 216 4 + int layer_protected 220 4 + short ghostep 224 2 + short ghostsize 226 2 + short ghosttype 228 2 + short pathsize 230 2 + int ghostsf 232 4 + int ghostef 236 4 + int pathsf 240 4 + int pathef 244 4 + int pathbc 248 4 + int pathac 252 4 + +bMotionPathVert 16 + + float co 0 12 + int flag 12 4 + +bMotionPath 24 + + bMotionPathVert *points 0 8 + int length 8 4 + int start_frame 12 4 + int end_frame 16 4 + int flag 20 4 + +bAnimVizSettings 48 + + int ghost_sf 0 4 + int ghost_ef 4 4 + int ghost_bc 8 4 + int ghost_ac 12 4 + short ghost_type 16 2 + short ghost_step 18 2 + short ghost_flag 20 2 + short recalc 22 2 + short path_type 24 2 + short path_step 26 2 + short path_viewflag 28 2 + short path_bakeflag 30 2 + int path_sf 32 4 + int path_ef 36 4 + int path_bc 40 4 + int path_ac 44 4 + +bPoseChannel 544 + + bPoseChannel *next 0 8 + bPoseChannel *prev 8 8 + IDProperty *prop 16 8 + ListBase constraints 24 16 + char name 40 64 + short flag 104 2 + short ikflag 106 2 + short protectflag 108 2 + short agrp_index 110 2 + char constflag 112 1 + char selectflag 113 1 + char pad0 114 6 + Bone *bone 120 8 + bPoseChannel *parent 128 8 + bPoseChannel *child 136 8 + ListBase iktree 144 16 + ListBase siktree 160 16 + bMotionPath *mpath 176 8 + Object *custom 184 8 + bPoseChannel *custom_tx 192 8 + float loc 200 12 + float size 212 12 + float eul 224 12 + float quat 236 16 + float rotAxis 252 12 + float rotAngle 264 4 + short rotmode 268 2 + short pad 270 2 + float chan_mat 272 64 + float pose_mat 336 64 + float constinv 400 64 + float pose_head 464 12 + float pose_tail 476 12 + float limitmin 488 12 + float limitmax 500 12 + float stiffness 512 12 + float ikstretch 524 4 + float ikrotweight 528 4 + float iklinweight 532 4 + void *temp 536 8 + +bPose 216 + + ListBase chanbase 0 16 + GHash *chanhash 16 8 + short flag 24 2 + short pad 26 2 + int proxy_layer 28 4 + int pad1 32 4 + float ctime 36 4 + float stride_offset 40 12 + float cyclic_offset 52 12 + ListBase agroups 64 16 + int active_group 80 4 + int iksolver 84 4 + void *ikdata 88 8 + void *ikparam 96 8 + bAnimVizSettings avs 104 48 + char proxy_act_bone 152 64 + +bIKParam 4 + + int iksolver 0 4 + +bItasc 40 + + int iksolver 0 4 + float precision 4 4 + short numiter 8 2 + short numstep 10 2 + float minstep 12 4 + float maxstep 16 4 + short solver 20 2 + short flag 22 2 + float feedback 24 4 + float maxvel 28 4 + float dampmax 32 4 + float dampeps 36 4 + +bActionGroup 120 + + bActionGroup *next 0 8 + bActionGroup *prev 8 8 + ListBase channels 16 16 + int flag 32 4 + int customCol 36 4 + char name 40 64 + ThemeWireColor cs 104 16 + +bAction 200 + + ID id 0 120 + ListBase curves 120 16 + ListBase chanbase 136 16 + ListBase groups 152 16 + ListBase markers 168 16 + int flag 184 4 + int active_marker 188 4 + int idroot 192 4 + int pad 196 4 + +bDopeSheet 112 + + ID *source 0 8 + ListBase chanbase 8 16 + Group *filter_grp 24 8 + char searchstr 32 64 + int filterflag 96 4 + int flag 100 4 + int renameIndex 104 4 + int pad 108 4 + +SpaceAction 344 + + SpaceLink *next 0 8 + SpaceLink *prev 8 8 + ListBase regionbase 16 16 + int spacetype 32 4 + float blockscale 36 4 + short blockhandler 40 16 + View2D v2d 56 160 + bAction *action 216 8 + bDopeSheet ads 224 112 + char mode 336 1 + char autosnap 337 1 + short flag 338 2 + float timeslide 340 4 + +bActionChannel 120 + + bActionChannel *next 0 8 + bActionChannel *prev 8 8 + bActionGroup *grp 16 8 + Ipo *ipo 24 8 + ListBase constraintChannels 32 16 + int flag 48 4 + char name 52 64 + int temp 116 4 + +bConstraintChannel 56 + + bConstraintChannel *next 0 8 + bConstraintChannel *prev 8 8 + Ipo *ipo 16 8 + short flag 24 2 + char name 26 30 + +bConstraint 120 + + bConstraint *next 0 8 + bConstraint *prev 8 8 + void *data 16 8 + short type 24 2 + short flag 26 2 + char ownspace 28 1 + char tarspace 29 1 + char name 30 64 + short pad 94 2 + float enforce 96 4 + float headtail 100 4 + Ipo *ipo 104 8 + float lin_error 112 4 + float rot_error 116 4 + +bConstraintTarget 160 + + bConstraintTarget *next 0 8 + bConstraintTarget *prev 8 8 + Object *tar 16 8 + char subtarget 24 64 + float matrix 88 64 + short space 152 2 + short flag 154 2 + short type 156 2 + short rotOrder 158 2 + +bPythonConstraint 112 + + Text *text 0 8 + IDProperty *prop 8 8 + int flag 16 4 + int tarnum 20 4 + ListBase targets 24 16 + Object *tar 40 8 + char subtarget 48 64 + +bKinematicConstraint 184 + + Object *tar 0 8 + short iterations 8 2 + short flag 10 2 + short rootbone 12 2 + short max_rootbone 14 2 + char subtarget 16 64 + Object *poletar 80 8 + char polesubtarget 88 64 + float poleangle 152 4 + float weight 156 4 + float orientweight 160 4 + float grabtarget 164 12 + short type 176 2 + short mode 178 2 + float dist 180 4 + +bSplineIKConstraint 24 + + Object *tar 0 8 + float *points 8 8 + short numpoints 16 2 + short chainlen 18 2 + short flag 20 2 + short xzScaleMode 22 2 + +bTrackToConstraint 88 + + Object *tar 0 8 + int reserved1 8 4 + int reserved2 12 4 + int flags 16 4 + int pad 20 4 + char subtarget 24 64 + +bRotateLikeConstraint 80 + + Object *tar 0 8 + int flag 8 4 + int reserved1 12 4 + char subtarget 16 64 + +bLocateLikeConstraint 80 + + Object *tar 0 8 + int flag 8 4 + int reserved1 12 4 + char subtarget 16 64 + +bSizeLikeConstraint 80 + + Object *tar 0 8 + int flag 8 4 + int reserved1 12 4 + char subtarget 16 64 + +bSameVolumeConstraint 8 + + int flag 0 4 + float volume 4 4 + +bTransLikeConstraint 72 + + Object *tar 0 8 + char subtarget 8 64 + +bMinMaxConstraint 104 + + Object *tar 0 8 + int minmaxflag 8 4 + float offset 12 4 + int flag 16 4 + short sticky 20 2 + short stuck 22 2 + short pad1 24 2 + short pad2 26 2 + float cache 28 12 + char subtarget 40 64 + +bActionConstraint 104 + + Object *tar 0 8 + short type 8 2 + short local 10 2 + int start 12 4 + int end 16 4 + float min 20 4 + float max 24 4 + int flag 28 4 + bAction *act 32 8 + char subtarget 40 64 + +bLockTrackConstraint 80 + + Object *tar 0 8 + int trackflag 8 4 + int lockflag 12 4 + char subtarget 16 64 + +bDampTrackConstraint 80 + + Object *tar 0 8 + int trackflag 8 4 + int pad 12 4 + char subtarget 16 64 + +bFollowPathConstraint 24 + + Object *tar 0 8 + float offset 8 4 + float offset_fac 12 4 + int followflag 16 4 + short trackflag 20 2 + short upflag 22 2 + +bStretchToConstraint 88 + + Object *tar 0 8 + int volmode 8 4 + int plane 12 4 + float orglength 16 4 + float bulge 20 4 + char subtarget 24 64 + +bRigidBodyJointConstraint 104 + + Object *tar 0 8 + Object *child 8 8 + int type 16 4 + float pivX 20 4 + float pivY 24 4 + float pivZ 28 4 + float axX 32 4 + float axY 36 4 + float axZ 40 4 + float minLimit 44 24 + float maxLimit 68 24 + float extraFz 92 4 + short flag 96 2 + short pad 98 2 + short pad1 100 2 + short pad2 102 2 + +bClampToConstraint 16 + + Object *tar 0 8 + int flag 8 4 + int flag2 12 4 + +bChildOfConstraint 144 + + Object *tar 0 8 + int flag 8 4 + int pad 12 4 + float invmat 16 64 + char subtarget 80 64 + +bTransformConstraint 128 + + Object *tar 0 8 + char subtarget 8 64 + short from 72 2 + short to 74 2 + char map 76 3 + char expo 79 1 + float from_min 80 12 + float from_max 92 12 + float to_min 104 12 + float to_max 116 12 + +bPivotConstraint 88 + + Object *tar 0 8 + char subtarget 8 64 + float offset 72 12 + short rotAxis 84 2 + short flag 86 2 + +bLocLimitConstraint 28 + + float xmin 0 4 + float xmax 4 4 + float ymin 8 4 + float ymax 12 4 + float zmin 16 4 + float zmax 20 4 + short flag 24 2 + short flag2 26 2 + +bRotLimitConstraint 28 + + float xmin 0 4 + float xmax 4 4 + float ymin 8 4 + float ymax 12 4 + float zmin 16 4 + float zmax 20 4 + short flag 24 2 + short flag2 26 2 + +bSizeLimitConstraint 28 + + float xmin 0 4 + float xmax 4 4 + float ymin 8 4 + float ymax 12 4 + float zmin 16 4 + float zmax 20 4 + short flag 24 2 + short flag2 26 2 + +bDistLimitConstraint 88 + + Object *tar 0 8 + char subtarget 8 64 + float dist 72 4 + float soft 76 4 + short flag 80 2 + short mode 82 2 + int pad 84 4 + +bShrinkwrapConstraint 24 + + Object *target 0 8 + float dist 8 4 + short shrinkType 12 2 + char projAxis 14 1 + char projAxisSpace 15 1 + float projLimit 16 4 + char pad 20 4 + +bFollowTrackConstraint 160 + + MovieClip *clip 0 8 + char track 8 64 + int flag 72 4 + int frame_method 76 4 + char object 80 64 + Object *camera 144 8 + Object *depth_ob 152 8 + +bCameraSolverConstraint 16 + + MovieClip *clip 0 8 + int flag 8 4 + int pad 12 4 + +bObjectSolverConstraint 152 + + MovieClip *clip 0 8 + int flag 8 4 + int pad 12 4 + char object 16 64 + float invmat 80 64 + Object *camera 144 8 + +bActionModifier 72 + + bActionModifier *next 0 8 + bActionModifier *prev 8 8 + short type 16 2 + short flag 18 2 + char channel 20 32 + float noisesize 52 4 + float turbul 56 4 + short channels 60 2 + short no_rot_axis 62 2 + Object *ob 64 8 + +bActionStrip 168 + + bActionStrip *next 0 8 + bActionStrip *prev 8 8 + short flag 16 2 + short mode 18 2 + short stride_axis 20 2 + short curmod 22 2 + Ipo *ipo 24 8 + bAction *act 32 8 + Object *object 40 8 + float start 48 4 + float end 52 4 + float actstart 56 4 + float actend 60 4 + float actoffs 64 4 + float stridelen 68 4 + float repeat 72 4 + float scale 76 4 + float blendin 80 4 + float blendout 84 4 + char stridechannel 88 32 + char offs_bone 120 32 + ListBase modifiers 152 16 + +bNodeStack 48 + + float vec 0 16 + float min 16 4 + float max 20 4 + void *data 24 8 + short hasinput 32 2 + short hasoutput 34 2 + short datatype 36 2 + short sockettype 38 2 + short is_copy 40 2 + short external 42 2 + short pad 44 4 + +bNodeSocket 352 + + bNodeSocket *next 0 8 + bNodeSocket *prev 8 8 + bNodeSocket *new_sock 16 8 + IDProperty *prop 24 8 + char identifier 32 64 + char name 96 64 + void *storage 160 8 + short type 168 2 + short flag 170 2 + short limit 172 2 + short in_out 174 2 + bNodeSocketType *typeinfo 176 8 + char idname 184 64 + float locx 248 4 + float locy 252 4 + void *default_value 256 8 + short stack_index 264 2 + short stack_type 266 2 + int resizemode 268 4 + void *cache 272 8 + int own_index 280 4 + int to_index 284 4 + bNodeSocket *groupsock 288 8 + bNodeLink *link 296 8 + bNodeStack ns 304 48 + +bNode 464 + + bNode *next 0 8 + bNode *prev 8 8 + bNode *new_node 16 8 + IDProperty *prop 24 8 + bNodeType *typeinfo 32 8 + char idname 40 64 + char name 104 64 + int flag 168 4 + short type 172 2 + short pad 174 2 + short done 176 2 + short level 178 2 + short lasty 180 2 + short menunr 182 2 + short stack_index 184 2 + short nr 186 2 + float color 188 12 + ListBase inputs 200 16 + ListBase outputs 216 16 + bNode *parent 232 8 + ID *id 240 8 + void *storage 248 8 + bNode *original 256 8 + ListBase internal_links 264 16 + float locx 280 4 + float locy 284 4 + float width 288 4 + float height 292 4 + float miniwidth 296 4 + float offsetx 300 4 + float offsety 304 4 + int update 308 4 + char label 312 64 + short custom1 376 2 + short custom2 378 2 + float custom3 380 4 + float custom4 384 4 + short need_exec 388 2 + short exec 390 2 + void *threaddata 392 8 + rctf totr 400 16 + rctf butr 416 16 + rctf prvr 432 16 + short preview_xsize 448 2 + short preview_ysize 450 2 + int pad2 452 4 + uiBlock *block 456 8 + +bNodeInstanceKey 4 + + int value 0 4 + +bNodeInstanceHashEntry 8 + + bNodeInstanceKey key 0 4 + short tag 4 2 + short pad 6 2 + +bNodePreview 24 + + bNodeInstanceHashEntry hash_entry 0 8 + char *rect 8 8 + short xsize 16 2 + short ysize 18 2 + int pad 20 4 + +bNodeLink 56 + + bNodeLink *next 0 8 + bNodeLink *prev 8 8 + bNode *fromnode 16 8 + bNode *tonode 24 8 + bNodeSocket *fromsock 32 8 + bNodeSocket *tosock 40 8 + int flag 48 4 + int pad 52 4 + +bNodeTree 404 + + ID id 0 120 + AnimData *adt 120 8 + bNodeTreeType *typeinfo 128 8 + char idname 136 64 + StructRNA *interface_type 200 8 + bGPdata *gpd 208 8 + float view_center 216 8 + ListBase nodes 224 16 + ListBase links 240 16 + int type 256 4 + int init 260 4 + int cur_index 264 4 + int flag 268 4 + int update 272 4 + short is_updating 276 2 + short done 278 2 + int pad2 280 4 + int nodetype 284 4 + short edit_quality 288 2 + short render_quality 290 2 + int chunksize 292 4 + rctf viewer_border 296 16 + ListBase inputs 312 16 + ListBase outputs 328 16 + bNodeInstanceHash *previews 344 8 + bNodeInstanceKey active_viewer_key 352 4 + int pad 356 4 + bNodeTreeExec *execdata 360 8 + void (*progress)() 368 0 + void (*stats_draw)() 368 0 + int (*test_break)() 368 4 + void (*update_draw)() 372 0 + void *tbh 372 8 + void *prh 380 8 + void *sdh 388 8 + void *udh 396 8 + +bNodeSocketValueInt 16 + + int subtype 0 4 + int value 4 4 + int min 8 4 + int max 12 4 + +bNodeSocketValueFloat 16 + + int subtype 0 4 + float value 4 4 + float min 8 4 + float max 12 4 + +bNodeSocketValueBoolean 4 + + char value 0 1 + char pad 1 3 + +bNodeSocketValueVector 24 + + int subtype 0 4 + float value 4 12 + float min 16 4 + float max 20 4 + +bNodeSocketValueRGBA 16 + + float value 0 16 + +bNodeSocketValueString 1032 + + int subtype 0 4 + int pad 4 4 + char value 8 1024 + +NodeFrame 4 + + short flag 0 2 + short label_size 2 2 + +NodeImageAnim 16 + + int frames 0 4 + int sfra 4 4 + int nr 8 4 + char cyclic 12 1 + char movie 13 1 + short pad 14 2 + +ColorCorrectionData 24 + + float saturation 0 4 + float contrast 4 4 + float gamma 8 4 + float gain 12 4 + float lift 16 4 + int pad 20 4 + +NodeColorCorrection 104 + + ColorCorrectionData master 0 24 + ColorCorrectionData shadows 24 24 + ColorCorrectionData midtones 48 24 + ColorCorrectionData highlights 72 24 + float startmidtones 96 4 + float endmidtones 100 4 + +NodeBokehImage 20 + + float angle 0 4 + int flaps 4 4 + float rounding 8 4 + float catadioptric 12 4 + float lensshift 16 4 + +NodeBoxMask 24 + + float x 0 4 + float y 4 4 + float rotation 8 4 + float height 12 4 + float width 16 4 + int pad 20 4 + +NodeEllipseMask 24 + + float x 0 4 + float y 4 4 + float rotation 8 4 + float height 12 4 + float width 16 4 + int pad 20 4 + +NodeImageLayer 8 + + int pass_index 0 4 + int pass_flag 4 4 + +NodeBlurData 40 + + short sizex 0 2 + short sizey 2 2 + short samples 4 2 + short maxspeed 6 2 + short minspeed 8 2 + short relative 10 2 + short aspect 12 2 + short curved 14 2 + float fac 16 4 + float percentx 20 4 + float percenty 24 4 + short filtertype 28 2 + char bokeh 30 1 + char gamma 31 1 + int image_in_width 32 4 + int image_in_height 36 4 + +NodeDBlurData 28 + + float center_x 0 4 + float center_y 4 4 + float distance 8 4 + float angle 12 4 + float spin 16 4 + float zoom 20 4 + short iter 24 2 + char wrap 26 1 + char pad 27 1 + +NodeBilateralBlurData 12 + + float sigma_color 0 4 + float sigma_space 4 4 + short iter 8 2 + short pad 10 2 + +NodeHueSat 12 + + float hue 0 4 + float sat 4 4 + float val 8 4 + +NodeImageFile 1280 + + char name 0 1024 + ImageFormatData im_format 1024 248 + int sfra 1272 4 + int efra 1276 4 + +NodeImageMultiFile 1288 + + char base_path 0 1024 + ImageFormatData format 1024 248 + int sfra 1272 4 + int efra 1276 4 + int active_input 1280 4 + int pad 1284 4 + +NodeImageMultiFileSocket 1312 + + short use_render_format 0 2 + short use_node_format 2 2 + int pad1 4 4 + char path 8 1024 + ImageFormatData format 1032 248 + char layer 1280 30 + char pad2 1310 2 + +NodeChroma 44 + + float t1 0 4 + float t2 4 4 + float t3 8 4 + float fsize 12 4 + float fstrength 16 4 + float falpha 20 4 + float key 24 16 + short algorithm 40 2 + short channel 42 2 + +NodeTwoXYs 24 + + short x1 0 2 + short x2 2 2 + short y1 4 2 + short y2 6 2 + float fac_x1 8 4 + float fac_x2 12 4 + float fac_y1 16 4 + float fac_y2 20 4 + +NodeTwoFloats 8 + + float x 0 4 + float y 4 4 + +NodeGeometry 128 + + char uvname 0 64 + char colname 64 64 + +NodeVertexCol 64 + + char name 0 64 + +NodeDefocus 32 + + char bktype 0 1 + char pad_c1 1 1 + char preview 2 1 + char gamco 3 1 + short samples 4 2 + short no_zbuf 6 2 + float fstop 8 4 + float maxblur 12 4 + float bthresh 16 4 + float scale 20 4 + float rotation 24 4 + float pad_f1 28 4 + +NodeScriptDict 16 + + void *dict 0 8 + void *node 8 8 + +NodeGlare 32 + + char quality 0 1 + char type 1 1 + char iter 2 1 + char angle 3 1 + char pad_c1 4 1 + char size 5 1 + char pad 6 2 + float colmod 8 4 + float mix 12 4 + float threshold 16 4 + float fade 20 4 + float angle_ofs 24 4 + float pad_f1 28 4 + +NodeTonemap 32 + + float key 0 4 + float offset 4 4 + float gamma 8 4 + float f 12 4 + float m 16 4 + float a 20 4 + float c 24 4 + int type 28 4 + +NodeLensDist 8 + + short jit 0 2 + short proj 2 2 + short fit 4 2 + short pad 6 2 + +NodeColorBalance 96 + + float slope 0 12 + float offset 12 12 + float power 24 12 + float lift 36 12 + float gamma 48 12 + float gain 60 12 + float lift_lgg 72 12 + float gamma_inv 84 12 + +NodeColorspill 20 + + short limchan 0 2 + short unspill 2 2 + float limscale 4 4 + float uspillr 8 4 + float uspillg 12 4 + float uspillb 16 4 + +NodeDilateErode 8 + + char falloff 0 1 + char pad 1 7 + +NodeMask 8 + + int size_x 0 4 + int size_y 4 4 + +NodeTexBase 968 + + TexMapping tex_mapping 0 144 + ColorMapping color_mapping 144 824 + +NodeTexSky 992 + + NodeTexBase base 0 968 + int sky_model 968 4 + float sun_direction 972 12 + float turbidity 984 4 + float ground_albedo 988 4 + +NodeTexImage 1024 + + NodeTexBase base 0 968 + ImageUser iuser 968 40 + int color_space 1008 4 + int projection 1012 4 + float projection_blend 1016 4 + int pad 1020 4 + +NodeTexChecker 968 + + NodeTexBase base 0 968 + +NodeTexBrick 984 + + NodeTexBase base 0 968 + int offset_freq 968 4 + int squash_freq 972 4 + float offset 976 4 + float squash 980 4 + +NodeTexEnvironment 1016 + + NodeTexBase base 0 968 + ImageUser iuser 968 40 + int color_space 1008 4 + int projection 1012 4 + +NodeTexGradient 976 + + NodeTexBase base 0 968 + int gradient_type 968 4 + int pad 972 4 + +NodeTexNoise 968 + + NodeTexBase base 0 968 + +NodeTexVoronoi 976 + + NodeTexBase base 0 968 + int coloring 968 4 + int pad 972 4 + +NodeTexMusgrave 976 + + NodeTexBase base 0 968 + int musgrave_type 968 4 + int pad 972 4 + +NodeTexWave 976 + + NodeTexBase base 0 968 + int wave_type 968 4 + int pad 972 4 + +NodeTexMagic 976 + + NodeTexBase base 0 968 + int depth 968 4 + int pad 972 4 + +NodeShaderAttribute 64 + + char name 0 64 + +NodeShaderVectTransform 16 + + int type 0 4 + int convert_from 4 4 + int convert_to 8 4 + int pad 12 4 + +TexNodeOutput 64 + + char name 0 64 + +NodeKeyingScreenData 64 + + char tracking_object 0 64 + +NodeKeyingData 48 + + float screen_balance 0 4 + float despill_factor 4 4 + float despill_balance 8 4 + int edge_kernel_radius 12 4 + float edge_kernel_tolerance 16 4 + float clip_black 20 4 + float clip_white 24 4 + int dilate_distance 28 4 + int feather_distance 32 4 + int feather_falloff 36 4 + int blur_pre 40 4 + int blur_post 44 4 + +NodeTrackPosData 128 + + char tracking_object 0 64 + char track_name 64 64 + +NodeTranslateData 8 + + char wrap_axis 0 1 + char relative 1 1 + char pad 2 6 + +NodePlaneTrackDeformData 128 + + char tracking_object 0 64 + char plane_track_name 64 64 + +NodeShaderScript 1104 + + int mode 0 4 + int flag 4 4 + char filepath 8 1024 + char bytecode_hash 1032 64 + char *bytecode 1096 8 + +NodeShaderTangent 72 + + int direction_type 0 4 + int axis 4 4 + char uv_map 8 64 + +NodeShaderNormalMap 68 + + int space 0 4 + char uv_map 4 64 + +CurveMapPoint 12 + + float x 0 4 + float y 4 4 + short flag 8 2 + short shorty 10 2 + +CurveMap 56 + + short totpoint 0 2 + short flag 2 2 + float range 4 4 + float mintable 8 4 + float maxtable 12 4 + float ext_in 16 8 + float ext_out 24 8 + CurveMapPoint *curve 32 8 + CurveMapPoint *table 40 8 + CurveMapPoint *premultable 48 8 + +CurveMapping 320 + + int flag 0 4 + int cur 4 4 + int preset 8 4 + int changed_timestamp 12 4 + rctf curr 16 16 + rctf clipr 32 16 + CurveMap cm 48 224 + float black 272 12 + float white 284 12 + float bwmul 296 12 + float sample 308 12 + +Histogram 5160 + + int channels 0 4 + int x_resolution 4 4 + float data_luma 8 1024 + float data_r 1032 1024 + float data_g 2056 1024 + float data_b 3080 1024 + float data_a 4104 1024 + float xmax 5128 4 + float ymax 5132 4 + short mode 5136 2 + short flag 5138 2 + int height 5140 4 + float co 5144 16 + +Scopes 5264 + + int ok 0 4 + int sample_full 4 4 + int sample_lines 8 4 + float accuracy 12 4 + int wavefrm_mode 16 4 + float wavefrm_alpha 20 4 + float wavefrm_yfac 24 4 + int wavefrm_height 28 4 + float vecscope_alpha 32 4 + int vecscope_height 36 4 + float minmax 40 24 + Histogram hist 64 5160 + float *waveform_1 5224 8 + float *waveform_2 5232 8 + float *waveform_3 5240 8 + float *vecscope 5248 8 + int waveform_tot 5256 4 + int pad 5260 4 + +ColorManagedViewSettings 160 + + int flag 0 4 + int pad 4 4 + char look 8 64 + char view_transform 72 64 + float exposure 136 4 + float gamma 140 4 + CurveMapping *curve_mapping 144 8 + void *pad2 152 8 + +ColorManagedDisplaySettings 64 + + char display_device 0 64 + +ColorManagedColorspaceSettings 64 + + char name 0 64 + +BrushClone 24 + + Image *image 0 8 + float offset 8 8 + float alpha 16 4 + float pad 20 4 + +Brush 1992 + + ID id 0 120 + BrushClone clone 120 24 + CurveMapping *curve 144 8 + MTex mtex 152 312 + MTex mask_mtex 464 312 + Brush *toggle_brush 776 8 + ImBuf *icon_imbuf 784 8 + PreviewImage *preview 792 8 + char icon_filepath 800 1024 + float normal_weight 1824 4 + short blend 1828 2 + short ob_mode 1830 2 + float weight 1832 4 + int size 1836 4 + int flag 1840 4 + float jitter 1844 4 + int jitter_absolute 1848 4 + int overlay_flags 1852 4 + int spacing 1856 4 + int smooth_stroke_radius 1860 4 + float smooth_stroke_factor 1864 4 + float rate 1868 4 + float rgb 1872 12 + float alpha 1884 4 + int sculpt_plane 1888 4 + float plane_offset 1892 4 + char sculpt_tool 1896 1 + char vertexpaint_tool 1897 1 + char imagepaint_tool 1898 1 + char mask_tool 1899 1 + float autosmooth_factor 1900 4 + float crease_pinch_factor 1904 4 + float plane_trim 1908 4 + float height 1912 4 + float texture_sample_bias 1916 4 + int texture_overlay_alpha 1920 4 + int mask_overlay_alpha 1924 4 + int cursor_overlay_alpha 1928 4 + float unprojected_radius 1932 4 + float add_col 1936 12 + float sub_col 1948 12 + float stencil_pos 1960 8 + float stencil_dimension 1968 8 + float mask_stencil_pos 1976 8 + float mask_stencil_dimension 1984 8 + +CustomDataLayer 104 + + int type 0 4 + int offset 4 4 + int flag 8 4 + int active 12 4 + int active_rnd 16 4 + int active_clone 20 4 + int active_mask 24 4 + int uid 28 4 + char name 32 64 + void *data 96 8 + +CustomDataExternal 1024 + + char filename 0 1024 + +CustomData 192 + + CustomDataLayer *layers 0 8 + int typemap 8 156 + int totlayer 164 4 + int maxlayer 168 4 + int totsize 172 4 + void *pool 176 8 + CustomDataExternal *external 184 8 + +HairKey 24 + + float co 0 12 + float time 12 4 + float weight 16 4 + short editflag 20 2 + short pad 22 2 + +ParticleKey 56 + + float co 0 12 + float vel 12 12 + float rot 24 16 + float ave 40 12 + float time 52 4 + +BoidParticle 56 + + Object *ground 0 8 + BoidData data 8 20 + float gravity 28 12 + float wander 40 12 + float rt 52 4 + +ParticleSpring 16 + + float rest_length 0 4 + int particle_index 4 8 + int delete_flag 12 4 + +ChildParticle 64 + + int num 0 4 + int parent 4 4 + int pa 8 16 + float w 24 16 + float fuv 40 16 + float foffset 56 4 + float rt 60 4 + +ParticleTarget 40 + + ParticleTarget *next 0 8 + ParticleTarget *prev 8 8 + Object *ob 16 8 + int psys 24 4 + short flag 28 2 + short mode 30 2 + float time 32 4 + float duration 36 4 + +ParticleDupliWeight 32 + + ParticleDupliWeight *next 0 8 + ParticleDupliWeight *prev 8 8 + Object *ob 16 8 + short count 24 2 + short flag 26 2 + short index 28 2 + short rt 30 2 + +ParticleData 200 + + ParticleKey state 0 56 + ParticleKey prev_state 56 56 + HairKey *hair 112 8 + ParticleKey *keys 120 8 + BoidParticle *boid 128 8 + int totkey 136 4 + float time 140 4 + float lifetime 144 4 + float dietime 148 4 + int num 152 4 + int num_dmcache 156 4 + float fuv 160 16 + float foffset 176 4 + float size 180 4 + float sphdensity 184 4 + int pad 188 4 + int hair_index 192 4 + short flag 196 2 + short alive 198 2 + +SPHFluidSettings 68 + + float radius 0 4 + float spring_k 4 4 + float rest_length 8 4 + float plasticity_constant 12 4 + float yield_ratio 16 4 + float plasticity_balance 20 4 + float yield_balance 24 4 + float viscosity_omega 28 4 + float viscosity_beta 32 4 + float stiffness_k 36 4 + float stiffness_knear 40 4 + float rest_density 44 4 + float buoyancy 48 4 + int flag 52 4 + int spring_frames 56 4 + short solver 60 2 + short pad 62 6 + +ParticleSettings 800 + + ID id 0 120 + AnimData *adt 120 8 + BoidSettings *boids 128 8 + SPHFluidSettings *fluid 136 8 + EffectorWeights *effector_weights 144 8 + int flag 152 4 + int rt 156 4 + short type 160 2 + short from 162 2 + short distr 164 2 + short texact 166 2 + short phystype 168 2 + short rotmode 170 2 + short avemode 172 2 + short reactevent 174 2 + int draw 176 4 + int pad1 180 4 + short draw_as 184 2 + short draw_size 186 2 + short childtype 188 2 + short pad2 190 2 + short ren_as 192 2 + short subframes 194 2 + short draw_col 196 2 + short draw_step 198 2 + short ren_step 200 2 + short hair_step 202 2 + short keys_step 204 2 + short adapt_angle 206 2 + short adapt_pix 208 2 + short disp 210 2 + short omat 212 2 + short interpolation 214 2 + short integrator 216 2 + short rotfrom 218 2 + short kink 220 2 + short kink_axis 222 2 + short bb_align 224 2 + short bb_uv_split 226 2 + short bb_anim 228 2 + short bb_split_offset 230 2 + float bb_tilt 232 4 + float bb_rand_tilt 236 4 + float bb_offset 240 8 + float bb_size 248 8 + float bb_vel_head 256 4 + float bb_vel_tail 260 4 + float color_vec_max 264 4 + short simplify_flag 268 2 + short simplify_refsize 270 2 + float simplify_rate 272 4 + float simplify_transition 276 4 + float simplify_viewport 280 4 + float sta 284 4 + float end 288 4 + float lifetime 292 4 + float randlife 296 4 + float timetweak 300 4 + float courant_target 304 4 + float jitfac 308 4 + float eff_hair 312 4 + float grid_rand 316 4 + float ps_offset 320 4 + int totpart 324 4 + int userjit 328 4 + int grid_res 332 4 + int effector_amount 336 4 + short time_flag 340 2 + short time_pad 342 6 + float normfac 348 4 + float obfac 352 4 + float randfac 356 4 + float partfac 360 4 + float tanfac 364 4 + float tanphase 368 4 + float reactfac 372 4 + float ob_vel 376 12 + float avefac 388 4 + float phasefac 392 4 + float randrotfac 396 4 + float randphasefac 400 4 + float mass 404 4 + float size 408 4 + float randsize 412 4 + float acc 416 12 + float dragfac 428 4 + float brownfac 432 4 + float dampfac 436 4 + float randlength 440 4 + int child_nbr 444 4 + int ren_child_nbr 448 4 + float parents 452 4 + float childsize 456 4 + float childrandsize 460 4 + float childrad 464 4 + float childflat 468 4 + float clumpfac 472 4 + float clumppow 476 4 + float kink_amp 480 4 + float kink_freq 484 4 + float kink_shape 488 4 + float kink_flat 492 4 + float kink_amp_clump 496 4 + float rough1 500 4 + float rough1_size 504 4 + float rough2 508 4 + float rough2_size 512 4 + float rough2_thres 516 4 + float rough_end 520 4 + float rough_end_shape 524 4 + float clength 528 4 + float clength_thres 532 4 + float parting_fac 536 4 + float parting_min 540 4 + float parting_max 544 4 + float branch_thres 548 4 + float draw_line 552 8 + float path_start 560 4 + float path_end 564 4 + int trail_count 568 4 + int keyed_loops 572 4 + MTex *mtex 576 144 + Group *dup_group 720 8 + ListBase dupliweights 728 16 + Group *eff_group 744 8 + Object *dup_ob 752 8 + Object *bb_ob 760 8 + Ipo *ipo 768 8 + PartDeflect *pd 776 8 + PartDeflect *pd2 784 8 + short use_modifier_stack 792 2 + short pad 794 6 + +ParticleSystem 656 + + ParticleSystem *next 0 8 + ParticleSystem *prev 8 8 + ParticleSettings *part 16 8 + ParticleData *particles 24 8 + ChildParticle *child 32 8 + PTCacheEdit *edit 40 8 + void (*free_edit)() 48 0 + ParticleCacheKey **pathcache 48 8 + ParticleCacheKey **childcache 56 8 + ListBase pathcachebufs 64 16 + ListBase childcachebufs 80 16 + ClothModifierData *clmd 96 8 + DerivedMesh *hair_in_dm 104 8 + DerivedMesh *hair_out_dm 112 8 + Object *target_ob 120 8 + LatticeDeformData *lattice_deform_data 128 8 + Object *parent 136 8 + ListBase targets 144 16 + char name 160 64 + float imat 224 64 + float cfra 288 4 + float tree_frame 292 4 + float bvhtree_frame 296 4 + int seed 300 4 + int child_seed 304 4 + int flag 308 4 + int totpart 312 4 + int totunexist 316 4 + int totchild 320 4 + int totcached 324 4 + int totchildcache 328 4 + short recalc 332 2 + short target_psys 334 2 + short totkeyed 336 2 + short bakespace 338 2 + char bb_uvname 340 192 + short vgroup 532 24 + short vg_neg 556 2 + short rt3 558 2 + void *renderdata 560 8 + PointCache *pointcache 568 8 + ListBase ptcaches 576 16 + ListBase *effectors 592 8 + ParticleSpring *fluid_springs 600 8 + int tot_fluidsprings 608 4 + int alloc_fluidsprings 612 4 + KDTree *tree 616 8 + BVHTree *bvhtree 624 8 + ParticleDrawData *pdd 632 8 + float *frand 640 8 + float dt_frac 648 4 + float _pad 652 4 + +ClothSimSettings 152 + + LinkNode *cache 0 8 + float mingoal 8 4 + float Cdis 12 4 + float Cvi 16 4 + float gravity 20 12 + float dt 32 4 + float mass 36 4 + float structural 40 4 + float shear 44 4 + float bending 48 4 + float max_bend 52 4 + float max_struct 56 4 + float max_shear 60 4 + float avg_spring_len 64 4 + float timescale 68 4 + float maxgoal 72 4 + float eff_force_scale 76 4 + float eff_wind_scale 80 4 + float sim_time_old 84 4 + float defgoal 88 4 + float goalspring 92 4 + float goalfrict 96 4 + float velocity_smooth 100 4 + float collider_friction 104 4 + float vel_damping 108 4 + int stepsPerFrame 112 4 + int flags 116 4 + int preroll 120 4 + int maxspringlen 124 4 + short solver_type 128 2 + short vgroup_bend 130 2 + short vgroup_mass 132 2 + short vgroup_struct 134 2 + short shapekey_rest 136 2 + short presets 138 2 + short reset 140 2 + short pad 142 2 + EffectorWeights *effector_weights 144 8 + +ClothCollSettings 56 + + LinkNode *collision_list 0 8 + float epsilon 8 4 + float self_friction 12 4 + float friction 16 4 + float selfepsilon 20 4 + float repel_force 24 4 + float distance_repel 28 4 + int flags 32 4 + short self_loop_count 36 2 + short loop_count 38 2 + Group *group 40 8 + short vgroup_selfcol 48 2 + short pad 50 2 + int pad2 52 4 + +bGPDspoint 20 + + float x 0 4 + float y 4 4 + float z 8 4 + float pressure 12 4 + float time 16 4 + +bGPDstroke 48 + + bGPDstroke *next 0 8 + bGPDstroke *prev 8 8 + bGPDspoint *points 16 8 + void *pad 24 8 + int totpoints 32 4 + short thickness 36 2 + short flag 38 2 + double inittime 40 8 + +bGPDframe 40 + + bGPDframe *next 0 8 + bGPDframe *prev 8 8 + ListBase strokes 16 16 + int framenum 32 4 + int flag 36 4 + +bGPDlayer 192 + + bGPDlayer *next 0 8 + bGPDlayer *prev 8 8 + ListBase frames 16 16 + bGPDframe *actframe 32 8 + int flag 40 4 + short thickness 44 2 + short gstep 46 2 + float color 48 16 + char info 64 128 + +bGPdata 152 + + ID id 0 120 + ListBase layers 120 16 + int flag 136 4 + short sbuffer_size 140 2 + short sbuffer_sflag 142 2 + void *sbuffer 144 8 + +ReportList 40 + + ListBase list 0 16 + int printlevel 16 4 + int storelevel 20 4 + int flag 24 4 + int pad 28 4 + wmTimer *reporttimer 32 8 + +wmWindowManager 344 + + ID id 0 120 + wmWindow *windrawable 120 8 + wmWindow *winactive 128 8 + ListBase windows 136 16 + int initialized 152 4 + short file_saved 156 2 + short op_undo_depth 158 2 + ListBase operators 160 16 + ListBase queue 176 16 + ReportList reports 192 40 + ListBase jobs 232 16 + ListBase paintcursors 248 16 + ListBase drags 264 16 + ListBase keyconfigs 280 16 + wmKeyConfig *defaultconf 296 8 + wmKeyConfig *addonconf 304 8 + wmKeyConfig *userconf 312 8 + ListBase timers 320 16 + wmTimer *autosavetimer 336 8 + +wmWindow 256 + + wmWindow *next 0 8 + wmWindow *prev 8 8 + void *ghostwin 16 8 + int winid 24 4 + short grabcursor 28 2 + short pad 30 2 + bScreen *screen 32 8 + bScreen *newscreen 40 8 + char screenname 48 64 + short posx 112 2 + short posy 114 2 + short sizex 116 2 + short sizey 118 2 + short windowstate 120 2 + short monitor 122 2 + short active 124 2 + short cursor 126 2 + short lastcursor 128 2 + short modalcursor 130 2 + short addmousemove 132 2 + short pad2 134 2 + wmEvent *eventstate 136 8 + wmSubWindow *curswin 144 8 + wmGesture *tweak 152 8 + int drawmethod 160 4 + int drawfail 164 4 + void *drawdata 168 8 + ListBase queue 176 16 + ListBase handlers 192 16 + ListBase modalhandlers 208 16 + ListBase subwindows 224 16 + ListBase gesture 240 16 + +wmKeyMapItem 184 + + wmKeyMapItem *next 0 8 + wmKeyMapItem *prev 8 8 + char idname 16 64 + IDProperty *properties 80 8 + char propvalue_str 88 64 + short propvalue 152 2 + short type 154 2 + short val 156 2 + short shift 158 2 + short ctrl 160 2 + short alt 162 2 + short oskey 164 2 + short keymodifier 166 2 + short flag 168 2 + short maptype 170 2 + short id 172 2 + short pad 174 2 + PointerRNA *ptr 176 8 + +wmKeyMapDiffItem 32 + + wmKeyMapDiffItem *next 0 8 + wmKeyMapDiffItem *prev 8 8 + wmKeyMapItem *remove_item 16 8 + wmKeyMapItem *add_item 24 8 + +wmKeyMap 132 + + wmKeyMap *next 0 8 + wmKeyMap *prev 8 8 + ListBase items 16 16 + ListBase diff_items 32 16 + char idname 48 64 + short spaceid 112 2 + short regionid 114 2 + short flag 116 2 + short kmi_id 118 2 + int (*poll)() 120 4 + void *modal_items 124 8 + +wmKeyConfig 168 + + wmKeyConfig *next 0 8 + wmKeyConfig *prev 8 8 + char idname 16 64 + char basename 80 64 + ListBase keymaps 144 16 + int actkeymap 160 4 + int flag 164 4 + +wmOperator 168 + + wmOperator *next 0 8 + wmOperator *prev 8 8 + char idname 16 64 + IDProperty *properties 80 8 + wmOperatorType *type 88 8 + void *customdata 96 8 + void *py_instance 104 8 + PointerRNA *ptr 112 8 + ReportList *reports 120 8 + ListBase macro 128 16 + wmOperator *opm 144 8 + uiLayout *layout 152 8 + short flag 160 2 + short pad 162 6 + +FModifier 120 + + FModifier *next 0 8 + FModifier *prev 8 8 + void *data 16 8 + void *edata 24 8 + char name 32 64 + short type 96 2 + short flag 98 2 + float influence 100 4 + float sfra 104 4 + float efra 108 4 + float blendin 112 4 + float blendout 116 4 + +FMod_Generator 24 + + float *coefficients 0 8 + int arraysize 8 4 + int poly_order 12 4 + int mode 16 4 + int flag 20 4 + +FMod_FunctionGenerator 24 + + float amplitude 0 4 + float phase_multiplier 4 4 + float phase_offset 8 4 + float value_offset 12 4 + int type 16 4 + int flag 20 4 + +FCM_EnvelopeData 16 + + float min 0 4 + float max 4 4 + float time 8 4 + short f1 12 2 + short f2 14 2 + +FMod_Envelope 24 + + FCM_EnvelopeData *data 0 8 + int totvert 8 4 + float midval 12 4 + float min 16 4 + float max 20 4 + +FMod_Cycles 8 + + short before_mode 0 2 + short after_mode 2 2 + short before_cycles 4 2 + short after_cycles 6 2 + +FMod_Python 16 + + Text *script 0 8 + IDProperty *prop 8 8 + +FMod_Limits 24 + + rctf rect 0 16 + int flag 16 4 + int pad 20 4 + +FMod_Noise 20 + + float size 0 4 + float strength 4 4 + float phase 8 4 + float pad 12 4 + short depth 16 2 + short modification 18 2 + +FMod_Stepped 20 + + float step_size 0 4 + float offset 4 4 + float start_frame 8 4 + float end_frame 12 4 + int flag 16 4 + +DriverTarget 56 + + ID *id 0 8 + char *rna_path 8 8 + char pchan_name 16 32 + short transChan 48 2 + short flag 50 2 + int idtype 52 4 + +DriverVar 536 + + DriverVar *next 0 8 + DriverVar *prev 8 8 + char name 16 64 + DriverTarget targets 80 448 + short num_targets 528 2 + short type 530 2 + float curval 532 4 + +ChannelDriver 296 + + ListBase variables 0 16 + char expression 16 256 + void *expr_comp 272 8 + float curval 280 4 + float influence 284 4 + int type 288 4 + int flag 292 4 + +FPoint 16 + + float vec 0 8 + int flag 8 4 + int pad 12 4 + +FCurve 104 + + FCurve *next 0 8 + FCurve *prev 8 8 + bActionGroup *grp 16 8 + ChannelDriver *driver 24 8 + ListBase modifiers 32 16 + BezTriple *bezt 48 8 + FPoint *fpt 56 8 + int totvert 64 4 + float curval 68 4 + short flag 72 2 + short extend 74 2 + int array_index 76 4 + char *rna_path 80 8 + int color_mode 88 4 + float color 92 12 + +AnimMapPair 256 + + char from 0 128 + char to 128 128 + +AnimMapper 40 + + AnimMapper *next 0 8 + AnimMapper *prev 8 8 + bAction *target 16 8 + ListBase mappings 24 16 + +NlaStrip 208 + + NlaStrip *next 0 8 + NlaStrip *prev 8 8 + ListBase strips 16 16 + bAction *act 32 8 + AnimMapper *remap 40 8 + ListBase fcurves 48 16 + ListBase modifiers 64 16 + char name 80 64 + float influence 144 4 + float strip_time 148 4 + float start 152 4 + float end 156 4 + float actstart 160 4 + float actend 164 4 + float repeat 168 4 + float scale 172 4 + float blendin 176 4 + float blendout 180 4 + short blendmode 184 2 + short extendmode 186 2 + short pad1 188 2 + short type 190 2 + void *speaker_handle 192 8 + int flag 200 4 + int pad2 204 4 + +NlaTrack 104 + + NlaTrack *next 0 8 + NlaTrack *prev 8 8 + ListBase strips 16 16 + int flag 32 4 + int index 36 4 + char name 40 64 + +KS_Path 112 + + KS_Path *next 0 8 + KS_Path *prev 8 8 + ID *id 16 8 + char group 24 64 + int idtype 88 4 + short groupmode 92 2 + short pad 94 2 + char *rna_path 96 8 + int array_index 104 4 + short flag 108 2 + short keyingflag 110 2 + +KeyingSet 472 + + KeyingSet *next 0 8 + KeyingSet *prev 8 8 + ListBase paths 16 16 + char idname 32 64 + char name 96 64 + char description 160 240 + char typeinfo 400 64 + short flag 464 2 + short keyingflag 466 2 + int active_path 468 4 + +AnimOverride 32 + + AnimOverride *next 0 8 + AnimOverride *prev 8 8 + char *rna_path 16 8 + int array_index 24 4 + float value 28 4 + +AnimData 96 + + bAction *action 0 8 + bAction *tmpact 8 8 + AnimMapper *remap 16 8 + ListBase nla_tracks 24 16 + NlaStrip *actstrip 40 8 + ListBase drivers 48 16 + ListBase overrides 64 16 + int flag 80 4 + int recalc 84 4 + short act_blendmode 88 2 + short act_extendmode 90 2 + float act_influence 92 4 + +IdAdtTemplate 128 + + ID id 0 120 + AnimData *adt 120 8 + +BoidRule 56 + + BoidRule *next 0 8 + BoidRule *prev 8 8 + int type 16 4 + int flag 20 4 + char name 24 32 + +BoidRuleGoalAvoid 80 + + BoidRule rule 0 56 + Object *ob 56 8 + int options 64 4 + float fear_factor 68 4 + int signal_id 72 4 + int channels 76 4 + +BoidRuleAvoidCollision 64 + + BoidRule rule 0 56 + int options 56 4 + float look_ahead 60 4 + +BoidRuleFollowLeader 104 + + BoidRule rule 0 56 + Object *ob 56 8 + float loc 64 12 + float oloc 76 12 + float cfra 88 4 + float distance 92 4 + int options 96 4 + int queue_size 100 4 + +BoidRuleAverageSpeed 72 + + BoidRule rule 0 56 + float wander 56 4 + float level 60 4 + float speed 64 4 + float rt 68 4 + +BoidRuleFight 64 + + BoidRule rule 0 56 + float distance 56 4 + float flee_distance 60 4 + +BoidData 20 + + float health 0 4 + float acc 4 12 + short state_id 16 2 + short mode 18 2 + +BoidState 128 + + BoidState *next 0 8 + BoidState *prev 8 8 + ListBase rules 16 16 + ListBase conditions 32 16 + ListBase actions 48 16 + char name 64 32 + int id 96 4 + int flag 100 4 + int ruleset_type 104 4 + float rule_fuzziness 108 4 + int signal_id 112 4 + int channels 116 4 + float volume 120 4 + float falloff 124 4 + +BoidSettings 104 + + int options 0 4 + int last_state_id 4 4 + float landing_smoothness 8 4 + float height 12 4 + float banking 16 4 + float pitch 20 4 + float health 24 4 + float aggression 28 4 + float strength 32 4 + float accuracy 36 4 + float range 40 4 + float air_min_speed 44 4 + float air_max_speed 48 4 + float air_max_acc 52 4 + float air_max_ave 56 4 + float air_personal_space 60 4 + float land_jump_speed 64 4 + float land_max_speed 68 4 + float land_max_acc 72 4 + float land_max_ave 76 4 + float land_personal_space 80 4 + float land_stick_force 84 4 + ListBase states 88 16 + +SmokeDomainSettings 584 + + SmokeModifierData *smd 0 8 + FLUID_3D *fluid 8 8 + void *fluid_mutex 16 8 + Group *fluid_group 24 8 + Group *eff_group 32 8 + Group *coll_group 40 8 + WTURBULENCE *wt 48 8 + GPUTexture *tex 56 8 + GPUTexture *tex_wt 64 8 + GPUTexture *tex_shadow 72 8 + GPUTexture *tex_flame 80 8 + float *shadow 88 8 + float p0 96 12 + float p1 108 12 + float dp0 120 12 + float cell_size 132 12 + float global_size 144 12 + float prev_loc 156 12 + int shift 168 12 + float shift_f 180 12 + float obj_shift_f 192 12 + float imat 204 64 + float obmat 268 64 + int base_res 332 12 + int res_min 344 12 + int res_max 356 12 + int res 368 12 + int total_cells 380 4 + float dx 384 4 + float scale 388 4 + int adapt_margin 392 4 + int adapt_res 396 4 + float adapt_threshold 400 4 + float alpha 404 4 + float beta 408 4 + int amplify 412 4 + int maxres 416 4 + int flags 420 4 + int viewsettings 424 4 + short noise 428 2 + short diss_percent 430 2 + int diss_speed 432 4 + float strength 436 4 + int res_wt 440 12 + float dx_wt 452 4 + int cache_comp 456 4 + int cache_high_comp 460 4 + PointCache *point_cache 464 16 + ListBase ptcaches 480 32 + EffectorWeights *effector_weights 512 8 + int border_collisions 520 4 + float time_scale 524 4 + float vorticity 528 4 + int active_fields 532 4 + float active_color 536 12 + int highres_sampling 548 4 + float burning_rate 552 4 + float flame_smoke 556 4 + float flame_vorticity 560 4 + float flame_ignition 564 4 + float flame_max_temp 568 4 + float flame_smoke_color 572 12 + +SmokeFlowSettings 184 + + SmokeModifierData *smd 0 8 + DerivedMesh *dm 8 8 + ParticleSystem *psys 16 8 + Tex *noise_texture 24 8 + float *verts_old 32 8 + int numverts 40 4 + float vel_multi 44 4 + float vel_normal 48 4 + float vel_random 52 4 + float density 56 4 + float color 60 12 + float fuel_amount 72 4 + float temp 76 4 + float volume_density 80 4 + float surface_distance 84 4 + float particle_size 88 4 + int subframes 92 4 + float texture_size 96 4 + float texture_offset 100 4 + int pad 104 4 + char uvlayer_name 108 64 + short vgroup_density 172 2 + short type 174 2 + short source 176 2 + short texture_type 178 2 + int flags 180 4 + +SmokeCollSettings 32 + + SmokeModifierData *smd 0 8 + DerivedMesh *dm 8 8 + float *verts_old 16 8 + int numverts 24 4 + short type 28 2 + short pad 30 2 + +Speaker 184 + + ID id 0 120 + AnimData *adt 120 8 + bSound *sound 128 8 + float volume_max 136 4 + float volume_min 140 4 + float distance_max 144 4 + float distance_reference 148 4 + float attenuation 152 4 + float cone_angle_outer 156 4 + float cone_angle_inner 160 4 + float cone_volume_outer 164 4 + float volume 168 4 + float pitch 172 4 + short flag 176 2 + short pad1 178 6 + +MovieClipUser 8 + + int framenr 0 4 + short render_size 4 2 + short render_flag 6 2 + +MovieClipProxy 776 + + char dir 0 768 + short tc 768 2 + short quality 770 2 + short build_size_flag 772 2 + short build_tc_flag 774 2 + +MovieClip 2384 + + ID id 0 120 + AnimData *adt 120 8 + char name 128 1024 + int source 1152 4 + int lastframe 1156 4 + int lastsize 1160 8 + float aspx 1168 4 + float aspy 1172 4 + anim *anim 1176 8 + MovieClipCache *cache 1184 8 + bGPdata *gpd 1192 8 + MovieTracking tracking 1200 320 + void *tracking_context 1520 8 + MovieClipProxy proxy 1528 776 + int flag 2304 4 + int len 2308 4 + int start_frame 2312 4 + int frame_offset 2316 4 + ColorManagedColorspaceSettings colorspace_settings 2320 64 + +MovieClipScopes 136 + + short ok 0 2 + short use_track_mask 2 2 + int track_preview_height 4 4 + int frame_width 8 4 + int frame_height 12 4 + MovieTrackingMarker undist_marker 16 64 + ImBuf *track_search 80 8 + ImBuf *track_preview 88 8 + float track_pos 96 8 + short track_disabled 104 2 + short track_locked 106 2 + int framenr 108 4 + MovieTrackingTrack *track 112 8 + MovieTrackingMarker *marker 120 8 + float slide_scale 128 8 + +MovieReconstructedCamera 72 + + int framenr 0 4 + float error 4 4 + float mat 8 64 + +MovieTrackingCamera 48 + + void *intrinsics 0 8 + float sensor_width 8 4 + float pixel_aspect 12 4 + float pad 16 4 + float focal 20 4 + short units 24 2 + short pad1 26 2 + float principal 28 8 + float k1 36 4 + float k2 40 4 + float k3 44 4 + +MovieTrackingMarker 64 + + float pos 0 8 + float pattern_corners 8 32 + float search_min 40 8 + float search_max 48 8 + int framenr 56 4 + int flag 60 4 + +MovieTrackingTrack 200 + + MovieTrackingTrack *next 0 8 + MovieTrackingTrack *prev 8 8 + char name 16 64 + float pat_min 80 8 + float pat_max 88 8 + float search_min 96 8 + float search_max 104 8 + float offset 112 8 + int markersnr 120 4 + int last_marker 124 4 + MovieTrackingMarker *markers 128 8 + float bundle_pos 136 12 + float error 148 4 + int flag 152 4 + int pat_flag 156 4 + int search_flag 160 4 + float color 164 12 + short frames_limit 176 2 + short margin 178 2 + short pattern_match 180 2 + short motion_model 182 2 + int algorithm_flag 184 4 + float minimum_correlation 188 4 + bGPdata *gpd 192 8 + +MovieTrackingPlaneMarker 40 + + float corners 0 32 + int framenr 32 4 + int flag 36 4 + +MovieTrackingPlaneTrack 120 + + MovieTrackingPlaneTrack *next 0 8 + MovieTrackingPlaneTrack *prev 8 8 + char name 16 64 + MovieTrackingTrack **point_tracks 80 8 + int point_tracksnr 88 4 + int pad 92 4 + MovieTrackingPlaneMarker *markers 96 8 + int markersnr 104 4 + int flag 108 4 + int last_marker 112 4 + int pad2 116 4 + +MovieTrackingSettings 72 + + int flag 0 4 + short default_motion_model 4 2 + short default_algorithm_flag 6 2 + float default_minimum_correlation 8 4 + short default_pattern_size 12 2 + short default_search_size 14 2 + short default_frames_limit 16 2 + short default_margin 18 2 + short default_pattern_match 20 2 + short default_flag 22 2 + short motion_flag 24 2 + short speed 26 2 + int keyframe1 28 4 + int keyframe2 32 4 + float reconstruction_success_threshold 36 4 + int reconstruction_flag 40 4 + short refine_camera_intrinsics 44 2 + short pad2 46 2 + float dist 48 4 + int clean_frames 52 4 + int clean_action 56 4 + float clean_error 60 4 + float object_distance 64 4 + int pad3 68 4 + +MovieTrackingStabilization 48 + + int flag 0 4 + int tot_track 4 4 + int act_track 8 4 + float maxscale 12 4 + MovieTrackingTrack *rot_track 16 8 + float locinf 24 4 + float scaleinf 28 4 + float rotinf 32 4 + int filter 36 4 + int ok 40 4 + float scale 44 4 + +MovieTrackingReconstruction 24 + + int flag 0 4 + float error 4 4 + int last_camera 8 4 + int camnr 12 4 + MovieReconstructedCamera *cameras 16 8 + +MovieTrackingObject 152 + + MovieTrackingObject *next 0 8 + MovieTrackingObject *prev 8 8 + char name 16 64 + int flag 80 4 + float scale 84 4 + ListBase tracks 88 16 + ListBase plane_tracks 104 16 + MovieTrackingReconstruction reconstruction 120 24 + int keyframe1 144 4 + int keyframe2 148 4 + +MovieTrackingStats 256 + + char message 0 256 + +MovieTrackingDopesheetChannel 112 + + MovieTrackingDopesheetChannel *next 0 8 + MovieTrackingDopesheetChannel *prev 8 8 + MovieTrackingTrack *track 16 8 + int pad 24 4 + char name 28 64 + int tot_segment 92 4 + int *segments 96 8 + int max_segment 104 4 + int total_frames 108 4 + +MovieTrackingDopesheetCoverageSegment 32 + + MovieTrackingDopesheetCoverageSegment *next 0 8 + MovieTrackingDopesheetCoverageSegment *prev 8 8 + int coverage 16 4 + int start_frame 20 4 + int end_frame 24 4 + int pad 28 4 + +MovieTrackingDopesheet 48 + + int ok 0 4 + short sort_method 4 2 + short flag 6 2 + ListBase coverage_segments 8 16 + ListBase channels 24 16 + int tot_channel 40 4 + int pad 44 4 + +MovieTracking 320 + + MovieTrackingSettings settings 0 72 + MovieTrackingCamera camera 72 48 + ListBase tracks 120 16 + ListBase plane_tracks 136 16 + MovieTrackingReconstruction reconstruction 152 24 + MovieTrackingStabilization stabilization 176 48 + MovieTrackingTrack *act_track 224 8 + MovieTrackingPlaneTrack *act_plane_track 232 8 + ListBase objects 240 16 + int objectnr 256 4 + int tot_object 260 4 + MovieTrackingStats *stats 264 8 + MovieTrackingDopesheet dopesheet 272 48 + +DynamicPaintSurface 1560 + + DynamicPaintSurface *next 0 8 + DynamicPaintSurface *prev 8 8 + DynamicPaintCanvasSettings *canvas 16 8 + PaintSurfaceData *data 24 8 + Group *brush_group 32 8 + EffectorWeights *effector_weights 40 8 + PointCache *pointcache 48 8 + ListBase ptcaches 56 16 + int current_frame 72 4 + char name 76 64 + short format 140 2 + short type 142 2 + short disp_type 144 2 + short image_fileformat 146 2 + short effect_ui 148 2 + short preview_id 150 2 + short init_color_type 152 2 + short pad_s 154 2 + int flags 156 4 + int effect 160 4 + int image_resolution 164 4 + int substeps 168 4 + int start_frame 172 4 + int end_frame 176 4 + int pad 180 4 + float init_color 184 16 + Tex *init_texture 200 8 + char init_layername 208 64 + int dry_speed 272 4 + int diss_speed 276 4 + float color_dry_threshold 280 4 + float depth_clamp 284 4 + float disp_factor 288 4 + float spread_speed 292 4 + float color_spread_speed 296 4 + float shrink_speed 300 4 + float drip_vel 304 4 + float drip_acc 308 4 + float influence_scale 312 4 + float radius_scale 316 4 + float wave_damping 320 4 + float wave_speed 324 4 + float wave_timescale 328 4 + float wave_spring 332 4 + float wave_smoothness 336 4 + int pad2 340 4 + char uvlayer_name 344 64 + char image_output_path 408 1024 + char output_name 1432 64 + char output_name2 1496 64 + +DynamicPaintCanvasSettings 104 + + DynamicPaintModifierData *pmd 0 8 + DerivedMesh *dm 8 8 + ListBase surfaces 16 16 + short active_sur 32 2 + short flags 34 2 + int pad 36 4 + char error 40 64 + +DynamicPaintBrushSettings 112 + + DynamicPaintModifierData *pmd 0 8 + DerivedMesh *dm 8 8 + ParticleSystem *psys 16 8 + Material *mat 24 8 + int flags 32 4 + int collision 36 4 + float r 40 4 + float g 44 4 + float b 48 4 + float alpha 52 4 + float wetness 56 4 + float particle_radius 60 4 + float particle_smooth 64 4 + float paint_distance 68 4 + ColorBand *paint_ramp 72 8 + ColorBand *vel_ramp 80 8 + short proximity_falloff 88 2 + short wave_type 90 2 + short ray_dir 92 2 + short pad 94 2 + float wave_factor 96 4 + float wave_clamp 100 4 + float max_velocity 104 4 + float smudge_strength 108 4 + +Mask 168 + + ID id 0 120 + AnimData *adt 120 8 + ListBase masklayers 128 16 + int masklay_act 144 4 + int masklay_tot 148 4 + int sfra 152 4 + int efra 156 4 + int flag 160 4 + int pad 164 4 + +MaskParent 184 + + int id_type 0 4 + int type 4 4 + ID *id 8 8 + char parent 16 64 + char sub_parent 80 64 + float parent_orig 144 8 + float parent_corners_orig 152 32 + +MaskSplinePointUW 12 + + float u 0 4 + float w 4 4 + int flag 8 4 + +MaskSplinePoint 256 + + BezTriple bezt 0 56 + int pad 56 4 + int tot_uw 60 4 + MaskSplinePointUW *uw 64 8 + MaskParent parent 72 184 + +MaskSpline 224 + + MaskSpline *next 0 8 + MaskSpline *prev 8 8 + short flag 16 2 + char offset_mode 18 1 + char weight_interp 19 1 + int tot_point 20 4 + MaskSplinePoint *points 24 8 + MaskParent parent 32 184 + MaskSplinePoint *points_deform 216 8 + +MaskLayerShape 40 + + MaskLayerShape *next 0 8 + MaskLayerShape *prev 8 8 + float *data 16 8 + int tot_vert 24 4 + int frame 28 4 + char flag 32 1 + char pad 33 7 + +MaskLayer 144 + + MaskLayer *next 0 8 + MaskLayer *prev 8 8 + char name 16 64 + ListBase splines 80 16 + ListBase splines_shapes 96 16 + MaskSpline *act_spline 112 8 + MaskSplinePoint *act_point 120 8 + float alpha 128 4 + char blend 132 1 + char blend_flag 133 1 + char falloff 134 1 + char pad 135 7 + char flag 142 1 + char restrictflag 143 1 + +RigidBodyWorld 88 + + EffectorWeights *effector_weights 0 8 + Group *group 8 8 + Object **objects 16 8 + Group *constraints 24 8 + int pad 32 4 + float ltime 36 4 + PointCache *pointcache 40 8 + ListBase ptcaches 48 16 + int numbodies 64 4 + short steps_per_second 68 2 + short num_solver_iterations 70 2 + int flag 72 4 + float time_scale 76 4 + void *physics_world 80 8 + +RigidBodyOb 96 + + void *physics_object 0 8 + void *physics_shape 8 8 + short type 16 2 + short shape 18 2 + int flag 20 4 + int col_groups 24 4 + int pad 28 4 + float mass 32 4 + float friction 36 4 + float restitution 40 4 + float margin 44 4 + float lin_damping 48 4 + float ang_damping 52 4 + float lin_sleep_thresh 56 4 + float ang_sleep_thresh 60 4 + float orn 64 16 + float pos 80 12 + float pad1 92 4 + +RigidBodyCon 128 + + Object *ob1 0 8 + Object *ob2 8 8 + short type 16 2 + short num_solver_iterations 18 2 + int flag 20 4 + float breaking_threshold 24 4 + float pad 28 4 + float limit_lin_x_lower 32 4 + float limit_lin_x_upper 36 4 + float limit_lin_y_lower 40 4 + float limit_lin_y_upper 44 4 + float limit_lin_z_lower 48 4 + float limit_lin_z_upper 52 4 + float limit_ang_x_lower 56 4 + float limit_ang_x_upper 60 4 + float limit_ang_y_lower 64 4 + float limit_ang_y_upper 68 4 + float limit_ang_z_lower 72 4 + float limit_ang_z_upper 76 4 + float spring_stiffness_x 80 4 + float spring_stiffness_y 84 4 + float spring_stiffness_z 88 4 + float spring_damping_x 92 4 + float spring_damping_y 96 4 + float spring_damping_z 100 4 + float motor_lin_target_velocity 104 4 + float motor_ang_target_velocity 108 4 + float motor_lin_max_impulse 112 4 + float motor_ang_max_impulse 116 4 + void *physics_constraint 120 8 + +FreestyleLineSet 128 + + FreestyleLineSet *next 0 8 + FreestyleLineSet *prev 8 8 + char name 16 64 + int flags 80 4 + int selection 84 4 + short qi 88 2 + short pad1 90 2 + int qi_start 92 4 + int qi_end 96 4 + int edge_types 100 4 + int exclude_edge_types 104 4 + int pad2 108 4 + Group *group 112 8 + FreestyleLineStyle *linestyle 120 8 + +FreestyleModuleConfig 32 + + FreestyleModuleConfig *next 0 8 + FreestyleModuleConfig *prev 8 8 + Text *script 16 8 + short is_displayed 24 2 + short pad 26 6 + +FreestyleConfig 56 + + ListBase modules 0 16 + int mode 16 4 + int raycasting_algorithm 20 4 + int flags 24 4 + float sphere_radius 28 4 + float dkr_epsilon 32 4 + float crease_angle 36 4 + ListBase linesets 40 16 + +LineStyleModifier 96 + + LineStyleModifier *next 0 8 + LineStyleModifier *prev 8 8 + char name 16 64 + int type 80 4 + float influence 84 4 + int flags 88 4 + int blend 92 4 + +LineStyleColorModifier_AlongStroke 104 + + LineStyleModifier modifier 0 96 + ColorBand *color_ramp 96 8 + +LineStyleAlphaModifier_AlongStroke 112 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + int pad 108 4 + +LineStyleThicknessModifier_AlongStroke 120 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + float value_min 108 4 + float value_max 112 4 + int pad 116 4 + +LineStyleColorModifier_DistanceFromCamera 112 + + LineStyleModifier modifier 0 96 + ColorBand *color_ramp 96 8 + float range_min 104 4 + float range_max 108 4 + +LineStyleAlphaModifier_DistanceFromCamera 120 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + float range_min 108 4 + float range_max 112 4 + int pad 116 4 + +LineStyleThicknessModifier_DistanceFromCamera 128 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + float range_min 108 4 + float range_max 112 4 + float value_min 116 4 + float value_max 120 4 + int pad 124 4 + +LineStyleColorModifier_DistanceFromObject 120 + + LineStyleModifier modifier 0 96 + Object *target 96 8 + ColorBand *color_ramp 104 8 + float range_min 112 4 + float range_max 116 4 + +LineStyleAlphaModifier_DistanceFromObject 128 + + LineStyleModifier modifier 0 96 + Object *target 96 8 + CurveMapping *curve 104 8 + int flags 112 4 + float range_min 116 4 + float range_max 120 4 + int pad 124 4 + +LineStyleThicknessModifier_DistanceFromObject 136 + + LineStyleModifier modifier 0 96 + Object *target 96 8 + CurveMapping *curve 104 8 + int flags 112 4 + float range_min 116 4 + float range_max 120 4 + float value_min 124 4 + float value_max 128 4 + int pad 132 4 + +LineStyleColorModifier_Material 112 + + LineStyleModifier modifier 0 96 + ColorBand *color_ramp 96 8 + int flags 104 4 + int mat_attr 108 4 + +LineStyleAlphaModifier_Material 112 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + int mat_attr 108 4 + +LineStyleThicknessModifier_Material 120 + + LineStyleModifier modifier 0 96 + CurveMapping *curve 96 8 + int flags 104 4 + float value_min 108 4 + float value_max 112 4 + int mat_attr 116 4 + +LineStyleGeometryModifier_Sampling 104 + + LineStyleModifier modifier 0 96 + float sampling 96 4 + int pad 100 4 + +LineStyleGeometryModifier_BezierCurve 104 + + LineStyleModifier modifier 0 96 + float error 96 4 + int pad 100 4 + +LineStyleGeometryModifier_SinusDisplacement 112 + + LineStyleModifier modifier 0 96 + float wavelength 96 4 + float amplitude 100 4 + float phase 104 4 + int pad 108 4 + +LineStyleGeometryModifier_SpatialNoise 112 + + LineStyleModifier modifier 0 96 + float amplitude 96 4 + float scale 100 4 + int octaves 104 4 + int flags 108 4 + +LineStyleGeometryModifier_PerlinNoise1D 120 + + LineStyleModifier modifier 0 96 + float frequency 96 4 + float amplitude 100 4 + float angle 104 4 + int octaves 108 4 + int seed 112 4 + int pad1 116 4 + +LineStyleGeometryModifier_PerlinNoise2D 120 + + LineStyleModifier modifier 0 96 + float frequency 96 4 + float amplitude 100 4 + float angle 104 4 + int octaves 108 4 + int seed 112 4 + int pad1 116 4 + +LineStyleGeometryModifier_BackboneStretcher 104 + + LineStyleModifier modifier 0 96 + float backbone_length 96 4 + int pad 100 4 + +LineStyleGeometryModifier_TipRemover 104 + + LineStyleModifier modifier 0 96 + float tip_length 96 4 + int pad 100 4 + +LineStyleGeometryModifier_Polygonalization 104 + + LineStyleModifier modifier 0 96 + float error 96 4 + int pad 100 4 + +LineStyleGeometryModifier_GuidingLines 104 + + LineStyleModifier modifier 0 96 + float offset 96 4 + int pad 100 4 + +LineStyleGeometryModifier_Blueprint 120 + + LineStyleModifier modifier 0 96 + int flags 96 4 + int rounds 100 4 + float backbone_length 104 4 + int random_radius 108 4 + int random_center 112 4 + int random_backbone 116 4 + +LineStyleGeometryModifier_2DOffset 112 + + LineStyleModifier modifier 0 96 + float start 96 4 + float end 100 4 + float x 104 4 + float y 108 4 + +LineStyleGeometryModifier_2DTransform 128 + + LineStyleModifier modifier 0 96 + int pivot 96 4 + float scale_x 100 4 + float scale_y 104 4 + float angle 108 4 + float pivot_u 112 4 + float pivot_x 116 4 + float pivot_y 120 4 + int pad 124 4 + +LineStyleThicknessModifier_Calligraphy 112 + + LineStyleModifier modifier 0 96 + float min_thickness 96 4 + float max_thickness 100 4 + float orientation 104 4 + int pad 108 4 + +FreestyleLineStyle 288 + + ID id 0 120 + AnimData *adt 120 8 + float r 128 4 + float g 132 4 + float b 136 4 + float alpha 140 4 + float thickness 144 4 + int thickness_position 148 4 + float thickness_ratio 152 4 + int flag 156 4 + int caps 160 4 + int chaining 164 4 + int rounds 168 4 + float split_length 172 4 + float min_angle 176 4 + float max_angle 180 4 + float min_length 184 4 + float max_length 188 4 + short split_dash1 192 2 + short split_gap1 194 2 + short split_dash2 196 2 + short split_gap2 198 2 + short split_dash3 200 2 + short split_gap3 202 2 + int pad 204 4 + short dash1 208 2 + short gap1 210 2 + short dash2 212 2 + short gap2 214 2 + short dash3 216 2 + short gap3 218 2 + int panel 220 4 + ListBase color_modifiers 224 16 + ListBase alpha_modifiers 240 16 + ListBase thickness_modifiers 256 16 + ListBase geometry_modifiers 272 16 + diff --git a/test/spiderExport.stl b/test/spiderExport.stl new file mode 100644 index 000000000..f9eb2d538 --- /dev/null +++ b/test/spiderExport.stl @@ -0,0 +1,10946 @@ +solid AssimpScene + facet normal 0.468281955 -0.863497853 -0.187305972 + outer loop + vertex 0.907127976 0.646165013 0.795193017 + vertex 1.65540099 1.11156702 0.520398021 + vertex 0.766146004 0.680482984 0.284518987 + endloop + endfacet + + facet normal 0.373240978 -0.860315859 -0.347199947 + outer loop + vertex 1.85664499 0.887426019 1.21811604 + vertex 0.907127976 0.646165013 0.795193017 + vertex 1.31394804 0.554956019 1.45853198 + endloop + endfacet + + facet normal -0.148454979 -0.953196883 -0.263394982 + outer loop + vertex 1.65540099 1.11156702 0.520398021 + vertex 1.85664499 0.887426019 1.21811604 + vertex 2.33923101 0.936287999 0.769291997 + endloop + endfacet + + facet normal 0.383431226 -0.84137249 -0.38088423 + outer loop + vertex 1.85664499 0.887426019 1.21811604 + vertex 1.65540099 1.11156702 0.520398021 + vertex 0.907127976 0.646165013 0.795193017 + endloop + endfacet + + facet normal 0.562677324 -0.799798489 -0.209085122 + outer loop + vertex 0.451615006 0.391451001 0.543682992 + vertex 0.907127976 0.646165013 0.795193017 + vertex 0.766146004 0.680482984 0.284518987 + endloop + endfacet + + facet normal 0.807133079 -0.364618987 -0.46431601 + outer loop + vertex 0.681457996 0.234028995 1.06684601 + vertex 0.451615006 0.391451001 0.543682992 + vertex 0.382212013 -0.0206840001 0.746681988 + endloop + endfacet + + facet normal 0.612119138 -0.640684068 -0.463502079 + outer loop + vertex 0.907127976 0.646165013 0.795193017 + vertex 0.681457996 0.234028995 1.06684601 + vertex 1.31394804 0.554956019 1.45853198 + endloop + endfacet + + facet normal 0.613333642 -0.640477657 -0.462179691 + outer loop + vertex 0.681457996 0.234028995 1.06684601 + vertex 0.907127976 0.646165013 0.795193017 + vertex 0.451615006 0.391451001 0.543682992 + endloop + endfacet + + facet normal 0.730570912 0 -0.68283695 + outer loop + vertex 0.681457996 -0.275397986 1.06684601 + vertex 0.681457996 0.234028995 1.06684601 + vertex 0.382212013 -0.0206840001 0.746681988 + endloop + endfacet + + facet normal 0.622255981 0.257773995 -0.739154994 + outer loop + vertex 1.25399899 -0.0620529987 1.62324095 + vertex 0.681457996 -0.275397986 1.06684601 + vertex 1.31394804 -0.679062009 1.45853198 + endloop + endfacet + + facet normal 0.600341976 -0.260203004 -0.756230056 + outer loop + vertex 0.681457996 0.234028995 1.06684601 + vertex 1.25399899 -0.0620529987 1.62324095 + vertex 1.31394804 0.554956019 1.45853198 + endloop + endfacet + + facet normal 0.696921945 0 -0.717146993 + outer loop + vertex 1.25399899 -0.0620529987 1.62324095 + vertex 0.681457996 0.234028995 1.06684601 + vertex 0.681457996 -0.275397986 1.06684601 + endloop + endfacet + + facet normal 0.168448105 -0.269475162 -0.948160529 + outer loop + vertex 1.25399899 -0.0620529987 1.62324095 + vertex 1.98102093 0.300615013 1.64932895 + vertex 1.31394804 0.554956019 1.45853198 + endloop + endfacet + + facet normal 0.168448105 0.269475162 -0.948160529 + outer loop + vertex 1.98102093 -0.424721986 1.64932895 + vertex 1.25399899 -0.0620529987 1.62324095 + vertex 1.31394804 -0.679062009 1.45853198 + endloop + endfacet + + facet normal -0.248866931 0 -0.968537748 + outer loop + vertex 1.98102093 0.300615013 1.64932895 + vertex 1.98102093 -0.424721986 1.64932895 + vertex 2.55083203 -0.0620529987 1.50291502 + endloop + endfacet + + facet normal 0.0358599909 0 -0.999356866 + outer loop + vertex 1.98102093 -0.424721986 1.64932895 + vertex 1.98102093 0.300615013 1.64932895 + vertex 1.25399899 -0.0620529987 1.62324095 + endloop + endfacet + + facet normal 0.00512400037 -0.591441095 -0.806332052 + outer loop + vertex 1.98102093 0.300615013 1.64932895 + vertex 1.85664499 0.887426019 1.21811604 + vertex 1.31394804 0.554956019 1.45853198 + endloop + endfacet + + facet normal -0.432703078 -0.343308091 -0.83361119 + outer loop + vertex 2.58366799 0.524757028 1.24420404 + vertex 1.98102093 0.300615013 1.64932895 + vertex 2.55083203 -0.0620529987 1.50291502 + endloop + endfacet + + facet normal -0.375216067 -0.787361085 -0.489158064 + outer loop + vertex 1.85664499 0.887426019 1.21811604 + vertex 2.58366799 0.524757028 1.24420404 + vertex 2.33923101 0.936287999 0.769291997 + endloop + endfacet + + facet normal -0.275769085 -0.606463194 -0.745757163 + outer loop + vertex 2.58366799 0.524757028 1.24420404 + vertex 1.85664499 0.887426019 1.21811604 + vertex 1.98102093 0.300615013 1.64932895 + endloop + endfacet + + facet normal -0.241510943 -0.3801229 -0.892848849 + outer loop + vertex 3.11489511 -0.0620529987 1.35033894 + vertex 2.58366799 0.524757028 1.24420404 + vertex 2.55083203 -0.0620529987 1.50291502 + endloop + endfacet + + facet normal -0.950931132 -0.278835028 0.134094015 + outer loop + vertex 2.83174801 0.524757028 0.562609017 + vertex 3.11489511 -0.0620529987 1.35033894 + vertex 2.97289085 -0.0620529987 0.343317986 + endloop + endfacet + + facet normal -0.680309772 -0.68983078 -0.247612908 + outer loop + vertex 2.58366799 0.524757028 1.24420404 + vertex 2.83174801 0.524757028 0.562609017 + vertex 2.33923101 0.936287999 0.769291997 + endloop + endfacet + + facet normal -0.69412154 -0.67406857 -0.25263983 + outer loop + vertex 2.83174801 0.524757028 0.562609017 + vertex 2.58366799 0.524757028 1.24420404 + vertex 3.11489511 -0.0620529987 1.35033894 + endloop + endfacet + + facet normal -0.241510943 0.3801229 -0.892848849 + outer loop + vertex 2.58366799 -0.648863018 1.24420404 + vertex 3.11489511 -0.0620529987 1.35033894 + vertex 2.55083203 -0.0620529987 1.50291502 + endloop + endfacet + + facet normal -0.680310249 0.689830244 -0.247613087 + outer loop + vertex 2.83174801 -0.648863018 0.562609017 + vertex 2.58366799 -0.648863018 1.24420404 + vertex 2.33923101 -1.060395 0.769291997 + endloop + endfacet + + facet normal -0.950931132 0.278835028 0.134094015 + outer loop + vertex 3.11489511 -0.0620529987 1.35033894 + vertex 2.83174801 -0.648863018 0.562609017 + vertex 2.97289085 -0.0620529987 0.343317986 + endloop + endfacet + + facet normal -0.69412154 0.67406857 -0.25263983 + outer loop + vertex 2.83174801 -0.648863018 0.562609017 + vertex 3.11489511 -0.0620529987 1.35033894 + vertex 2.58366799 -0.648863018 1.24420404 + endloop + endfacet + + facet normal 0.00512400037 0.591441095 -0.806332052 + outer loop + vertex 1.85664499 -1.01153195 1.21811604 + vertex 1.98102093 -0.424721986 1.64932895 + vertex 1.31394804 -0.679062009 1.45853198 + endloop + endfacet + + facet normal -0.375215858 0.787360668 -0.489158779 + outer loop + vertex 2.58366799 -0.648863018 1.24420404 + vertex 1.85664499 -1.01153195 1.21811604 + vertex 2.33923101 -1.060395 0.769291997 + endloop + endfacet + + facet normal -0.432703078 0.343308091 -0.83361119 + outer loop + vertex 1.98102093 -0.424721986 1.64932895 + vertex 2.58366799 -0.648863018 1.24420404 + vertex 2.55083203 -0.0620529987 1.50291502 + endloop + endfacet + + facet normal -0.275769085 0.606463194 -0.745757163 + outer loop + vertex 2.58366799 -0.648863018 1.24420404 + vertex 1.98102093 -0.424721986 1.64932895 + vertex 1.85664499 -1.01153195 1.21811604 + endloop + endfacet + + facet normal 0.415251076 0.870015144 -0.265782058 + outer loop + vertex 0.907127976 -0.687533975 0.795193017 + vertex 1.85664499 -1.01153195 1.21811604 + vertex 1.31394804 -0.679062009 1.45853198 + endloop + endfacet + + facet normal 0.529567182 0.823971212 -0.201569065 + outer loop + vertex 1.65540099 -1.23567402 0.520398021 + vertex 0.907127976 -0.687533975 0.795193017 + vertex 0.766146004 -0.721850991 0.284518987 + endloop + endfacet + + facet normal -0.148454979 0.953196883 -0.263394982 + outer loop + vertex 1.85664499 -1.01153195 1.21811604 + vertex 1.65540099 -1.23567402 0.520398021 + vertex 2.33923101 -1.060395 0.769291997 + endloop + endfacet + + facet normal 0.447698891 0.805645823 -0.387943923 + outer loop + vertex 1.65540099 -1.23567402 0.520398021 + vertex 1.85664499 -1.01153195 1.21811604 + vertex 0.907127976 -0.687533975 0.795193017 + endloop + endfacet + + facet normal 0.410494119 0.855419278 0.315836102 + outer loop + vertex 1.04242694 -0.687533975 -0.167512998 + vertex 1.65540099 -1.23567402 0.520398021 + vertex 0.766146004 -0.721850991 0.284518987 + endloop + endfacet + + facet normal 0.11889904 0.867570281 0.482892126 + outer loop + vertex 2.2580471 -1.01153195 0.115272999 + vertex 1.04242694 -0.687533975 -0.167512998 + vertex 1.99685407 -0.679062009 -0.417735994 + endloop + endfacet + + facet normal -0.283029974 0.953196943 0.106346995 + outer loop + vertex 1.65540099 -1.23567402 0.520398021 + vertex 2.2580471 -1.01153195 0.115272999 + vertex 2.33923101 -1.060395 0.769291997 + endloop + endfacet + + facet normal 0.0833719745 0.8142398 0.574510813 + outer loop + vertex 2.2580471 -1.01153195 0.115272999 + vertex 1.65540099 -1.23567402 0.520398021 + vertex 1.04242694 -0.687533975 -0.167512998 + endloop + endfacet + + facet normal -0.514374912 0.591440976 0.620979965 + outer loop + vertex 2.63050294 -0.424721986 -0.135107994 + vertex 2.2580471 -1.01153195 0.115272999 + vertex 1.99685407 -0.679062009 -0.417735994 + endloop + endfacet + + facet normal -0.867304265 0.343309104 0.360447109 + outer loop + vertex 2.83174801 -0.648863018 0.562609017 + vertex 2.63050294 -0.424721986 -0.135107994 + vertex 2.97289085 -0.0620529987 0.343317986 + endloop + endfacet + + facet normal -0.601856828 0.787360728 0.133533955 + outer loop + vertex 2.2580471 -1.01153195 0.115272999 + vertex 2.83174801 -0.648863018 0.562609017 + vertex 2.33923101 -1.060395 0.769291997 + endloop + endfacet + + facet normal -0.690615118 0.606463134 0.394022048 + outer loop + vertex 2.83174801 -0.648863018 0.562609017 + vertex 2.2580471 -1.01153195 0.115272999 + vertex 2.63050294 -0.424721986 -0.135107994 + endloop + endfacet + + facet normal -0.480426788 0.269474924 0.834609628 + outer loop + vertex 2.05680299 -0.0620529987 -0.582445025 + vertex 2.63050294 -0.424721986 -0.135107994 + vertex 1.99685407 -0.679062009 -0.417735994 + endloop + endfacet + + facet normal -0.480426788 -0.269474924 0.834609628 + outer loop + vertex 2.63050294 0.300615013 -0.135107994 + vertex 2.05680299 -0.0620529987 -0.582445025 + vertex 1.99685407 0.554956019 -0.417735994 + endloop + endfacet + + facet normal -0.813206792 0 0.581974864 + outer loop + vertex 2.63050294 -0.424721986 -0.135107994 + vertex 2.63050294 0.300615013 -0.135107994 + vertex 2.97289085 -0.0620529987 0.343317986 + endloop + endfacet + + facet normal -0.614903986 0 0.788601995 + outer loop + vertex 2.63050294 0.300615013 -0.135107994 + vertex 2.63050294 -0.424721986 -0.135107994 + vertex 2.05680299 -0.0620529987 -0.582445025 + endloop + endfacet + + facet normal 0.0294839889 0.255127907 0.966457665 + outer loop + vertex 0.900376976 -0.275397986 -0.490844995 + vertex 2.05680299 -0.0620529987 -0.582445025 + vertex 1.99685407 -0.679062009 -0.417735994 + endloop + endfacet + + facet normal 0.514054716 0 0.857757449 + outer loop + vertex 0.900376976 0.234028995 -0.490844995 + vertex 0.900376976 -0.275397986 -0.490844995 + vertex 0.524474978 -0.0206840001 -0.265567005 + endloop + endfacet + + facet normal 0.0107639972 -0.256923914 0.966371715 + outer loop + vertex 2.05680299 -0.0620529987 -0.582445025 + vertex 0.900376976 0.234028995 -0.490844995 + vertex 1.99685407 0.554956019 -0.417735994 + endloop + endfacet + + facet normal 0.0789619684 0 0.996877551 + outer loop + vertex 0.900376976 0.234028995 -0.490844995 + vertex 2.05680299 -0.0620529987 -0.582445025 + vertex 0.900376976 -0.275397986 -0.490844995 + endloop + endfacet + + facet normal 0.647883713 -0.364618838 0.668804705 + outer loop + vertex 0.535234988 0.391451001 -0.0513020009 + vertex 0.900376976 0.234028995 -0.490844995 + vertex 0.524474978 -0.0206840001 -0.265567005 + endloop + endfacet + + facet normal 0.483248174 -0.79979831 0.356081158 + outer loop + vertex 1.04242694 0.646165013 -0.167512998 + vertex 0.535234988 0.391451001 -0.0513020009 + vertex 0.766146004 0.680482984 0.284518987 + endloop + endfacet + + facet normal 0.136986926 -0.640222669 0.755876541 + outer loop + vertex 0.900376976 0.234028995 -0.490844995 + vertex 1.04242694 0.646165013 -0.167512998 + vertex 1.99685407 0.554956019 -0.417735994 + endloop + endfacet + + facet normal 0.462180048 -0.640478075 0.613333046 + outer loop + vertex 1.04242694 0.646165013 -0.167512998 + vertex 0.900376976 0.234028995 -0.490844995 + vertex 0.535234988 0.391451001 -0.0513020009 + endloop + endfacet + + facet normal 0.355838954 -0.890011907 0.285056978 + outer loop + vertex 1.65540099 1.11156702 0.520398021 + vertex 1.04242694 0.646165013 -0.167512998 + vertex 0.766146004 0.680482984 0.284518987 + endloop + endfacet + + facet normal -0.283029974 -0.953196943 0.106346995 + outer loop + vertex 2.2580471 0.887426019 0.115272999 + vertex 1.65540099 1.11156702 0.520398021 + vertex 2.33923101 0.936287999 0.769291997 + endloop + endfacet + + facet normal 0.0517080128 -0.85851717 0.510171115 + outer loop + vertex 1.04242694 0.646165013 -0.167512998 + vertex 2.2580471 0.887426019 0.115272999 + vertex 1.99685407 0.554956019 -0.417735994 + endloop + endfacet + + facet normal 0.0438020192 -0.845141351 0.532745183 + outer loop + vertex 2.2580471 0.887426019 0.115272999 + vertex 1.04242694 0.646165013 -0.167512998 + vertex 1.65540099 1.11156702 0.520398021 + endloop + endfacet + + facet normal -0.514374912 -0.591440976 0.620979965 + outer loop + vertex 2.2580471 0.887426019 0.115272999 + vertex 2.63050294 0.300615013 -0.135107994 + vertex 1.99685407 0.554956019 -0.417735994 + endloop + endfacet + + facet normal -0.601856947 -0.787360847 0.133532986 + outer loop + vertex 2.83174801 0.524757028 0.562609017 + vertex 2.2580471 0.887426019 0.115272999 + vertex 2.33923101 0.936287999 0.769291997 + endloop + endfacet + + facet normal -0.867304265 -0.343309104 0.360447109 + outer loop + vertex 2.63050294 0.300615013 -0.135107994 + vertex 2.83174801 0.524757028 0.562609017 + vertex 2.97289085 -0.0620529987 0.343317986 + endloop + endfacet + + facet normal -0.690614581 -0.606463671 0.394021749 + outer loop + vertex 2.83174801 0.524757028 0.562609017 + vertex 2.63050294 0.300615013 -0.135107994 + vertex 2.2580471 0.887426019 0.115272999 + endloop + endfacet + + facet normal 0.964517593 -0.227995917 -0.133129939 + outer loop + vertex 0.451615006 0.391451001 0.543682992 + vertex 0.309563994 -0.0206840001 0.220350996 + vertex 0.382212013 -0.0206840001 0.746681988 + endloop + endfacet + + facet normal 0.716925919 -0.689829946 0.100756995 + outer loop + vertex 0.535234988 0.391451001 -0.0513020009 + vertex 0.451615006 0.391451001 0.543682992 + vertex 0.766146004 0.680482984 0.284518987 + endloop + endfacet + + facet normal 0.890458107 -0.227996066 0.393830061 + outer loop + vertex 0.309563994 -0.0206840001 0.220350996 + vertex 0.535234988 0.391451001 -0.0513020009 + vertex 0.524474978 -0.0206840001 -0.265567005 + endloop + endfacet + + facet normal 0.90287751 -0.41074425 0.126891062 + outer loop + vertex 0.535234988 0.391451001 -0.0513020009 + vertex 0.309563994 -0.0206840001 0.220350996 + vertex 0.451615006 0.391451001 0.543682992 + endloop + endfacet + + facet normal 0.964517593 0.227995917 -0.133129939 + outer loop + vertex 0.309563994 -0.0206840001 0.220350996 + vertex 0.451615006 -0.432819992 0.543682992 + vertex 0.382212013 -0.0206840001 0.746681988 + endloop + endfacet + + facet normal 0.890458107 0.227996066 0.393830061 + outer loop + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 0.309563994 -0.0206840001 0.220350996 + vertex 0.524474978 -0.0206840001 -0.265567005 + endloop + endfacet + + facet normal 0.716925919 0.689829946 0.100756995 + outer loop + vertex 0.451615006 -0.432819992 0.543682992 + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 0.766146004 -0.721850991 0.284518987 + endloop + endfacet + + facet normal 0.90287751 0.41074425 0.126891062 + outer loop + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 0.451615006 -0.432819992 0.543682992 + vertex 0.309563994 -0.0206840001 0.220350996 + endloop + endfacet + + facet normal 0.807133079 0.364618987 -0.46431601 + outer loop + vertex 0.451615006 -0.432819992 0.543682992 + vertex 0.681457996 -0.275397986 1.06684601 + vertex 0.382212013 -0.0206840001 0.746681988 + endloop + endfacet + + facet normal 0.562677264 0.79979831 -0.209086075 + outer loop + vertex 0.907127976 -0.687533975 0.795193017 + vertex 0.451615006 -0.432819992 0.543682992 + vertex 0.766146004 -0.721850991 0.284518987 + endloop + endfacet + + facet normal 0.657568097 0.631190121 -0.411343098 + outer loop + vertex 0.681457996 -0.275397986 1.06684601 + vertex 0.907127976 -0.687533975 0.795193017 + vertex 1.31394804 -0.679062009 1.45853198 + endloop + endfacet + + facet normal 0.613333642 0.640477657 -0.462179691 + outer loop + vertex 0.907127976 -0.687533975 0.795193017 + vertex 0.681457996 -0.275397986 1.06684601 + vertex 0.451615006 -0.432819992 0.543682992 + endloop + endfacet + + facet normal 0.188311026 0.645559072 0.740130126 + outer loop + vertex 1.04242694 -0.687533975 -0.167512998 + vertex 0.900376976 -0.275397986 -0.490844995 + vertex 1.99685407 -0.679062009 -0.417735994 + endloop + endfacet + + facet normal 0.483248174 0.79979831 0.356081158 + outer loop + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 1.04242694 -0.687533975 -0.167512998 + vertex 0.766146004 -0.721850991 0.284518987 + endloop + endfacet + + facet normal 0.647883177 0.364619046 0.668805122 + outer loop + vertex 0.900376976 -0.275397986 -0.490844995 + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 0.524474978 -0.0206840001 -0.265567005 + endloop + endfacet + + facet normal 0.462180048 0.640478075 0.613333046 + outer loop + vertex 0.535234988 -0.432819992 -0.0513020009 + vertex 0.900376976 -0.275397986 -0.490844995 + vertex 1.04242694 -0.687533975 -0.167512998 + endloop + endfacet + + facet normal -0.432697058 -0.859040201 0.273538053 + outer loop + vertex -0.631551027 0.764486015 0.547107995 + vertex -0.438125014 0.541163027 0.151739001 + vertex -1.01341605 0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.541726649 -0.466254741 -0.69938457 + outer loop + vertex -0.0606839992 0.437810004 0.322710991 + vertex -0.631551027 0.764486015 0.547107995 + vertex -0.291319996 0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.175982982 -0.964926958 -0.194796994 + outer loop + vertex -0.438125014 0.541163027 0.151739001 + vertex -0.0606839992 0.437810004 0.322710991 + vertex 0.253931999 0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.37848711 -0.872899234 0.307887077 + outer loop + vertex -0.0606839992 0.437810004 0.322710991 + vertex -0.438125014 0.541163027 0.151739001 + vertex -0.631551027 0.764486015 0.547107995 + endloop + endfacet + + facet normal 0.429853022 -0.805670023 -0.407581031 + outer loop + vertex -1.13857305 0.472478002 0.589594007 + vertex -0.631551027 0.764486015 0.547107995 + vertex -1.01341605 0.803828001 0.0666079968 + endloop + endfacet + + facet normal 0.334310085 -0.263623089 -0.904842317 + outer loop + vertex -0.75335598 0.292008013 0.78449899 + vertex -1.13857305 0.472478002 0.589594007 + vertex -1.13703001 0 0.727819026 + endloop + endfacet + + facet normal -0.34672612 -0.348206103 -0.870938241 + outer loop + vertex -0.631551027 0.764486015 0.547107995 + vertex -0.75335598 0.292008013 0.78449899 + vertex -0.291319996 0.284505993 0.603558004 + endloop + endfacet + + facet normal 0.205720052 -0.481182128 -0.852140188 + outer loop + vertex -0.75335598 0.292008013 0.78449899 + vertex -0.631551027 0.764486015 0.547107995 + vertex -1.13857305 0.472478002 0.589594007 + endloop + endfacet + + facet normal 0.146141946 0 -0.989263594 + outer loop + vertex -0.75335598 -0.292008013 0.78449899 + vertex -0.75335598 0.292008013 0.78449899 + vertex -1.13703001 0 0.727819026 + endloop + endfacet + + facet normal -0.353928059 0.280805022 -0.892123103 + outer loop + vertex -0.265545011 0 0.682883978 + vertex -0.75335598 -0.292008013 0.78449899 + vertex -0.291319996 -0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.353928059 -0.280805022 -0.892123103 + outer loop + vertex -0.75335598 0.292008013 0.78449899 + vertex -0.265545011 0 0.682883978 + vertex -0.291319996 0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.203930095 0 -0.978985429 + outer loop + vertex -0.265545011 0 0.682883978 + vertex -0.75335598 0.292008013 0.78449899 + vertex -0.75335598 -0.292008013 0.78449899 + endloop + endfacet + + facet normal -0.370298028 -0.280459017 -0.885563135 + outer loop + vertex -0.265545011 0 0.682883978 + vertex 0.369307995 0.167228997 0.364459008 + vertex -0.291319996 0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.370298028 0.280459017 -0.885563135 + outer loop + vertex 0.369307995 -0.167228997 0.364459008 + vertex -0.265545011 0 0.682883978 + vertex -0.291319996 -0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.60111922 0 -0.799159288 + outer loop + vertex 0.369307995 0.167228997 0.364459008 + vertex 0.369307995 -0.167228997 0.364459008 + vertex 0.662828028 0 0.143675998 + endloop + endfacet + + facet normal -0.448338032 0 -0.893864095 + outer loop + vertex 0.369307995 -0.167228997 0.364459008 + vertex 0.369307995 0.167228997 0.364459008 + vertex -0.265545011 0 0.682883978 + endloop + endfacet + + facet normal -0.355542064 -0.666160047 -0.655607045 + outer loop + vertex 0.369307995 0.167228997 0.364459008 + vertex -0.0606839992 0.437810004 0.322710991 + vertex -0.291319996 0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.681211829 -0.339001894 -0.648866773 + outer loop + vertex 0.581242025 0.389086008 0.0260499995 + vertex 0.369307995 0.167228997 0.364459008 + vertex 0.662828028 0 0.143675998 + endloop + endfacet + + facet normal -0.156875014 -0.971084058 -0.179961026 + outer loop + vertex -0.0606839992 0.437810004 0.322710991 + vertex 0.581242025 0.389086008 0.0260499995 + vertex 0.253931999 0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.354409099 -0.664684117 -0.657715142 + outer loop + vertex 0.581242025 0.389086008 0.0260499995 + vertex -0.0606839992 0.437810004 0.322710991 + vertex 0.369307995 0.167228997 0.364459008 + endloop + endfacet + + facet normal -0.967071533 -0.233435884 -0.101391949 + outer loop + vertex 0.700780988 0 -0.218314007 + vertex 0.581242025 0.389086008 0.0260499995 + vertex 0.662828028 0 0.143675998 + endloop + endfacet + + facet normal -0.722780406 -0.23343581 0.650458395 + outer loop + vertex 0.460438013 0.389086008 -0.345746011 + vertex 0.700780988 0 -0.218314007 + vertex 0.457304001 0 -0.488862008 + endloop + endfacet + + facet normal -0.234045014 -0.969247162 0.0760460123 + outer loop + vertex 0.581242025 0.389086008 0.0260499995 + vertex 0.460438013 0.389086008 -0.345746011 + vertex 0.253931999 0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.855295599 -0.437309831 0.277901888 + outer loop + vertex 0.460438013 0.389086008 -0.345746011 + vertex 0.581242025 0.389086008 0.0260499995 + vertex 0.700780988 0 -0.218314007 + endloop + endfacet + + facet normal -0.967071533 0.233435884 -0.101391949 + outer loop + vertex 0.581242025 -0.389086008 0.0260499995 + vertex 0.700780988 0 -0.218314007 + vertex 0.662828028 0 0.143675998 + endloop + endfacet + + facet normal -0.234045014 0.969247162 0.0760460123 + outer loop + vertex 0.460438013 -0.389086008 -0.345746011 + vertex 0.581242025 -0.389086008 0.0260499995 + vertex 0.253931999 -0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.722780406 0.233436137 0.650458336 + outer loop + vertex 0.700780988 0 -0.218314007 + vertex 0.460438013 -0.389086008 -0.345746011 + vertex 0.457304001 0 -0.488862008 + endloop + endfacet + + facet normal -0.855295599 0.437309831 0.277901888 + outer loop + vertex 0.460438013 -0.389086008 -0.345746011 + vertex 0.700780988 0 -0.218314007 + vertex 0.581242025 -0.389086008 0.0260499995 + endloop + endfacet + + facet normal -0.355541825 0.66615957 -0.655607641 + outer loop + vertex -0.0606839992 -0.437810004 0.322710991 + vertex 0.369307995 -0.167228997 0.364459008 + vertex -0.291319996 -0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.156875029 0.971084177 -0.179960027 + outer loop + vertex 0.581242025 -0.389086008 0.0260499995 + vertex -0.0606839992 -0.437810004 0.322710991 + vertex 0.253931999 -0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.681211829 0.339001894 -0.648866773 + outer loop + vertex 0.369307995 -0.167228997 0.364459008 + vertex 0.581242025 -0.389086008 0.0260499995 + vertex 0.662828028 0 0.143675998 + endloop + endfacet + + facet normal -0.354409099 0.664684117 -0.657715142 + outer loop + vertex 0.581242025 -0.389086008 0.0260499995 + vertex 0.369307995 -0.167228997 0.364459008 + vertex -0.0606839992 -0.437810004 0.322710991 + endloop + endfacet + + facet normal -0.541726649 0.466254741 -0.69938457 + outer loop + vertex -0.631551027 -0.764486015 0.547107995 + vertex -0.0606839992 -0.437810004 0.322710991 + vertex -0.291319996 -0.284505993 0.603558004 + endloop + endfacet + + facet normal -0.432697058 0.859040201 0.273538053 + outer loop + vertex -0.438125014 -0.541163027 0.151739001 + vertex -0.631551027 -0.764486015 0.547107995 + vertex -1.01341605 -0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.175982982 0.964926958 -0.194796994 + outer loop + vertex -0.0606839992 -0.437810004 0.322710991 + vertex -0.438125014 -0.541163027 0.151739001 + vertex 0.253931999 -0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.37848711 0.872899234 0.307887077 + outer loop + vertex -0.438125014 -0.541163027 0.151739001 + vertex -0.0606839992 -0.437810004 0.322710991 + vertex -0.631551027 -0.764486015 0.547107995 + endloop + endfacet + + facet normal -0.411905199 0.910833538 -0.0267650131 + outer loop + vertex -0.903297007 -0.764486015 -0.289241999 + vertex -0.438125014 -0.541163027 0.151739001 + vertex -1.01341605 -0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.188856944 0.147191957 0.970910728 + outer loop + vertex -0.233263001 -0.437810004 -0.208434999 + vertex -0.903297007 -0.764486015 -0.289241999 + vertex -0.584930003 -0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.0278740041 0.964927137 0.261034042 + outer loop + vertex -0.438125014 -0.541163027 0.151739001 + vertex -0.233263001 -0.437810004 -0.208434999 + vertex 0.253931999 -0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.439015031 0.898443103 0.00810600072 + outer loop + vertex -0.233263001 -0.437810004 -0.208434999 + vertex -0.438125014 -0.541163027 0.151739001 + vertex -0.903297007 -0.764486015 -0.289241999 + endloop + endfacet + + facet normal -0.021137001 0.971084058 0.237800032 + outer loop + vertex -0.233263001 -0.437810004 -0.208434999 + vertex 0.460438013 -0.389086008 -0.345746011 + vertex 0.253931999 -0.460341007 -0.0731239989 + endloop + endfacet + + facet normal 0.645767212 -0.710955262 0.278437078 + outer loop + vertex -0.903297007 0.764486015 -0.289241999 + vertex -1.33845997 0.472478002 -0.0255929995 + vertex -1.01341605 0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.411905199 -0.910833538 -0.0267650131 + outer loop + vertex -0.438125014 0.541163027 0.151739001 + vertex -0.903297007 0.764486015 -0.289241999 + vertex -1.01341605 0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.0278739929 -0.964926779 0.261034936 + outer loop + vertex -0.233263001 0.437810004 -0.208434999 + vertex -0.438125014 0.541163027 0.151739001 + vertex 0.253931999 0.460341007 -0.0731239989 + endloop + endfacet + + facet normal -0.188856944 -0.147191957 0.970910728 + outer loop + vertex -0.903297007 0.764486015 -0.289241999 + vertex -0.233263001 0.437810004 -0.208434999 + vertex -0.584930003 0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.439015031 -0.898443103 0.00810600072 + outer loop + vertex -0.233263001 0.437810004 -0.208434999 + vertex -0.903297007 0.764486015 -0.289241999 + vertex -0.438125014 0.541163027 0.151739001 + endloop + endfacet + + facet normal -0.021137001 -0.971084058 0.237800032 + outer loop + vertex 0.460438013 0.389086008 -0.345746011 + vertex -0.233263001 0.437810004 -0.208434999 + vertex 0.253931999 0.460341007 -0.0731239989 + endloop + endfacet + + facet normal 0.719865859 -0.192728966 -0.66681987 + outer loop + vertex -1.13857305 0.472478002 0.589594007 + vertex -1.37665105 0 0.469136 + vertex -1.13703001 0 0.727819026 + endloop + endfacet + + facet normal 0.725731134 -0.646305084 -0.23580502 + outer loop + vertex -1.33845997 0.472478002 -0.0255929995 + vertex -1.13857305 0.472478002 0.589594007 + vertex -1.01341605 0.803828001 0.0666079968 + endloop + endfacet + + facet normal 0.986233354 -0.150788054 -0.0678730309 + outer loop + vertex -1.37665105 0 0.469136 + vertex -1.33845997 0.472478002 -0.0255929995 + vertex -1.41845703 0 -0.138327003 + endloop + endfacet + + facet normal 0.882898092 -0.371747017 -0.286871016 + outer loop + vertex -1.33845997 0.472478002 -0.0255929995 + vertex -1.37665105 0 0.469136 + vertex -1.13857305 0.472478002 0.589594007 + endloop + endfacet + + facet normal 0.719865859 0.192728966 -0.66681987 + outer loop + vertex -1.37665105 0 0.469136 + vertex -1.13857305 -0.472478002 0.589594007 + vertex -1.13703001 0 0.727819026 + endloop + endfacet + + facet normal 0.986233175 0.150789022 -0.067873016 + outer loop + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -1.37665105 0 0.469136 + vertex -1.41845703 0 -0.138327003 + endloop + endfacet + + facet normal 0.725731134 0.646305084 -0.23580502 + outer loop + vertex -1.13857305 -0.472478002 0.589594007 + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -1.01341605 -0.803828001 0.0666079968 + endloop + endfacet + + facet normal 0.882897794 0.371747911 -0.286870927 + outer loop + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -1.13857305 -0.472478002 0.589594007 + vertex -1.37665105 0 0.469136 + endloop + endfacet + + facet normal 0.334310085 0.263623089 -0.904842317 + outer loop + vertex -1.13857305 -0.472478002 0.589594007 + vertex -0.75335598 -0.292008013 0.78449899 + vertex -1.13703001 0 0.727819026 + endloop + endfacet + + facet normal 0.429853022 0.805670023 -0.407581031 + outer loop + vertex -0.631551027 -0.764486015 0.547107995 + vertex -1.13857305 -0.472478002 0.589594007 + vertex -1.01341605 -0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.34672612 0.348206103 -0.870938241 + outer loop + vertex -0.75335598 -0.292008013 0.78449899 + vertex -0.631551027 -0.764486015 0.547107995 + vertex -0.291319996 -0.284505993 0.603558004 + endloop + endfacet + + facet normal 0.205720052 0.481182128 -0.852140188 + outer loop + vertex -0.631551027 -0.764486015 0.547107995 + vertex -0.75335598 -0.292008013 0.78449899 + vertex -1.13857305 -0.472478002 0.589594007 + endloop + endfacet + + facet normal 0.645767868 0.710954785 0.278436899 + outer loop + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -0.903297007 -0.764486015 -0.289241999 + vertex -1.01341605 -0.803828001 0.0666079968 + endloop + endfacet + + facet normal -0.0213829875 -0.399431795 0.916513443 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.01783097 -0.351024002 0.00491400016 + vertex -0.964388013 -0.470328987 -0.0458349995 + endloop + endfacet + + facet normal 0.781845033 0.449936032 0.431597054 + outer loop + vertex -2.92025304 -3.89943194 -1.53437805 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.90600705 -3.90321898 -1.55623698 + endloop + endfacet + + facet normal -0.945810378 0.167999059 -0.277883112 + outer loop + vertex -1.23226094 -1.14515603 0.457924992 + vertex -1.23026299 -1.22389793 0.403519988 + vertex -0.964388013 -0.470328987 -0.0458349995 + endloop + endfacet + + facet normal -0.805882096 -0.113844007 -0.581028044 + outer loop + vertex -1.01783097 -0.351024002 0.00491400016 + vertex -1.23226094 -1.14515603 0.457924992 + vertex -0.964388013 -0.470328987 -0.0458349995 + endloop + endfacet + + facet normal -0.942644656 0.173225939 -0.285330921 + outer loop + vertex -1.23226094 -1.14515603 0.457924992 + vertex -1.57549906 -1.69697499 1.256863 + vertex -1.23026299 -1.22389793 0.403519988 + endloop + endfacet + + facet normal -0.941975474 0.154292092 -0.298121184 + outer loop + vertex -1.23226094 -1.14515603 0.457924992 + vertex -1.59044802 -1.66966891 1.31822896 + vertex -1.57549906 -1.69697499 1.256863 + endloop + endfacet + + facet normal -0.747970819 0.285769939 -0.599061906 + outer loop + vertex -1.67847705 -1.86322808 1.30613101 + vertex -1.61559892 -1.845137 1.23625302 + vertex -1.57549906 -1.69697499 1.256863 + endloop + endfacet + + facet normal -0.832128823 0.402304918 -0.381722927 + outer loop + vertex -1.59044802 -1.66966891 1.31822896 + vertex -1.67847705 -1.86322808 1.30613101 + vertex -1.57549906 -1.69697499 1.256863 + endloop + endfacet + + facet normal -0.673662126 0.581969082 -0.455512017 + outer loop + vertex -1.67847705 -1.86322808 1.30613101 + vertex -2.09431696 -2.85528994 0.653648019 + vertex -1.61559892 -1.845137 1.23625302 + endloop + endfacet + + facet normal -0.55654794 0.606640875 -0.567662954 + outer loop + vertex -1.67847705 -1.86322808 1.30613101 + vertex -2.17327309 -2.90178013 0.681376994 + vertex -2.09431696 -2.85528994 0.653648019 + endloop + endfacet + + facet normal -0.405423969 0.861933947 -0.30446896 + outer loop + vertex -2.70630598 -3.77558994 -1.13675594 + vertex -2.66079307 -3.77662301 -1.20028496 + vertex -2.09431696 -2.85528994 0.653648019 + endloop + endfacet + + facet normal -0.551747799 0.803281784 -0.224304914 + outer loop + vertex -2.17327309 -2.90178013 0.681376994 + vertex -2.70630598 -3.77558994 -1.13675594 + vertex -2.09431696 -2.85528994 0.653648019 + endloop + endfacet + + facet normal -0.23088105 0.956007123 -0.180954024 + outer loop + vertex -2.70630598 -3.77558994 -1.13675594 + vertex -2.90600705 -3.90321898 -1.55623698 + vertex -2.66079307 -3.77662301 -1.20028496 + endloop + endfacet + + facet normal -0.112019025 0.964274228 -0.240056053 + outer loop + vertex -2.70630598 -3.77558994 -1.13675594 + vertex -2.92025304 -3.89943194 -1.53437805 + vertex -2.90600705 -3.90321898 -1.55623698 + endloop + endfacet + + facet normal -0.0213859938 -0.399428874 0.916514754 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.15481496 -0.312853992 0.018352 + vertex -1.01783097 -0.351024002 0.00491400016 + endloop + endfacet + + facet normal 0.781792939 0.449993968 0.431630969 + outer loop + vertex -2.93203402 -3.88312697 -1.530038 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.92025304 -3.89943194 -1.53437805 + endloop + endfacet + + facet normal -0.208629057 -0.441484153 -0.872677267 + outer loop + vertex -1.15481496 -0.312853992 0.018352 + vertex -1.23226094 -1.14515603 0.457924992 + vertex -1.01783097 -0.351024002 0.00491400016 + endloop + endfacet + + facet normal -0.460987806 -0.38050884 -0.801687777 + outer loop + vertex -1.15481496 -0.312853992 0.018352 + vertex -1.30323696 -1.08182395 0.468677998 + vertex -1.23226094 -1.14515603 0.457924992 + endloop + endfacet + + facet normal -0.578610063 -0.566799045 -0.586471975 + outer loop + vertex -1.63677692 -1.63637698 1.331761 + vertex -1.59044802 -1.66966891 1.31822896 + vertex -1.23226094 -1.14515603 0.457924992 + endloop + endfacet + + facet normal -0.587184072 -0.558590055 -0.585826039 + outer loop + vertex -1.30323696 -1.08182395 0.468677998 + vertex -1.63677692 -1.63637698 1.331761 + vertex -1.23226094 -1.14515603 0.457924992 + endloop + endfacet + + facet normal -0.181254938 0.14324595 -0.972947657 + outer loop + vertex -1.63677692 -1.63637698 1.331761 + vertex -1.67847705 -1.86322808 1.30613101 + vertex -1.59044802 -1.66966891 1.31822896 + endloop + endfacet + + facet normal -0.106968015 0.131019011 -0.985592186 + outer loop + vertex -1.63677692 -1.63637698 1.331761 + vertex -1.76449001 -1.82381392 1.32070494 + vertex -1.67847705 -1.86322808 1.30613101 + endloop + endfacet + + facet normal 0.127293006 0.466052979 -0.875551939 + outer loop + vertex -2.26325607 -2.86937809 0.685541987 + vertex -2.17327309 -2.90178013 0.681376994 + vertex -1.67847705 -1.86322808 1.30613101 + endloop + endfacet + + facet normal 0.0775939971 0.490328014 -0.86807698 + outer loop + vertex -1.76449001 -1.82381392 1.32070494 + vertex -2.26325607 -2.86937809 0.685541987 + vertex -1.67847705 -1.86322808 1.30613101 + endloop + endfacet + + facet normal 0.277229041 0.831728101 -0.481012046 + outer loop + vertex -2.26325607 -2.86937809 0.685541987 + vertex -2.70630598 -3.77558994 -1.13675594 + vertex -2.17327309 -2.90178013 0.681376994 + endloop + endfacet + + facet normal 0.55742979 0.681361735 -0.474360824 + outer loop + vertex -2.26325607 -2.86937809 0.685541987 + vertex -2.73510885 -3.74266911 -1.12331498 + vertex -2.70630598 -3.77558994 -1.13675594 + endloop + endfacet + + facet normal 0.622135937 0.587329924 -0.517677963 + outer loop + vertex -2.93203402 -3.88312697 -1.530038 + vertex -2.92025304 -3.89943194 -1.53437805 + vertex -2.70630598 -3.77558994 -1.13675594 + endloop + endfacet + + facet normal 0.542568088 0.677461982 -0.496654004 + outer loop + vertex -2.73510885 -3.74266911 -1.12331498 + vertex -2.93203402 -3.88312697 -1.530038 + vertex -2.70630598 -3.77558994 -1.13675594 + endloop + endfacet + + facet normal -0.0213840026 -0.39942807 0.916515112 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.27218902 -0.384564996 -0.0156389996 + vertex -1.15481496 -0.312853992 0.018352 + endloop + endfacet + + facet normal 0.781800985 0.449976027 0.431634992 + outer loop + vertex -2.93247795 -3.86658096 -1.54648209 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.93203402 -3.88312697 -1.530038 + endloop + endfacet + + facet normal 0.36412704 -0.521987081 -0.771324098 + outer loop + vertex -1.38974404 -1.08159196 0.427682996 + vertex -1.30323696 -1.08182395 0.468677998 + vertex -1.15481496 -0.312853992 0.018352 + endloop + endfacet + + facet normal 0.515085042 -0.520164073 -0.681261063 + outer loop + vertex -1.27218902 -0.384564996 -0.0156389996 + vertex -1.38974404 -1.08159196 0.427682996 + vertex -1.15481496 -0.312853992 0.018352 + endloop + endfacet + + facet normal 0.218663126 -0.857194424 -0.466266215 + outer loop + vertex -1.38974404 -1.08159196 0.427682996 + vertex -1.63677692 -1.63637698 1.331761 + vertex -1.30323696 -1.08182395 0.468677998 + endloop + endfacet + + facet normal 0.204399109 -0.858234406 -0.470802218 + outer loop + vertex -1.38974404 -1.08159196 0.427682996 + vertex -1.6796 -1.62216997 1.28727102 + vertex -1.63677692 -1.63637698 1.331761 + endloop + endfacet + + facet normal 0.50200671 -0.29407683 -0.813331544 + outer loop + vertex -1.80886698 -1.75657201 1.26900196 + vertex -1.76449001 -1.82381392 1.32070494 + vertex -1.63677692 -1.63637698 1.331761 + endloop + endfacet + + facet normal 0.566596866 -0.451231897 -0.689461887 + outer loop + vertex -1.6796 -1.62216997 1.28727102 + vertex -1.80886698 -1.75657201 1.26900196 + vertex -1.63677692 -1.63637698 1.331761 + endloop + endfacet + + facet normal 0.770831048 0.019108003 -0.636753082 + outer loop + vertex -1.80886698 -1.75657201 1.26900196 + vertex -2.26325607 -2.86937809 0.685541987 + vertex -1.76449001 -1.82381392 1.32070494 + endloop + endfacet + + facet normal 0.701269805 0.0847809836 -0.707836807 + outer loop + vertex -1.80886698 -1.75657201 1.26900196 + vertex -2.29650688 -2.78248215 0.663007021 + vertex -2.26325607 -2.86937809 0.685541987 + endloop + endfacet + + facet normal 0.940782428 -0.327590138 -0.0872530341 + outer loop + vertex -2.72551107 -3.70265102 -1.17007899 + vertex -2.73510885 -3.74266911 -1.12331498 + vertex -2.26325607 -2.86937809 0.685541987 + endloop + endfacet + + facet normal 0.904131114 0.257567018 -0.34089005 + outer loop + vertex -2.29650688 -2.78248215 0.663007021 + vertex -2.72551107 -3.70265102 -1.17007899 + vertex -2.26325607 -2.86937809 0.685541987 + endloop + endfacet + + facet normal 0.841782868 -0.483176947 -0.240710974 + outer loop + vertex -2.72551107 -3.70265102 -1.17007899 + vertex -2.93203402 -3.88312697 -1.530038 + vertex -2.73510885 -3.74266911 -1.12331498 + endloop + endfacet + + facet normal 0.88212204 -0.319912046 -0.345712066 + outer loop + vertex -2.72551107 -3.70265102 -1.17007899 + vertex -2.93247795 -3.86658096 -1.54648209 + vertex -2.93203402 -3.88312697 -1.530038 + endloop + endfacet + + facet normal -0.0213889908 -0.399435818 0.916511655 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.28156805 -0.512152016 -0.0714629963 + vertex -1.27218902 -0.384564996 -0.0156389996 + endloop + endfacet + + facet normal 0.781811774 0.450063884 0.43152386 + outer loop + vertex -2.92125297 -3.86225605 -1.57133007 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.93247795 -3.86658096 -1.54648209 + endloop + endfacet + + facet normal 0.989923298 -0.111154035 0.0877310187 + outer loop + vertex -1.28156805 -0.512152016 -0.0714629963 + vertex -1.38974404 -1.08159196 0.427682996 + vertex -1.27218902 -0.384564996 -0.0156389996 + endloop + endfacet + + facet normal 0.917860508 -0.345539778 -0.195279896 + outer loop + vertex -1.28156805 -0.512152016 -0.0714629963 + vertex -1.42664099 -1.14463401 0.365808994 + vertex -1.38974404 -1.08159196 0.427682996 + endloop + endfacet + + facet normal 0.889153957 -0.457446933 0.0121459989 + outer loop + vertex -1.68667006 -1.63774502 1.21826005 + vertex -1.6796 -1.62216997 1.28727102 + vertex -1.38974404 -1.08159196 0.427682996 + endloop + endfacet + + facet normal 0.870758057 -0.491359055 -0.0186190028 + outer loop + vertex -1.42664099 -1.14463401 0.365808994 + vertex -1.68667006 -1.63774502 1.21826005 + vertex -1.38974404 -1.08159196 0.427682996 + endloop + endfacet + + facet normal 0.712433815 -0.69666481 0.0842389762 + outer loop + vertex -1.68667006 -1.63774502 1.21826005 + vertex -1.80886698 -1.75657201 1.26900196 + vertex -1.6796 -1.62216997 1.28727102 + endloop + endfacet + + facet normal 0.652189136 -0.740312099 -0.163056031 + outer loop + vertex -1.68667006 -1.63774502 1.21826005 + vertex -1.77819002 -1.71213603 1.18995297 + vertex -1.80886698 -1.75657201 1.26900196 + endloop + endfacet + + facet normal 0.860250354 -0.490703166 0.138491064 + outer loop + vertex -2.24798799 -2.70652914 0.630741 + vertex -2.29650688 -2.78248215 0.663007021 + vertex -1.80886698 -1.75657201 1.26900196 + endloop + endfacet + + facet normal 0.882484198 -0.463115126 0.0821340159 + outer loop + vertex -1.77819002 -1.71213603 1.18995297 + vertex -2.24798799 -2.70652914 0.630741 + vertex -1.80886698 -1.75657201 1.26900196 + endloop + endfacet + + facet normal 0.852697134 -0.518845081 0.0608890019 + outer loop + vertex -2.24798799 -2.70652914 0.630741 + vertex -2.72551107 -3.70265102 -1.17007899 + vertex -2.29650688 -2.78248215 0.663007021 + endloop + endfacet + + facet normal 0.671965122 -0.708992124 0.213993043 + outer loop + vertex -2.24798799 -2.70652914 0.630741 + vertex -2.68474102 -3.68566895 -1.24183702 + vertex -2.72551107 -3.70265102 -1.17007899 + endloop + endfacet + + facet normal 0.517961979 -0.851083994 0.0858569965 + outer loop + vertex -2.92125297 -3.86225605 -1.57133007 + vertex -2.93247795 -3.86658096 -1.54648209 + vertex -2.72551107 -3.70265102 -1.17007899 + endloop + endfacet + + facet normal 0.512933195 -0.853763223 0.0893750265 + outer loop + vertex -2.68474102 -3.68566895 -1.24183702 + vertex -2.92125297 -3.86225605 -1.57133007 + vertex -2.72551107 -3.70265102 -1.17007899 + endloop + endfacet + + facet normal -0.0213880036 -0.399439096 0.916510165 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.17588902 -0.599543989 -0.107084997 + vertex -1.28156805 -0.512152016 -0.0714629963 + endloop + endfacet + + facet normal 0.781846225 0.450043142 0.43148312 + outer loop + vertex -2.906811 -3.87340689 -1.58586907 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.92125297 -3.86225605 -1.57133007 + endloop + endfacet + + facet normal 0.826284051 0.179565996 0.533864021 + outer loop + vertex -1.38614297 -1.22347903 0.329647988 + vertex -1.42664099 -1.14463401 0.365808994 + vertex -1.28156805 -0.512152016 -0.0714629963 + endloop + endfacet + + facet normal 0.545636952 0.349325001 0.761742949 + outer loop + vertex -1.17588902 -0.599543989 -0.107084997 + vertex -1.38614297 -1.22347903 0.329647988 + vertex -1.28156805 -0.512152016 -0.0714629963 + endloop + endfacet + + facet normal 0.872462928 0.257705957 0.415205985 + outer loop + vertex -1.38614297 -1.22347903 0.329647988 + vertex -1.68667006 -1.63774502 1.21826005 + vertex -1.42664099 -1.14463401 0.365808994 + endloop + endfacet + + facet normal 0.843502939 0.317459971 0.433268964 + outer loop + vertex -1.38614297 -1.22347903 0.329647988 + vertex -1.65266299 -1.67137408 1.17669499 + vertex -1.68667006 -1.63774502 1.21826005 + endloop + endfacet + + facet normal 0.305910945 -0.643379867 0.701769829 + outer loop + vertex -1.69556093 -1.72396898 1.14308596 + vertex -1.77819002 -1.71213603 1.18995297 + vertex -1.68667006 -1.63774502 1.21826005 + endloop + endfacet + + facet normal 0.23541902 -0.652366102 0.720414102 + outer loop + vertex -1.65266299 -1.67137408 1.17669499 + vertex -1.69556093 -1.72396898 1.14308596 + vertex -1.68667006 -1.63774502 1.21826005 + endloop + endfacet + + facet normal 0.338568926 -0.577655792 0.742754817 + outer loop + vertex -1.69556093 -1.72396898 1.14308596 + vertex -2.24798799 -2.70652914 0.630741 + vertex -1.77819002 -1.71213603 1.18995297 + endloop + endfacet + + facet normal 0.199457005 -0.538895965 0.818417966 + outer loop + vertex -1.69556093 -1.72396898 1.14308596 + vertex -2.15423298 -2.69871092 0.61303997 + vertex -2.24798799 -2.70652914 0.630741 + endloop + endfacet + + facet normal 0.0607170016 -0.890278995 0.451350033 + outer loop + vertex -2.64349794 -3.70451212 -1.28455305 + vertex -2.68474102 -3.68566895 -1.24183702 + vertex -2.24798799 -2.70652914 0.630741 + endloop + endfacet + + facet normal 0.155501023 -0.888839185 0.431027114 + outer loop + vertex -2.15423298 -2.69871092 0.61303997 + vertex -2.64349794 -3.70451212 -1.28455305 + vertex -2.24798799 -2.70652914 0.630741 + endloop + endfacet + + facet normal 0.0504009835 -0.894892812 0.443425894 + outer loop + vertex -2.64349794 -3.70451212 -1.28455305 + vertex -2.92125297 -3.86225605 -1.57133007 + vertex -2.68474102 -3.68566895 -1.24183702 + endloop + endfacet + + facet normal -0.0920129791 -0.832157791 0.546851873 + outer loop + vertex -2.64349794 -3.70451212 -1.28455305 + vertex -2.906811 -3.87340689 -1.58586907 + vertex -2.92125297 -3.86225605 -1.57133007 + endloop + endfacet + + facet normal -0.0213840008 -0.399439991 0.916509986 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -1.03473103 -0.580929995 -0.095679 + vertex -1.17588902 -0.599543989 -0.107084997 + endloop + endfacet + + facet normal 0.78186512 0.450013101 0.43148011 + outer loop + vertex -2.90002489 -3.89163709 -1.57915306 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.906811 -3.87340689 -1.58586907 + endloop + endfacet + + facet normal -0.14268291 0.599396646 0.787632525 + outer loop + vertex -1.03473103 -0.580929995 -0.095679 + vertex -1.38614297 -1.22347903 0.329647988 + vertex -1.17588902 -0.599543989 -0.107084997 + endloop + endfacet + + facet normal 0.052053012 0.53126812 0.845603168 + outer loop + vertex -1.03473103 -0.580929995 -0.095679 + vertex -1.29874599 -1.25875497 0.346430987 + vertex -1.38614297 -1.22347903 0.329647988 + endloop + endfacet + + facet normal 0.257589042 0.818346024 0.513768077 + outer loop + vertex -1.60318708 -1.69773293 1.19387603 + vertex -1.65266299 -1.67137408 1.17669499 + vertex -1.38614297 -1.22347903 0.329647988 + endloop + endfacet + + facet normal 0.235024914 0.826015711 0.51230979 + outer loop + vertex -1.29874599 -1.25875497 0.346430987 + vertex -1.60318708 -1.69773293 1.19387603 + vertex -1.38614297 -1.22347903 0.329647988 + endloop + endfacet + + facet normal -0.421861917 -0.218249947 0.879999757 + outer loop + vertex -1.60318708 -1.69773293 1.19387603 + vertex -1.69556093 -1.72396898 1.14308596 + vertex -1.65266299 -1.67137408 1.17669499 + endloop + endfacet + + facet normal -0.423999131 -0.211792082 0.880550325 + outer loop + vertex -1.60318708 -1.69773293 1.19387603 + vertex -1.62320209 -1.78316092 1.16369104 + vertex -1.69556093 -1.72396898 1.14308596 + endloop + endfacet + + facet normal -0.403747976 -0.283086956 0.869970918 + outer loop + vertex -2.08584404 -2.76491594 0.623236001 + vertex -2.15423298 -2.69871092 0.61303997 + vertex -1.69556093 -1.72396898 1.14308596 + endloop + endfacet + + facet normal -0.45299387 -0.256548941 0.8538028 + outer loop + vertex -1.62320209 -1.78316092 1.16369104 + vertex -2.08584404 -2.76491594 0.623236001 + vertex -1.69556093 -1.72396898 1.14308596 + endloop + endfacet + + facet normal -0.645806909 -0.593053877 0.480853915 + outer loop + vertex -2.08584404 -2.76491594 0.623236001 + vertex -2.64349794 -3.70451212 -1.28455305 + vertex -2.15423298 -2.69871092 0.61303997 + endloop + endfacet + + facet normal -0.940769851 -0.0996529832 0.324069977 + outer loop + vertex -2.08584404 -2.76491594 0.623236001 + vertex -2.63283992 -3.74498892 -1.26605999 + vertex -2.64349794 -3.70451212 -1.28455305 + endloop + endfacet + + facet normal -0.743959308 -0.0310040135 0.667505264 + outer loop + vertex -2.90002489 -3.89163709 -1.57915306 + vertex -2.906811 -3.87340689 -1.58586907 + vertex -2.64349794 -3.70451212 -1.28455305 + endloop + endfacet + + facet normal -0.776583195 0.0809680223 0.624790192 + outer loop + vertex -2.63283992 -3.74498892 -1.26605999 + vertex -2.90002489 -3.89163709 -1.57915306 + vertex -2.64349794 -3.70451212 -1.28455305 + endloop + endfacet + + facet normal -0.021383008 -0.399439186 0.916510284 + outer loop + vertex -1.12877297 -0.45877099 -0.0446330011 + vertex -0.964388013 -0.470328987 -0.0458349995 + vertex -1.03473103 -0.580929995 -0.095679 + endloop + endfacet + + facet normal 0.781880677 0.449949831 0.43151781 + outer loop + vertex -2.90600705 -3.90321898 -1.55623698 + vertex -2.91697907 -3.88280702 -1.55764103 + vertex -2.90002489 -3.89163709 -1.57915306 + endloop + endfacet + + facet normal -0.677965045 0.568237007 0.466337025 + outer loop + vertex -1.23026299 -1.22389793 0.403519988 + vertex -1.29874599 -1.25875497 0.346430987 + vertex -1.03473103 -0.580929995 -0.095679 + endloop + endfacet + + facet normal -0.864686787 0.444541872 0.23387894 + outer loop + vertex -0.964388013 -0.470328987 -0.0458349995 + vertex -1.23026299 -1.22389793 0.403519988 + vertex -1.03473103 -0.580929995 -0.095679 + endloop + endfacet + + facet normal -0.574035645 0.792883575 0.204495862 + outer loop + vertex -1.23026299 -1.22389793 0.403519988 + vertex -1.60318708 -1.69773293 1.19387603 + vertex -1.29874599 -1.25875497 0.346430987 + endloop + endfacet + + facet normal -0.542411327 0.808382392 0.228709131 + outer loop + vertex -1.23026299 -1.22389793 0.403519988 + vertex -1.57549906 -1.69697499 1.256863 + vertex -1.60318708 -1.69773293 1.19387603 + endloop + endfacet + + facet normal -0.963225067 0.145960003 0.225594997 + outer loop + vertex -1.61559892 -1.845137 1.23625302 + vertex -1.62320209 -1.78316092 1.16369104 + vertex -1.60318708 -1.69773293 1.19387603 + endloop + endfacet + + facet normal -0.899821401 0.188828096 0.393275172 + outer loop + vertex -1.57549906 -1.69697499 1.256863 + vertex -1.61559892 -1.845137 1.23625302 + vertex -1.60318708 -1.69773293 1.19387603 + endloop + endfacet + + facet normal -0.913563967 0.256980956 0.315216959 + outer loop + vertex -1.61559892 -1.845137 1.23625302 + vertex -2.08584404 -2.76491594 0.623236001 + vertex -1.62320209 -1.78316092 1.16369104 + endloop + endfacet + + facet normal -0.902424276 0.211018071 0.375635087 + outer loop + vertex -1.61559892 -1.845137 1.23625302 + vertex -2.09431696 -2.85528994 0.653648019 + vertex -2.08584404 -2.76491594 0.623236001 + endloop + endfacet + + facet normal -0.811797917 0.580202937 -0.065944992 + outer loop + vertex -2.66079307 -3.77662301 -1.20028496 + vertex -2.63283992 -3.74498892 -1.26605999 + vertex -2.08584404 -2.76491594 0.623236001 + endloop + endfacet + + facet normal -0.963328302 0.162240043 0.213721067 + outer loop + vertex -2.09431696 -2.85528994 0.653648019 + vertex -2.66079307 -3.77662301 -1.20028496 + vertex -2.08584404 -2.76491594 0.623236001 + endloop + endfacet + + facet normal -0.591019154 0.795851231 0.131594047 + outer loop + vertex -2.66079307 -3.77662301 -1.20028496 + vertex -2.90002489 -3.89163709 -1.57915306 + vertex -2.63283992 -3.74498892 -1.26605999 + endloop + endfacet + + facet normal -0.658654928 0.72665596 0.195306972 + outer loop + vertex -2.66079307 -3.77662301 -1.20028496 + vertex -2.90600705 -3.90321898 -1.55623698 + vertex -2.90002489 -3.89163709 -1.57915306 + endloop + endfacet + + facet normal -0.0767649934 0.424314976 0.902254939 + outer loop + vertex -1.01769805 0.488880992 -0.0326699987 + vertex -1.05401599 0.365146995 0.0224300008 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760863423 -0.570059299 0.310031176 + outer loop + vertex -3.08611298 2.79408097 -1.54586196 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.09980297 2.787534 -1.52430201 + endloop + endfacet + + facet normal -0.885644376 -0.0708120316 -0.458933175 + outer loop + vertex -1.01769805 0.488880992 -0.0326699987 + vertex -1.31704998 1.29457402 0.420700014 + vertex -1.32415795 1.20324898 0.448507994 + endloop + endfacet + + facet normal -0.840063334 0.0050070025 -0.54246521 + outer loop + vertex -1.01769805 0.488880992 -0.0326699987 + vertex -1.32415795 1.20324898 0.448507994 + vertex -1.05401599 0.365146995 0.0224300008 + endloop + endfacet + + facet normal -0.96798718 -0.00108800025 -0.250997066 + outer loop + vertex -1.31704998 1.29457402 0.420700014 + vertex -1.52630997 1.67332196 1.22608101 + vertex -1.32415795 1.20324898 0.448507994 + endloop + endfacet + + facet normal -0.909262836 0.206635967 -0.361306936 + outer loop + vertex -1.52630997 1.67332196 1.22608101 + vertex -1.55407095 1.62852693 1.27032602 + vertex -1.32415795 1.20324898 0.448507994 + endloop + endfacet + + facet normal -0.512467682 -0.124688931 -0.849605441 + outer loop + vertex -1.52630997 1.67332196 1.22608101 + vertex -1.57726693 1.81927204 1.23539805 + vertex -1.65870309 1.81342292 1.28537703 + endloop + endfacet + + facet normal -0.638087928 -0.303487957 -0.707629025 + outer loop + vertex -1.52630997 1.67332196 1.22608101 + vertex -1.65870309 1.81342292 1.28537703 + vertex -1.55407095 1.62852693 1.27032602 + endloop + endfacet + + facet normal -0.160780042 -0.915375292 -0.369104087 + outer loop + vertex -1.57726693 1.81927204 1.23539805 + vertex -2.07294297 2.21308303 0.474665999 + vertex -1.65870309 1.81342292 1.28537703 + endloop + endfacet + + facet normal -0.373682201 -0.893377483 -0.249476135 + outer loop + vertex -2.07294297 2.21308303 0.474665999 + vertex -2.16162205 2.24618006 0.488976002 + vertex -1.65870309 1.81342292 1.28537703 + endloop + endfacet + + facet normal -0.0730490163 -0.98006922 -0.18473804 + outer loop + vertex -2.07294297 2.21308303 0.474665999 + vertex -2.83839607 2.59127903 -1.22905695 + vertex -2.881531 2.58232498 -1.16449904 + endloop + endfacet + + facet normal -0.354477853 -0.934385598 -0.0356209837 + outer loop + vertex -2.07294297 2.21308303 0.474665999 + vertex -2.881531 2.58232498 -1.16449904 + vertex -2.16162205 2.24618006 0.488976002 + endloop + endfacet + + facet normal -0.308526933 -0.892181814 -0.32988295 + outer loop + vertex -2.83839607 2.59127903 -1.22905695 + vertex -3.08611298 2.79408097 -1.54586196 + vertex -2.881531 2.58232498 -1.16449904 + endloop + endfacet + + facet normal -0.192876935 -0.898110747 -0.395215869 + outer loop + vertex -3.08611298 2.79408097 -1.54586196 + vertex -3.09980297 2.787534 -1.52430201 + vertex -2.881531 2.58232498 -1.16449904 + endloop + endfacet + + facet normal -0.0767690316 0.424311161 0.90225637 + outer loop + vertex -1.05401599 0.365146995 0.0224300008 + vertex -1.18435502 0.308786988 0.0378439985 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760849178 -0.570075095 0.310037047 + outer loop + vertex -3.09980297 2.787534 -1.52430201 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.11261201 2.77155995 -1.52223897 + endloop + endfacet + + facet normal -0.264522016 0.367929041 -0.891435027 + outer loop + vertex -1.05401599 0.365146995 0.0224300008 + vertex -1.32415795 1.20324898 0.448507994 + vertex -1.18435502 0.308786988 0.0378439985 + endloop + endfacet + + facet normal -0.0232820045 0.414123029 -0.909923077 + outer loop + vertex -1.32415795 1.20324898 0.448507994 + vertex -1.38690901 1.13685596 0.41989699 + vertex -1.18435502 0.308786988 0.0378439985 + endloop + endfacet + + facet normal -0.489267647 0.711135507 -0.504879713 + outer loop + vertex -1.32415795 1.20324898 0.448507994 + vertex -1.55407095 1.62852693 1.27032602 + vertex -1.59782505 1.59094405 1.25979102 + endloop + endfacet + + facet normal -0.508115053 0.69780314 -0.504866123 + outer loop + vertex -1.32415795 1.20324898 0.448507994 + vertex -1.59782505 1.59094405 1.25979102 + vertex -1.38690901 1.13685596 0.41989699 + endloop + endfacet + + facet normal 0.113028012 0.14399001 -0.983103096 + outer loop + vertex -1.55407095 1.62852693 1.27032602 + vertex -1.65870309 1.81342292 1.28537703 + vertex -1.59782505 1.59094405 1.25979102 + endloop + endfacet + + facet normal 0.185814962 0.162295938 -0.969088614 + outer loop + vertex -1.65870309 1.81342292 1.28537703 + vertex -1.73981202 1.76814294 1.26224196 + vertex -1.59782505 1.59094405 1.25979102 + endloop + endfacet + + facet normal 0.498544723 -0.589779615 -0.635305643 + outer loop + vertex -1.65870309 1.81342292 1.28537703 + vertex -2.16162205 2.24618006 0.488976002 + vertex -2.244519 2.21051693 0.457031012 + endloop + endfacet + + facet normal 0.506276369 -0.581512392 -0.636810482 + outer loop + vertex -1.65870309 1.81342292 1.28537703 + vertex -2.244519 2.21051693 0.457031012 + vertex -1.73981202 1.76814294 1.26224196 + endloop + endfacet + + facet normal 0.484050065 -0.79212904 -0.371789068 + outer loop + vertex -2.16162205 2.24618006 0.488976002 + vertex -2.881531 2.58232498 -1.16449904 + vertex -2.244519 2.21051693 0.457031012 + endloop + endfacet + + facet normal 0.612227142 -0.683636189 -0.397265077 + outer loop + vertex -2.881531 2.58232498 -1.16449904 + vertex -2.91222191 2.54960108 -1.15548396 + vertex -2.244519 2.21051693 0.457031012 + endloop + endfacet + + facet normal 0.557069063 -0.529381037 -0.639867067 + outer loop + vertex -2.881531 2.58232498 -1.16449904 + vertex -3.09980297 2.787534 -1.52430201 + vertex -3.11261201 2.77155995 -1.52223897 + endloop + endfacet + + facet normal 0.471753895 -0.616191864 -0.630678833 + outer loop + vertex -2.881531 2.58232498 -1.16449904 + vertex -3.11261201 2.77155995 -1.52223897 + vertex -2.91222191 2.54960108 -1.15548396 + endloop + endfacet + + facet normal -0.0767669678 0.424310833 0.902256668 + outer loop + vertex -1.18435502 0.308786988 0.0378439985 + vertex -1.31056702 0.362244993 0.00196600007 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760856092 -0.570063055 0.310042024 + outer loop + vertex -3.11261201 2.77155995 -1.52223897 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.11489511 2.75818896 -1.54122198 + endloop + endfacet + + facet normal 0.624605119 0.447931021 -0.639708042 + outer loop + vertex -1.18435502 0.308786988 0.0378439985 + vertex -1.38690901 1.13685596 0.41989699 + vertex -1.45804906 1.14539194 0.356413007 + endloop + endfacet + + facet normal 0.412785053 0.438942075 -0.798084199 + outer loop + vertex -1.18435502 0.308786988 0.0378439985 + vertex -1.45804906 1.14539194 0.356413007 + vertex -1.31056702 0.362244993 0.00196600007 + endloop + endfacet + + facet normal 0.413569063 0.840320051 -0.350461036 + outer loop + vertex -1.38690901 1.13685596 0.41989699 + vertex -1.59782505 1.59094405 1.25979102 + vertex -1.45804906 1.14539194 0.356413007 + endloop + endfacet + + facet normal 0.566476703 0.770475626 -0.292354852 + outer loop + vertex -1.59782505 1.59094405 1.25979102 + vertex -1.62462497 1.58887506 1.20240998 + vertex -1.45804906 1.14539194 0.356413007 + endloop + endfacet + + facet normal 0.666042805 0.540796876 -0.513736904 + outer loop + vertex -1.59782505 1.59094405 1.25979102 + vertex -1.73981202 1.76814294 1.26224196 + vertex -1.759516 1.71752691 1.18341398 + endloop + endfacet + + facet normal 0.673963785 0.656674743 -0.338453889 + outer loop + vertex -1.59782505 1.59094405 1.25979102 + vertex -1.759516 1.71752691 1.18341398 + vertex -1.62462497 1.58887506 1.20240998 + endloop + endfacet + + facet normal 0.87528342 0.276827157 -0.396542192 + outer loop + vertex -1.73981202 1.76814294 1.26224196 + vertex -2.244519 2.21051693 0.457031012 + vertex -1.759516 1.71752691 1.18341398 + endloop + endfacet + + facet normal 0.868040264 0.162955061 -0.468990147 + outer loop + vertex -2.244519 2.21051693 0.457031012 + vertex -2.25921011 2.13294888 0.402886987 + vertex -1.759516 1.71752691 1.18341398 + endloop + endfacet + + facet normal 0.824457109 0.515765071 -0.232931033 + outer loop + vertex -2.244519 2.21051693 0.457031012 + vertex -2.91222191 2.54960108 -1.15548396 + vertex -2.90735912 2.51775002 -1.20879805 + endloop + endfacet + + facet normal 0.931220233 0.0728830248 -0.357095122 + outer loop + vertex -2.244519 2.21051693 0.457031012 + vertex -2.90735912 2.51775002 -1.20879805 + vertex -2.25921011 2.13294888 0.402886987 + endloop + endfacet + + facet normal 0.866475642 0.459383816 -0.195413932 + outer loop + vertex -2.91222191 2.54960108 -1.15548396 + vertex -3.11261201 2.77155995 -1.52223897 + vertex -2.90735912 2.51775002 -1.20879805 + endloop + endfacet + + facet normal 0.89059633 0.314460129 -0.328562111 + outer loop + vertex -3.11261201 2.77155995 -1.52223897 + vertex -3.11489511 2.75818896 -1.54122198 + vertex -2.90735912 2.51775002 -1.20879805 + endloop + endfacet + + facet normal -0.0767720193 0.424317122 0.90225327 + outer loop + vertex -1.31056702 0.362244993 0.00196600007 + vertex -1.33761096 0.485262007 -0.0581879988 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760856211 -0.570104182 0.309966087 + outer loop + vertex -3.11489511 2.75818896 -1.54122198 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.10493207 2.75749207 -1.56695998 + endloop + endfacet + + facet normal 0.979394317 0.199278057 -0.0327850096 + outer loop + vertex -1.31056702 0.362244993 0.00196600007 + vertex -1.45804906 1.14539194 0.356413007 + vertex -1.33761096 0.485262007 -0.0581879988 + endloop + endfacet + + facet normal 0.961778104 0.24816604 -0.115743019 + outer loop + vertex -1.45804906 1.14539194 0.356413007 + vertex -1.48400998 1.22242701 0.305858999 + vertex -1.33761096 0.485262007 -0.0581879988 + endloop + endfacet + + facet normal 0.983233452 0.0246459842 0.180677876 + outer loop + vertex -1.45804906 1.14539194 0.356413007 + vertex -1.62462497 1.58887506 1.20240998 + vertex -1.61429 1.623878 1.14139199 + endloop + endfacet + + facet normal 0.94848156 0.316802889 -0.004323998 + outer loop + vertex -1.45804906 1.14539194 0.356413007 + vertex -1.61429 1.623878 1.14139199 + vertex -1.48400998 1.22242701 0.305858999 + endloop + endfacet + + facet normal 0.569355786 0.667770743 0.479495794 + outer loop + vertex -1.62462497 1.58887506 1.20240998 + vertex -1.759516 1.71752691 1.18341398 + vertex -1.61429 1.623878 1.14139199 + endloop + endfacet + + facet normal 0.574625909 0.780223846 0.247094944 + outer loop + vertex -1.759516 1.71752691 1.18341398 + vertex -1.70297694 1.69968998 1.10825098 + vertex -1.61429 1.623878 1.14139199 + endloop + endfacet + + facet normal 0.67483896 0.736889005 -0.0398359969 + outer loop + vertex -1.759516 1.71752691 1.18341398 + vertex -2.25921011 2.13294888 0.402886987 + vertex -2.19463396 2.07188797 0.367314011 + endloop + endfacet + + facet normal 0.45869714 0.878017306 0.136684045 + outer loop + vertex -1.759516 1.71752691 1.18341398 + vertex -2.19463396 2.07188797 0.367314011 + vertex -1.70297694 1.69968998 1.10825098 + endloop + endfacet + + facet normal 0.658887684 0.747243702 -0.0865659639 + outer loop + vertex -2.25921011 2.13294888 0.402886987 + vertex -2.90735912 2.51775002 -1.20879805 + vertex -2.19463396 2.07188797 0.367314011 + endloop + endfacet + + facet normal 0.369675994 0.924360991 0.0943209976 + outer loop + vertex -2.90735912 2.51775002 -1.20879805 + vertex -2.87060595 2.51075506 -1.28429699 + vertex -2.19463396 2.07188797 0.367314011 + endloop + endfacet + + facet normal 0.583255053 0.786133051 0.204471037 + outer loop + vertex -2.90735912 2.51775002 -1.20879805 + vertex -3.11489511 2.75818896 -1.54122198 + vertex -3.10493207 2.75749207 -1.56695998 + endloop + endfacet + + facet normal 0.578596771 0.78848362 0.208612904 + outer loop + vertex -2.90735912 2.51775002 -1.20879805 + vertex -3.10493207 2.75749207 -1.56695998 + vertex -2.87060595 2.51075506 -1.28429699 + endloop + endfacet + + facet normal -0.0767699778 0.424322903 0.902250767 + outer loop + vertex -1.33761096 0.485262007 -0.0581879988 + vertex -1.24512303 0.585205019 -0.0973210037 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760858178 -0.570103168 0.309963077 + outer loop + vertex -3.10493207 2.75749207 -1.56695998 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.09022689 2.76998997 -1.58006907 + endloop + endfacet + + facet normal 0.584711671 -0.262888819 0.767464519 + outer loop + vertex -1.33761096 0.485262007 -0.0581879988 + vertex -1.48400998 1.22242701 0.305858999 + vertex -1.44524097 1.309955 0.306304008 + endloop + endfacet + + facet normal 0.59877497 -0.25710398 0.758529007 + outer loop + vertex -1.33761096 0.485262007 -0.0581879988 + vertex -1.44524097 1.309955 0.306304008 + vertex -1.24512303 0.585205019 -0.0973210037 + endloop + endfacet + + facet normal 0.86564827 -0.385051161 0.319982111 + outer loop + vertex -1.48400998 1.22242701 0.305858999 + vertex -1.61429 1.623878 1.14139199 + vertex -1.44524097 1.309955 0.306304008 + endloop + endfacet + + facet normal 0.773064494 -0.526166677 0.354287803 + outer loop + vertex -1.61429 1.623878 1.14139199 + vertex -1.57460201 1.66959405 1.12268603 + vertex -1.44524097 1.309955 0.306304008 + endloop + endfacet + + facet normal 0.0183549952 0.418431848 0.908062696 + outer loop + vertex -1.61429 1.623878 1.14139199 + vertex -1.70297694 1.69968998 1.10825098 + vertex -1.61277103 1.72806406 1.09335303 + endloop + endfacet + + facet normal -0.0551219992 0.418749988 0.906427085 + outer loop + vertex -1.61429 1.623878 1.14139199 + vertex -1.61277103 1.72806406 1.09335303 + vertex -1.57460201 1.66959405 1.12268603 + endloop + endfacet + + facet normal -0.173069939 0.829250693 0.53140384 + outer loop + vertex -1.70297694 1.69968998 1.10825098 + vertex -2.19463396 2.07188797 0.367314011 + vertex -1.61277103 1.72806406 1.09335303 + endloop + endfacet + + facet normal -0.0611630008 0.882239044 0.466812015 + outer loop + vertex -2.19463396 2.07188797 0.367314011 + vertex -2.09941506 2.07331204 0.377099007 + vertex -1.61277103 1.72806406 1.09335303 + endloop + endfacet + + facet normal -0.196834937 0.924567699 0.326236904 + outer loop + vertex -2.19463396 2.07188797 0.367314011 + vertex -2.87060595 2.51075506 -1.28429699 + vertex -2.82963514 2.533885 -1.32512701 + endloop + endfacet + + facet normal -0.0429229848 0.959605694 0.278054923 + outer loop + vertex -2.19463396 2.07188797 0.367314011 + vertex -2.82963514 2.533885 -1.32512701 + vertex -2.09941506 2.07331204 0.377099007 + endloop + endfacet + + facet normal 0.133578047 0.798819304 0.586553216 + outer loop + vertex -2.87060595 2.51075506 -1.28429699 + vertex -3.10493207 2.75749207 -1.56695998 + vertex -2.82963514 2.533885 -1.32512701 + endloop + endfacet + + facet normal -0.00927600171 0.728916168 0.684540093 + outer loop + vertex -3.10493207 2.75749207 -1.56695998 + vertex -3.09022689 2.76998997 -1.58006907 + vertex -2.82963514 2.533885 -1.32512701 + endloop + endfacet + + facet normal -0.0767689869 0.424322903 0.902250767 + outer loop + vertex -1.24512303 0.585205019 -0.0973210037 + vertex -1.10274899 0.586816013 -0.0859650001 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760912299 -0.570029259 0.309966117 + outer loop + vertex -3.09022689 2.76998997 -1.58006907 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.08185196 2.78627396 -1.57068002 + endloop + endfacet + + facet normal -0.0633039996 -0.498861015 0.864367008 + outer loop + vertex -1.24512303 0.585205019 -0.0973210037 + vertex -1.44524097 1.309955 0.306304008 + vertex -1.10274899 0.586816013 -0.0859650001 + endloop + endfacet + + facet normal -0.292043954 -0.559201956 0.77588886 + outer loop + vertex -1.44524097 1.309955 0.306304008 + vertex -1.37093699 1.34206295 0.357414007 + vertex -1.10274899 0.586816013 -0.0859650001 + endloop + endfacet + + facet normal 0.108098 -0.903342009 0.415075988 + outer loop + vertex -1.44524097 1.309955 0.306304008 + vertex -1.57460201 1.66959405 1.12268603 + vertex -1.53544593 1.69159794 1.16037703 + endloop + endfacet + + facet normal 0.105116993 -0.903753936 0.414944977 + outer loop + vertex -1.44524097 1.309955 0.306304008 + vertex -1.53544593 1.69159794 1.16037703 + vertex -1.37093699 1.34206295 0.357414007 + endloop + endfacet + + facet normal -0.671668947 -0.0683799908 0.737688959 + outer loop + vertex -1.57460201 1.66959405 1.12268603 + vertex -1.61277103 1.72806406 1.09335303 + vertex -1.53544593 1.69159794 1.16037703 + endloop + endfacet + + facet normal -0.673058808 -0.074808985 0.735795796 + outer loop + vertex -1.61277103 1.72806406 1.09335303 + vertex -1.55682492 1.78128397 1.14994001 + vertex -1.53544593 1.69159794 1.16037703 + endloop + endfacet + + facet normal -0.765665054 0.19344902 0.613461077 + outer loop + vertex -1.61277103 1.72806406 1.09335303 + vertex -2.09941506 2.07331204 0.377099007 + vertex -2.045259 2.13614988 0.424876004 + endloop + endfacet + + facet normal -0.776329041 0.171037018 0.606679142 + outer loop + vertex -1.61277103 1.72806406 1.09335303 + vertex -2.045259 2.13614988 0.424876004 + vertex -1.55682492 1.78128397 1.14994001 + endloop + endfacet + + facet normal -0.816772759 0.362870902 0.448560894 + outer loop + vertex -2.09941506 2.07331204 0.377099007 + vertex -2.82963514 2.533885 -1.32512701 + vertex -2.045259 2.13614988 0.424876004 + endloop + endfacet + + facet normal -0.903895736 0.0723669752 0.421586841 + outer loop + vertex -2.82963514 2.533885 -1.32512701 + vertex -2.81529999 2.56972098 -1.30054402 + vertex -2.045259 2.13614988 0.424876004 + endloop + endfacet + + facet normal -0.714901567 -0.0349769779 0.698349595 + outer loop + vertex -2.82963514 2.533885 -1.32512701 + vertex -3.09022689 2.76998997 -1.58006907 + vertex -3.08185196 2.78627396 -1.57068002 + endloop + endfacet + + facet normal -0.757348955 -0.135290995 0.638841927 + outer loop + vertex -2.82963514 2.533885 -1.32512701 + vertex -3.08185196 2.78627396 -1.57068002 + vertex -2.81529999 2.56972098 -1.30054402 + endloop + endfacet + + facet normal -0.0767659619 0.4243218 0.902251601 + outer loop + vertex -1.10274899 0.586816013 -0.0859650001 + vertex -1.01769805 0.488880992 -0.0326699987 + vertex -1.17887402 0.454620987 -0.0302719995 + endloop + endfacet + + facet normal 0.760899127 -0.570062101 0.309938073 + outer loop + vertex -3.08185196 2.78627396 -1.57068002 + vertex -3.0986321 2.77501702 -1.55019093 + vertex -3.08611298 2.79408097 -1.54586196 + endloop + endfacet + + facet normal -0.81185782 -0.481850892 0.329706907 + outer loop + vertex -1.10274899 0.586816013 -0.0859650001 + vertex -1.37093699 1.34206295 0.357414007 + vertex -1.31704998 1.29457402 0.420700014 + endloop + endfacet + + facet normal -0.792782009 -0.494814992 0.355886042 + outer loop + vertex -1.10274899 0.586816013 -0.0859650001 + vertex -1.31704998 1.29457402 0.420700014 + vertex -1.01769805 0.488880992 -0.0326699987 + endloop + endfacet + + facet normal -0.739785016 -0.659090936 0.135341004 + outer loop + vertex -1.37093699 1.34206295 0.357414007 + vertex -1.53544593 1.69159794 1.16037703 + vertex -1.31704998 1.29457402 0.420700014 + endloop + endfacet + + facet normal -0.882458806 -0.470319867 -0.00810799841 + outer loop + vertex -1.53544593 1.69159794 1.16037703 + vertex -1.52630997 1.67332196 1.22608101 + vertex -1.31704998 1.29457402 0.420700014 + endloop + endfacet + + facet normal -0.962198138 -0.243543014 -0.121908017 + outer loop + vertex -1.53544593 1.69159794 1.16037703 + vertex -1.55682492 1.78128397 1.14994001 + vertex -1.57726693 1.81927204 1.23539805 + endloop + endfacet + + facet normal -0.942623854 -0.331589013 0.0388449952 + outer loop + vertex -1.53544593 1.69159794 1.16037703 + vertex -1.57726693 1.81927204 1.23539805 + vertex -1.52630997 1.67332196 1.22608101 + endloop + endfacet + + facet normal -0.708266914 -0.692263961 0.138305992 + outer loop + vertex -1.55682492 1.78128397 1.14994001 + vertex -2.045259 2.13614988 0.424876004 + vertex -1.57726693 1.81927204 1.23539805 + endloop + endfacet + + facet normal -0.826425612 -0.483796358 0.28803125 + outer loop + vertex -2.045259 2.13614988 0.424876004 + vertex -2.07294297 2.21308303 0.474665999 + vertex -1.57726693 1.81927204 1.23539805 + endloop + endfacet + + facet normal -0.582625031 -0.810790002 0.0562819988 + outer loop + vertex -2.045259 2.13614988 0.424876004 + vertex -2.81529999 2.56972098 -1.30054402 + vertex -2.83839607 2.59127903 -1.22905695 + endloop + endfacet + + facet normal -0.836838305 -0.476067185 0.270299107 + outer loop + vertex -2.045259 2.13614988 0.424876004 + vertex -2.83839607 2.59127903 -1.22905695 + vertex -2.07294297 2.21308303 0.474665999 + endloop + endfacet + + facet normal -0.644049883 -0.764651895 0.0225229971 + outer loop + vertex -2.81529999 2.56972098 -1.30054402 + vertex -3.08185196 2.78627396 -1.57068002 + vertex -2.83839607 2.59127903 -1.22905695 + endloop + endfacet + + facet normal -0.70394212 -0.703137159 0.100317024 + outer loop + vertex -3.08185196 2.78627396 -1.57068002 + vertex -3.08611298 2.79408097 -1.54586196 + vertex -2.83839607 2.59127903 -1.22905695 + endloop + endfacet + + facet normal 0.0729879588 -0.424979746 0.902255476 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.704271972 -0.275191993 0.0224300008 + vertex -0.627824008 -0.379043013 -0.0326699987 + endloop + endfacet + + facet normal 0.288141072 0.809048176 0.512265146 + outer loop + vertex -1.08943605 -3.53432393 -1.60113692 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.07667601 -3.52539802 -1.62241101 + endloop + endfacet + + facet normal -0.722976804 -0.26038295 -0.639925897 + outer loop + vertex -0.785679996 -1.12330306 0.448507994 + vertex -0.733861029 -1.19883895 0.420700014 + vertex -0.627824008 -0.379043013 -0.0326699987 + endloop + endfacet + + facet normal -0.757175207 -0.233753055 -0.609955132 + outer loop + vertex -0.704271972 -0.275191993 0.0224300008 + vertex -0.785679996 -1.12330306 0.448507994 + vertex -0.627824008 -0.379043013 -0.0326699987 + endloop + endfacet + + facet normal -0.822168887 -0.424315959 -0.379465908 + outer loop + vertex -0.785679996 -1.12330306 0.448507994 + vertex -0.835425019 -1.72230005 1.22608101 + vertex -0.733861029 -1.19883895 0.420700014 + endloop + endfacet + + facet normal -0.716561258 -0.529666245 -0.453865141 + outer loop + vertex -0.785679996 -1.12330306 0.448507994 + vertex -0.881864011 -1.69738698 1.27032602 + vertex -0.835425019 -1.72230005 1.22608101 + endloop + endfacet + + facet normal -0.506153941 -0.148249999 -0.849605918 + outer loop + vertex -0.880029976 -1.90982795 1.28537703 + vertex -0.806580007 -1.87417507 1.23539805 + vertex -0.835425019 -1.72230005 1.22608101 + endloop + endfacet + + facet normal -0.704344094 -0.0562160127 -0.707629204 + outer loop + vertex -0.881864011 -1.69738698 1.27032602 + vertex -0.880029976 -1.90982795 1.28537703 + vertex -0.835425019 -1.72230005 1.22608101 + endloop + endfacet + + facet normal -0.632492721 0.574023724 -0.520047784 + outer loop + vertex -0.880029976 -1.90982795 1.28537703 + vertex -0.908545017 -2.86312103 0.267821014 + vertex -0.806580007 -1.87417507 1.23539805 + endloop + endfacet + + facet normal -0.727581859 0.510695934 -0.4580549 + outer loop + vertex -0.880029976 -1.90982795 1.28537703 + vertex -0.968795002 -2.93612289 0.282130986 + vertex -0.908545017 -2.86312103 0.267821014 + endloop + endfacet + + facet normal -0.823960662 0.55237174 -0.126388937 + outer loop + vertex -1.00637496 -3.34099007 -1.18288505 + vertex -0.972894013 -3.30494308 -1.24361598 + vertex -0.908545017 -2.86312103 0.267821014 + endloop + endfacet + + facet normal -0.776781023 0.611850977 -0.149162993 + outer loop + vertex -0.968795002 -2.93612289 0.282130986 + vertex -1.00637496 -3.34099007 -1.18288505 + vertex -0.908545017 -2.86312103 0.267821014 + endloop + endfacet + + facet normal -0.813524306 0.571128249 -0.10950204 + outer loop + vertex -1.00637496 -3.34099007 -1.18288505 + vertex -1.07667601 -3.52539802 -1.62241101 + vertex -0.972894013 -3.30494308 -1.24361598 + endloop + endfacet + + facet normal -0.731632829 0.66243583 -0.160909951 + outer loop + vertex -1.00637496 -3.34099007 -1.18288505 + vertex -1.08943605 -3.53432393 -1.60113692 + vertex -1.07667601 -3.52539802 -1.62241101 + endloop + endfacet + + facet normal 0.0729849711 -0.424977809 0.902256668 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.846026003 -0.26681 0.0378439985 + vertex -0.704271972 -0.275191993 0.0224300008 + endloop + endfacet + + facet normal 0.288122952 0.809049785 0.512272894 + outer loop + vertex -1.10902095 -3.53056598 -1.59605598 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.08943605 -3.53432393 -1.60113692 + endloop + endfacet + + facet normal -0.122729048 -0.436093181 -0.89149332 + outer loop + vertex -0.846026003 -0.26681 0.0378439985 + vertex -0.785679996 -1.12330306 0.448507994 + vertex -0.704271972 -0.275191993 0.0224300008 + endloop + endfacet + + facet normal 0.167711034 -0.416587085 -0.893492162 + outer loop + vertex -0.846026003 -0.26681 0.0378439985 + vertex -0.873220026 -1.09718001 0.41989699 + vertex -0.785679996 -1.12330306 0.448507994 + endloop + endfacet + + facet normal -0.0466770045 -0.816322029 -0.575708032 + outer loop + vertex -0.938548028 -1.68671608 1.25979102 + vertex -0.881864011 -1.69738698 1.27032602 + vertex -0.785679996 -1.12330306 0.448507994 + endloop + endfacet + + facet normal -0.0548560023 -0.815250099 -0.576505065 + outer loop + vertex -0.873220026 -1.09718001 0.41989699 + vertex -0.938548028 -1.68671608 1.25979102 + vertex -0.785679996 -1.12330306 0.448507994 + endloop + endfacet + + facet normal 0.169880018 -0.0681860074 -0.983103096 + outer loop + vertex -0.938548028 -1.68671608 1.25979102 + vertex -0.880029976 -1.90982795 1.28537703 + vertex -0.881864011 -1.69738698 1.27032602 + endloop + endfacet + + facet normal 0.242068902 -0.0476449765 -0.969088554 + outer loop + vertex -0.938548028 -1.68671608 1.25979102 + vertex -0.972913027 -1.91116905 1.26224196 + vertex -0.880029976 -1.90982795 1.28537703 + endloop + endfacet + + facet normal 0.173446015 0.680724084 -0.711710036 + outer loop + vertex -1.05841696 -2.94668603 0.25018701 + vertex -0.968795002 -2.93612289 0.282130986 + vertex -0.880029976 -1.90982795 1.28537703 + endloop + endfacet + + facet normal 0.167480066 0.681978166 -0.711938262 + outer loop + vertex -0.972913027 -1.91116905 1.26224196 + vertex -1.05841696 -2.94668603 0.25018701 + vertex -0.880029976 -1.90982795 1.28537703 + endloop + endfacet + + facet normal -0.0188320037 0.963823199 -0.265876055 + outer loop + vertex -1.05841696 -2.94668603 0.25018701 + vertex -1.00637496 -3.34099007 -1.18288505 + vertex -0.968795002 -2.93612289 0.282130986 + endloop + endfacet + + facet normal -0.0057739974 0.964099646 -0.265477866 + outer loop + vertex -1.05841696 -2.94668603 0.25018701 + vertex -1.04957104 -3.33721995 -1.16825497 + vertex -1.00637496 -3.34099007 -1.18288505 + endloop + endfacet + + facet normal 0.0616750047 0.901266992 -0.428852022 + outer loop + vertex -1.10902095 -3.53056598 -1.59605598 + vertex -1.08943605 -3.53432393 -1.60113692 + vertex -1.00637496 -3.34099007 -1.18288505 + endloop + endfacet + + facet normal -0.057355985 0.912721753 -0.404535919 + outer loop + vertex -1.04957104 -3.33721995 -1.16825497 + vertex -1.10902095 -3.53056598 -1.59605598 + vertex -1.00637496 -3.34099007 -1.18288505 + endloop + endfacet + + facet normal 0.0729859918 -0.424976945 0.902256966 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.946343005 -0.360211015 0.00196600007 + vertex -0.846026003 -0.26681 0.0378439985 + endloop + endfacet + + facet normal 0.288119972 0.809050918 0.512272954 + outer loop + vertex -1.12068105 -3.5169549 -1.61099398 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.10902095 -3.53056598 -1.59605598 + endloop + endfacet + + facet normal 0.798518658 -0.272996873 -0.536507785 + outer loop + vertex -0.930561006 -1.14014304 0.356413007 + vertex -0.873220026 -1.09718001 0.41989699 + vertex -0.846026003 -0.26681 0.0378439985 + endloop + endfacet + + facet normal 0.574401855 -0.329012901 -0.749541819 + outer loop + vertex -0.946343005 -0.360211015 0.00196600007 + vertex -0.930561006 -1.14014304 0.356413007 + vertex -0.846026003 -0.26681 0.0378439985 + endloop + endfacet + + facet normal 0.770561874 -0.548315942 -0.324936926 + outer loop + vertex -0.930561006 -1.14014304 0.356413007 + vertex -0.938548028 -1.68671608 1.25979102 + vertex -0.873220026 -1.09718001 0.41989699 + endloop + endfacet + + facet normal 0.849924028 -0.454108 -0.267235994 + outer loop + vertex -0.930561006 -1.14014304 0.356413007 + vertex -0.962791979 -1.69832397 1.20240998 + vertex -0.938548028 -1.68671608 1.25979102 + endloop + endfacet + + facet normal 0.847210824 -0.135322973 -0.51373291 + outer loop + vertex -1.01528394 -1.87718606 1.18341398 + vertex -0.972913027 -1.91116905 1.26224196 + vertex -0.938548028 -1.68671608 1.25979102 + endloop + endfacet + + facet normal 0.912006497 -0.231711864 -0.338457793 + outer loop + vertex -0.962791979 -1.69832397 1.20240998 + vertex -1.01528394 -1.87718606 1.18341398 + vertex -0.938548028 -1.68671608 1.25979102 + endloop + endfacet + + facet normal 0.891000748 0.277561903 -0.359272897 + outer loop + vertex -1.01528394 -1.87718606 1.18341398 + vertex -1.05841696 -2.94668603 0.25018701 + vertex -0.972913027 -1.91116905 1.26224196 + endloop + endfacet + + facet normal 0.839562833 0.337562919 -0.425658911 + outer loop + vertex -1.01528394 -1.87718606 1.18341398 + vertex -1.10992396 -2.88685608 0.196043 + vertex -1.05841696 -2.94668603 0.25018701 + endloop + endfacet + + facet normal 0.926300108 0.364708066 -0.0946370065 + outer loop + vertex -1.06995296 -3.29647708 -1.21073997 + vertex -1.04957104 -3.33721995 -1.16825497 + vertex -1.05841696 -2.94668603 0.25018701 + endloop + endfacet + + facet normal 0.810221374 0.568532228 -0.142522067 + outer loop + vertex -1.10992396 -2.88685608 0.196043 + vertex -1.06995296 -3.29647708 -1.21073997 + vertex -1.05841696 -2.94668603 0.25018701 + endloop + endfacet + + facet normal 0.94495213 0.228233024 -0.234468028 + outer loop + vertex -1.06995296 -3.29647708 -1.21073997 + vertex -1.10902095 -3.53056598 -1.59605598 + vertex -1.04957104 -3.33721995 -1.16825497 + endloop + endfacet + + facet normal 0.864126801 0.386452913 -0.322395921 + outer loop + vertex -1.06995296 -3.29647708 -1.21073997 + vertex -1.12068105 -3.5169549 -1.61099398 + vertex -1.10902095 -3.53056598 -1.59605598 + endloop + endfacet + + facet normal 0.0729829893 -0.424985975 0.902252913 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.929682016 -0.485058993 -0.0581879988 + vertex -0.946343005 -0.360211015 0.00196600007 + endloop + endfacet + + facet normal 0.288078994 0.809116066 0.512193084 + outer loop + vertex -1.11563802 -3.50374198 -1.63470399 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.12068105 -3.5169549 -1.61099398 + endloop + endfacet + + facet normal 0.990013659 0.0744389743 0.119714953 + outer loop + vertex -0.929682016 -0.485058993 -0.0581879988 + vertex -0.930561006 -1.14014304 0.356413007 + vertex -0.946343005 -0.360211015 0.00196600007 + endloop + endfacet + + facet normal 0.98270458 0.0980890542 0.157068089 + outer loop + vertex -0.929682016 -0.485058993 -0.0581879988 + vertex -0.914526999 -1.21983802 0.305858999 + vertex -0.930561006 -1.14014304 0.356413007 + endloop + endfacet + + facet normal 0.90709877 0.334623903 0.25533995 + outer loop + vertex -0.936339974 -1.72346997 1.14139199 + vertex -0.962791979 -1.69832397 1.20240998 + vertex -0.930561006 -1.14014304 0.356413007 + endloop + endfacet + + facet normal 0.985707998 0.131661996 0.105094999 + outer loop + vertex -0.914526999 -1.21983802 0.305858999 + vertex -0.936339974 -1.72346997 1.14139199 + vertex -0.930561006 -1.14014304 0.356413007 + endloop + endfacet + + facet normal 0.826960862 -0.293624967 0.479499906 + outer loop + vertex -0.936339974 -1.72346997 1.14139199 + vertex -1.01528394 -1.87718606 1.18341398 + vertex -0.962791979 -1.69832397 1.20240998 + endloop + endfacet + + facet normal 0.887753963 -0.388381988 0.247087985 + outer loop + vertex -0.936339974 -1.72346997 1.14139199 + vertex -0.975238979 -1.83346891 1.10825098 + vertex -1.01528394 -1.87718606 1.18341398 + endloop + endfacet + + facet normal 0.963315189 -0.228283063 0.141105026 + outer loop + vertex -1.08453 -2.80168796 0.160469994 + vertex -1.10992396 -2.88685608 0.196043 + vertex -1.01528394 -1.87718606 1.18341398 + endloop + endfacet + + facet normal 0.893704414 -0.361284137 0.266019106 + outer loop + vertex -0.975238979 -1.83346891 1.10825098 + vertex -1.08453 -2.80168796 0.160469994 + vertex -1.01528394 -1.87718606 1.18341398 + endloop + endfacet + + facet normal 0.964169204 -0.246102065 0.0990530252 + outer loop + vertex -1.08453 -2.80168796 0.160469994 + vertex -1.06995296 -3.29647708 -1.21073997 + vertex -1.10992396 -2.88685608 0.196043 + endloop + endfacet + + facet normal 0.968371511 -0.231236875 0.0937339589 + outer loop + vertex -1.08453 -2.80168796 0.160469994 + vertex -1.052176 -3.24943709 -1.27835 + vertex -1.06995296 -3.29647708 -1.21073997 + endloop + endfacet + + facet normal 0.955379665 -0.292643875 0.0401169844 + outer loop + vertex -1.11563802 -3.50374198 -1.63470399 + vertex -1.12068105 -3.5169549 -1.61099398 + vertex -1.06995296 -3.29647708 -1.21073997 + endloop + endfacet + + facet normal 0.953478754 -0.298360944 0.0431159884 + outer loop + vertex -1.052176 -3.24943709 -1.27835 + vertex -1.11563802 -3.50374198 -1.63470399 + vertex -1.06995296 -3.29647708 -1.21073997 + endloop + endfacet + + facet normal 0.0729859844 -0.424989969 0.902250886 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.808588982 -0.547342002 -0.0973210037 + vertex -0.929682016 -0.485058993 -0.0581879988 + endloop + endfacet + + facet normal 0.288051158 0.809107423 0.51222229 + outer loop + vertex -1.09768903 -3.50087404 -1.64932895 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.11563802 -3.50374198 -1.63470399 + endloop + endfacet + + facet normal 0.307018965 0.427585959 0.850240946 + outer loop + vertex -0.837188005 -1.27625394 0.306304008 + vertex -0.914526999 -1.21983802 0.305858999 + vertex -0.929682016 -0.485058993 -0.0581879988 + endloop + endfacet + + facet normal 0.465866804 0.414588839 0.781718731 + outer loop + vertex -0.808588982 -0.547342002 -0.0973210037 + vertex -0.837188005 -1.27625394 0.306304008 + vertex -0.929682016 -0.485058993 -0.0581879988 + endloop + endfacet + + facet normal 0.524762154 0.722922206 0.449453115 + outer loop + vertex -0.837188005 -1.27625394 0.306304008 + vertex -0.936339974 -1.72346997 1.14139199 + vertex -0.914526999 -1.21983802 0.305858999 + endloop + endfacet + + facet normal 0.420921862 0.777905762 0.466569841 + outer loop + vertex -0.837188005 -1.27625394 0.306304008 + vertex -0.879109979 -1.74321699 1.12268603 + vertex -0.936339974 -1.72346997 1.14139199 + endloop + endfacet + + facet normal 0.225110888 -0.353195846 0.908062637 + outer loop + vertex -0.882930994 -1.81293797 1.09335303 + vertex -0.975238979 -1.83346891 1.10825098 + vertex -0.936339974 -1.72346997 1.14139199 + endloop + endfacet + + facet normal 0.161638066 -0.390208155 0.906427443 + outer loop + vertex -0.879109979 -1.74321699 1.12268603 + vertex -0.882930994 -1.81293797 1.09335303 + vertex -0.936339974 -1.72346997 1.14139199 + endloop + endfacet + + facet normal 0.262340188 -0.689983487 0.67461139 + outer loop + vertex -0.882930994 -1.81293797 1.09335303 + vertex -1.08453 -2.80168796 0.160469994 + vertex -0.975238979 -1.83346891 1.10825098 + endloop + endfacet + + facet normal 0.304611921 -0.685768843 0.661008835 + outer loop + vertex -0.882930994 -1.81293797 1.09335303 + vertex -1.00135601 -2.75531101 0.170255005 + vertex -1.08453 -2.80168796 0.160469994 + endloop + endfacet + + facet normal 0.576873899 -0.77617085 0.254509926 + outer loop + vertex -1.009624 -3.23152399 -1.32017207 + vertex -1.052176 -3.24943709 -1.27835 + vertex -1.08453 -2.80168796 0.160469994 + endloop + endfacet + + facet normal 0.444392174 -0.854044378 0.270414114 + outer loop + vertex -1.00135601 -2.75531101 0.170255005 + vertex -1.009624 -3.23152399 -1.32017207 + vertex -1.08453 -2.80168796 0.160469994 + endloop + endfacet + + facet normal 0.642835021 -0.673016012 0.365804017 + outer loop + vertex -1.009624 -3.23152399 -1.32017207 + vertex -1.11563802 -3.50374198 -1.63470399 + vertex -1.052176 -3.24943709 -1.27835 + endloop + endfacet + + facet normal 0.496770978 -0.732070029 0.466145962 + outer loop + vertex -1.009624 -3.23152399 -1.32017207 + vertex -1.09768903 -3.50087404 -1.64932895 + vertex -1.11563802 -3.50374198 -1.63470399 + endloop + endfacet + + facet normal 0.0729879811 -0.424989879 0.902250707 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.674250007 -0.500160992 -0.0859650001 + vertex -0.808588982 -0.547342002 -0.0973210037 + endloop + endfacet + + facet normal 0.288186014 0.809071004 0.512204051 + outer loop + vertex -1.08034897 -3.51051307 -1.64385903 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.09768903 -3.50087404 -1.64932895 + endloop + endfacet + + facet normal -0.239184961 0.477530897 0.845431745 + outer loop + vertex -0.674250007 -0.500160992 -0.0859650001 + vertex -0.837188005 -1.27625394 0.306304008 + vertex -0.808588982 -0.547342002 -0.0973210037 + endloop + endfacet + + facet normal -0.511622965 0.470719934 0.718793988 + outer loop + vertex -0.674250007 -0.500160992 -0.0859650001 + vertex -0.756784022 -1.266909 0.357414007 + vertex -0.837188005 -1.27625394 0.306304008 + endloop + endfacet + + facet normal -0.382025898 0.810512841 0.443987906 + outer loop + vertex -0.834199011 -1.74269497 1.16037703 + vertex -0.879109979 -1.74321699 1.12268603 + vertex -0.837188005 -1.27625394 0.306304008 + endloop + endfacet + + facet normal -0.377227038 0.812248111 0.44491905 + outer loop + vertex -0.756784022 -1.266909 0.357414007 + vertex -0.834199011 -1.74269497 1.16037703 + vertex -0.837188005 -1.27625394 0.306304008 + endloop + endfacet + + facet normal -0.615875244 -0.27661112 0.737688243 + outer loop + vertex -0.834199011 -1.74269497 1.16037703 + vertex -0.882930994 -1.81293797 1.09335303 + vertex -0.879109979 -1.74321699 1.12268603 + endloop + endfacet + + facet normal -0.620292902 -0.27173996 0.735794902 + outer loop + vertex -0.834199011 -1.74269497 1.16037703 + vertex -0.807870984 -1.83105493 1.14994001 + vertex -0.882930994 -1.81293797 1.09335303 + endloop + endfacet + + facet normal -0.567791045 -0.538507044 0.622594059 + outer loop + vertex -0.923036993 -2.78265285 0.218032002 + vertex -1.00135601 -2.75531101 0.170255005 + vertex -0.882930994 -1.81293797 1.09335303 + endloop + endfacet + + facet normal -0.588796079 -0.528039038 0.61195904 + outer loop + vertex -0.807870984 -1.83105493 1.14994001 + vertex -0.923036993 -2.78265285 0.218032002 + vertex -0.882930994 -1.81293797 1.09335303 + endloop + endfacet + + facet normal -0.461007148 -0.844552219 0.272404075 + outer loop + vertex -0.923036993 -2.78265285 0.218032002 + vertex -1.009624 -3.23152399 -1.32017207 + vertex -1.00135601 -2.75531101 0.170255005 + endloop + endfacet + + facet normal -0.626499951 -0.73802501 0.250632972 + outer loop + vertex -0.923036993 -2.78265285 0.218032002 + vertex -0.974340975 -3.25622606 -1.30471396 + vertex -1.009624 -3.23152399 -1.32017207 + endloop + endfacet + + facet normal -0.521524727 -0.586632669 0.61957562 + outer loop + vertex -1.08034897 -3.51051307 -1.64385903 + vertex -1.09768903 -3.50087404 -1.64932895 + vertex -1.009624 -3.23152399 -1.32017207 + endloop + endfacet + + facet normal -0.621271908 -0.521286964 0.58504796 + outer loop + vertex -0.974340975 -3.25622606 -1.30471396 + vertex -1.08034897 -3.51051307 -1.64385903 + vertex -1.009624 -3.23152399 -1.32017207 + endloop + endfacet + + facet normal 0.0729890391 -0.42498818 0.902251422 + outer loop + vertex -0.790997982 -0.401975006 -0.0302719995 + vertex -0.627824008 -0.379043013 -0.0326699987 + vertex -0.674250007 -0.500160992 -0.0859650001 + endloop + endfacet + + facet normal 0.288157016 0.809092045 0.512187064 + outer loop + vertex -1.07667601 -3.52539802 -1.62241101 + vertex -1.09849703 -3.51748109 -1.62264204 + vertex -1.08034897 -3.51051307 -1.64385903 + endloop + endfacet + + facet normal -0.970688343 0.189770058 0.147484049 + outer loop + vertex -0.733861029 -1.19883895 0.420700014 + vertex -0.756784022 -1.266909 0.357414007 + vertex -0.674250007 -0.500160992 -0.0859650001 + endloop + endfacet + + facet normal -0.937109649 0.253748894 0.239659891 + outer loop + vertex -0.627824008 -0.379043013 -0.0326699987 + vertex -0.733861029 -1.19883895 0.420700014 + vertex -0.674250007 -0.500160992 -0.0859650001 + endloop + endfacet + + facet normal -0.962245107 0.26455602 0.0639880076 + outer loop + vertex -0.733861029 -1.19883895 0.420700014 + vertex -0.834199011 -1.74269497 1.16037703 + vertex -0.756784022 -1.266909 0.357414007 + endloop + endfacet + + facet normal -0.992402613 0.11104396 -0.0529739819 + outer loop + vertex -0.733861029 -1.19883895 0.420700014 + vertex -0.835425019 -1.72230005 1.22608101 + vertex -0.834199011 -1.74269497 1.16037703 + endloop + endfacet + + facet normal -0.955060899 -0.270181984 -0.121902987 + outer loop + vertex -0.806580007 -1.87417507 1.23539805 + vertex -0.807870984 -1.83105493 1.14994001 + vertex -0.834199011 -1.74269497 1.16037703 + endloop + endfacet + + facet normal -0.982130885 -0.184146971 0.0388449915 + outer loop + vertex -0.835425019 -1.72230005 1.22608101 + vertex -0.806580007 -1.87417507 1.23539805 + vertex -0.834199011 -1.74269497 1.16037703 + endloop + endfacet + + facet normal -0.99619478 0.0708289742 0.0507849865 + outer loop + vertex -0.806580007 -1.87417507 1.23539805 + vertex -0.923036993 -2.78265285 0.218032002 + vertex -0.807870984 -1.83105493 1.14994001 + endloop + endfacet + + facet normal -0.982285738 -0.0691299886 0.174171969 + outer loop + vertex -0.806580007 -1.87417507 1.23539805 + vertex -0.908545017 -2.86312103 0.267821014 + vertex -0.923036993 -2.78265285 0.218032002 + endloop + endfacet + + facet normal -0.999482691 0.00903299823 0.0308649931 + outer loop + vertex -0.972894013 -3.30494308 -1.24361598 + vertex -0.974340975 -3.25622606 -1.30471396 + vertex -0.923036993 -2.78265285 0.218032002 + endloop + endfacet + + facet normal -0.98847574 -0.128696963 0.0797049776 + outer loop + vertex -0.908545017 -2.86312103 0.267821014 + vertex -0.972894013 -3.30494308 -1.24361598 + vertex -0.923036993 -2.78265285 0.218032002 + endloop + endfacet + + facet normal -0.969163716 0.180971935 0.167244941 + outer loop + vertex -0.972894013 -3.30494308 -1.24361598 + vertex -1.08034897 -3.51051307 -1.64385903 + vertex -0.974340975 -3.25622606 -1.30471396 + endloop + endfacet + + facet normal -0.972173095 0.078271009 0.220801026 + outer loop + vertex -0.972894013 -3.30494308 -1.24361598 + vertex -1.07667601 -3.52539802 -1.62241101 + vertex -1.08034897 -3.51051307 -1.64385903 + endloop + endfacet + + facet normal -0.0414419994 0.415021986 0.908867061 + outer loop + vertex -0.614050984 0.300803006 -0.0098240003 + vertex -0.709182978 0.205512002 0.029352 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.109958999 -0.990333974 0.084544003 + outer loop + vertex -0.45371899 3.54508805 -1.52100492 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.468991995 3.54522705 -1.49951506 + endloop + endfacet + + facet normal -0.570165336 0.334529191 -0.750334442 + outer loop + vertex -0.614050984 0.300803006 -0.0098240003 + vertex -0.712240994 1.12719202 0.433227003 + vertex -0.77559799 1.05748606 0.450291991 + endloop + endfacet + + facet normal -0.611606061 0.311619043 -0.727208078 + outer loop + vertex -0.614050984 0.300803006 -0.0098240003 + vertex -0.77559799 1.05748606 0.450291991 + vertex -0.709182978 0.205512002 0.029352 + endloop + endfacet + + facet normal -0.695668578 0.507932723 -0.507985711 + outer loop + vertex -0.712240994 1.12719202 0.433227003 + vertex -0.897680998 1.65840197 1.21833503 + vertex -0.77559799 1.05748606 0.450291991 + endloop + endfacet + + facet normal -0.568472028 0.601665974 -0.561104 + outer loop + vertex -0.897680998 1.65840197 1.21833503 + vertex -0.953411996 1.63847899 1.25343502 + vertex -0.77559799 1.05748606 0.450291991 + endloop + endfacet + + facet normal -0.332945973 0.200343996 -0.921416938 + outer loop + vertex -0.897680998 1.65840197 1.21833503 + vertex -0.855413973 1.80642998 1.23524797 + vertex -0.932361007 1.84956503 1.27243102 + endloop + endfacet + + facet normal -0.561175942 0.129531994 -0.817498028 + outer loop + vertex -0.897680998 1.65840197 1.21833503 + vertex -0.932361007 1.84956503 1.27243102 + vertex -0.953411996 1.63847899 1.25343502 + endloop + endfacet + + facet normal -0.57141304 -0.403153062 -0.714811087 + outer loop + vertex -0.855413973 1.80642998 1.23524797 + vertex -0.710753024 2.34805298 0.814131975 + vertex -0.932361007 1.84956503 1.27243102 + endloop + endfacet + + facet normal -0.60945785 -0.37249589 -0.699862778 + outer loop + vertex -0.710753024 2.34805298 0.814131975 + vertex -0.764732003 2.42695308 0.819145024 + vertex -0.932361007 1.84956503 1.27243102 + endloop + endfacet + + facet normal -0.704304576 -0.627007663 -0.332890779 + outer loop + vertex -0.710753024 2.34805298 0.814131975 + vertex -0.440544993 3.16025901 -1.28735995 + vertex -0.480170995 3.16933012 -1.220608 + endloop + endfacet + + facet normal -0.79560107 -0.52511704 -0.302111 + outer loop + vertex -0.710753024 2.34805298 0.814131975 + vertex -0.480170995 3.16933012 -1.220608 + vertex -0.764732003 2.42695308 0.819145024 + endloop + endfacet + + facet normal -0.836549938 -0.30498296 -0.455159009 + outer loop + vertex -0.440544993 3.16025901 -1.28735995 + vertex -0.45371899 3.54508805 -1.52100492 + vertex -0.480170995 3.16933012 -1.220608 + endloop + endfacet + + facet normal -0.756833076 -0.374799043 -0.535471082 + outer loop + vertex -0.45371899 3.54508805 -1.52100492 + vertex -0.468991995 3.54522705 -1.49951506 + vertex -0.480170995 3.16933012 -1.220608 + endloop + endfacet + + facet normal -0.0414459892 0.4150199 0.908867776 + outer loop + vertex -0.709182978 0.205512002 0.029352 + vertex -0.851558983 0.211992994 0.0198999997 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.10995701 -0.990334094 0.0845450088 + outer loop + vertex -0.468991995 3.54522705 -1.49951506 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.489443004 3.54300499 -1.49893701 + endloop + endfacet + + facet normal 0.0794950202 0.44653213 -0.891229272 + outer loop + vertex -0.709182978 0.205512002 0.029352 + vertex -0.77559799 1.05748606 0.450291991 + vertex -0.851558983 0.211992994 0.0198999997 + endloop + endfacet + + facet normal 0.362293869 0.396774888 -0.843393683 + outer loop + vertex -0.77559799 1.05748606 0.450291991 + vertex -0.859055996 1.04065704 0.406524003 + vertex -0.851558983 0.211992994 0.0198999997 + endloop + endfacet + + facet normal 0.13829203 0.816729188 -0.560204148 + outer loop + vertex -0.77559799 1.05748606 0.450291991 + vertex -0.953411996 1.63847899 1.25343502 + vertex -1.00819802 1.63379192 1.23307705 + endloop + endfacet + + facet normal 0.130304053 0.816518307 -0.562422156 + outer loop + vertex -0.77559799 1.05748606 0.450291991 + vertex -1.00819802 1.63379192 1.23307705 + vertex -0.859055996 1.04065704 0.406524003 + endloop + endfacet + + facet normal 0.344124049 0.0500540063 -0.937589109 + outer loop + vertex -0.953411996 1.63847899 1.25343502 + vertex -0.932361007 1.84956503 1.27243102 + vertex -1.00819802 1.63379192 1.23307705 + endloop + endfacet + + facet normal 0.410272747 0.0220819861 -0.91169548 + outer loop + vertex -0.932361007 1.84956503 1.27243102 + vertex -1.01917601 1.86060798 1.23362994 + vertex -1.00819802 1.63379192 1.23307705 + endloop + endfacet + + facet normal 0.258674949 -0.641833842 -0.72189784 + outer loop + vertex -0.932361007 1.84956503 1.27243102 + vertex -0.764732003 2.42695308 0.819145024 + vertex -0.845875025 2.44682598 0.772400022 + endloop + endfacet + + facet normal 0.242763117 -0.643158317 -0.72623229 + outer loop + vertex -0.932361007 1.84956503 1.27243102 + vertex -0.845875025 2.44682598 0.772400022 + vertex -1.01917601 1.86060798 1.23362994 + endloop + endfacet + + facet normal -0.0306019913 -0.937877655 -0.345613897 + outer loop + vertex -0.764732003 2.42695308 0.819145024 + vertex -0.480170995 3.16933012 -1.220608 + vertex -0.845875025 2.44682598 0.772400022 + endloop + endfacet + + facet normal 0.0047039995 -0.940395951 -0.340048969 + outer loop + vertex -0.480170995 3.16933012 -1.220608 + vertex -0.525406003 3.1667769 -1.21417403 + vertex -0.845875025 2.44682598 0.772400022 + endloop + endfacet + + facet normal 0.0421100184 -0.596148252 -0.801769316 + outer loop + vertex -0.480170995 3.16933012 -1.220608 + vertex -0.468991995 3.54522705 -1.49951506 + vertex -0.489443004 3.54300499 -1.49893701 + endloop + endfacet + + facet normal -0.0798940063 -0.596715033 -0.798466146 + outer loop + vertex -0.480170995 3.16933012 -1.220608 + vertex -0.489443004 3.54300499 -1.49893701 + vertex -0.525406003 3.1667769 -1.21417403 + endloop + endfacet + + facet normal -0.0414439961 0.415019959 0.908867955 + outer loop + vertex -0.851558983 0.211992994 0.0198999997 + vertex -0.933965981 0.31536901 -0.0310629997 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.109933957 -0.99033761 0.0845339671 + outer loop + vertex -0.489443004 3.54300499 -1.49893701 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.499669999 3.540097 -1.51970506 + endloop + endfacet + + facet normal 0.903346419 0.188033089 -0.385498166 + outer loop + vertex -0.851558983 0.211992994 0.0198999997 + vertex -0.859055996 1.04065704 0.406524003 + vertex -0.899770975 1.089378 0.334881008 + endloop + endfacet + + facet normal 0.726601124 0.267169058 -0.632986128 + outer loop + vertex -0.851558983 0.211992994 0.0198999997 + vertex -0.899770975 1.089378 0.334881008 + vertex -0.933965981 0.31536901 -0.0310629997 + endloop + endfacet + + facet normal 0.867568493 0.464764267 -0.176972091 + outer loop + vertex -0.859055996 1.04065704 0.406524003 + vertex -1.00819802 1.63379192 1.23307705 + vertex -0.899770975 1.089378 0.334881008 + endloop + endfacet + + facet normal 0.925577819 0.362778932 -0.108153984 + outer loop + vertex -1.00819802 1.63379192 1.23307705 + vertex -1.02078402 1.64787102 1.17259204 + vertex -0.899770975 1.089378 0.334881008 + endloop + endfacet + + facet normal 0.932907045 0.0460240059 -0.357164025 + outer loop + vertex -1.00819802 1.63379192 1.23307705 + vertex -1.01917601 1.86060798 1.23362994 + vertex -1.05048597 1.83123994 1.14806604 + endloop + endfacet + + facet normal 0.975855947 0.135112986 -0.171608999 + outer loop + vertex -1.00819802 1.63379192 1.23307705 + vertex -1.05048597 1.83123994 1.14806604 + vertex -1.02078402 1.64787102 1.17259204 + endloop + endfacet + + facet normal 0.89283818 -0.410217047 -0.185908034 + outer loop + vertex -1.01917601 1.86060798 1.23362994 + vertex -0.845875025 2.44682598 0.772400022 + vertex -1.05048597 1.83123994 1.14806604 + endloop + endfacet + + facet normal 0.85756886 -0.443764925 -0.260092974 + outer loop + vertex -0.845875025 2.44682598 0.772400022 + vertex -0.893078029 2.39270806 0.709097981 + vertex -1.05048597 1.83123994 1.14806604 + endloop + endfacet + + facet normal 0.783792257 -0.613570154 -0.0959240273 + outer loop + vertex -0.845875025 2.44682598 0.772400022 + vertex -0.525406003 3.1667769 -1.21417403 + vertex -0.542185009 3.15452409 -1.27289903 + endloop + endfacet + + facet normal 0.799032509 -0.594929636 -0.0872109383 + outer loop + vertex -0.845875025 2.44682598 0.772400022 + vertex -0.542185009 3.15452409 -1.27289903 + vertex -0.893078029 2.39270806 0.709097981 + endloop + endfacet + + facet normal 0.942718029 -0.253892004 -0.21638301 + outer loop + vertex -0.525406003 3.1667769 -1.21417403 + vertex -0.489443004 3.54300499 -1.49893701 + vertex -0.542185009 3.15452409 -1.27289903 + endloop + endfacet + + facet normal 0.862533689 -0.336815894 -0.377611876 + outer loop + vertex -0.489443004 3.54300499 -1.49893701 + vertex -0.499669999 3.540097 -1.51970506 + vertex -0.542185009 3.15452409 -1.27289903 + endloop + endfacet + + facet normal -0.0414459854 0.41502884 0.908863723 + outer loop + vertex -0.933965981 0.31536901 -0.0310629997 + vertex -0.894349992 0.43779099 -0.0851600021 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.109905973 -0.990348756 0.0844399855 + outer loop + vertex -0.499669999 3.540097 -1.51970506 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.491973996 3.5386939 -1.54618096 + endloop + endfacet + + facet normal 0.941180944 -0.177515998 0.287517965 + outer loop + vertex -0.933965981 0.31536901 -0.0310629997 + vertex -0.899770975 1.089378 0.334881008 + vertex -0.894349992 0.43779099 -0.0851600021 + endloop + endfacet + + facet normal 0.925101757 -0.200271949 0.322610945 + outer loop + vertex -0.899770975 1.089378 0.334881008 + vertex -0.867084026 1.16696095 0.289312005 + vertex -0.894349992 0.43779099 -0.0851600021 + endloop + endfacet + + facet normal 0.80964005 -0.427607 0.402038991 + outer loop + vertex -0.899770975 1.089378 0.334881008 + vertex -1.02078402 1.64787102 1.17259204 + vertex -0.981692016 1.67011404 1.11752605 + endloop + endfacet + + facet normal 0.933612227 -0.233975038 0.271337062 + outer loop + vertex -0.899770975 1.089378 0.334881008 + vertex -0.981692016 1.67011404 1.11752605 + vertex -0.867084026 1.16696095 0.289312005 + endloop + endfacet + + facet normal 0.756896913 0.205576986 0.620359004 + outer loop + vertex -1.02078402 1.64787102 1.17259204 + vertex -1.05048597 1.83123994 1.14806604 + vertex -0.981692016 1.67011404 1.11752605 + endloop + endfacet + + facet normal 0.866550148 0.293460041 0.403698057 + outer loop + vertex -1.05048597 1.83123994 1.14806604 + vertex -1.00271201 1.78357601 1.08016706 + vertex -0.981692016 1.67011404 1.11752605 + endloop + endfacet + + facet normal 0.904024541 0.0755139664 0.4207578 + outer loop + vertex -1.05048597 1.83123994 1.14806604 + vertex -0.893078029 2.39270806 0.709097981 + vertex -0.870796978 2.30535197 0.676904976 + endloop + endfacet + + facet normal 0.856916606 0.161637917 0.48945576 + outer loop + vertex -1.05048597 1.83123994 1.14806604 + vertex -0.870796978 2.30535197 0.676904976 + vertex -1.00271201 1.78357601 1.08016706 + endloop + endfacet + + facet normal 0.959722757 0.15956296 0.231239945 + outer loop + vertex -0.893078029 2.39270806 0.709097981 + vertex -0.542185009 3.15452409 -1.27289903 + vertex -0.870796978 2.30535197 0.676904976 + endloop + endfacet + + facet normal 0.942926586 0.216352895 0.25314188 + outer loop + vertex -0.542185009 3.15452409 -1.27289903 + vertex -0.517876983 3.14179301 -1.35256696 + vertex -0.870796978 2.30535197 0.676904976 + endloop + endfacet + + facet normal 0.958869755 0.070299983 0.275002927 + outer loop + vertex -0.542185009 3.15452409 -1.27289903 + vertex -0.499669999 3.540097 -1.51970506 + vertex -0.491973996 3.5386939 -1.54618096 + endloop + endfacet + + facet normal 0.957076609 0.07421197 0.280172884 + outer loop + vertex -0.542185009 3.15452409 -1.27289903 + vertex -0.491973996 3.5386939 -1.54618096 + vertex -0.517876983 3.14179301 -1.35256696 + endloop + endfacet + + facet normal -0.0414430015 0.415033042 0.908861995 + outer loop + vertex -0.894349992 0.43779099 -0.0851600021 + vertex -0.762543023 0.487076014 -0.101654999 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.109901994 -0.990348935 0.0844429955 + outer loop + vertex -0.491973996 3.5386939 -1.54618096 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.472149014 3.53985 -1.55842602 + endloop + endfacet + + facet normal 0.109039977 -0.457335919 0.882583737 + outer loop + vertex -0.894349992 0.43779099 -0.0851600021 + vertex -0.867084026 1.16696095 0.289312005 + vertex -0.78560698 1.21498394 0.304129988 + endloop + endfacet + + facet normal 0.277854979 -0.461013973 0.842770934 + outer loop + vertex -0.894349992 0.43779099 -0.0851600021 + vertex -0.78560698 1.21498394 0.304129988 + vertex -0.762543023 0.487076014 -0.101654999 + endloop + endfacet + + facet normal 0.361492991 -0.773815036 0.520128012 + outer loop + vertex -0.867084026 1.16696095 0.289312005 + vertex -0.981692016 1.67011404 1.11752605 + vertex -0.78560698 1.21498394 0.304129988 + endloop + endfacet + + facet normal 0.251163065 -0.817641199 0.518054128 + outer loop + vertex -0.981692016 1.67011404 1.11752605 + vertex -0.920360029 1.68377101 1.10934496 + vertex -0.78560698 1.21498394 0.304129988 + endloop + endfacet + + facet normal 0.0991519839 0.327727944 0.93955487 + outer loop + vertex -0.981692016 1.67011404 1.11752605 + vertex -1.00271201 1.78357601 1.08016706 + vertex -0.911831021 1.75351 1.08106399 + endloop + endfacet + + facet normal 0.0410849974 0.371169001 0.927655935 + outer loop + vertex -0.981692016 1.67011404 1.11752605 + vertex -0.911831021 1.75351 1.08106399 + vertex -0.920360029 1.68377101 1.10934496 + endloop + endfacet + + facet normal 0.181426108 0.57224232 0.799764454 + outer loop + vertex -1.00271201 1.78357601 1.08016706 + vertex -0.870796978 2.30535197 0.676904976 + vertex -0.911831021 1.75351 1.08106399 + endloop + endfacet + + facet normal 0.172062024 0.573693037 0.800794065 + outer loop + vertex -0.870796978 2.30535197 0.676904976 + vertex -0.795808017 2.25053501 0.70006299 + vertex -0.911831021 1.75351 1.08106399 + endloop + endfacet + + facet normal 0.41394791 0.814008892 0.407475978 + outer loop + vertex -0.870796978 2.30535197 0.676904976 + vertex -0.517876983 3.14179301 -1.35256696 + vertex -0.470782012 3.13817596 -1.39318299 + endloop + endfacet + + facet normal 0.453948915 0.792807758 0.406676918 + outer loop + vertex -0.870796978 2.30535197 0.676904976 + vertex -0.470782012 3.13817596 -1.39318299 + vertex -0.795808017 2.25053501 0.70006299 + endloop + endfacet + + facet normal 0.635360062 0.304674029 0.709571123 + outer loop + vertex -0.517876983 3.14179301 -1.35256696 + vertex -0.491973996 3.5386939 -1.54618096 + vertex -0.470782012 3.13817596 -1.39318299 + endloop + endfacet + + facet normal 0.480959207 0.334958136 0.810235322 + outer loop + vertex -0.491973996 3.5386939 -1.54618096 + vertex -0.472149014 3.53985 -1.55842602 + vertex -0.470782012 3.13817596 -1.39318299 + endloop + endfacet + + facet normal -0.0414400063 0.415033072 0.908862054 + outer loop + vertex -0.762543023 0.487076014 -0.101654999 + vertex -0.637798011 0.426109999 -0.0681279972 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.110049009 -0.990331113 0.0844600126 + outer loop + vertex -0.472149014 3.53985 -1.55842602 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.455123991 3.54269695 -1.54722202 + endloop + endfacet + + facet normal -0.430224836 -0.44991383 0.782613695 + outer loop + vertex -0.762543023 0.487076014 -0.101654999 + vertex -0.78560698 1.21498394 0.304129988 + vertex -0.637798011 0.426109999 -0.0681279972 + endloop + endfacet + + facet normal -0.674363017 -0.414663017 0.610974014 + outer loop + vertex -0.78560698 1.21498394 0.304129988 + vertex -0.716696024 1.19728494 0.368178993 + vertex -0.637798011 0.426109999 -0.0681279972 + endloop + endfacet + + facet normal -0.534693182 -0.766140282 0.356556147 + outer loop + vertex -0.78560698 1.21498394 0.304129988 + vertex -0.920360029 1.68377101 1.10934496 + vertex -0.882972002 1.67855692 1.15420997 + endloop + endfacet + + facet normal -0.530332863 -0.768367827 0.358270913 + outer loop + vertex -0.78560698 1.21498394 0.304129988 + vertex -0.882972002 1.67855692 1.15420997 + vertex -0.716696024 1.19728494 0.368178993 + endloop + endfacet + + facet normal -0.702823222 0.339469105 0.62514019 + outer loop + vertex -0.920360029 1.68377101 1.10934496 + vertex -0.911831021 1.75351 1.08106399 + vertex -0.882972002 1.67855692 1.15420997 + endloop + endfacet + + facet normal -0.707317054 0.335090995 0.62242806 + outer loop + vertex -0.911831021 1.75351 1.08106399 + vertex -0.846276999 1.76368093 1.15008199 + vertex -0.882972002 1.67855692 1.15420997 + endloop + endfacet + + facet normal -0.619192243 0.563640237 0.54672724 + outer loop + vertex -0.911831021 1.75351 1.08106399 + vertex -0.795808017 2.25053501 0.70006299 + vertex -0.72458303 2.26954007 0.761135995 + endloop + endfacet + + facet normal -0.640845776 0.558843732 0.526317775 + outer loop + vertex -0.911831021 1.75351 1.08106399 + vertex -0.72458303 2.26954007 0.761135995 + vertex -0.846276999 1.76368093 1.15008199 + endloop + endfacet + + facet normal -0.466304839 0.838133693 0.28300491 + outer loop + vertex -0.795808017 2.25053501 0.70006299 + vertex -0.470782012 3.13817596 -1.39318299 + vertex -0.72458303 2.26954007 0.761135995 + endloop + endfacet + + facet normal -0.445953965 0.847108006 0.289020956 + outer loop + vertex -0.470782012 3.13817596 -1.39318299 + vertex -0.436367005 3.14639306 -1.36416399 + vertex -0.72458303 2.26954007 0.761135995 + endloop + endfacet + + facet normal -0.558003902 0.314087898 0.768101811 + outer loop + vertex -0.470782012 3.13817596 -1.39318299 + vertex -0.472149014 3.53985 -1.55842602 + vertex -0.455123991 3.54269695 -1.54722202 + endloop + endfacet + + facet normal -0.656410813 0.290523916 0.696218848 + outer loop + vertex -0.470782012 3.13817596 -1.39318299 + vertex -0.455123991 3.54269695 -1.54722202 + vertex -0.436367005 3.14639306 -1.36416399 + endloop + endfacet + + facet normal -0.041439008 0.415031046 0.908863068 + outer loop + vertex -0.637798011 0.426109999 -0.0681279972 + vertex -0.614050984 0.300803006 -0.0098240003 + vertex -0.771920979 0.340665013 -0.0352250002 + endloop + endfacet + + facet normal 0.109999016 -0.990341127 0.0844070092 + outer loop + vertex -0.455123991 3.54269695 -1.54722202 + vertex -0.47586599 3.54209304 -1.52728605 + vertex -0.45371899 3.54508805 -1.52100492 + endloop + endfacet + + facet normal -0.995849967 -0.0872669965 -0.0258349981 + outer loop + vertex -0.637798011 0.426109999 -0.0681279972 + vertex -0.716696024 1.19728494 0.368178993 + vertex -0.712240994 1.12719202 0.433227003 + endloop + endfacet + + facet normal -0.985554934 -0.154403999 0.0695760027 + outer loop + vertex -0.637798011 0.426109999 -0.0681279972 + vertex -0.712240994 1.12719202 0.433227003 + vertex -0.614050984 0.300803006 -0.0098240003 + endloop + endfacet + + facet normal -0.980780065 -0.162526011 -0.107962005 + outer loop + vertex -0.716696024 1.19728494 0.368178993 + vertex -0.882972002 1.67855692 1.15420997 + vertex -0.712240994 1.12719202 0.433227003 + endloop + endfacet + + facet normal -0.974204123 -0.00670300052 -0.22556901 + outer loop + vertex -0.882972002 1.67855692 1.15420997 + vertex -0.897680998 1.65840197 1.21833503 + vertex -0.712240994 1.12719202 0.433227003 + endloop + endfacet + + facet normal -0.886417329 0.368533105 -0.280085117 + outer loop + vertex -0.882972002 1.67855692 1.15420997 + vertex -0.846276999 1.76368093 1.15008199 + vertex -0.855413973 1.80642998 1.23524797 + endloop + endfacet + + facet normal -0.949701548 0.285797149 -0.128012076 + outer loop + vertex -0.882972002 1.67855692 1.15420997 + vertex -0.855413973 1.80642998 1.23524797 + vertex -0.897680998 1.65840197 1.21833503 + endloop + endfacet + + facet normal -0.980542064 0.111841008 -0.161335021 + outer loop + vertex -0.846276999 1.76368093 1.15008199 + vertex -0.72458303 2.26954007 0.761135995 + vertex -0.855413973 1.80642998 1.23524797 + endloop + endfacet + + facet normal -0.975146174 0.212986052 -0.0610480122 + outer loop + vertex -0.72458303 2.26954007 0.761135995 + vertex -0.710753024 2.34805298 0.814131975 + vertex -0.855413973 1.80642998 1.23524797 + endloop + endfacet + + facet normal -0.987725139 0.135249019 -0.0781470165 + outer loop + vertex -0.72458303 2.26954007 0.761135995 + vertex -0.436367005 3.14639306 -1.36416399 + vertex -0.440544993 3.16025901 -1.28735995 + endloop + endfacet + + facet normal -0.977861404 0.203926086 -0.0469170213 + outer loop + vertex -0.72458303 2.26954007 0.761135995 + vertex -0.440544993 3.16025901 -1.28735995 + vertex -0.710753024 2.34805298 0.814131975 + endloop + endfacet + + facet normal -0.996882498 -0.0666720271 -0.0421910174 + outer loop + vertex -0.436367005 3.14639306 -1.36416399 + vertex -0.455123991 3.54269695 -1.54722202 + vertex -0.440544993 3.16025901 -1.28735995 + endloop + endfacet + + facet normal -0.998558164 -0.00160700036 0.0536570102 + outer loop + vertex -0.455123991 3.54269695 -1.54722202 + vertex -0.45371899 3.54508805 -1.52100492 + vertex -0.440544993 3.16025901 -1.28735995 + endloop + endfacet + + facet normal 0.272473931 0.292851925 0.916512847 + outer loop + vertex -0.253796995 0.214561 -0.0458349995 + vertex -0.376740992 0.170128003 0.00491400016 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247445986 -0.867469966 0.431585968 + outer loop + vertex 0.933724999 3.97960711 -1.55623698 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.926603973 3.99251413 -1.53437805 + endloop + endfacet + + facet normal -0.777862728 0.563657761 -0.277883887 + outer loop + vertex -0.253796995 0.214561 -0.0458349995 + vertex 0.103583999 0.929287016 0.403519988 + vertex 0.0455540009 0.876025975 0.457924992 + endloop + endfacet + + facet normal -0.477919996 0.658785999 -0.581027985 + outer loop + vertex -0.253796995 0.214561 -0.0458349995 + vertex 0.0455540009 0.876025975 0.457924992 + vertex -0.376740992 0.170128003 0.00491400016 + endloop + endfacet + + facet normal -0.779423177 0.557750106 -0.285332054 + outer loop + vertex 0.103583999 0.929287016 0.403519988 + vertex 0.204065993 1.50625706 1.256863 + vertex 0.0455540009 0.876025975 0.457924992 + endloop + endfacet + + facet normal -0.765340209 0.570419192 -0.298121095 + outer loop + vertex 0.204065993 1.50625706 1.256863 + vertex 0.174039006 1.49804199 1.31822896 + vertex 0.0455540009 0.876025975 0.457924992 + endloop + endfacet + + facet normal -0.725149751 0.339532942 -0.599061906 + outer loop + vertex 0.204065993 1.50625706 1.256863 + vertex 0.282788992 1.63802505 1.23625302 + vertex 0.252124012 1.695822 1.30613101 + endloop + endfacet + + facet normal -0.867439389 0.319119155 -0.381722182 + outer loop + vertex 0.204065993 1.50625706 1.256863 + vertex 0.252124012 1.695822 1.30613101 + vertex 0.174039006 1.49804199 1.31822896 + endloop + endfacet + + facet normal -0.88659811 0.0803210139 -0.45551309 + outer loop + vertex 0.282788992 1.63802505 1.23625302 + vertex 0.676886976 2.68409705 0.653648019 + vertex 0.252124012 1.695822 1.30613101 + endloop + endfacet + + facet normal -0.822990119 -0.0210630018 -0.56766504 + outer loop + vertex 0.676886976 2.68409705 0.653648019 + vertex 0.655480981 2.77318811 0.681376994 + vertex 0.252124012 1.695822 1.30613101 + endloop + endfacet + + facet normal -0.987821043 -0.06729801 -0.140287012 + outer loop + vertex 0.676886976 2.68409705 0.653648019 + vertex 0.870212972 3.71105099 -1.20028496 + vertex 0.858199 3.75496197 -1.13675594 + endloop + endfacet + + facet normal -0.965101719 -0.169848949 -0.199323922 + outer loop + vertex 0.676886976 2.68409705 0.653648019 + vertex 0.858199 3.75496197 -1.13675594 + vertex 0.655480981 2.77318811 0.681376994 + endloop + endfacet + + facet normal -0.983463764 -0.00726499874 -0.180958956 + outer loop + vertex 0.870212972 3.71105099 -1.20028496 + vertex 0.933724999 3.97960711 -1.55623698 + vertex 0.858199 3.75496197 -1.13675594 + endloop + endfacet + + facet normal -0.962732613 -0.124580957 -0.240052924 + outer loop + vertex 0.933724999 3.97960711 -1.55623698 + vertex 0.926603973 3.99251413 -1.53437805 + vertex 0.858199 3.75496197 -1.13675594 + endloop + endfacet + + facet normal 0.272466928 0.292851955 0.916514874 + outer loop + vertex -0.376740992 0.170128003 0.00491400016 + vertex -0.499356002 0.242149994 0.018352 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247477978 -0.86745286 0.431601971 + outer loop + vertex 0.926603973 3.99251413 -1.53437805 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.907932997 4 -1.530038 + endloop + endfacet + + facet normal 0.172648042 0.456757128 -0.872677267 + outer loop + vertex -0.376740992 0.170128003 0.00491400016 + vertex 0.0455540009 0.876025975 0.457924992 + vertex -0.499356002 0.242149994 0.018352 + endloop + endfacet + + facet normal -0.0465159826 0.595931768 -0.801686645 + outer loop + vertex 0.0455540009 0.876025975 0.457924992 + vertex -0.0493079983 0.883087993 0.468677998 + vertex -0.499356002 0.242149994 0.018352 + endloop + endfacet + + facet normal 0.00578699959 0.809948981 -0.586471915 + outer loop + vertex 0.0455540009 0.876025975 0.457924992 + vertex 0.174039006 1.49804199 1.31822896 + vertex 0.117908001 1.50824094 1.331761 + endloop + endfacet + + facet normal -0.00608000066 0.810414016 -0.585826039 + outer loop + vertex 0.0455540009 0.876025975 0.457924992 + vertex 0.117908001 1.50824094 1.331761 + vertex -0.0493079983 0.883087993 0.468677998 + endloop + endfacet + + facet normal -0.228951991 0.0308769979 -0.972947955 + outer loop + vertex 0.174039006 1.49804199 1.31822896 + vertex 0.252124012 1.695822 1.30613101 + vertex 0.117908001 1.50824094 1.331761 + endloop + endfacet + + facet normal -0.16855301 -0.0140670007 -0.985592186 + outer loop + vertex 0.252124012 1.695822 1.30613101 + vertex 0.164021999 1.73031497 1.32070494 + vertex 0.117908001 1.50824094 1.331761 + endloop + endfacet + + facet normal -0.246820986 -0.415316969 -0.875551939 + outer loop + vertex 0.252124012 1.695822 1.30613101 + vertex 0.655480981 2.77318811 0.681376994 + vertex 0.569666028 2.81540704 0.685541987 + endloop + endfacet + + facet normal -0.298811018 -0.396427006 -0.86807698 + outer loop + vertex 0.252124012 1.695822 1.30613101 + vertex 0.569666028 2.81540704 0.685541987 + vertex 0.164021999 1.73031497 1.32070494 + endloop + endfacet + + facet normal -0.408190787 -0.78346467 -0.468575805 + outer loop + vertex 0.655480981 2.77318811 0.681376994 + vertex 0.858199 3.75496197 -1.13675594 + vertex 0.569666028 2.81540704 0.685541987 + endloop + endfacet + + facet normal -0.526139736 -0.719045639 -0.454037786 + outer loop + vertex 0.858199 3.75496197 -1.13675594 + vertex 0.819289029 3.77494597 -1.12331498 + vertex 0.569666028 2.81540704 0.685541987 + endloop + endfacet + + facet normal -0.419349998 -0.74575603 -0.517681003 + outer loop + vertex 0.858199 3.75496197 -1.13675594 + vertex 0.926603973 3.99251413 -1.53437805 + vertex 0.907932997 4 -1.530038 + endloop + endfacet + + facet normal -0.526108801 -0.690327764 -0.496645838 + outer loop + vertex 0.858199 3.75496197 -1.13675594 + vertex 0.907932997 4 -1.530038 + vertex 0.819289029 3.77494597 -1.12331498 + endloop + endfacet + + facet normal 0.272470057 0.292848051 0.916515231 + outer loop + vertex -0.499356002 0.242149994 0.018352 + vertex -0.529305995 0.376396 -0.0156389996 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.24746196 -0.8674559 0.431604952 + outer loop + vertex 0.907932997 4 -1.530038 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.891771019 3.99642801 -1.54648209 + endloop + endfacet + + facet normal 0.628429115 0.100671016 -0.771325052 + outer loop + vertex -0.499356002 0.242149994 0.018352 + vertex -0.0493079983 0.883087993 0.468677998 + vertex -0.109567001 0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.73198396 -0.0091859987 -0.68125993 + outer loop + vertex -0.499356002 0.242149994 0.018352 + vertex -0.109567001 0.945155025 0.427682996 + vertex -0.529305995 0.376396 -0.0156389996 + endloop + endfacet + + facet normal 0.76850915 0.438165128 -0.466267079 + outer loop + vertex -0.0493079983 0.883087993 0.468677998 + vertex 0.117908001 1.50824094 1.331761 + vertex -0.109567001 0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.759350061 0.449147046 -0.470802039 + outer loop + vertex 0.117908001 1.50824094 1.331761 + vertex 0.0779410005 1.52917695 1.28727102 + vertex -0.109567001 0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.560264945 -0.156830981 -0.813330948 + outer loop + vertex 0.117908001 1.50824094 1.331761 + vertex 0.164021999 1.73031497 1.32070494 + vertex 0.0848250017 1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.71818012 -0.0941240117 -0.689462125 + outer loop + vertex 0.117908001 1.50824094 1.331761 + vertex 0.0848250017 1.71552598 1.26900196 + vertex 0.0779410005 1.52917695 1.28727102 + endloop + endfacet + + facet normal 0.5217219 -0.567762852 -0.636750877 + outer loop + vertex 0.164021999 1.73031497 1.32070494 + vertex 0.569666028 2.81540704 0.685541987 + vertex 0.0848250017 1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.426157176 -0.563345253 -0.70783627 + outer loop + vertex 0.569666028 2.81540704 0.685541987 + vertex 0.484059989 2.77896309 0.663007021 + vertex 0.0848250017 1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.688727021 -0.67552197 -0.263296992 + outer loop + vertex 0.569666028 2.81540704 0.685541987 + vertex 0.819289029 3.77494597 -1.12331498 + vertex 0.782781005 3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.444303989 -0.81863606 -0.363907993 + outer loop + vertex 0.569666028 2.81540704 0.685541987 + vertex 0.782781005 3.75595093 -1.17007899 + vertex 0.484059989 2.77896309 0.663007021 + endloop + endfacet + + facet normal 0.672470868 -0.699886858 -0.24070996 + outer loop + vertex 0.819289029 3.77494597 -1.12331498 + vertex 0.907932997 4 -1.530038 + vertex 0.782781005 3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.523807168 -0.778528273 -0.345716119 + outer loop + vertex 0.907932997 4 -1.530038 + vertex 0.891771019 3.99642801 -1.54648209 + vertex 0.782781005 3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.272472084 0.292858124 0.916511357 + outer loop + vertex -0.529305995 0.376396 -0.0156389996 + vertex -0.44404301 0.471772999 -0.0714629963 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247544035 -0.867487133 0.43149507 + outer loop + vertex 0.891771019 3.99642801 -1.54648209 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.890290976 3.98449087 -1.57133007 + endloop + endfacet + + facet normal 0.767617583 -0.634875655 0.087727949 + outer loop + vertex -0.529305995 0.376396 -0.0156389996 + vertex -0.109567001 0.945155025 0.427682996 + vertex -0.44404301 0.471772999 -0.0714629963 + endloop + endfacet + + facet normal 0.886159658 -0.420221835 -0.19528091 + outer loop + vertex -0.109567001 0.945155025 0.427682996 + vertex -0.0898490027 1.01548898 0.365808994 + vertex -0.44404301 0.471772999 -0.0714629963 + endloop + endfacet + + facet normal 0.946716785 -0.321837902 0.0121489968 + outer loop + vertex -0.109567001 0.945155025 0.427682996 + vertex 0.0779410005 1.52917695 1.28727102 + vertex 0.0842330009 1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.958333194 -0.285045058 -0.0186190046 + outer loop + vertex -0.109567001 0.945155025 0.427682996 + vertex 0.0842330009 1.54508102 1.21826005 + vertex -0.0898490027 1.01548898 0.365808994 + endloop + endfacet + + facet normal 0.996036589 -0.028538987 0.0842419714 + outer loop + vertex 0.0779410005 1.52917695 1.28727102 + vertex 0.0848250017 1.71552598 1.26900196 + vertex 0.0842330009 1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.985584736 0.0451189876 -0.163054958 + outer loop + vertex 0.0848250017 1.71552598 1.26900196 + vertex 0.0741709992 1.66259193 1.18995297 + vertex 0.0842330009 1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.950562179 -0.277941048 0.138492033 + outer loop + vertex 0.0848250017 1.71552598 1.26900196 + vertex 0.484059989 2.77896309 0.663007021 + vertex 0.463129014 2.69129992 0.630741 + endloop + endfacet + + facet normal 0.946162283 -0.313099086 0.0821340233 + outer loop + vertex 0.0848250017 1.71552598 1.26900196 + vertex 0.463129014 2.69129992 0.630741 + vertex 0.0741709992 1.66259193 1.18995297 + endloop + endfacet + + facet normal 0.96979171 -0.242210925 0.0289449915 + outer loop + vertex 0.484059989 2.77896309 0.663007021 + vertex 0.782781005 3.75595093 -1.17007899 + vertex 0.463129014 2.69129992 0.630741 + endloop + endfacet + + facet normal 0.974733412 -0.219097078 0.0434880182 + outer loop + vertex 0.782781005 3.75595093 -1.17007899 + vertex 0.776166975 3.71228409 -1.24183702 + vertex 0.463129014 2.69129992 0.630741 + endloop + endfacet + + facet normal 0.951111138 -0.296674043 0.0858610049 + outer loop + vertex 0.782781005 3.75595093 -1.17007899 + vertex 0.891771019 3.99642801 -1.54648209 + vertex 0.890290976 3.98449087 -1.57133007 + endloop + endfacet + + facet normal 0.95249474 -0.291143954 0.0893819779 + outer loop + vertex 0.782781005 3.75595093 -1.17007899 + vertex 0.890290976 3.98449087 -1.57133007 + vertex 0.776166975 3.71228409 -1.24183702 + endloop + endfacet + + facet normal 0.272473961 0.292857975 0.91651094 + outer loop + vertex -0.44404301 0.471772999 -0.0714629963 + vertex -0.307767004 0.456461996 -0.107084997 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247539937 -0.867491841 0.431487888 + outer loop + vertex 0.890290976 3.98449087 -1.57133007 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.904604971 3.97317505 -1.58586907 + endloop + endfacet + + facet normal 0.444817066 -0.719116151 0.533863127 + outer loop + vertex -0.44404301 0.471772999 -0.0714629963 + vertex -0.0898490027 1.01548898 0.365808994 + vertex -0.00500100013 1.04112697 0.329647988 + endloop + endfacet + + facet normal 0.127748966 -0.63515991 0.76174283 + outer loop + vertex -0.44404301 0.471772999 -0.0714629963 + vertex -0.00500100013 1.04112697 0.329647988 + vertex -0.307767004 0.456461996 -0.107084997 + endloop + endfacet + + facet normal 0.420685858 -0.806614757 0.415205866 + outer loop + vertex -0.0898490027 1.01548898 0.365808994 + vertex 0.0842330009 1.54508102 1.21826005 + vertex -0.00500100013 1.04112697 0.329647988 + endloop + endfacet + + facet normal 0.35758391 -0.827291846 0.433268875 + outer loop + vertex 0.0842330009 1.54508102 1.21826005 + vertex 0.132046998 1.54398 1.17669499 + vertex -0.00500100013 1.04112697 0.329647988 + endloop + endfacet + + facet normal 0.675312042 0.226875037 0.701770067 + outer loop + vertex 0.0842330009 1.54508102 1.21826005 + vertex 0.0741709992 1.66259193 1.18995297 + vertex 0.140081003 1.61137402 1.14308596 + endloop + endfacet + + facet normal 0.632811844 0.283820927 0.72041285 + outer loop + vertex 0.0842330009 1.54508102 1.21826005 + vertex 0.140081003 1.61137402 1.14308596 + vertex 0.132046998 1.54398 1.17669499 + endloop + endfacet + + facet normal 0.650720775 0.157726958 0.742754757 + outer loop + vertex 0.0741709992 1.66259193 1.18995297 + vertex 0.463129014 2.69129992 0.630741 + vertex 0.140081003 1.61137402 1.14308596 + endloop + endfacet + + facet normal 0.52620393 0.230870992 0.818417966 + outer loop + vertex 0.463129014 2.69129992 0.630741 + vertex 0.522632003 2.61842799 0.61303997 + vertex 0.140081003 1.61137402 1.14308596 + endloop + endfacet + + facet normal 0.890468955 0.320121974 0.323398978 + outer loop + vertex 0.463129014 2.69129992 0.630741 + vertex 0.776166975 3.71228409 -1.24183702 + vertex 0.804427981 3.67682505 -1.28455305 + endloop + endfacet + + facet normal 0.754780054 0.51879406 0.401447028 + outer loop + vertex 0.463129014 2.69129992 0.630741 + vertex 0.804427981 3.67682505 -1.28455305 + vertex 0.522632003 2.61842799 0.61303997 + endloop + endfacet + + facet normal 0.880504668 0.167588919 0.443424821 + outer loop + vertex 0.776166975 3.71228409 -1.24183702 + vertex 0.890290976 3.98449087 -1.57133007 + vertex 0.804427981 3.67682505 -1.28455305 + endloop + endfacet + + facet normal 0.785179079 0.290597022 0.546852052 + outer loop + vertex 0.890290976 3.98449087 -1.57133007 + vertex 0.904604971 3.97317505 -1.58586907 + vertex 0.804427981 3.67682505 -1.28455305 + endloop + endfacet + + facet normal 0.272477061 0.292857081 0.916510224 + outer loop + vertex -0.307767004 0.456461996 -0.107084997 + vertex -0.223100007 0.341991007 -0.095679 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247493982 -0.867506921 0.431483984 + outer loop + vertex 0.904604971 3.97317505 -1.58586907 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.923933983 3.97100115 -1.57915306 + endloop + endfacet + + facet normal -0.530284762 -0.313739836 0.787632704 + outer loop + vertex -0.307767004 0.456461996 -0.107084997 + vertex -0.00500100013 1.04112697 0.329647988 + vertex -0.223100007 0.341991007 -0.095679 + endloop + endfacet + + facet normal -0.346002042 -0.406495035 0.845602989 + outer loop + vertex -0.00500100013 1.04112697 0.329647988 + vertex 0.0810849965 1.00276399 0.346430987 + vertex -0.223100007 0.341991007 -0.095679 + endloop + endfacet + + facet normal -0.409732103 -0.753765106 0.513768137 + outer loop + vertex -0.00500100013 1.04112697 0.329647988 + vertex 0.132046998 1.54398 1.17669499 + vertex 0.185377002 1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.430921048 -0.742863119 0.512310088 + outer loop + vertex -0.00500100013 1.04112697 0.329647988 + vertex 0.185377002 1.52670002 1.19387603 + vertex 0.0810849965 1.00276399 0.346430987 + endloop + endfacet + + facet normal -0.136054054 0.455070168 0.880000293 + outer loop + vertex 0.132046998 1.54398 1.17669499 + vertex 0.140081003 1.61137402 1.14308596 + vertex 0.185377002 1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.142184019 0.452121019 0.8805511 + outer loop + vertex 0.140081003 1.61137402 1.14308596 + vertex 0.232925996 1.60044098 1.16369104 + vertex 0.185377002 1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.0768329725 0.487080812 0.869970679 + outer loop + vertex 0.140081003 1.61137402 1.14308596 + vertex 0.522632003 2.61842799 0.61303997 + vertex 0.617762983 2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.130130991 0.504069924 0.853802919 + outer loop + vertex 0.140081003 1.61137402 1.14308596 + vertex 0.617762983 2.61522293 0.623236001 + vertex 0.232925996 1.60044098 1.16369104 + endloop + endfacet + + facet normal -0.0224629845 0.874534488 0.484442741 + outer loop + vertex 0.522632003 2.61842799 0.61303997 + vertex 0.804427981 3.67682505 -1.28455305 + vertex 0.617762983 2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.19305791 0.865288615 0.462605834 + outer loop + vertex 0.804427981 3.67682505 -1.28455305 + vertex 0.846280992 3.67627597 -1.26605999 + vertex 0.617762983 2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.149908945 0.729361773 0.667501807 + outer loop + vertex 0.804427981 3.67682505 -1.28455305 + vertex 0.904604971 3.97317505 -1.58586907 + vertex 0.923933983 3.97100115 -1.57915306 + endloop + endfacet + + facet normal -0.266439945 0.733926833 0.62478888 + outer loop + vertex 0.804427981 3.67682505 -1.28455305 + vertex 0.923933983 3.97100115 -1.57915306 + vertex 0.846280992 3.67627597 -1.26605999 + endloop + endfacet + + facet normal 0.272476882 0.292855889 0.916510582 + outer loop + vertex -0.223100007 0.341991007 -0.095679 + vertex -0.253796995 0.214561 -0.0458349995 + vertex -0.376302004 0.324781001 -0.0446330011 + endloop + endfacet + + facet normal -0.247450024 -0.8675071 0.431509018 + outer loop + vertex 0.923933983 3.97100115 -1.57915306 + vertex 0.911266029 3.98531508 -1.55764103 + vertex 0.933724999 3.97960711 -1.55623698 + endloop + endfacet + + facet normal -0.879711032 0.0929580033 0.466333985 + outer loop + vertex -0.223100007 0.341991007 -0.095679 + vertex 0.0810849965 1.00276399 0.346430987 + vertex 0.103583999 0.929287016 0.403519988 + endloop + endfacet + + facet normal -0.920438349 0.313202113 0.233875081 + outer loop + vertex -0.223100007 0.341991007 -0.095679 + vertex 0.103583999 0.929287016 0.403519988 + vertex -0.253796995 0.214561 -0.0458349995 + endloop + endfacet + + facet normal -0.969112396 -0.137853056 0.204494074 + outer loop + vertex 0.0810849965 1.00276399 0.346430987 + vertex 0.185377002 1.52670002 1.19387603 + vertex 0.103583999 0.929287016 0.403519988 + endloop + endfacet + + facet normal -0.958291411 -0.17137289 0.22871086 + outer loop + vertex 0.185377002 1.52670002 1.19387603 + vertex 0.204065993 1.50625706 1.256863 + vertex 0.103583999 0.929287016 0.403519988 + endloop + endfacet + + facet normal -0.774107695 0.591492772 0.225595891 + outer loop + vertex 0.185377002 1.52670002 1.19387603 + vertex 0.232925996 1.60044098 1.16369104 + vertex 0.282788992 1.63802505 1.23625302 + endloop + endfacet + + facet normal -0.76090014 0.516107082 0.393274039 + outer loop + vertex 0.185377002 1.52670002 1.19387603 + vertex 0.282788992 1.63802505 1.23625302 + vertex 0.204065993 1.50625706 1.256863 + endloop + endfacet + + facet normal -0.8194713 0.47864911 0.315217078 + outer loop + vertex 0.232925996 1.60044098 1.16369104 + vertex 0.617762983 2.61522293 0.623236001 + vertex 0.282788992 1.63802505 1.23625302 + endloop + endfacet + + facet normal -0.778669 0.502564967 0.375636965 + outer loop + vertex 0.617762983 2.61522293 0.623236001 + vertex 0.676886976 2.68409705 0.653648019 + vertex 0.282788992 1.63802505 1.23625302 + endloop + endfacet + + facet normal -0.907485962 0.403503984 0.11684899 + outer loop + vertex 0.617762983 2.61522293 0.623236001 + vertex 0.846280992 3.67627597 -1.26605999 + vertex 0.870212972 3.71105099 -1.20028496 + endloop + endfacet + + facet normal -0.786379635 0.571479738 0.234558895 + outer loop + vertex 0.617762983 2.61522293 0.623236001 + vertex 0.870212972 3.71105099 -1.20028496 + vertex 0.676886976 2.68409705 0.653648019 + endloop + endfacet + + facet normal -0.915194154 0.380924076 0.131592035 + outer loop + vertex 0.846280992 3.67627597 -1.26605999 + vertex 0.923933983 3.97100115 -1.57915306 + vertex 0.870212972 3.71105099 -1.20028496 + endloop + endfacet + + facet normal -0.864411891 0.463298917 0.195310965 + outer loop + vertex 0.923933983 3.97100115 -1.57915306 + vertex 0.933724999 3.97960711 -1.55623698 + vertex 0.870212972 3.71105099 -1.20028496 + endloop + endfacet + + facet normal 0.272473931 -0.292851925 0.916512847 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.376740992 -0.170128003 0.00491400016 + vertex -0.253796995 -0.214561 -0.0458349995 + endloop + endfacet + + facet normal -0.247445986 0.867469966 0.431585968 + outer loop + vertex 0.926603973 -3.99251413 -1.53437805 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.933724999 -3.97960711 -1.55623698 + endloop + endfacet + + facet normal -0.777862728 -0.563657761 -0.277883887 + outer loop + vertex 0.0455540009 -0.876025975 0.457924992 + vertex 0.103583999 -0.929287016 0.403519988 + vertex -0.253796995 -0.214561 -0.0458349995 + endloop + endfacet + + facet normal -0.477919996 -0.658785999 -0.581027985 + outer loop + vertex -0.376740992 -0.170128003 0.00491400016 + vertex 0.0455540009 -0.876025975 0.457924992 + vertex -0.253796995 -0.214561 -0.0458349995 + endloop + endfacet + + facet normal -0.779423177 -0.557750106 -0.285332054 + outer loop + vertex 0.0455540009 -0.876025975 0.457924992 + vertex 0.204065993 -1.50625706 1.256863 + vertex 0.103583999 -0.929287016 0.403519988 + endloop + endfacet + + facet normal -0.76534009 -0.570420086 -0.298120022 + outer loop + vertex 0.0455540009 -0.876025975 0.457924992 + vertex 0.174039006 -1.49804103 1.31822896 + vertex 0.204065993 -1.50625706 1.256863 + endloop + endfacet + + facet normal -0.725148976 -0.339533001 -0.599062979 + outer loop + vertex 0.252124012 -1.695822 1.30613101 + vertex 0.282788992 -1.63802397 1.23625302 + vertex 0.204065993 -1.50625706 1.256863 + endloop + endfacet + + facet normal -0.867439389 -0.319119155 -0.381722182 + outer loop + vertex 0.174039006 -1.49804103 1.31822896 + vertex 0.252124012 -1.695822 1.30613101 + vertex 0.204065993 -1.50625706 1.256863 + endloop + endfacet + + facet normal -0.88659811 -0.0803210139 -0.45551309 + outer loop + vertex 0.252124012 -1.695822 1.30613101 + vertex 0.676886976 -2.68409705 0.653648019 + vertex 0.282788992 -1.63802397 1.23625302 + endloop + endfacet + + facet normal -0.822990119 0.0210630018 -0.56766504 + outer loop + vertex 0.252124012 -1.695822 1.30613101 + vertex 0.655480981 -2.77318811 0.681376994 + vertex 0.676886976 -2.68409705 0.653648019 + endloop + endfacet + + facet normal -0.987821043 0.06729801 -0.140287012 + outer loop + vertex 0.858199 -3.75496197 -1.13675594 + vertex 0.870212972 -3.71105099 -1.20028496 + vertex 0.676886976 -2.68409705 0.653648019 + endloop + endfacet + + facet normal -0.965101719 0.169848949 -0.199323922 + outer loop + vertex 0.655480981 -2.77318811 0.681376994 + vertex 0.858199 -3.75496197 -1.13675594 + vertex 0.676886976 -2.68409705 0.653648019 + endloop + endfacet + + facet normal -0.983463764 0.00726499874 -0.180958956 + outer loop + vertex 0.858199 -3.75496197 -1.13675594 + vertex 0.933724999 -3.97960711 -1.55623698 + vertex 0.870212972 -3.71105099 -1.20028496 + endloop + endfacet + + facet normal -0.962732613 0.124580957 -0.240052924 + outer loop + vertex 0.858199 -3.75496197 -1.13675594 + vertex 0.926603973 -3.99251413 -1.53437805 + vertex 0.933724999 -3.97960711 -1.55623698 + endloop + endfacet + + facet normal 0.272466928 -0.292851955 0.916514874 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.499356002 -0.242149994 0.018352 + vertex -0.376740992 -0.170128003 0.00491400016 + endloop + endfacet + + facet normal -0.247477025 0.867453039 0.431602061 + outer loop + vertex 0.907932997 -4 -1.530038 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.926603973 -3.99251413 -1.53437805 + endloop + endfacet + + facet normal 0.172648042 -0.456757128 -0.872677267 + outer loop + vertex -0.499356002 -0.242149994 0.018352 + vertex 0.0455540009 -0.876025975 0.457924992 + vertex -0.376740992 -0.170128003 0.00491400016 + endloop + endfacet + + facet normal -0.0465160124 -0.595931113 -0.801687181 + outer loop + vertex -0.499356002 -0.242149994 0.018352 + vertex -0.0493079983 -0.883087993 0.468677998 + vertex 0.0455540009 -0.876025975 0.457924992 + endloop + endfacet + + facet normal 0.00578899914 -0.809948862 -0.586471856 + outer loop + vertex 0.117908001 -1.50824094 1.331761 + vertex 0.174039006 -1.49804103 1.31822896 + vertex 0.0455540009 -0.876025975 0.457924992 + endloop + endfacet + + facet normal -0.00607900089 -0.810414076 -0.585826099 + outer loop + vertex -0.0493079983 -0.883087993 0.468677998 + vertex 0.117908001 -1.50824094 1.331761 + vertex 0.0455540009 -0.876025975 0.457924992 + endloop + endfacet + + facet normal -0.228951037 -0.0308770034 -0.972948134 + outer loop + vertex 0.117908001 -1.50824094 1.331761 + vertex 0.252124012 -1.695822 1.30613101 + vertex 0.174039006 -1.49804103 1.31822896 + endloop + endfacet + + facet normal -0.16855301 0.0140670007 -0.985592186 + outer loop + vertex 0.117908001 -1.50824094 1.331761 + vertex 0.164021999 -1.73031497 1.32070494 + vertex 0.252124012 -1.695822 1.30613101 + endloop + endfacet + + facet normal -0.246820047 0.415317029 -0.875552118 + outer loop + vertex 0.569666028 -2.81540704 0.685541987 + vertex 0.655480981 -2.77318811 0.681376994 + vertex 0.252124012 -1.695822 1.30613101 + endloop + endfacet + + facet normal -0.298811018 0.396427006 -0.86807698 + outer loop + vertex 0.164021999 -1.73031497 1.32070494 + vertex 0.569666028 -2.81540704 0.685541987 + vertex 0.252124012 -1.695822 1.30613101 + endloop + endfacet + + facet normal -0.40818882 0.783465683 -0.468575835 + outer loop + vertex 0.569666028 -2.81540704 0.685541987 + vertex 0.858199 -3.75496197 -1.13675594 + vertex 0.655480981 -2.77318811 0.681376994 + endloop + endfacet + + facet normal -0.526139736 0.719045639 -0.454037786 + outer loop + vertex 0.569666028 -2.81540704 0.685541987 + vertex 0.819289029 -3.77494597 -1.12331498 + vertex 0.858199 -3.75496197 -1.13675594 + endloop + endfacet + + facet normal -0.419348896 0.745756686 -0.517680824 + outer loop + vertex 0.907932997 -4 -1.530038 + vertex 0.926603973 -3.99251413 -1.53437805 + vertex 0.858199 -3.75496197 -1.13675594 + endloop + endfacet + + facet normal -0.526108801 0.690327764 -0.496645838 + outer loop + vertex 0.819289029 -3.77494597 -1.12331498 + vertex 0.907932997 -4 -1.530038 + vertex 0.858199 -3.75496197 -1.13675594 + endloop + endfacet + + facet normal 0.272470057 -0.292848051 0.916515231 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.529305995 -0.376397014 -0.0156389996 + vertex -0.499356002 -0.242149994 0.018352 + endloop + endfacet + + facet normal -0.247462898 0.867455661 0.431604832 + outer loop + vertex 0.891771019 -3.99642801 -1.54648209 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.907932997 -4 -1.530038 + endloop + endfacet + + facet normal 0.628429115 -0.100671016 -0.771325052 + outer loop + vertex -0.109567001 -0.945155025 0.427682996 + vertex -0.0493079983 -0.883087993 0.468677998 + vertex -0.499356002 -0.242149994 0.018352 + endloop + endfacet + + facet normal 0.73198396 0.0091859987 -0.68125993 + outer loop + vertex -0.529305995 -0.376397014 -0.0156389996 + vertex -0.109567001 -0.945155025 0.427682996 + vertex -0.499356002 -0.242149994 0.018352 + endloop + endfacet + + facet normal 0.768508792 -0.438165873 -0.46626687 + outer loop + vertex -0.109567001 -0.945155025 0.427682996 + vertex 0.117908001 -1.50824094 1.331761 + vertex -0.0493079983 -0.883087993 0.468677998 + endloop + endfacet + + facet normal 0.759350061 -0.449147046 -0.470802039 + outer loop + vertex -0.109567001 -0.945155025 0.427682996 + vertex 0.0779410005 -1.52917695 1.28727102 + vertex 0.117908001 -1.50824094 1.331761 + endloop + endfacet + + facet normal 0.560264945 0.156830981 -0.813330948 + outer loop + vertex 0.0848250017 -1.71552598 1.26900196 + vertex 0.164021999 -1.73031497 1.32070494 + vertex 0.117908001 -1.50824094 1.331761 + endloop + endfacet + + facet normal 0.71818012 0.0941240117 -0.689462125 + outer loop + vertex 0.0779410005 -1.52917695 1.28727102 + vertex 0.0848250017 -1.71552598 1.26900196 + vertex 0.117908001 -1.50824094 1.331761 + endloop + endfacet + + facet normal 0.521720767 0.567762733 -0.636751771 + outer loop + vertex 0.0848250017 -1.71552598 1.26900196 + vertex 0.569666028 -2.81540704 0.685541987 + vertex 0.164021999 -1.73031497 1.32070494 + endloop + endfacet + + facet normal 0.426156938 0.563345969 -0.707835913 + outer loop + vertex 0.0848250017 -1.71552598 1.26900196 + vertex 0.484059989 -2.77896309 0.663007021 + vertex 0.569666028 -2.81540704 0.685541987 + endloop + endfacet + + facet normal 0.688727021 0.67552197 -0.263296992 + outer loop + vertex 0.782781005 -3.75595093 -1.17007899 + vertex 0.819289029 -3.77494597 -1.12331498 + vertex 0.569666028 -2.81540704 0.685541987 + endloop + endfacet + + facet normal 0.444303989 0.81863606 -0.363907993 + outer loop + vertex 0.484059989 -2.77896309 0.663007021 + vertex 0.782781005 -3.75595093 -1.17007899 + vertex 0.569666028 -2.81540704 0.685541987 + endloop + endfacet + + facet normal 0.672470868 0.699886858 -0.24070996 + outer loop + vertex 0.782781005 -3.75595093 -1.17007899 + vertex 0.907932997 -4 -1.530038 + vertex 0.819289029 -3.77494597 -1.12331498 + endloop + endfacet + + facet normal 0.523808122 0.778528154 -0.345715046 + outer loop + vertex 0.782781005 -3.75595093 -1.17007899 + vertex 0.891771019 -3.99642801 -1.54648209 + vertex 0.907932997 -4 -1.530038 + endloop + endfacet + + facet normal 0.272471815 -0.292857826 0.916511476 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.44404301 -0.471772999 -0.0714629963 + vertex -0.529305995 -0.376397014 -0.0156389996 + endloop + endfacet + + facet normal -0.247543931 0.867487788 0.431493849 + outer loop + vertex 0.890290976 -3.98449087 -1.57133007 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.891771019 -3.99642801 -1.54648209 + endloop + endfacet + + facet normal 0.76761812 0.634875059 0.0877270103 + outer loop + vertex -0.44404301 -0.471772999 -0.0714629963 + vertex -0.109567001 -0.945155025 0.427682996 + vertex -0.529305995 -0.376397014 -0.0156389996 + endloop + endfacet + + facet normal 0.886159658 0.420221835 -0.19528091 + outer loop + vertex -0.44404301 -0.471772999 -0.0714629963 + vertex -0.0898490027 -1.01548898 0.365808994 + vertex -0.109567001 -0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.946716785 0.321837902 0.0121489968 + outer loop + vertex 0.0842330009 -1.54508102 1.21826005 + vertex 0.0779410005 -1.52917695 1.28727102 + vertex -0.109567001 -0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.958333194 0.285045058 -0.0186190046 + outer loop + vertex -0.0898490027 -1.01548898 0.365808994 + vertex 0.0842330009 -1.54508102 1.21826005 + vertex -0.109567001 -0.945155025 0.427682996 + endloop + endfacet + + facet normal 0.996036589 0.028538987 0.0842419714 + outer loop + vertex 0.0842330009 -1.54508102 1.21826005 + vertex 0.0848250017 -1.71552598 1.26900196 + vertex 0.0779410005 -1.52917695 1.28727102 + endloop + endfacet + + facet normal 0.985584736 -0.0451189876 -0.163054958 + outer loop + vertex 0.0842330009 -1.54508102 1.21826005 + vertex 0.0741709992 -1.66259193 1.18995297 + vertex 0.0848250017 -1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.950562179 0.277941048 0.138492033 + outer loop + vertex 0.463129014 -2.69129992 0.630741 + vertex 0.484059989 -2.77896309 0.663007021 + vertex 0.0848250017 -1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.946162283 0.313099086 0.0821340233 + outer loop + vertex 0.0741709992 -1.66259193 1.18995297 + vertex 0.463129014 -2.69129992 0.630741 + vertex 0.0848250017 -1.71552598 1.26900196 + endloop + endfacet + + facet normal 0.96979171 0.242210925 0.0289449915 + outer loop + vertex 0.463129014 -2.69129992 0.630741 + vertex 0.782781005 -3.75595093 -1.17007899 + vertex 0.484059989 -2.77896309 0.663007021 + endloop + endfacet + + facet normal 0.974733412 0.219097078 0.0434880182 + outer loop + vertex 0.463129014 -2.69129992 0.630741 + vertex 0.776166975 -3.71228409 -1.24183702 + vertex 0.782781005 -3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.951111257 0.296673089 0.0858620256 + outer loop + vertex 0.890290976 -3.98449087 -1.57133007 + vertex 0.891771019 -3.99642801 -1.54648209 + vertex 0.782781005 -3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.95249474 0.291143954 0.0893819779 + outer loop + vertex 0.776166975 -3.71228409 -1.24183702 + vertex 0.890290976 -3.98449087 -1.57133007 + vertex 0.782781005 -3.75595093 -1.17007899 + endloop + endfacet + + facet normal 0.272473961 -0.292857975 0.91651094 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.307767004 -0.456461996 -0.107084997 + vertex -0.44404301 -0.471772999 -0.0714629963 + endloop + endfacet + + facet normal -0.247540042 0.867492199 0.431487083 + outer loop + vertex 0.904604971 -3.97317505 -1.58586907 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.890290976 -3.98449087 -1.57133007 + endloop + endfacet + + facet normal 0.444816053 0.719116032 0.533864081 + outer loop + vertex -0.00500100013 -1.04112697 0.329647988 + vertex -0.0898490027 -1.01548898 0.365808994 + vertex -0.44404301 -0.471772999 -0.0714629963 + endloop + endfacet + + facet normal 0.127748966 0.63515991 0.76174283 + outer loop + vertex -0.307767004 -0.456461996 -0.107084997 + vertex -0.00500100013 -1.04112697 0.329647988 + vertex -0.44404301 -0.471772999 -0.0714629963 + endloop + endfacet + + facet normal 0.420685023 0.806615114 0.415206045 + outer loop + vertex -0.00500100013 -1.04112697 0.329647988 + vertex 0.0842330009 -1.54508102 1.21826005 + vertex -0.0898490027 -1.01548898 0.365808994 + endloop + endfacet + + facet normal 0.357582062 0.827292144 0.433270067 + outer loop + vertex -0.00500100013 -1.04112697 0.329647988 + vertex 0.132046998 -1.54397893 1.17669499 + vertex 0.0842330009 -1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.675312042 -0.226875037 0.701770067 + outer loop + vertex 0.140081003 -1.61137402 1.14308596 + vertex 0.0741709992 -1.66259193 1.18995297 + vertex 0.0842330009 -1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.632813096 -0.283820063 0.720412195 + outer loop + vertex 0.132046998 -1.54397893 1.17669499 + vertex 0.140081003 -1.61137402 1.14308596 + vertex 0.0842330009 -1.54508102 1.21826005 + endloop + endfacet + + facet normal 0.650720775 -0.157726958 0.742754757 + outer loop + vertex 0.140081003 -1.61137402 1.14308596 + vertex 0.463129014 -2.69129992 0.630741 + vertex 0.0741709992 -1.66259193 1.18995297 + endloop + endfacet + + facet normal 0.52620393 -0.230870992 0.818417966 + outer loop + vertex 0.140081003 -1.61137402 1.14308596 + vertex 0.522632003 -2.61842704 0.61303997 + vertex 0.463129014 -2.69129992 0.630741 + endloop + endfacet + + facet normal 0.890468955 -0.320121974 0.323398978 + outer loop + vertex 0.804427981 -3.67682505 -1.28455305 + vertex 0.776166975 -3.71228409 -1.24183702 + vertex 0.463129014 -2.69129992 0.630741 + endloop + endfacet + + facet normal 0.754779816 -0.518793881 0.401447922 + outer loop + vertex 0.522632003 -2.61842704 0.61303997 + vertex 0.804427981 -3.67682505 -1.28455305 + vertex 0.463129014 -2.69129992 0.630741 + endloop + endfacet + + facet normal 0.880504668 -0.167588919 0.443424821 + outer loop + vertex 0.804427981 -3.67682505 -1.28455305 + vertex 0.890290976 -3.98449087 -1.57133007 + vertex 0.776166975 -3.71228409 -1.24183702 + endloop + endfacet + + facet normal 0.785177827 -0.290598929 0.546852827 + outer loop + vertex 0.804427981 -3.67682505 -1.28455305 + vertex 0.904604971 -3.97317505 -1.58586907 + vertex 0.890290976 -3.98449087 -1.57133007 + endloop + endfacet + + facet normal 0.272477061 -0.292857081 0.916510224 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.223100007 -0.341991007 -0.095679 + vertex -0.307767004 -0.456461996 -0.107084997 + endloop + endfacet + + facet normal -0.247495025 0.8675071 0.43148303 + outer loop + vertex 0.923933983 -3.97100115 -1.57915306 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.904604971 -3.97317505 -1.58586907 + endloop + endfacet + + facet normal -0.530284762 0.313739836 0.787632704 + outer loop + vertex -0.223100007 -0.341991007 -0.095679 + vertex -0.00500100013 -1.04112697 0.329647988 + vertex -0.307767004 -0.456461996 -0.107084997 + endloop + endfacet + + facet normal -0.346002042 0.406495035 0.845602989 + outer loop + vertex -0.223100007 -0.341991007 -0.095679 + vertex 0.0810849965 -1.00276399 0.346430987 + vertex -0.00500100013 -1.04112697 0.329647988 + endloop + endfacet + + facet normal -0.409730107 0.753766179 0.513768196 + outer loop + vertex 0.185377002 -1.52670002 1.19387603 + vertex 0.132046998 -1.54397893 1.17669499 + vertex -0.00500100013 -1.04112697 0.329647988 + endloop + endfacet + + facet normal -0.430921048 0.742863119 0.512310088 + outer loop + vertex 0.0810849965 -1.00276399 0.346430987 + vertex 0.185377002 -1.52670002 1.19387603 + vertex -0.00500100013 -1.04112697 0.329647988 + endloop + endfacet + + facet normal -0.136055022 -0.455070078 0.880000114 + outer loop + vertex 0.185377002 -1.52670002 1.19387603 + vertex 0.140081003 -1.61137402 1.14308596 + vertex 0.132046998 -1.54397893 1.17669499 + endloop + endfacet + + facet normal -0.142182976 -0.452121913 0.880550802 + outer loop + vertex 0.185377002 -1.52670002 1.19387603 + vertex 0.232925996 -1.60044098 1.16369104 + vertex 0.140081003 -1.61137402 1.14308596 + endloop + endfacet + + facet normal -0.0768340006 -0.487081975 0.869969964 + outer loop + vertex 0.617762983 -2.61522293 0.623236001 + vertex 0.522632003 -2.61842704 0.61303997 + vertex 0.140081003 -1.61137402 1.14308596 + endloop + endfacet + + facet normal -0.130130008 -0.504070044 0.853803098 + outer loop + vertex 0.232925996 -1.60044098 1.16369104 + vertex 0.617762983 -2.61522293 0.623236001 + vertex 0.140081003 -1.61137402 1.14308596 + endloop + endfacet + + facet normal -0.0224649999 -0.874534965 0.484441966 + outer loop + vertex 0.617762983 -2.61522293 0.623236001 + vertex 0.804427981 -3.67682505 -1.28455305 + vertex 0.522632003 -2.61842704 0.61303997 + endloop + endfacet + + facet normal -0.19305791 -0.865288615 0.462605834 + outer loop + vertex 0.617762983 -2.61522293 0.623236001 + vertex 0.846280992 -3.67627597 -1.26605999 + vertex 0.804427981 -3.67682505 -1.28455305 + endloop + endfacet + + facet normal -0.149909943 -0.729361713 0.667501748 + outer loop + vertex 0.923933983 -3.97100115 -1.57915306 + vertex 0.904604971 -3.97317505 -1.58586907 + vertex 0.804427981 -3.67682505 -1.28455305 + endloop + endfacet + + facet normal -0.266439945 -0.733926833 0.62478888 + outer loop + vertex 0.846280992 -3.67627597 -1.26605999 + vertex 0.923933983 -3.97100115 -1.57915306 + vertex 0.804427981 -3.67682505 -1.28455305 + endloop + endfacet + + facet normal 0.272477865 -0.292855829 0.916510463 + outer loop + vertex -0.376302004 -0.324781001 -0.0446330011 + vertex -0.253796995 -0.214561 -0.0458349995 + vertex -0.223100007 -0.341991007 -0.095679 + endloop + endfacet + + facet normal -0.247450024 0.8675071 0.431509018 + outer loop + vertex 0.933724999 -3.97960711 -1.55623698 + vertex 0.911266029 -3.98531508 -1.55764103 + vertex 0.923933983 -3.97100115 -1.57915306 + endloop + endfacet + + facet normal -0.879710913 -0.0929590017 0.466333956 + outer loop + vertex 0.103583999 -0.929287016 0.403519988 + vertex 0.0810849965 -1.00276399 0.346430987 + vertex -0.223100007 -0.341991007 -0.095679 + endloop + endfacet + + facet normal -0.920438349 -0.313202113 0.233875081 + outer loop + vertex -0.253796995 -0.214561 -0.0458349995 + vertex 0.103583999 -0.929287016 0.403519988 + vertex -0.223100007 -0.341991007 -0.095679 + endloop + endfacet + + facet normal -0.969112217 0.137854025 0.204494044 + outer loop + vertex 0.103583999 -0.929287016 0.403519988 + vertex 0.185377002 -1.52670002 1.19387603 + vertex 0.0810849965 -1.00276399 0.346430987 + endloop + endfacet + + facet normal -0.958291709 0.171372935 0.228709921 + outer loop + vertex 0.103583999 -0.929287016 0.403519988 + vertex 0.204065993 -1.50625706 1.256863 + vertex 0.185377002 -1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.774107099 -0.591494083 0.225595027 + outer loop + vertex 0.282788992 -1.63802397 1.23625302 + vertex 0.232925996 -1.60044098 1.16369104 + vertex 0.185377002 -1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.760899842 -0.516106904 0.393274903 + outer loop + vertex 0.204065993 -1.50625706 1.256863 + vertex 0.282788992 -1.63802397 1.23625302 + vertex 0.185377002 -1.52670002 1.19387603 + endloop + endfacet + + facet normal -0.819471061 -0.47864899 0.315218031 + outer loop + vertex 0.282788992 -1.63802397 1.23625302 + vertex 0.617762983 -2.61522293 0.623236001 + vertex 0.232925996 -1.60044098 1.16369104 + endloop + endfacet + + facet normal -0.778668165 -0.502565145 0.375638098 + outer loop + vertex 0.282788992 -1.63802397 1.23625302 + vertex 0.676886976 -2.68409705 0.653648019 + vertex 0.617762983 -2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.907485962 -0.403503984 0.11684899 + outer loop + vertex 0.870212972 -3.71105099 -1.20028496 + vertex 0.846280992 -3.67627597 -1.26605999 + vertex 0.617762983 -2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.78637892 -0.57148093 0.23455897 + outer loop + vertex 0.676886976 -2.68409705 0.653648019 + vertex 0.870212972 -3.71105099 -1.20028496 + vertex 0.617762983 -2.61522293 0.623236001 + endloop + endfacet + + facet normal -0.915194154 -0.380924076 0.131592035 + outer loop + vertex 0.870212972 -3.71105099 -1.20028496 + vertex 0.923933983 -3.97100115 -1.57915306 + vertex 0.846280992 -3.67627597 -1.26605999 + endloop + endfacet + + facet normal -0.864411891 -0.463298917 0.195310965 + outer loop + vertex 0.870212972 -3.71105099 -1.20028496 + vertex 0.933724999 -3.97960711 -1.55623698 + vertex 0.923933983 -3.97100115 -1.57915306 + endloop + endfacet + + facet normal 0.287100911 0.22565192 0.930942714 + outer loop + vertex 0.254595995 0.172016993 -0.203339994 + vertex 0.134731993 0.118957996 -0.153512999 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184374034 -0.887741089 0.421808064 + outer loop + vertex 1.54126191 3.22838593 -1.48060107 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.53517103 3.24041605 -1.45794499 + endloop + endfacet + + facet normal -0.475138009 0.667518914 -0.573290944 + outer loop + vertex 0.254595995 0.172016993 -0.203339994 + vertex 0.599097013 0.871927977 0.326090991 + vertex 0.515124023 0.832623005 0.349920988 + endloop + endfacet + + facet normal -0.518250883 0.659948826 -0.543951869 + outer loop + vertex 0.254595995 0.172016993 -0.203339994 + vertex 0.515124023 0.832623005 0.349920988 + vertex 0.134731993 0.118957996 -0.153512999 + endloop + endfacet + + facet normal -0.472386926 0.830829799 -0.294231981 + outer loop + vertex 0.599097013 0.871927977 0.326090991 + vertex 0.79035902 1.28275597 1.17908895 + vertex 0.515124023 0.832623005 0.349920988 + endloop + endfacet + + facet normal -0.327001125 0.87180227 -0.364734113 + outer loop + vertex 0.79035902 1.28275597 1.17908895 + vertex 0.737774014 1.28159404 1.22345495 + vertex 0.515124023 0.832623005 0.349920988 + endloop + endfacet + + facet normal -0.350684077 0.480596095 -0.803771198 + outer loop + vertex 0.79035902 1.28275597 1.17908895 + vertex 0.895301998 1.39467299 1.20021999 + vertex 0.851906002 1.45822704 1.25715399 + endloop + endfacet + + facet normal -0.56752795 0.492581934 -0.659753859 + outer loop + vertex 0.79035902 1.28275597 1.17908895 + vertex 0.851906002 1.45822704 1.25715399 + vertex 0.737774014 1.28159404 1.22345495 + endloop + endfacet + + facet normal -0.840571404 -0.0964380503 -0.533047318 + outer loop + vertex 0.895301998 1.39467299 1.20021999 + vertex 1.33289194 2.38362789 0.331256986 + vertex 0.851906002 1.45822704 1.25715399 + endloop + endfacet + + facet normal -0.887653232 0.000607000198 -0.460512102 + outer loop + vertex 1.33289194 2.38362789 0.331256986 + vertex 1.32048297 2.47545505 0.355296999 + vertex 0.851906002 1.45822704 1.25715399 + endloop + endfacet + + facet normal -0.991470754 -0.0184189957 -0.129020974 + outer loop + vertex 1.33289194 2.38362789 0.331256986 + vertex 1.51245093 2.94816399 -1.12917101 + vertex 1.50315905 2.98986292 -1.06372297 + endloop + endfacet + + facet normal -0.982979894 -0.0910649896 -0.159554973 + outer loop + vertex 1.33289194 2.38362789 0.331256986 + vertex 1.50315905 2.98986292 -1.06372297 + vertex 1.32048297 2.47545505 0.355296999 + endloop + endfacet + + facet normal -0.992559552 -0.0415029824 -0.114467941 + outer loop + vertex 1.51245093 2.94816399 -1.12917101 + vertex 1.54126191 3.22838593 -1.48060107 + vertex 1.50315905 2.98986292 -1.06372297 + endloop + endfacet + + facet normal -0.971499264 -0.156291023 -0.178220034 + outer loop + vertex 1.54126191 3.22838593 -1.48060107 + vertex 1.53517103 3.24041605 -1.45794499 + vertex 1.50315905 2.98986292 -1.06372297 + endloop + endfacet + + facet normal 0.28709814 0.225652128 0.930943549 + outer loop + vertex 0.134731993 0.118957996 -0.153512999 + vertex 0.0100760004 0.184983999 -0.131073996 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184354961 -0.887750745 0.421795905 + outer loop + vertex 1.53517103 3.24041605 -1.45794499 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.51657104 3.24703598 -1.45213997 + endloop + endfacet + + facet normal 0.127014041 0.525668204 -0.841154218 + outer loop + vertex 0.134731993 0.118957996 -0.153512999 + vertex 0.515124023 0.832623005 0.349920988 + vertex 0.0100760004 0.184983999 -0.131073996 + endloop + endfacet + + facet normal 0.362982959 0.356360972 -0.860958934 + outer loop + vertex 0.515124023 0.832623005 0.349920988 + vertex 0.427042991 0.859715998 0.324000001 + vertex 0.0100760004 0.184983999 -0.131073996 + endloop + endfacet + + facet normal 0.393000096 0.773265183 -0.497606099 + outer loop + vertex 0.515124023 0.832623005 0.349920988 + vertex 0.737774014 1.28159404 1.22345495 + vertex 0.68404901 1.30356801 1.21517205 + endloop + endfacet + + facet normal 0.385495007 0.776755929 -0.498039961 + outer loop + vertex 0.515124023 0.832623005 0.349920988 + vertex 0.68404901 1.30356801 1.21517205 + vertex 0.427042991 0.859715998 0.324000001 + endloop + endfacet + + facet normal 0.180199996 0.0707409903 -0.981082916 + outer loop + vertex 0.737774014 1.28159404 1.22345495 + vertex 0.851906002 1.45822704 1.25715399 + vertex 0.68404901 1.30356801 1.21517205 + endloop + endfacet + + facet normal 0.230535865 0.013906992 -0.972964406 + outer loop + vertex 0.851906002 1.45822704 1.25715399 + vertex 0.773847997 1.51072693 1.23941004 + vertex 0.68404901 1.30356801 1.21517205 + endloop + endfacet + + facet normal -0.213641912 -0.591137767 -0.777761698 + outer loop + vertex 0.851906002 1.45822704 1.25715399 + vertex 1.32048297 2.47545505 0.355296999 + vertex 1.25007606 2.53493595 0.329427987 + endloop + endfacet + + facet normal -0.219361112 -0.589029253 -0.777769387 + outer loop + vertex 0.851906002 1.45822704 1.25715399 + vertex 1.25007606 2.53493595 0.329427987 + vertex 0.773847997 1.51072693 1.23941004 + endloop + endfacet + + facet normal -0.526722312 -0.775172412 -0.348814219 + outer loop + vertex 1.32048297 2.47545505 0.355296999 + vertex 1.50315905 2.98986292 -1.06372297 + vertex 1.25007606 2.53493595 0.329427987 + endloop + endfacet + + facet normal -0.515794992 -0.782329023 -0.349166006 + outer loop + vertex 1.50315905 2.98986292 -1.06372297 + vertex 1.46452999 3.00791907 -1.04711497 + vertex 1.25007606 2.53493595 0.329427987 + endloop + endfacet + + facet normal -0.425265014 -0.747819066 -0.509819984 + outer loop + vertex 1.50315905 2.98986292 -1.06372297 + vertex 1.53517103 3.24041605 -1.45794499 + vertex 1.51657104 3.24703598 -1.45213997 + endloop + endfacet + + facet normal -0.532313049 -0.697276056 -0.48005107 + outer loop + vertex 1.50315905 2.98986292 -1.06372297 + vertex 1.51657104 3.24703598 -1.45213997 + vertex 1.46452999 3.00791907 -1.04711497 + endloop + endfacet + + facet normal 0.287100106 0.225650087 0.93094337 + outer loop + vertex 0.0100760004 0.184983999 -0.131073996 + vertex -0.0255030002 0.320378006 -0.152918994 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184421048 -0.887741208 0.421787083 + outer loop + vertex 1.51657104 3.24703598 -1.45213997 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.49947 3.24326396 -1.46755695 + endloop + endfacet + + facet normal 0.821849883 -0.134506986 -0.553597927 + outer loop + vertex 0.0100760004 0.184983999 -0.131073996 + vertex 0.427042991 0.859715998 0.324000001 + vertex 0.401181996 0.932807028 0.267848015 + endloop + endfacet + + facet normal 0.661470056 0.0531199984 -0.748088062 + outer loop + vertex 0.0100760004 0.184983999 -0.131073996 + vertex 0.401181996 0.932807028 0.267848015 + vertex -0.0255030002 0.320378006 -0.152918994 + endloop + endfacet + + facet normal 0.944037497 0.0903129503 -0.317232847 + outer loop + vertex 0.427042991 0.859715998 0.324000001 + vertex 0.68404901 1.30356801 1.21517205 + vertex 0.401181996 0.932807028 0.267848015 + endloop + endfacet + + facet normal 0.961416662 -0.0369919837 -0.272597879 + outer loop + vertex 0.68404901 1.30356801 1.21517205 + vertex 0.669640005 1.33213401 1.16047704 + vertex 0.401181996 0.932807028 0.267848015 + endloop + endfacet + + facet normal 0.79018414 -0.278662026 -0.545854032 + outer loop + vertex 0.68404901 1.30356801 1.21517205 + vertex 0.773847997 1.51072693 1.23941004 + vertex 0.719905972 1.51263702 1.16034794 + endloop + endfacet + + facet normal 0.896213293 -0.249837101 -0.366583139 + outer loop + vertex 0.68404901 1.30356801 1.21517205 + vertex 0.719905972 1.51263702 1.16034794 + vertex 0.669640005 1.33213401 1.16047704 + endloop + endfacet + + facet normal 0.608522832 -0.666114748 -0.431266844 + outer loop + vertex 0.773847997 1.51072693 1.23941004 + vertex 1.25007606 2.53493595 0.329427987 + vertex 0.719905972 1.51263702 1.16034794 + endloop + endfacet + + facet normal 0.533110023 -0.68267101 -0.499754041 + outer loop + vertex 1.25007606 2.53493595 0.329427987 + vertex 1.17469096 2.5172801 0.273131013 + vertex 0.719905972 1.51263702 1.16034794 + endloop + endfacet + + facet normal 0.592279136 -0.785880089 -0.177758023 + outer loop + vertex 1.25007606 2.53493595 0.329427987 + vertex 1.46452999 3.00791907 -1.04711497 + vertex 1.42565393 2.98873901 -1.09184897 + endloop + endfacet + + facet normal 0.385834247 -0.891602457 -0.237017125 + outer loop + vertex 1.25007606 2.53493595 0.329427987 + vertex 1.42565393 2.98873901 -1.09184897 + vertex 1.17469096 2.5172801 0.273131013 + endloop + endfacet + + facet normal 0.680419087 -0.665989041 -0.305759013 + outer loop + vertex 1.46452999 3.00791907 -1.04711497 + vertex 1.51657104 3.24703598 -1.45213997 + vertex 1.42565393 2.98873901 -1.09184897 + endloop + endfacet + + facet normal 0.528014839 -0.747651756 -0.402761877 + outer loop + vertex 1.51657104 3.24703598 -1.45213997 + vertex 1.49947 3.24326396 -1.46755695 + vertex 1.42565393 2.98873901 -1.09184897 + endloop + endfacet + + facet normal 0.287102133 0.225660101 0.93094033 + outer loop + vertex -0.0255030002 0.320378006 -0.152918994 + vertex 0.0547849983 0.423180997 -0.202600002 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184494004 -0.887767971 0.421698987 + outer loop + vertex 1.49947 3.24326396 -1.46755695 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.49674499 3.23194098 -1.49258697 + endloop + endfacet + + facet normal 0.800132632 -0.597048759 0.0576229766 + outer loop + vertex -0.0255030002 0.320378006 -0.152918994 + vertex 0.401181996 0.932807028 0.267848015 + vertex 0.0547849983 0.423180997 -0.202600002 + endloop + endfacet + + facet normal 0.781402111 -0.617047131 0.0930780172 + outer loop + vertex 0.401181996 0.932807028 0.267848015 + vertex 0.457011998 0.996855974 0.223748997 + vertex 0.0547849983 0.423180997 -0.202600002 + endloop + endfacet + + facet normal 0.591941774 -0.786967635 0.17403093 + outer loop + vertex 0.401181996 0.932807028 0.267848015 + vertex 0.669640005 1.33213401 1.16047704 + vertex 0.705398023 1.34577894 1.10055697 + endloop + endfacet + + facet normal 0.766158044 -0.64151305 0.0382480025 + outer loop + vertex 0.401181996 0.932807028 0.267848015 + vertex 0.705398023 1.34577894 1.10055697 + vertex 0.457011998 0.996855974 0.223748997 + endloop + endfacet + + facet normal 0.856900215 -0.238298073 0.457095116 + outer loop + vertex 0.669640005 1.33213401 1.16047704 + vertex 0.719905972 1.51263702 1.16034794 + vertex 0.705398023 1.34577894 1.10055697 + endloop + endfacet + + facet normal 0.958668172 -0.166126028 0.230992049 + outer loop + vertex 0.719905972 1.51263702 1.16034794 + vertex 0.730700016 1.46251702 1.07950306 + vertex 0.705398023 1.34577894 1.10055697 + endloop + endfacet + + facet normal 0.937909067 -0.32989803 0.107209012 + outer loop + vertex 0.719905972 1.51263702 1.16034794 + vertex 1.17469096 2.5172801 0.273131013 + vertex 1.15109396 2.43578506 0.228796005 + endloop + endfacet + + facet normal 0.949355602 -0.194093928 0.247085899 + outer loop + vertex 0.719905972 1.51263702 1.16034794 + vertex 1.15109396 2.43578506 0.228796005 + vertex 0.730700016 1.46251702 1.07950306 + endloop + endfacet + + facet normal 0.94807595 -0.310923964 0.0669199899 + outer loop + vertex 1.17469096 2.5172801 0.273131013 + vertex 1.42565393 2.98873901 -1.09184897 + vertex 1.15109396 2.43578506 0.228796005 + endloop + endfacet + + facet normal 0.943761826 -0.325121939 0.0600779913 + outer loop + vertex 1.42565393 2.98873901 -1.09184897 + vertex 1.415802 2.94676304 -1.16424298 + vertex 1.15109396 2.43578506 0.228796005 + endloop + endfacet + + facet normal 0.965287447 -0.260869861 0.012922992 + outer loop + vertex 1.42565393 2.98873901 -1.09184897 + vertex 1.49947 3.24326396 -1.46755695 + vertex 1.49674499 3.23194098 -1.49258697 + endloop + endfacet + + facet normal 0.966702342 -0.25537008 0.0165120047 + outer loop + vertex 1.42565393 2.98873901 -1.09184897 + vertex 1.49674499 3.23194098 -1.49258697 + vertex 1.415802 2.94676304 -1.16424298 + endloop + endfacet + + facet normal 0.287104994 0.225661978 0.930938959 + outer loop + vertex 0.0547849983 0.423180997 -0.202600002 + vertex 0.190484002 0.415984005 -0.242705002 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184529021 -0.887732148 0.421759069 + outer loop + vertex 1.49674499 3.23194098 -1.49258697 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.51044703 3.22158909 -1.50838101 + endloop + endfacet + + facet normal 0.0337819979 -0.611306012 0.790672958 + outer loop + vertex 0.0547849983 0.423180997 -0.202600002 + vertex 0.457011998 0.996855974 0.223748997 + vertex 0.552495003 1.00363195 0.224907994 + endloop + endfacet + + facet normal 0.175379902 -0.676896572 0.714879572 + outer loop + vertex 0.0547849983 0.423180997 -0.202600002 + vertex 0.552495003 1.00363195 0.224907994 + vertex 0.190484002 0.415984005 -0.242705002 + endloop + endfacet + + facet normal 0.0619340129 -0.933253109 0.353840023 + outer loop + vertex 0.457011998 0.996855974 0.223748997 + vertex 0.705398023 1.34577894 1.10055697 + vertex 0.552495003 1.00363195 0.224907994 + endloop + endfacet + + facet normal -0.055268988 -0.926689804 0.371740907 + outer loop + vertex 0.705398023 1.34577894 1.10055697 + vertex 0.764394999 1.33422804 1.08053398 + vertex 0.552495003 1.00363195 0.224907994 + endloop + endfacet + + facet normal 0.378070056 0.0843310058 0.921928108 + outer loop + vertex 0.705398023 1.34577894 1.10055697 + vertex 0.730700016 1.46251702 1.07950306 + vertex 0.798102021 1.39811099 1.05775404 + endloop + endfacet + + facet normal 0.343855888 0.149168938 0.927098632 + outer loop + vertex 0.705398023 1.34577894 1.10055697 + vertex 0.798102021 1.39811099 1.05775404 + vertex 0.764394999 1.33422804 1.08053398 + endloop + endfacet + + facet normal 0.588112831 0.373159915 0.717547894 + outer loop + vertex 0.730700016 1.46251702 1.07950306 + vertex 1.15109396 2.43578506 0.228796005 + vertex 0.798102021 1.39811099 1.05775404 + endloop + endfacet + + facet normal 0.621727347 0.348749191 0.701305389 + outer loop + vertex 1.15109396 2.43578506 0.228796005 + vertex 1.19705403 2.35181308 0.229809001 + vertex 0.798102021 1.39811099 1.05775404 + endloop + endfacet + + facet normal 0.900523543 0.324001819 0.289965838 + outer loop + vertex 1.15109396 2.43578506 0.228796005 + vertex 1.415802 2.94676304 -1.16424298 + vertex 1.44239593 2.91360092 -1.20978105 + endloop + endfacet + + facet normal 0.829440415 0.457835257 0.320024192 + outer loop + vertex 1.15109396 2.43578506 0.228796005 + vertex 1.44239593 2.91360092 -1.20978105 + vertex 1.19705403 2.35181308 0.229809001 + endloop + endfacet + + facet normal 0.90179795 0.19060199 0.387854964 + outer loop + vertex 1.415802 2.94676304 -1.16424298 + vertex 1.49674499 3.23194098 -1.49258697 + vertex 1.44239593 2.91360092 -1.20978105 + endloop + endfacet + + facet normal 0.809248447 0.306871176 0.500946224 + outer loop + vertex 1.49674499 3.23194098 -1.49258697 + vertex 1.51044703 3.22158909 -1.50838101 + vertex 1.44239593 2.91360092 -1.20978105 + endloop + endfacet + + facet normal 0.287105978 0.22566098 0.930938959 + outer loop + vertex 0.190484002 0.415984005 -0.242705002 + vertex 0.279406995 0.304206014 -0.243034005 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184329927 -0.887789667 0.421724826 + outer loop + vertex 1.51044703 3.22158909 -1.50838101 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.53025901 3.22000909 -1.50304699 + endloop + endfacet + + facet normal -0.455893964 -0.365067989 0.811717927 + outer loop + vertex 0.190484002 0.415984005 -0.242705002 + vertex 0.552495003 1.00363195 0.224907994 + vertex 0.279406995 0.304206014 -0.243034005 + endloop + endfacet + + facet normal -0.683324039 -0.202508017 0.701469064 + outer loop + vertex 0.552495003 1.00363195 0.224907994 + vertex 0.615728974 0.948033988 0.270455003 + vertex 0.279406995 0.304206014 -0.243034005 + endloop + endfacet + + facet normal -0.75348109 -0.528666079 0.390869021 + outer loop + vertex 0.552495003 1.00363195 0.224907994 + vertex 0.764394999 1.33422804 1.08053398 + vertex 0.802205026 1.30618 1.115484 + endloop + endfacet + + facet normal -0.750331104 -0.532756031 0.391375035 + outer loop + vertex 0.552495003 1.00363195 0.224907994 + vertex 0.802205026 1.30618 1.115484 + vertex 0.615728974 0.948033988 0.270455003 + endloop + endfacet + + facet normal -0.375712037 0.480761021 0.792281091 + outer loop + vertex 0.764394999 1.33422804 1.08053398 + vertex 0.798102021 1.39811099 1.05775404 + vertex 0.802205026 1.30618 1.115484 + endloop + endfacet + + facet normal -0.38203603 0.479180038 0.790212035 + outer loop + vertex 0.798102021 1.39811099 1.05775404 + vertex 0.871357024 1.36791801 1.11147904 + vertex 0.802205026 1.30618 1.115484 + endloop + endfacet + + facet normal -0.196147874 0.688334584 0.698370576 + outer loop + vertex 0.798102021 1.39811099 1.05775404 + vertex 1.19705403 2.35181308 0.229809001 + vertex 1.27796102 2.32860303 0.275409013 + endloop + endfacet + + facet normal -0.219507039 0.691687107 0.688030124 + outer loop + vertex 0.798102021 1.39811099 1.05775404 + vertex 1.27796102 2.32860303 0.275409013 + vertex 0.871357024 1.36791801 1.11147904 + endloop + endfacet + + facet normal 0.0565909743 0.926781595 0.371312857 + outer loop + vertex 1.19705403 2.35181308 0.229809001 + vertex 1.44239593 2.91360092 -1.20978105 + vertex 1.27796102 2.32860303 0.275409013 + endloop + endfacet + + facet normal -0.140208036 0.926429152 0.349386096 + outer loop + vertex 1.44239593 2.91360092 -1.20978105 + vertex 1.48540699 2.91422415 -1.19417298 + vertex 1.27796102 2.32860303 0.275409013 + endloop + endfacet + + facet normal -0.131446019 0.704857111 0.697064102 + outer loop + vertex 1.44239593 2.91360092 -1.20978105 + vertex 1.51044703 3.22158909 -1.50838101 + vertex 1.53025901 3.22000909 -1.50304699 + endloop + endfacet + + facet normal -0.250628948 0.705919802 0.662466824 + outer loop + vertex 1.44239593 2.91360092 -1.20978105 + vertex 1.53025901 3.22000909 -1.50304699 + vertex 1.48540699 2.91422415 -1.19417298 + endloop + endfacet + + facet normal 0.287107021 0.225659013 0.930939138 + outer loop + vertex 0.279406995 0.304206014 -0.243034005 + vertex 0.254595995 0.172016993 -0.203339994 + vertex 0.128368005 0.27710101 -0.189882994 + endloop + endfacet + + facet normal -0.184386045 -0.887791276 0.42169711 + outer loop + vertex 1.53025901 3.22000909 -1.50304699 + vertex 1.51856101 3.23323202 -1.48032296 + vertex 1.54126191 3.22838593 -1.48060107 + endloop + endfacet + + facet normal -0.923753202 0.336100101 0.183621049 + outer loop + vertex 0.279406995 0.304206014 -0.243034005 + vertex 0.615728974 0.948033988 0.270455003 + vertex 0.599097013 0.871927977 0.326090991 + endloop + endfacet + + facet normal -0.929180562 0.254806876 0.26776287 + outer loop + vertex 0.279406995 0.304206014 -0.243034005 + vertex 0.599097013 0.871927977 0.326090991 + vertex 0.254595995 0.172016993 -0.203339994 + endloop + endfacet + + facet normal -0.95622313 0.277304024 0.093486011 + outer loop + vertex 0.615728974 0.948033988 0.270455003 + vertex 0.802205026 1.30618 1.115484 + vertex 0.599097013 0.871927977 0.326090991 + endloop + endfacet + + facet normal -0.900449932 0.434893966 -0.00755599979 + outer loop + vertex 0.802205026 1.30618 1.115484 + vertex 0.79035902 1.28275597 1.17908895 + vertex 0.599097013 0.871927977 0.326090991 + endloop + endfacet + + facet normal -0.666760981 0.743948996 -0.0443829969 + outer loop + vertex 0.802205026 1.30618 1.115484 + vertex 0.871357024 1.36791801 1.11147904 + vertex 0.895301998 1.39467299 1.20021999 + endloop + endfacet + + facet normal -0.735310256 0.66884923 0.109359048 + outer loop + vertex 0.802205026 1.30618 1.115484 + vertex 0.895301998 1.39467299 1.20021999 + vertex 0.79035902 1.28275597 1.17908895 + endloop + endfacet + + facet normal -0.882354856 0.459964931 0.0994089916 + outer loop + vertex 0.871357024 1.36791801 1.11147904 + vertex 1.27796102 2.32860303 0.275409013 + vertex 0.895301998 1.39467299 1.20021999 + endloop + endfacet + + facet normal -0.796392024 0.557778955 0.233756989 + outer loop + vertex 1.27796102 2.32860303 0.275409013 + vertex 1.33289194 2.38362789 0.331256986 + vertex 0.895301998 1.39467299 1.20021999 + endloop + endfacet + + facet normal -0.852394104 0.515902042 0.0852600113 + outer loop + vertex 1.27796102 2.32860303 0.275409013 + vertex 1.48540699 2.91422415 -1.19417298 + vertex 1.51245093 2.94816399 -1.12917101 + endloop + endfacet + + facet normal -0.770075798 0.621154904 0.145429969 + outer loop + vertex 1.27796102 2.32860303 0.275409013 + vertex 1.51245093 2.94816399 -1.12917101 + vertex 1.33289194 2.38362789 0.331256986 + endloop + endfacet + + facet normal -0.917796791 0.340652943 0.203971952 + outer loop + vertex 1.48540699 2.91422415 -1.19417298 + vertex 1.53025901 3.22000909 -1.50304699 + vertex 1.51245093 2.94816399 -1.12917101 + endloop + endfacet + + facet normal -0.865918994 0.42326802 0.266512007 + outer loop + vertex 1.53025901 3.22000909 -1.50304699 + vertex 1.54126191 3.22838593 -1.48060107 + vertex 1.51245093 2.94816399 -1.12917101 + endloop + endfacet + + facet normal 0.287100911 -0.22565192 0.930942714 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex 0.0795739964 -0.0913780034 -0.153512999 + vertex 0.199438006 -0.144437 -0.203339994 + endloop + endfacet + + facet normal -0.184375003 0.887741923 0.421805978 + outer loop + vertex 1.48001194 -3.21283698 -1.45794499 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.48610401 -3.20080709 -1.48060107 + endloop + endfacet + + facet normal -0.475138009 -0.667518914 -0.573290944 + outer loop + vertex 0.459966004 -0.805042982 0.349920988 + vertex 0.543938994 -0.844349027 0.326090991 + vertex 0.199438006 -0.144437 -0.203339994 + endloop + endfacet + + facet normal -0.518250108 -0.659949124 -0.543952107 + outer loop + vertex 0.0795739964 -0.0913780034 -0.153512999 + vertex 0.459966004 -0.805042982 0.349920988 + vertex 0.199438006 -0.144437 -0.203339994 + endloop + endfacet + + facet normal -0.472386926 -0.830829799 -0.294231981 + outer loop + vertex 0.459966004 -0.805042982 0.349920988 + vertex 0.735199988 -1.25517702 1.17908895 + vertex 0.543938994 -0.844349027 0.326090991 + endloop + endfacet + + facet normal -0.327001125 -0.87180227 -0.364734113 + outer loop + vertex 0.459966004 -0.805042982 0.349920988 + vertex 0.682615995 -1.25401497 1.22345495 + vertex 0.735199988 -1.25517702 1.17908895 + endloop + endfacet + + facet normal -0.35068512 -0.480595142 -0.803771257 + outer loop + vertex 0.796747029 -1.43064797 1.25715399 + vertex 0.840143979 -1.36709404 1.20021999 + vertex 0.735199988 -1.25517702 1.17908895 + endloop + endfacet + + facet normal -0.56752795 -0.492581934 -0.659753859 + outer loop + vertex 0.682615995 -1.25401497 1.22345495 + vertex 0.796747029 -1.43064797 1.25715399 + vertex 0.735199988 -1.25517702 1.17908895 + endloop + endfacet + + facet normal -0.840571702 0.0964379609 -0.533046842 + outer loop + vertex 0.796747029 -1.43064797 1.25715399 + vertex 1.27773297 -2.35605001 0.331256986 + vertex 0.840143979 -1.36709404 1.20021999 + endloop + endfacet + + facet normal -0.887653232 -0.000607000198 -0.460512102 + outer loop + vertex 0.796747029 -1.43064797 1.25715399 + vertex 1.265324 -2.44787598 0.355296999 + vertex 1.27773297 -2.35605001 0.331256986 + endloop + endfacet + + facet normal -0.991470754 0.0184189957 -0.129020974 + outer loop + vertex 1.44800103 -2.96228409 -1.06372297 + vertex 1.45729196 -2.92058492 -1.12917101 + vertex 1.27773297 -2.35605001 0.331256986 + endloop + endfacet + + facet normal -0.982979894 0.0910649896 -0.159554973 + outer loop + vertex 1.265324 -2.44787598 0.355296999 + vertex 1.44800103 -2.96228409 -1.06372297 + vertex 1.27773297 -2.35605001 0.331256986 + endloop + endfacet + + facet normal -0.992559552 0.0415029824 -0.114467941 + outer loop + vertex 1.44800103 -2.96228409 -1.06372297 + vertex 1.48610401 -3.20080709 -1.48060107 + vertex 1.45729196 -2.92058492 -1.12917101 + endloop + endfacet + + facet normal -0.971497953 0.156295985 -0.178222984 + outer loop + vertex 1.44800103 -2.96228409 -1.06372297 + vertex 1.48001194 -3.21283698 -1.45794499 + vertex 1.48610401 -3.20080709 -1.48060107 + endloop + endfacet + + facet normal 0.28709814 -0.225652128 0.930943549 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex -0.0450830013 -0.157405004 -0.131073996 + vertex 0.0795739964 -0.0913780034 -0.153512999 + endloop + endfacet + + facet normal -0.184356034 0.887751043 0.42179507 + outer loop + vertex 1.46141195 -3.2194581 -1.45213997 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.48001194 -3.21283698 -1.45794499 + endloop + endfacet + + facet normal 0.127014041 -0.525668204 -0.841154218 + outer loop + vertex -0.0450830013 -0.157405004 -0.131073996 + vertex 0.459966004 -0.805042982 0.349920988 + vertex 0.0795739964 -0.0913780034 -0.153512999 + endloop + endfacet + + facet normal 0.362984002 -0.356359988 -0.860958934 + outer loop + vertex -0.0450830013 -0.157405004 -0.131073996 + vertex 0.371885002 -0.832136989 0.324000001 + vertex 0.459966004 -0.805042982 0.349920988 + endloop + endfacet + + facet normal 0.393002957 -0.773263991 -0.497605979 + outer loop + vertex 0.628889978 -1.27599001 1.21517205 + vertex 0.682615995 -1.25401497 1.22345495 + vertex 0.459966004 -0.805042982 0.349920988 + endloop + endfacet + + facet normal 0.38549611 -0.776755273 -0.49804014 + outer loop + vertex 0.371885002 -0.832136989 0.324000001 + vertex 0.628889978 -1.27599001 1.21517205 + vertex 0.459966004 -0.805042982 0.349920988 + endloop + endfacet + + facet normal 0.180200949 -0.0707409829 -0.981082737 + outer loop + vertex 0.628889978 -1.27599001 1.21517205 + vertex 0.796747029 -1.43064797 1.25715399 + vertex 0.682615995 -1.25401497 1.22345495 + endloop + endfacet + + facet normal 0.230534911 -0.0139069958 -0.972964704 + outer loop + vertex 0.628889978 -1.27599001 1.21517205 + vertex 0.718689024 -1.48314798 1.23941004 + vertex 0.796747029 -1.43064797 1.25715399 + endloop + endfacet + + facet normal -0.213641912 0.591137767 -0.777761698 + outer loop + vertex 1.19491804 -2.50735712 0.329427987 + vertex 1.265324 -2.44787598 0.355296999 + vertex 0.796747029 -1.43064797 1.25715399 + endloop + endfacet + + facet normal -0.219361112 0.589029253 -0.777769387 + outer loop + vertex 0.718689024 -1.48314798 1.23941004 + vertex 1.19491804 -2.50735712 0.329427987 + vertex 0.796747029 -1.43064797 1.25715399 + endloop + endfacet + + facet normal -0.526722312 0.775172412 -0.348814219 + outer loop + vertex 1.19491804 -2.50735712 0.329427987 + vertex 1.44800103 -2.96228409 -1.06372297 + vertex 1.265324 -2.44787598 0.355296999 + endloop + endfacet + + facet normal -0.515791953 0.78233093 -0.349165976 + outer loop + vertex 1.19491804 -2.50735712 0.329427987 + vertex 1.40937102 -2.98034 -1.04711497 + vertex 1.44800103 -2.96228409 -1.06372297 + endloop + endfacet + + facet normal -0.425266892 0.747818768 -0.509818792 + outer loop + vertex 1.46141195 -3.2194581 -1.45213997 + vertex 1.48001194 -3.21283698 -1.45794499 + vertex 1.44800103 -2.96228409 -1.06372297 + endloop + endfacet + + facet normal -0.53230989 0.697277844 -0.480051875 + outer loop + vertex 1.40937102 -2.98034 -1.04711497 + vertex 1.46141195 -3.2194581 -1.45213997 + vertex 1.44800103 -2.96228409 -1.06372297 + endloop + endfacet + + facet normal 0.287100106 -0.225650087 0.93094337 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex -0.0806619972 -0.292798996 -0.152918994 + vertex -0.0450830013 -0.157405004 -0.131073996 + endloop + endfacet + + facet normal -0.184420034 0.887742043 0.42178604 + outer loop + vertex 1.44431102 -3.21568489 -1.46755695 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.46141195 -3.2194581 -1.45213997 + endloop + endfacet + + facet normal 0.821849883 0.134506986 -0.553597927 + outer loop + vertex 0.346022993 -0.905228019 0.267848015 + vertex 0.371885002 -0.832136989 0.324000001 + vertex -0.0450830013 -0.157405004 -0.131073996 + endloop + endfacet + + facet normal 0.661470056 -0.0531199984 -0.748088062 + outer loop + vertex -0.0806619972 -0.292798996 -0.152918994 + vertex 0.346022993 -0.905228019 0.267848015 + vertex -0.0450830013 -0.157405004 -0.131073996 + endloop + endfacet + + facet normal 0.944037497 -0.0903129503 -0.317232847 + outer loop + vertex 0.346022993 -0.905228019 0.267848015 + vertex 0.628889978 -1.27599001 1.21517205 + vertex 0.371885002 -0.832136989 0.324000001 + endloop + endfacet + + facet normal 0.961416781 0.0369929932 -0.272596925 + outer loop + vertex 0.346022993 -0.905228019 0.267848015 + vertex 0.614481986 -1.30455494 1.16047704 + vertex 0.628889978 -1.27599001 1.21517205 + endloop + endfacet + + facet normal 0.790184855 0.278661966 -0.545852959 + outer loop + vertex 0.664747 -1.485057 1.16034794 + vertex 0.718689024 -1.48314798 1.23941004 + vertex 0.628889978 -1.27599001 1.21517205 + endloop + endfacet + + facet normal 0.89621377 0.249836937 -0.366581917 + outer loop + vertex 0.614481986 -1.30455494 1.16047704 + vertex 0.664747 -1.485057 1.16034794 + vertex 0.628889978 -1.27599001 1.21517205 + endloop + endfacet + + facet normal 0.608522832 0.666114748 -0.431266844 + outer loop + vertex 0.664747 -1.485057 1.16034794 + vertex 1.19491804 -2.50735712 0.329427987 + vertex 0.718689024 -1.48314798 1.23941004 + endloop + endfacet + + facet normal 0.53311193 0.682670951 -0.499751985 + outer loop + vertex 0.664747 -1.485057 1.16034794 + vertex 1.11953306 -2.48970103 0.273131013 + vertex 1.19491804 -2.50735712 0.329427987 + endloop + endfacet + + facet normal 0.592273772 0.785883725 -0.17775993 + outer loop + vertex 1.37049496 -2.96115994 -1.09184897 + vertex 1.40937102 -2.98034 -1.04711497 + vertex 1.19491804 -2.50735712 0.329427987 + endloop + endfacet + + facet normal 0.385835916 0.891601741 -0.237016946 + outer loop + vertex 1.11953306 -2.48970103 0.273131013 + vertex 1.37049496 -2.96115994 -1.09184897 + vertex 1.19491804 -2.50735712 0.329427987 + endloop + endfacet + + facet normal 0.680415094 0.665992081 -0.305761069 + outer loop + vertex 1.37049496 -2.96115994 -1.09184897 + vertex 1.46141195 -3.2194581 -1.45213997 + vertex 1.40937102 -2.98034 -1.04711497 + endloop + endfacet + + facet normal 0.528015077 0.747652054 -0.402761072 + outer loop + vertex 1.37049496 -2.96115994 -1.09184897 + vertex 1.44431102 -3.21568489 -1.46755695 + vertex 1.46141195 -3.2194581 -1.45213997 + endloop + endfacet + + facet normal 0.287102133 -0.225660101 0.93094033 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex -0.000372999988 -0.395601988 -0.202600002 + vertex -0.0806619972 -0.292798996 -0.152918994 + endloop + endfacet + + facet normal -0.184492007 0.887767911 0.421699971 + outer loop + vertex 1.44158602 -3.20436192 -1.49258697 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.44431102 -3.21568489 -1.46755695 + endloop + endfacet + + facet normal 0.800132632 0.597048759 0.0576229766 + outer loop + vertex -0.000372999988 -0.395601988 -0.202600002 + vertex 0.346022993 -0.905228019 0.267848015 + vertex -0.0806619972 -0.292798996 -0.152918994 + endloop + endfacet + + facet normal 0.781401157 0.617048144 0.0930790231 + outer loop + vertex -0.000372999988 -0.395601988 -0.202600002 + vertex 0.401854008 -0.969277024 0.223748997 + vertex 0.346022993 -0.905228019 0.267848015 + endloop + endfacet + + facet normal 0.591942251 0.786967278 0.174031064 + outer loop + vertex 0.650238991 -1.31819999 1.10055697 + vertex 0.614481986 -1.30455494 1.16047704 + vertex 0.346022993 -0.905228019 0.267848015 + endloop + endfacet + + facet normal 0.766158044 0.64151305 0.0382480025 + outer loop + vertex 0.401854008 -0.969277024 0.223748997 + vertex 0.650238991 -1.31819999 1.10055697 + vertex 0.346022993 -0.905228019 0.267848015 + endloop + endfacet + + facet normal 0.856900215 0.238298073 0.457095116 + outer loop + vertex 0.650238991 -1.31819999 1.10055697 + vertex 0.664747 -1.485057 1.16034794 + vertex 0.614481986 -1.30455494 1.16047704 + endloop + endfacet + + facet normal 0.958668351 0.166127056 0.230991095 + outer loop + vertex 0.650238991 -1.31819999 1.10055697 + vertex 0.675541997 -1.43493795 1.07950306 + vertex 0.664747 -1.485057 1.16034794 + endloop + endfacet + + facet normal 0.937909067 0.329899043 0.107207015 + outer loop + vertex 1.09593499 -2.40820599 0.228796005 + vertex 1.11953306 -2.48970103 0.273131013 + vertex 0.664747 -1.485057 1.16034794 + endloop + endfacet + + facet normal 0.949355602 0.194093928 0.247085899 + outer loop + vertex 0.675541997 -1.43493795 1.07950306 + vertex 1.09593499 -2.40820599 0.228796005 + vertex 0.664747 -1.485057 1.16034794 + endloop + endfacet + + facet normal 0.948075712 0.310924917 0.0669189766 + outer loop + vertex 1.09593499 -2.40820599 0.228796005 + vertex 1.37049496 -2.96115994 -1.09184897 + vertex 1.11953306 -2.48970103 0.273131013 + endloop + endfacet + + facet normal 0.943762779 0.325118899 0.0600789823 + outer loop + vertex 1.09593499 -2.40820599 0.228796005 + vertex 1.36064398 -2.91918492 -1.16424298 + vertex 1.37049496 -2.96115994 -1.09184897 + endloop + endfacet + + facet normal 0.965285242 0.260878086 0.0129180038 + outer loop + vertex 1.44158602 -3.20436192 -1.49258697 + vertex 1.44431102 -3.21568489 -1.46755695 + vertex 1.37049496 -2.96115994 -1.09184897 + endloop + endfacet + + facet normal 0.966703117 0.255367041 0.0165140014 + outer loop + vertex 1.36064398 -2.91918492 -1.16424298 + vertex 1.44158602 -3.20436192 -1.49258697 + vertex 1.37049496 -2.96115994 -1.09184897 + endloop + endfacet + + facet normal 0.287104994 -0.225661978 0.930938959 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex 0.135325 -0.388404995 -0.242705002 + vertex -0.000372999988 -0.395601988 -0.202600002 + endloop + endfacet + + facet normal -0.184526041 0.887733161 0.421758115 + outer loop + vertex 1.45528793 -3.19401002 -1.50838101 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.44158602 -3.20436192 -1.49258697 + endloop + endfacet + + facet normal 0.0337819979 0.611306012 0.790672958 + outer loop + vertex 0.497337013 -0.976052999 0.224907994 + vertex 0.401854008 -0.969277024 0.223748997 + vertex -0.000372999988 -0.395601988 -0.202600002 + endloop + endfacet + + facet normal 0.175379902 0.676896572 0.714879572 + outer loop + vertex 0.135325 -0.388404995 -0.242705002 + vertex 0.497337013 -0.976052999 0.224907994 + vertex -0.000372999988 -0.395601988 -0.202600002 + endloop + endfacet + + facet normal 0.0619340129 0.933253109 0.353840023 + outer loop + vertex 0.497337013 -0.976052999 0.224907994 + vertex 0.650238991 -1.31819999 1.10055697 + vertex 0.401854008 -0.969277024 0.223748997 + endloop + endfacet + + facet normal -0.0552679971 0.926689863 0.371740967 + outer loop + vertex 0.497337013 -0.976052999 0.224907994 + vertex 0.709236979 -1.30664897 1.08053398 + vertex 0.650238991 -1.31819999 1.10055697 + endloop + endfacet + + facet normal 0.378070056 -0.0843310058 0.921928108 + outer loop + vertex 0.742944002 -1.37053204 1.05775404 + vertex 0.675541997 -1.43493795 1.07950306 + vertex 0.650238991 -1.31819999 1.10055697 + endloop + endfacet + + facet normal 0.343855888 -0.149168938 0.927098632 + outer loop + vertex 0.709236979 -1.30664897 1.08053398 + vertex 0.742944002 -1.37053204 1.05775404 + vertex 0.650238991 -1.31819999 1.10055697 + endloop + endfacet + + facet normal 0.588112831 -0.373159915 0.717547894 + outer loop + vertex 0.742944002 -1.37053204 1.05775404 + vertex 1.09593499 -2.40820599 0.228796005 + vertex 0.675541997 -1.43493795 1.07950306 + endloop + endfacet + + facet normal 0.621727943 -0.348748952 0.701304913 + outer loop + vertex 0.742944002 -1.37053204 1.05775404 + vertex 1.14189506 -2.32423401 0.229809001 + vertex 1.09593499 -2.40820599 0.228796005 + endloop + endfacet + + facet normal 0.900525928 -0.323995978 0.289964974 + outer loop + vertex 1.38723803 -2.88602304 -1.20978105 + vertex 1.36064398 -2.91918492 -1.16424298 + vertex 1.09593499 -2.40820599 0.228796005 + endloop + endfacet + + facet normal 0.829440713 -0.45783484 0.320023894 + outer loop + vertex 1.14189506 -2.32423401 0.229809001 + vertex 1.38723803 -2.88602304 -1.20978105 + vertex 1.09593499 -2.40820599 0.228796005 + endloop + endfacet + + facet normal 0.901799619 -0.190599918 0.387851864 + outer loop + vertex 1.38723803 -2.88602304 -1.20978105 + vertex 1.44158602 -3.20436192 -1.49258697 + vertex 1.36064398 -2.91918492 -1.16424298 + endloop + endfacet + + facet normal 0.809241116 -0.306879073 0.500953138 + outer loop + vertex 1.38723803 -2.88602304 -1.20978105 + vertex 1.45528793 -3.19401002 -1.50838101 + vertex 1.44158602 -3.20436192 -1.49258697 + endloop + endfacet + + facet normal 0.287105978 -0.22566098 0.930938959 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex 0.224249005 -0.276625991 -0.243034005 + vertex 0.135325 -0.388404995 -0.242705002 + endloop + endfacet + + facet normal -0.184329927 0.887789667 0.421724826 + outer loop + vertex 1.47510099 -3.19243002 -1.50304699 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.45528793 -3.19401002 -1.50838101 + endloop + endfacet + + facet normal -0.455893964 0.365067989 0.811717927 + outer loop + vertex 0.224249005 -0.276625991 -0.243034005 + vertex 0.497337013 -0.976052999 0.224907994 + vertex 0.135325 -0.388404995 -0.242705002 + endloop + endfacet + + facet normal -0.683324039 0.202508017 0.701469064 + outer loop + vertex 0.224249005 -0.276625991 -0.243034005 + vertex 0.560570002 -0.920454979 0.270455003 + vertex 0.497337013 -0.976052999 0.224907994 + endloop + endfacet + + facet normal -0.753481925 0.528664887 0.390868932 + outer loop + vertex 0.747047007 -1.27860093 1.115484 + vertex 0.709236979 -1.30664897 1.08053398 + vertex 0.497337013 -0.976052999 0.224907994 + endloop + endfacet + + facet normal -0.750331104 0.532756031 0.391375035 + outer loop + vertex 0.560570002 -0.920454979 0.270455003 + vertex 0.747047007 -1.27860093 1.115484 + vertex 0.497337013 -0.976052999 0.224907994 + endloop + endfacet + + facet normal -0.375710905 -0.480760843 0.792281747 + outer loop + vertex 0.747047007 -1.27860093 1.115484 + vertex 0.742944002 -1.37053204 1.05775404 + vertex 0.709236979 -1.30664897 1.08053398 + endloop + endfacet + + facet normal -0.382036179 -0.479179204 0.790212393 + outer loop + vertex 0.747047007 -1.27860093 1.115484 + vertex 0.816199005 -1.34033895 1.11147904 + vertex 0.742944002 -1.37053204 1.05775404 + endloop + endfacet + + facet normal -0.196147874 -0.688334584 0.698370576 + outer loop + vertex 1.22280204 -2.30102396 0.275409013 + vertex 1.14189506 -2.32423401 0.229809001 + vertex 0.742944002 -1.37053204 1.05775404 + endloop + endfacet + + facet normal -0.219507039 -0.691687107 0.688030124 + outer loop + vertex 0.816199005 -1.34033895 1.11147904 + vertex 1.22280204 -2.30102396 0.275409013 + vertex 0.742944002 -1.37053204 1.05775404 + endloop + endfacet + + facet normal 0.0565900318 -0.926781535 0.371313214 + outer loop + vertex 1.22280204 -2.30102396 0.275409013 + vertex 1.38723803 -2.88602304 -1.20978105 + vertex 1.14189506 -2.32423401 0.229809001 + endloop + endfacet + + facet normal -0.140208036 -0.926429152 0.349386096 + outer loop + vertex 1.22280204 -2.30102396 0.275409013 + vertex 1.43024898 -2.88664603 -1.19417298 + vertex 1.38723803 -2.88602304 -1.20978105 + endloop + endfacet + + facet normal -0.131445929 -0.704857588 0.697063565 + outer loop + vertex 1.47510099 -3.19243002 -1.50304699 + vertex 1.45528793 -3.19401002 -1.50838101 + vertex 1.38723803 -2.88602304 -1.20978105 + endloop + endfacet + + facet normal -0.250627995 -0.705919981 0.662467003 + outer loop + vertex 1.43024898 -2.88664603 -1.19417298 + vertex 1.47510099 -3.19243002 -1.50304699 + vertex 1.38723803 -2.88602304 -1.20978105 + endloop + endfacet + + facet normal 0.287107021 -0.225659013 0.930939138 + outer loop + vertex 0.073210001 -0.249522001 -0.189882994 + vertex 0.199438006 -0.144437 -0.203339994 + vertex 0.224249005 -0.276625991 -0.243034005 + endloop + endfacet + + facet normal -0.184387118 0.887791514 0.421696275 + outer loop + vertex 1.48610401 -3.20080709 -1.48060107 + vertex 1.46340299 -3.20565391 -1.48032296 + vertex 1.47510099 -3.19243002 -1.50304699 + endloop + endfacet + + facet normal -0.923753202 -0.336100101 0.183621049 + outer loop + vertex 0.543938994 -0.844349027 0.326090991 + vertex 0.560570002 -0.920454979 0.270455003 + vertex 0.224249005 -0.276625991 -0.243034005 + endloop + endfacet + + facet normal -0.929180801 -0.254806966 0.267761976 + outer loop + vertex 0.199438006 -0.144437 -0.203339994 + vertex 0.543938994 -0.844349027 0.326090991 + vertex 0.224249005 -0.276625991 -0.243034005 + endloop + endfacet + + facet normal -0.95622313 -0.277304024 0.093486011 + outer loop + vertex 0.543938994 -0.844349027 0.326090991 + vertex 0.747047007 -1.27860093 1.115484 + vertex 0.560570002 -0.920454979 0.270455003 + endloop + endfacet + + facet normal -0.900449932 -0.434893966 -0.00755599979 + outer loop + vertex 0.543938994 -0.844349027 0.326090991 + vertex 0.735199988 -1.25517702 1.17908895 + vertex 0.747047007 -1.27860093 1.115484 + endloop + endfacet + + facet normal -0.666762054 -0.743947983 -0.0443830006 + outer loop + vertex 0.840143979 -1.36709404 1.20021999 + vertex 0.816199005 -1.34033895 1.11147904 + vertex 0.747047007 -1.27860093 1.115484 + endloop + endfacet + + facet normal -0.735310256 -0.66884923 0.109359048 + outer loop + vertex 0.735199988 -1.25517702 1.17908895 + vertex 0.840143979 -1.36709404 1.20021999 + vertex 0.747047007 -1.27860093 1.115484 + endloop + endfacet + + facet normal -0.882354856 -0.459964931 0.0994089916 + outer loop + vertex 0.840143979 -1.36709404 1.20021999 + vertex 1.22280204 -2.30102396 0.275409013 + vertex 0.816199005 -1.34033895 1.11147904 + endloop + endfacet + + facet normal -0.796393156 -0.55777812 0.233755067 + outer loop + vertex 0.840143979 -1.36709404 1.20021999 + vertex 1.27773297 -2.35605001 0.331256986 + vertex 1.22280204 -2.30102396 0.275409013 + endloop + endfacet + + facet normal -0.852396131 -0.515899062 0.0852590129 + outer loop + vertex 1.45729196 -2.92058492 -1.12917101 + vertex 1.43024898 -2.88664603 -1.19417298 + vertex 1.22280204 -2.30102396 0.275409013 + endloop + endfacet + + facet normal -0.770077705 -0.621152759 0.145428941 + outer loop + vertex 1.27773297 -2.35605001 0.331256986 + vertex 1.45729196 -2.92058492 -1.12917101 + vertex 1.22280204 -2.30102396 0.275409013 + endloop + endfacet + + facet normal -0.917797387 -0.34065178 0.203970864 + outer loop + vertex 1.45729196 -2.92058492 -1.12917101 + vertex 1.47510099 -3.19243002 -1.50304699 + vertex 1.43024898 -2.88664603 -1.19417298 + endloop + endfacet + + facet normal -0.865921021 -0.42326504 0.26651001 + outer loop + vertex 1.45729196 -2.92058492 -1.12917101 + vertex 1.48610401 -3.20080709 -1.48060107 + vertex 1.47510099 -3.19243002 -1.50304699 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891946077 0.305186033 -0.333607048 + outer loop + vertex -1.82387102 0.262814999 0.436648995 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.82589507 0.173241004 0.360118985 + endloop + endfacet + + facet normal -0.885285795 -0.462163895 0.0517069884 + outer loop + vertex -1.96445894 0.327820987 0.278562993 + vertex -1.92826998 0.255225986 0.249314994 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -1.96445894 0.327820987 0.278562993 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.782588899 -0.524955928 0.334627926 + outer loop + vertex -1.96445894 0.327820987 0.278562993 + vertex -1.82589507 0.173241004 0.360118985 + vertex -1.92826998 0.255225986 0.249314994 + endloop + endfacet + + facet normal -0.758137107 -0.413600057 0.504146039 + outer loop + vertex -1.96445894 0.327820987 0.278562993 + vertex -1.82387102 0.262814999 0.436648995 + vertex -1.82589507 0.173241004 0.360118985 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891943216 0.305170089 -0.333629102 + outer loop + vertex -1.86979997 0.26947999 0.565533996 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.82387102 0.262814999 0.436648995 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -1.96445894 0.327820987 0.278562993 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.239093035 -0.967433095 -0.0831130072 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.0592401 0.350344002 0.289045006 + vertex -1.96445894 0.327820987 0.278562993 + endloop + endfacet + + facet normal -0.347355902 -0.934693694 -0.0754429772 + outer loop + vertex -1.86979997 0.26947999 0.565533996 + vertex -1.82387102 0.262814999 0.436648995 + vertex -1.96445894 0.327820987 0.278562993 + endloop + endfacet + + facet normal -0.241774052 -0.963362157 -0.116098031 + outer loop + vertex -2.0592401 0.350344002 0.289045006 + vertex -1.86979997 0.26947999 0.565533996 + vertex -1.96445894 0.327820987 0.278562993 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891948104 0.305166036 -0.333620042 + outer loop + vertex -1.929093 0.188217998 0.649725974 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.86979997 0.26947999 0.565533996 + endloop + endfacet + + facet normal 0.485254169 -0.872347355 -0.059485022 + outer loop + vertex -2.14123702 0.305835992 0.272870004 + vertex -2.0592401 0.350344002 0.289045006 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.14123702 0.305835992 0.272870004 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0.482345223 -0.694664299 -0.533652186 + outer loop + vertex -2.14123702 0.305835992 0.272870004 + vertex -1.86979997 0.26947999 0.565533996 + vertex -2.0592401 0.350344002 0.289045006 + endloop + endfacet + + facet normal 0.403894991 -0.783667028 -0.471947998 + outer loop + vertex -2.14123702 0.305835992 0.272870004 + vertex -1.929093 0.188217998 0.649725974 + vertex -1.86979997 0.26947999 0.565533996 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891944408 0.305174798 -0.3336218 + outer loop + vertex -1.95710492 0.080219999 0.625826001 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.929093 0.188217998 0.649725974 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.14123702 0.305835992 0.272870004 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0.98234576 -0.14196597 0.121829979 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.14871097 0.227810994 0.242217004 + vertex -2.14123702 0.305835992 0.272870004 + endloop + endfacet + + facet normal 0.851677775 -0.107379965 -0.512946844 + outer loop + vertex -1.95710492 0.080219999 0.625826001 + vertex -1.929093 0.188217998 0.649725974 + vertex -2.14123702 0.305835992 0.272870004 + endloop + endfacet + + facet normal 0.903621852 0.0788339823 -0.421013921 + outer loop + vertex -2.14871097 0.227810994 0.242217004 + vertex -1.95710492 0.080219999 0.625826001 + vertex -2.14123702 0.305835992 0.272870004 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891943157 0.30518806 -0.333613068 + outer loop + vertex -1.93274093 0.026811 0.511829019 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.95710492 0.080219999 0.625826001 + endloop + endfacet + + facet normal 0.618495345 0.72466743 0.303843141 + outer loop + vertex -2.07603097 0.175025001 0.220166996 + vertex -2.14871097 0.227810994 0.242217004 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.07603097 0.175025001 0.220166996 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0.590632141 0.806794107 0.0153980022 + outer loop + vertex -2.07603097 0.175025001 0.220166996 + vertex -1.95710492 0.080219999 0.625826001 + vertex -2.14871097 0.227810994 0.242217004 + endloop + endfacet + + facet normal 0.806724787 0.582333744 -0.100411966 + outer loop + vertex -2.07603097 0.175025001 0.220166996 + vertex -1.93274093 0.026811 0.511829019 + vertex -1.95710492 0.080219999 0.625826001 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.891946197 0.305190057 -0.333603054 + outer loop + vertex -1.874349 0.0682099983 0.393579006 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.93274093 0.026811 0.511829019 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.07603097 0.175025001 0.220166996 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.126801014 0.93091315 0.342523098 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -1.97792399 0.187224999 0.223326996 + vertex -2.07603097 0.175025001 0.220166996 + endloop + endfacet + + facet normal 0.14587602 0.909062088 0.390289992 + outer loop + vertex -1.874349 0.0682099983 0.393579006 + vertex -1.93274093 0.026811 0.511829019 + vertex -2.07603097 0.175025001 0.220166996 + endloop + endfacet + + facet normal -0.116740949 0.779241621 0.615754724 + outer loop + vertex -1.97792399 0.187224999 0.223326996 + vertex -1.874349 0.0682099983 0.393579006 + vertex -2.07603097 0.175025001 0.220166996 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.89194411 0.30519402 -0.333605021 + outer loop + vertex -1.82589507 0.173241004 0.360118985 + vertex -1.88754892 0.152713999 0.506179988 + vertex -1.874349 0.0682099983 0.393579006 + endloop + endfacet + + facet normal -0.824144065 0.500415027 0.265276015 + outer loop + vertex -1.92826998 0.255225986 0.249314994 + vertex -1.97792399 0.187224999 0.223326996 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04417706 0.405290008 -0.393858999 + vertex -1.92826998 0.255225986 0.249314994 + vertex -2.04417706 0.405290008 -0.393858999 + endloop + endfacet + + facet normal -0.719097137 0.282446057 0.63492012 + outer loop + vertex -1.92826998 0.255225986 0.249314994 + vertex -1.874349 0.0682099983 0.393579006 + vertex -1.97792399 0.187224999 0.223326996 + endloop + endfacet + + facet normal -0.460380882 0.455178916 0.762142777 + outer loop + vertex -1.92826998 0.255225986 0.249314994 + vertex -1.82589507 0.173241004 0.360118985 + vertex -1.874349 0.0682099983 0.393579006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417208999 0.680008054 -0.602931023 + outer loop + vertex -1.57823491 0.290569007 0.523093998 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.69004607 0.288253009 0.597850978 + endloop + endfacet + + facet normal 0.390951902 0.768584847 0.506392896 + outer loop + vertex -1.67776895 0.494724005 0.372043014 + vertex -1.75114 0.490709007 0.434781998 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.67776895 0.494724005 0.372043014 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0.482774973 0.633068919 0.605104983 + outer loop + vertex -1.67776895 0.494724005 0.372043014 + vertex -1.69004607 0.288253009 0.597850978 + vertex -1.75114 0.490709007 0.434781998 + endloop + endfacet + + facet normal 0.40646106 0.663174093 0.628482044 + outer loop + vertex -1.67776895 0.494724005 0.372043014 + vertex -1.57823491 0.290569007 0.523093998 + vertex -1.69004607 0.288253009 0.597850978 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417207867 0.680008829 -0.602930844 + outer loop + vertex -1.45939696 0.361775994 0.521173 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.57823491 0.290569007 0.523093998 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.67776895 0.494724005 0.372043014 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.141779974 0.442905903 0.885286808 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.61079192 0.552542984 0.353843004 + vertex -1.67776895 0.494724005 0.372043014 + endloop + endfacet + + facet normal -0.275092959 0.481556952 0.832121909 + outer loop + vertex -1.45939696 0.361775994 0.521173 + vertex -1.57823491 0.290569007 0.523093998 + vertex -1.67776895 0.494724005 0.372043014 + endloop + endfacet + + facet normal -0.234951034 0.528878033 0.815528095 + outer loop + vertex -1.61079192 0.552542984 0.353843004 + vertex -1.45939696 0.361775994 0.521173 + vertex -1.67776895 0.494724005 0.372043014 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417209029 0.680007041 -0.602932036 + outer loop + vertex -1.42301798 0.448253989 0.593532026 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.45939696 0.361775994 0.521173 + endloop + endfacet + + facet normal -0.577504694 -0.348285824 0.738366604 + outer loop + vertex -1.60065103 0.620625973 0.39388901 + vertex -1.61079192 0.552542984 0.353843004 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.60065103 0.620625973 0.39388901 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.825805068 -0.189439997 0.531185985 + outer loop + vertex -1.60065103 0.620625973 0.39388901 + vertex -1.45939696 0.361775994 0.521173 + vertex -1.61079192 0.552542984 0.353843004 + endloop + endfacet + + facet normal -0.799487293 -0.150301054 0.581575215 + outer loop + vertex -1.60065103 0.620625973 0.39388901 + vertex -1.42301798 0.448253989 0.593532026 + vertex -1.45939696 0.361775994 0.521173 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417208076 0.680003166 -0.602937102 + outer loop + vertex -1.49649501 0.484885007 0.685687006 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.42301798 0.448253989 0.593532026 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.60065103 0.620625973 0.39388901 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.432327896 -0.901612759 0.0136729963 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.65497303 0.647706985 0.462024987 + vertex -1.60065103 0.620625973 0.39388901 + endloop + endfacet + + facet normal -0.591237962 -0.791076005 -0.156959981 + outer loop + vertex -1.49649501 0.484885007 0.685687006 + vertex -1.42301798 0.448253989 0.593532026 + vertex -1.60065103 0.620625973 0.39388901 + endloop + endfacet + + facet normal -0.591241717 -0.791073561 -0.156957924 + outer loop + vertex -1.65497303 0.647706985 0.462024987 + vertex -1.49649501 0.484885007 0.685687006 + vertex -1.60065103 0.620625973 0.39388901 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417217761 0.680004597 -0.602928638 + outer loop + vertex -1.62449408 0.444081008 0.728241026 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.49649501 0.484885007 0.685687006 + endloop + endfacet + + facet normal 0.0537490025 -0.836287022 -0.545651078 + outer loop + vertex -1.73286009 0.613394976 0.50694102 + vertex -1.65497303 0.647706985 0.462024987 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.73286009 0.613394976 0.50694102 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0.0118340012 -0.804398 -0.593973041 + outer loop + vertex -1.73286009 0.613394976 0.50694102 + vertex -1.49649501 0.484885007 0.685687006 + vertex -1.65497303 0.647706985 0.462024987 + endloop + endfacet + + facet normal 0.043387007 -0.783097148 -0.620384037 + outer loop + vertex -1.73286009 0.613394976 0.50694102 + vertex -1.62449408 0.444081008 0.728241026 + vertex -1.49649501 0.484885007 0.685687006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417210042 0.680010021 -0.602928042 + outer loop + vertex -1.71063101 0.356572986 0.689149976 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.62449408 0.444081008 0.728241026 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.73286009 0.613394976 0.50694102 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0.644525826 -0.270723939 -0.71504885 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.77565801 0.543522 0.494818002 + vertex -1.73286009 0.613394976 0.50694102 + endloop + endfacet + + facet normal 0.676752985 -0.386139005 -0.626819015 + outer loop + vertex -1.71063101 0.356572986 0.689149976 + vertex -1.62449408 0.444081008 0.728241026 + vertex -1.73286009 0.613394976 0.50694102 + endloop + endfacet + + facet normal 0.734697938 -0.349096984 -0.581678927 + outer loop + vertex -1.77565801 0.543522 0.494818002 + vertex -1.71063101 0.356572986 0.689149976 + vertex -1.73286009 0.613394976 0.50694102 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal -0.417209774 0.680009604 -0.602928638 + outer loop + vertex -1.69004607 0.288253009 0.597850978 + vertex -1.56890297 0.382055014 0.619817972 + vertex -1.71063101 0.356572986 0.689149976 + endloop + endfacet + + facet normal 0.811764777 0.561054826 -0.162034959 + outer loop + vertex -1.75114 0.490709007 0.434781998 + vertex -1.77565801 0.543522 0.494818002 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 0.828594983 0.146647006 + vertex -1.75114 0.490709007 0.434781998 + vertex -2.04218507 0.828594983 0.146647006 + endloop + endfacet + + facet normal 0.926234186 0.373678088 0.0495470129 + outer loop + vertex -1.75114 0.490709007 0.434781998 + vertex -1.71063101 0.356572986 0.689149976 + vertex -1.77565801 0.543522 0.494818002 + endloop + endfacet + + facet normal 0.957405746 0.28874594 -0.000203999953 + outer loop + vertex -1.75114 0.490709007 0.434781998 + vertex -1.69004607 0.288253009 0.597850978 + vertex -1.71063101 0.356572986 0.689149976 + endloop + endfacet + + facet normal -0.188931033 -0.0582350083 -0.980262101 + outer loop + vertex -1.06898999 0.00229800004 1.10110295 + vertex -1.10224402 0.110184997 1.10110295 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal -0.184715971 -0.0741749927 -0.979988813 + outer loop + vertex -1.10224402 0.110184997 1.10110295 + vertex -1.21148205 0.382218003 1.10110295 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal -0.0691840202 -0.258199126 0.963611364 + outer loop + vertex -1.51577306 0.250510991 0.26087001 + vertex -1.39166701 0.217256993 0.26087001 + vertex -1.51577306 0.00229800004 0.194362 + endloop + endfacet + + facet normal 0.0497390032 -0.258499026 -0.964730144 + outer loop + vertex -1.21148205 0.382218003 1.10110295 + vertex -1.51577306 0.250510991 1.12070501 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal 0.86519593 -0.129780978 0.484347939 + outer loop + vertex -1.59023798 0.217256993 0.384977013 + vertex -1.51577306 0.250510991 0.26087001 + vertex -1.51577306 0.00229800004 0.194362 + endloop + endfacet + + facet normal 0.0691840202 -0.258199126 -0.963611364 + outer loop + vertex -1.51577306 0.250510991 1.12070501 + vertex -1.63987899 0.217256993 1.12070501 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal 0.202385992 -0.60955894 0.766471028 + outer loop + vertex -1.68109 0.126405001 0.336712986 + vertex -1.59023798 0.217256993 0.384977013 + vertex -1.51577306 0.00229800004 0.194362 + endloop + endfacet + + facet normal 0.189015046 -0.189015046 -0.963611245 + outer loop + vertex -1.63987899 0.217256993 1.12070501 + vertex -1.73073196 0.126405001 1.12070501 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal 0.57565999 -0.154247016 0.803008974 + outer loop + vertex -1.71434402 0.00229800004 0.336712986 + vertex -1.68109 0.126405001 0.336712986 + vertex -1.51577306 0.00229800004 0.194362 + endloop + endfacet + + facet normal 0.258199096 -0.069185026 -0.963611245 + outer loop + vertex -1.73073196 0.126405001 1.12070501 + vertex -1.76398599 0.00229800004 1.12070501 + vertex -1.51577306 0.00229800004 1.18721402 + endloop + endfacet + + facet normal 0.202413991 -0.788102925 0.581310928 + outer loop + vertex -1.39166701 0.217256993 0.26087001 + vertex -1.30081499 0.37461701 0.442575008 + vertex -1.16183996 0.410311013 0.442575008 + endloop + endfacet + + facet normal -0.0857829452 -0.731517494 0.676404655 + outer loop + vertex -1.51577306 0.489080012 0.539102018 + vertex -1.30081499 0.37461701 0.442575008 + vertex -1.39166701 0.217256993 0.26087001 + endloop + endfacet + + facet normal -0.199330047 -0.743908167 0.637862206 + outer loop + vertex -1.51577306 0.250510991 0.26087001 + vertex -1.51577306 0.489080012 0.539102018 + vertex -1.39166701 0.217256993 0.26087001 + endloop + endfacet + + facet normal 0.818344295 -0.436300159 0.374105155 + outer loop + vertex -1.59023798 0.217256993 0.384977013 + vertex -1.51577306 0.489080012 0.539102018 + vertex -1.51577306 0.250510991 0.26087001 + endloop + endfacet + + facet normal -0.151083976 -0.455930918 0.877097785 + outer loop + vertex -1.59023798 0.217256993 0.384977013 + vertex -1.73073196 0.37461701 0.442575008 + vertex -1.51577306 0.489080012 0.539102018 + endloop + endfacet + + facet normal 0.186527073 -0.186527073 0.964580357 + outer loop + vertex -1.88809204 0.217256993 0.442575008 + vertex -1.73073196 0.37461701 0.442575008 + vertex -1.59023798 0.217256993 0.384977013 + endloop + endfacet + + facet normal 0.154704109 -0.579695344 0.800012469 + outer loop + vertex -1.68109 0.126405001 0.336712986 + vertex -1.88809204 0.217256993 0.442575008 + vertex -1.59023798 0.217256993 0.384977013 + endloop + endfacet + + facet normal 0.413534015 -0.110806011 0.903721035 + outer loop + vertex -1.71434402 0.00229800004 0.336712986 + vertex -1.88809204 0.217256993 0.442575008 + vertex -1.68109 0.126405001 0.336712986 + endloop + endfacet + + facet normal 0.30303511 -0.212556094 0.928972363 + outer loop + vertex -1.71434402 0.00229800004 0.336712986 + vertex -1.93741703 0.00229800004 0.409480006 + vertex -1.88809204 0.217256993 0.442575008 + endloop + endfacet + + facet normal -0.839146435 -0.156273901 0.520971715 + outer loop + vertex -1.16183996 0.410311013 0.442575008 + vertex -0.820776999 0.00229800004 0.869545996 + vertex -1.08585596 0.00229800004 0.442575008 + endloop + endfacet + + facet normal -0.844083071 -0.17527701 0.506756067 + outer loop + vertex -1.16183996 0.410311013 0.442575008 + vertex -0.905672014 0.411127001 0.869545996 + vertex -0.820776999 0.00229800004 0.869545996 + endloop + endfacet + + facet normal -0.610179067 -0.701910973 0.367426991 + outer loop + vertex -1.087376 0.569083989 0.869545996 + vertex -0.905672014 0.411127001 0.869545996 + vertex -1.16183996 0.410311013 0.442575008 + endloop + endfacet + + facet normal 0.237148076 -0.923342288 0.301993102 + outer loop + vertex -1.30081499 0.37461701 0.442575008 + vertex -1.087376 0.569083989 0.869545996 + vertex -1.16183996 0.410311013 0.442575008 + endloop + endfacet + + facet normal -0.22484003 -0.839457035 0.494731098 + outer loop + vertex -1.51577306 0.489080012 0.539102018 + vertex -1.087376 0.569083989 0.869545996 + vertex -1.30081499 0.37461701 0.442575008 + endloop + endfacet + + facet normal 0.136153921 -0.988691449 0.0628579706 + outer loop + vertex -1.51577306 0.489080012 0.539102018 + vertex -1.51577306 0.498724014 0.690787971 + vertex -1.087376 0.569083989 0.869545996 + endloop + endfacet + + facet normal 0.379295141 -0.923411429 0.0587080233 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.51577306 0.498724014 0.690787971 + vertex -1.51577306 0.489080012 0.539102018 + endloop + endfacet + + facet normal 0.40773806 -0.899263144 0.158352017 + outer loop + vertex -1.73073196 0.37461701 0.442575008 + vertex -1.82231998 0.370554 0.655328989 + vertex -1.51577306 0.489080012 0.539102018 + endloop + endfacet + + facet normal 0.678963184 -0.678963184 0.279317051 + outer loop + vertex -1.88809204 0.217256993 0.442575008 + vertex -1.82231998 0.370554 0.655328989 + vertex -1.73073196 0.37461701 0.442575008 + endloop + endfacet + + facet normal 0.852383077 -0.512161076 0.105518013 + outer loop + vertex -1.88809204 0.217256993 0.442575008 + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.82231998 0.370554 0.655328989 + endloop + endfacet + + facet normal 0.871156156 -0.475356132 0.122977026 + outer loop + vertex -2.02874589 0.00229800004 0.608051002 + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.88809204 0.217256993 0.442575008 + endloop + endfacet + + facet normal 0.876484156 -0.263182074 0.403126091 + outer loop + vertex -1.93741703 0.00229800004 0.409480006 + vertex -2.02874589 0.00229800004 0.608051002 + vertex -1.88809204 0.217256993 0.442575008 + endloop + endfacet + + facet normal -0.881306171 -0.176261023 -0.438442081 + outer loop + vertex -0.963268995 0.382218003 1.00323403 + vertex -0.887284994 0.00229800004 1.00323403 + vertex -0.820776999 0.00229800004 0.869545996 + endloop + endfacet + + facet normal -0.887549043 -0.184303015 -0.422242999 + outer loop + vertex -0.905672014 0.411127001 0.869545996 + vertex -0.963268995 0.382218003 1.00323403 + vertex -0.820776999 0.00229800004 0.869545996 + endloop + endfacet + + facet normal -0.599210024 -0.689293087 -0.407213032 + outer loop + vertex -1.087376 0.569083989 0.869545996 + vertex -0.963268995 0.382218003 1.00323403 + vertex -0.905672014 0.411127001 0.869545996 + endloop + endfacet + + facet normal -0.599209309 -0.689293444 -0.407213241 + outer loop + vertex -1.087376 0.569083989 0.869545996 + vertex -1.12063003 0.519014001 1.00323403 + vertex -0.963268995 0.382218003 1.00323403 + endloop + endfacet + + facet normal 0.249579027 -0.925593197 -0.284583032 + outer loop + vertex -1.51577306 0.432215005 0.939001024 + vertex -1.12063003 0.519014001 1.00323403 + vertex -1.087376 0.569083989 0.869545996 + endloop + endfacet + + facet normal 0.257640004 -0.933317065 -0.250081986 + outer loop + vertex -1.51577306 0.498724014 0.690787971 + vertex -1.51577306 0.432215005 0.939001024 + vertex -1.087376 0.569083989 0.869545996 + endloop + endfacet + + facet normal 0.397967875 -0.88613981 -0.23743996 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.51577306 0.432215005 0.939001024 + vertex -1.51577306 0.498724014 0.690787971 + endloop + endfacet + + facet normal 0.404057056 -0.881292224 -0.245075062 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.77611899 0.322712004 0.903541982 + vertex -1.51577306 0.432215005 0.939001024 + endloop + endfacet + + facet normal 0.894504726 -0.365525872 -0.25739491 + outer loop + vertex -2.02874589 0.00229800004 0.608051002 + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.95466805 0.150288999 0.655328989 + endloop + endfacet + + facet normal 0.875202715 -0.431018859 -0.219642922 + outer loop + vertex -2.02874589 0.00229800004 0.608051002 + vertex -1.94569099 0.00229800004 0.939001024 + vertex -1.89073491 0.131956995 0.903541982 + endloop + endfacet + + facet normal -0.472085088 -0.0944170132 -0.876482189 + outer loop + vertex -0.963268995 0.382218003 1.00323403 + vertex -1.06898999 0.00229800004 1.10110295 + vertex -0.887284994 0.00229800004 1.00323403 + endloop + endfacet + + facet normal -0.399085015 -0.123011015 -0.908625066 + outer loop + vertex -0.963268995 0.382218003 1.00323403 + vertex -1.10224402 0.110184997 1.10110295 + vertex -1.06898999 0.00229800004 1.10110295 + endloop + endfacet + + facet normal -0.362892926 -0.145723984 -0.92036581 + outer loop + vertex -1.21148205 0.382218003 1.10110295 + vertex -1.10224402 0.110184997 1.10110295 + vertex -0.963268995 0.382218003 1.00323403 + endloop + endfacet + + facet normal -0.337955117 -0.388762146 -0.857117355 + outer loop + vertex -1.12063003 0.519014001 1.00323403 + vertex -1.21148205 0.382218003 1.10110295 + vertex -0.963268995 0.382218003 1.00323403 + endloop + endfacet + + facet normal 0.260202944 -0.670137882 -0.695132792 + outer loop + vertex -1.51577306 0.432215005 0.939001024 + vertex -1.21148205 0.382218003 1.10110295 + vertex -1.12063003 0.519014001 1.00323403 + endloop + endfacet + + facet normal 0.25209403 -0.68426919 -0.68426919 + outer loop + vertex -1.51577306 0.432215005 0.939001024 + vertex -1.51577306 0.250510991 1.12070501 + vertex -1.21148205 0.382218003 1.10110295 + endloop + endfacet + + facet normal 0.186157033 -0.694746077 -0.694747031 + outer loop + vertex -1.63987899 0.217256993 1.12070501 + vertex -1.51577306 0.250510991 1.12070501 + vertex -1.51577306 0.432215005 0.939001024 + endloop + endfacet + + facet normal 0.380661011 -0.715228021 -0.586127996 + outer loop + vertex -1.77611899 0.322712004 0.903541982 + vertex -1.63987899 0.217256993 1.12070501 + vertex -1.51577306 0.432215005 0.939001024 + endloop + endfacet + + facet normal 0.673306763 -0.404560834 -0.618860781 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.63987899 0.217256993 1.12070501 + vertex -1.77611899 0.322712004 0.903541982 + endloop + endfacet + + facet normal 0.622429729 -0.622429729 -0.474512786 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.73073196 0.126405001 1.12070501 + vertex -1.63987899 0.217256993 1.12070501 + endloop + endfacet + + facet normal 0.784513175 -0.210212052 -0.583395123 + outer loop + vertex -1.76398599 0.00229800004 1.12070501 + vertex -1.73073196 0.126405001 1.12070501 + vertex -1.89073491 0.131956995 0.903541982 + endloop + endfacet + + facet normal 0.634200931 -0.442243934 -0.634199917 + outer loop + vertex -1.94569099 0.00229800004 0.939001024 + vertex -1.76398599 0.00229800004 1.12070501 + vertex -1.89073491 0.131956995 0.903541982 + endloop + endfacet + + facet normal -0.521937072 0.820092142 0.23458603 + outer loop + vertex -1.86046696 0.186704993 0.72092402 + vertex -1.861866 0.181822002 0.734879017 + vertex -1.90136802 0.159713998 0.72427702 + endloop + endfacet + + facet normal 0.561335981 0.0371459983 -0.826753974 + outer loop + vertex -1.86046696 0.186704993 0.72092402 + vertex -1.88625693 0.190698996 0.703593016 + vertex -1.95466805 0.150288999 0.655328989 + endloop + endfacet + + facet normal 0.511620045 -0.810681105 -0.284677029 + outer loop + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.90136802 0.159713998 0.72427702 + vertex -1.86046696 0.186704993 0.72092402 + endloop + endfacet + + facet normal 0.675249338 -0.414224237 -0.610292375 + outer loop + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.88625693 0.190698996 0.703593016 + vertex -1.862077 0.240274996 0.69669801 + endloop + endfacet + + facet normal 0.672121286 -0.413267165 -0.6143803 + outer loop + vertex -1.84992504 0.223467007 0.721297979 + vertex -1.862077 0.240274996 0.69669801 + vertex -1.88625693 0.190698996 0.703593016 + endloop + endfacet + + facet normal 0.536241055 -0.145309016 -0.831463099 + outer loop + vertex -1.88625693 0.190698996 0.703593016 + vertex -1.86046696 0.186704993 0.72092402 + vertex -1.84992504 0.223467007 0.721297979 + endloop + endfacet + + facet normal 0.895058095 -0.00553400069 -0.445915073 + outer loop + vertex -1.862077 0.240274996 0.69669801 + vertex -1.84992504 0.223467007 0.721297979 + vertex -1.83589005 0.272417009 0.748862982 + endloop + endfacet + + facet normal 0.914936006 -0.290188998 -0.280503988 + outer loop + vertex -1.83589005 0.272417009 0.748862982 + vertex -1.83185291 0.302246004 0.731172025 + vertex -1.862077 0.240274996 0.69669801 + endloop + endfacet + + facet normal 0.968834221 -0.246922046 -0.0197400041 + outer loop + vertex -1.82278597 0.320836991 0.786329985 + vertex -1.83589005 0.272417009 0.748862982 + vertex -1.82824898 0.299062014 0.790558994 + endloop + endfacet + + facet normal 0.977088094 -0.189592034 -0.0967150182 + outer loop + vertex -1.83589005 0.272417009 0.748862982 + vertex -1.82278597 0.320836991 0.786329985 + vertex -1.83185291 0.302246004 0.731172025 + endloop + endfacet + + facet normal 0.997900486 -0.059398029 0.0258140136 + outer loop + vertex -1.82883 0.30844301 0.834594011 + vertex -1.82824898 0.299062014 0.790558994 + vertex -1.82945108 0.294871002 0.827350974 + endloop + endfacet + + facet normal 0.970842361 -0.231529072 0.0621240176 + outer loop + vertex -1.82883 0.30844301 0.834594011 + vertex -1.82278597 0.320836991 0.786329985 + vertex -1.82824898 0.299062014 0.790558994 + endloop + endfacet + + facet normal 0.980895996 -0.124577008 0.149410993 + outer loop + vertex -1.82945108 0.294871002 0.827350974 + vertex -1.83534694 0.274305999 0.848914027 + vertex -1.82883 0.30844301 0.834594011 + endloop + endfacet + + facet normal 0.919196248 -0.0103330025 0.393664122 + outer loop + vertex -1.83534694 0.274305999 0.848914027 + vertex -1.84091997 0.283654988 0.862173021 + vertex -1.82883 0.30844301 0.834594011 + endloop + endfacet + + facet normal 0.793512285 -0.287576079 0.536319196 + outer loop + vertex -1.83534694 0.274305999 0.848914027 + vertex -1.859056 0.246472001 0.869068027 + vertex -1.84091997 0.283654988 0.862173021 + endloop + endfacet + + facet normal 0.804793894 -0.326704979 0.495550931 + outer loop + vertex -1.859056 0.246472001 0.869068027 + vertex -1.83534694 0.274305999 0.848914027 + vertex -1.84234202 0.249915004 0.844193995 + endloop + endfacet + + facet normal 0.715217113 -0.572144091 0.401392102 + outer loop + vertex -1.84234202 0.249915004 0.844193995 + vertex -1.87719107 0.209290996 0.848384023 + vertex -1.859056 0.246472001 0.869068027 + endloop + endfacet + + facet normal 0.653585851 -0.502279878 0.566162825 + outer loop + vertex -1.87719107 0.209290996 0.848384023 + vertex -1.84234202 0.249915004 0.844193995 + vertex -1.84963393 0.224481001 0.830048978 + endloop + endfacet + + facet normal 0.553774893 -0.8182289 0.154384971 + outer loop + vertex -1.87719107 0.209290996 0.848384023 + vertex -1.84963393 0.224481001 0.830048978 + vertex -1.851632 0.217520997 0.800320983 + endloop + endfacet + + facet normal 0.600953341 -0.777222455 0.18649511 + outer loop + vertex -1.851632 0.217520997 0.800320983 + vertex -1.88625693 0.190698996 0.800119996 + vertex -1.87719107 0.209290996 0.848384023 + endloop + endfacet + + facet normal 0.597519338 -0.772989392 0.213209108 + outer loop + vertex -1.88625693 0.190698996 0.800119996 + vertex -1.851632 0.217520997 0.800320983 + vertex -1.85507607 0.205509007 0.766424 + endloop + endfacet + + facet normal 0.664247036 -0.676876068 0.317198038 + outer loop + vertex -1.85507607 0.205509007 0.766424 + vertex -1.89834702 0.165911004 0.772539973 + vertex -1.88625693 0.190698996 0.800119996 + endloop + endfacet + + facet normal 0.657633066 -0.663550079 0.356679052 + outer loop + vertex -1.89834702 0.165911004 0.772539973 + vertex -1.85507607 0.205509007 0.766424 + vertex -1.861866 0.181822002 0.734879017 + endloop + endfacet + + facet normal 0.469525933 -0.87896502 0.0834619924 + outer loop + vertex -1.861866 0.181822002 0.734879017 + vertex -1.90136802 0.159713998 0.72427702 + vertex -1.89834702 0.165911004 0.772539973 + endloop + endfacet + + facet normal 0.373062909 -0.913278759 -0.163541958 + outer loop + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.90136802 0.159713998 0.72427702 + endloop + endfacet + + facet normal 0.998070359 -0.0116050038 -0.0609980263 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.89834702 0.165911004 0.772539973 + vertex -1.90136802 0.159713998 0.72427702 + endloop + endfacet + + facet normal 0.941413999 -0.30913201 -0.13482298 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.88625693 0.190698996 0.800119996 + vertex -1.89834702 0.165911004 0.772539973 + endloop + endfacet + + facet normal 0.967765391 -0.234683871 -0.0913969502 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.87719107 0.209290996 0.848384023 + vertex -1.88625693 0.190698996 0.800119996 + endloop + endfacet + + facet normal 0.919147134 -0.322406024 -0.22632502 + outer loop + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.859056 0.246472001 0.869068027 + vertex -1.87719107 0.209290996 0.848384023 + endloop + endfacet + + facet normal 0.629824102 -0.378435016 -0.678313076 + outer loop + vertex -1.859056 0.246472001 0.869068027 + vertex -1.89073491 0.131956995 0.903541982 + vertex -1.77611899 0.322712004 0.903541982 + endloop + endfacet + + facet normal 0.655910254 -0.434390157 -0.617322266 + outer loop + vertex -1.77611899 0.322712004 0.903541982 + vertex -1.84091997 0.283654988 0.862173021 + vertex -1.859056 0.246472001 0.869068027 + endloop + endfacet + + facet normal 0.635727286 -0.691575289 -0.342891186 + outer loop + vertex -1.77611899 0.322712004 0.903541982 + vertex -1.82883 0.30844301 0.834594011 + vertex -1.84091997 0.283654988 0.862173021 + endloop + endfacet + + facet normal 0.669934034 -0.402535051 -0.623822033 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.95466805 0.150288999 0.655328989 + vertex -1.862077 0.240274996 0.69669801 + endloop + endfacet + + facet normal 0.919927955 -0.341761976 -0.192174986 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.862077 0.240274996 0.69669801 + vertex -1.83185291 0.302246004 0.731172025 + endloop + endfacet + + facet normal 0.970269501 -0.227404878 -0.082849957 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.83185291 0.302246004 0.731172025 + vertex -1.82278597 0.320836991 0.786329985 + endloop + endfacet + + facet normal 0.549644947 -0.795333922 -0.255605966 + outer loop + vertex -1.82883 0.30844301 0.834594011 + vertex -1.77611899 0.322712004 0.903541982 + vertex -1.82231998 0.370554 0.655328989 + endloop + endfacet + + facet normal -0.685612202 -0.679787159 -0.260433048 + outer loop + vertex -1.82231998 0.370554 0.655328989 + vertex -1.82883 0.30844301 0.834594011 + vertex -1.82278597 0.320836991 0.786329985 + endloop + endfacet + + facet normal 0.0977169722 0.666159749 0.739379823 + outer loop + vertex 0.0900690034 -0.167228997 -0.494951993 + vertex -0.233263001 -0.437810004 -0.208434999 + vertex -0.584930003 -0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.169718057 0.339002132 0.925350368 + outer loop + vertex 0.460438013 -0.389086008 -0.345746011 + vertex 0.0900690034 -0.167228997 -0.494951993 + vertex 0.457304001 0 -0.488862008 + endloop + endfacet + + facet normal 0.0998720229 0.664684117 0.740419149 + outer loop + vertex 0.460438013 -0.389086008 -0.345746011 + vertex -0.233263001 -0.437810004 -0.208434999 + vertex 0.0900690034 -0.167228997 -0.494951993 + endloop + endfacet + + facet normal 0.220944032 0.28046003 0.934091032 + outer loop + vertex -0.610705018 0 -0.379406005 + vertex 0.0900690034 -0.167228997 -0.494951993 + vertex -0.584930003 -0.284505993 -0.300080001 + endloop + endfacet + + facet normal 0.220944032 -0.28046003 0.934091032 + outer loop + vertex 0.0900690034 0.167228997 -0.494951993 + vertex -0.610705018 0 -0.379406005 + vertex -0.584930003 0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.0165820085 0 0.999862492 + outer loop + vertex 0.0900690034 -0.167228997 -0.494951993 + vertex 0.0900690034 0.167228997 -0.494951993 + vertex 0.457304001 0 -0.488862008 + endloop + endfacet + + facet normal 0.162686959 0 0.986677706 + outer loop + vertex 0.0900690034 0.167228997 -0.494951993 + vertex 0.0900690034 -0.167228997 -0.494951993 + vertex -0.610705018 0 -0.379406005 + endloop + endfacet + + facet normal -0.190478116 0.247609138 0.94995153 + outer loop + vertex -1.14137506 -0.292008013 -0.409700006 + vertex -0.610705018 0 -0.379406005 + vertex -0.584930003 -0.284505993 -0.300080001 + endloop + endfacet + + facet normal 0.699706972 0 0.714430034 + outer loop + vertex -1.14137506 0.292008013 -0.409700006 + vertex -1.14137506 -0.292008013 -0.409700006 + vertex -1.41845703 0 -0.138327003 + endloop + endfacet + + facet normal -0.190478116 -0.247609138 0.94995153 + outer loop + vertex -0.610705018 0 -0.379406005 + vertex -1.14137506 0.292008013 -0.409700006 + vertex -0.584930003 0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.0569919795 0 0.998374581 + outer loop + vertex -1.14137506 0.292008013 -0.409700006 + vertex -0.610705018 0 -0.379406005 + vertex -1.14137506 -0.292008013 -0.409700006 + endloop + endfacet + + facet normal 0.802316129 -0.263622016 0.535530031 + outer loop + vertex -1.33845997 0.472478002 -0.0255929995 + vertex -1.14137506 0.292008013 -0.409700006 + vertex -1.41845703 0 -0.138327003 + endloop + endfacet + + facet normal -0.193044886 -0.149941906 0.969665408 + outer loop + vertex -1.14137506 0.292008013 -0.409700006 + vertex -0.903297007 0.764486015 -0.289241999 + vertex -0.584930003 0.284505993 -0.300080001 + endloop + endfacet + + facet normal 0.667306721 -0.481181771 0.568476737 + outer loop + vertex -0.903297007 0.764486015 -0.289241999 + vertex -1.14137506 0.292008013 -0.409700006 + vertex -1.33845997 0.472478002 -0.0255929995 + endloop + endfacet + + facet normal 0.0977169722 -0.666159749 0.739379823 + outer loop + vertex -0.233263001 0.437810004 -0.208434999 + vertex 0.0900690034 0.167228997 -0.494951993 + vertex -0.584930003 0.284505993 -0.300080001 + endloop + endfacet + + facet normal -0.169718057 -0.339002132 0.925350368 + outer loop + vertex 0.0900690034 0.167228997 -0.494951993 + vertex 0.460438013 0.389086008 -0.345746011 + vertex 0.457304001 0 -0.488862008 + endloop + endfacet + + facet normal 0.0998720229 -0.664684117 0.740419149 + outer loop + vertex 0.460438013 0.389086008 -0.345746011 + vertex 0.0900690034 0.167228997 -0.494951993 + vertex -0.233263001 0.437810004 -0.208434999 + endloop + endfacet + + facet normal -0.193044886 0.149941906 0.969665408 + outer loop + vertex -0.903297007 -0.764486015 -0.289241999 + vertex -1.14137506 -0.292008013 -0.409700006 + vertex -0.584930003 -0.284505993 -0.300080001 + endloop + endfacet + + facet normal 0.802316129 0.263622016 0.535530031 + outer loop + vertex -1.14137506 -0.292008013 -0.409700006 + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -1.41845703 0 -0.138327003 + endloop + endfacet + + facet normal 0.667307138 0.481182069 0.568476081 + outer loop + vertex -1.33845997 -0.472478002 -0.0255929995 + vertex -1.14137506 -0.292008013 -0.409700006 + vertex -0.903297007 -0.764486015 -0.289241999 + endloop + endfacet + + facet normal -0.188931033 0.0582350083 -0.980262101 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.10224402 -0.107427001 1.10110295 + vertex -1.06898999 0.00046000001 1.10110295 + endloop + endfacet + + facet normal -0.184715971 0.0741749927 -0.979988813 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.21148205 -0.379460007 1.10110295 + vertex -1.10224402 -0.107427001 1.10110295 + endloop + endfacet + + facet normal -0.0691840202 0.258199126 0.963611364 + outer loop + vertex -1.51577306 0.00046000001 0.194362 + vertex -1.39166701 -0.214498997 0.26087001 + vertex -1.51577306 -0.247752994 0.26087001 + endloop + endfacet + + facet normal 0.0497390032 0.258499026 -0.964730144 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.51577306 -0.247752994 1.12070501 + vertex -1.21148205 -0.379460007 1.10110295 + endloop + endfacet + + facet normal 0.86519593 0.129780978 0.484347939 + outer loop + vertex -1.51577306 0.00046000001 0.194362 + vertex -1.51577306 -0.247752994 0.26087001 + vertex -1.59023798 -0.214498997 0.384977013 + endloop + endfacet + + facet normal 0.0691840202 0.258199126 -0.963611364 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.63987899 -0.214498997 1.12070501 + vertex -1.51577306 -0.247752994 1.12070501 + endloop + endfacet + + facet normal 0.202385992 0.60955894 0.766471028 + outer loop + vertex -1.51577306 0.00046000001 0.194362 + vertex -1.59023798 -0.214498997 0.384977013 + vertex -1.68109 -0.123646997 0.336712986 + endloop + endfacet + + facet normal 0.189015046 0.189015046 -0.963611245 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.73073196 -0.123646997 1.12070501 + vertex -1.63987899 -0.214498997 1.12070501 + endloop + endfacet + + facet normal 0.57565999 0.154247016 0.803008974 + outer loop + vertex -1.51577306 0.00046000001 0.194362 + vertex -1.68109 -0.123646997 0.336712986 + vertex -1.71434402 0.00046000001 0.336712986 + endloop + endfacet + + facet normal 0.258199096 0.069185026 -0.963611245 + outer loop + vertex -1.51577306 0.00046000001 1.18721402 + vertex -1.76398599 0.00046000001 1.12070501 + vertex -1.73073196 -0.123646997 1.12070501 + endloop + endfacet + + facet normal 0.202413991 0.788102925 0.581310928 + outer loop + vertex -1.16183996 -0.407552987 0.442575008 + vertex -1.30081499 -0.371859998 0.442575008 + vertex -1.39166701 -0.214498997 0.26087001 + endloop + endfacet + + facet normal -0.0857829452 0.731517494 0.676404655 + outer loop + vertex -1.39166701 -0.214498997 0.26087001 + vertex -1.30081499 -0.371859998 0.442575008 + vertex -1.51577306 -0.486321986 0.539102018 + endloop + endfacet + + facet normal -0.199329078 0.743908286 0.637862265 + outer loop + vertex -1.39166701 -0.214498997 0.26087001 + vertex -1.51577306 -0.486321986 0.539102018 + vertex -1.51577306 -0.247752994 0.26087001 + endloop + endfacet + + facet normal 0.818344295 0.436300159 0.374105155 + outer loop + vertex -1.51577306 -0.247752994 0.26087001 + vertex -1.51577306 -0.486321986 0.539102018 + vertex -1.59023798 -0.214498997 0.384977013 + endloop + endfacet + + facet normal -0.151083976 0.455930918 0.877097785 + outer loop + vertex -1.51577306 -0.486321986 0.539102018 + vertex -1.73073196 -0.371859998 0.442575008 + vertex -1.59023798 -0.214498997 0.384977013 + endloop + endfacet + + facet normal 0.186527073 0.186527073 0.964580357 + outer loop + vertex -1.59023798 -0.214498997 0.384977013 + vertex -1.73073196 -0.371859998 0.442575008 + vertex -1.88809204 -0.214498997 0.442575008 + endloop + endfacet + + facet normal 0.154704019 0.579696059 0.800012052 + outer loop + vertex -1.59023798 -0.214498997 0.384977013 + vertex -1.88809204 -0.214498997 0.442575008 + vertex -1.68109 -0.123646997 0.336712986 + endloop + endfacet + + facet normal 0.413534015 0.110806011 0.903721035 + outer loop + vertex -1.68109 -0.123646997 0.336712986 + vertex -1.88809204 -0.214498997 0.442575008 + vertex -1.71434402 0.00046000001 0.336712986 + endloop + endfacet + + facet normal 0.30303511 0.212556094 0.928972363 + outer loop + vertex -1.88809204 -0.214498997 0.442575008 + vertex -1.93741703 0.00046000001 0.409480006 + vertex -1.71434402 0.00046000001 0.336712986 + endloop + endfacet + + facet normal -0.839146435 0.156273901 0.520971715 + outer loop + vertex -1.08585596 0.00046000001 0.442575008 + vertex -0.820776999 0.00046000001 0.869545996 + vertex -1.16183996 -0.407552987 0.442575008 + endloop + endfacet + + facet normal -0.844083071 0.17527701 0.506756067 + outer loop + vertex -0.820776999 0.00046000001 0.869545996 + vertex -0.905672014 -0.408369005 0.869545996 + vertex -1.16183996 -0.407552987 0.442575008 + endloop + endfacet + + facet normal -0.610179067 0.701910973 0.367426991 + outer loop + vertex -1.16183996 -0.407552987 0.442575008 + vertex -0.905672014 -0.408369005 0.869545996 + vertex -1.087376 -0.566326022 0.869545996 + endloop + endfacet + + facet normal 0.237148017 0.92334199 0.301994026 + outer loop + vertex -1.16183996 -0.407552987 0.442575008 + vertex -1.087376 -0.566326022 0.869545996 + vertex -1.30081499 -0.371859998 0.442575008 + endloop + endfacet + + facet normal -0.22484003 0.839457035 0.494731098 + outer loop + vertex -1.30081499 -0.371859998 0.442575008 + vertex -1.087376 -0.566326022 0.869545996 + vertex -1.51577306 -0.486321986 0.539102018 + endloop + endfacet + + facet normal 0.136153921 0.988691449 0.0628579706 + outer loop + vertex -1.087376 -0.566326022 0.869545996 + vertex -1.51577306 -0.495965987 0.690787971 + vertex -1.51577306 -0.486321986 0.539102018 + endloop + endfacet + + facet normal 0.379295141 0.923411429 0.0587080233 + outer loop + vertex -1.51577306 -0.486321986 0.539102018 + vertex -1.51577306 -0.495965987 0.690787971 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.40773806 0.899263144 0.158352017 + outer loop + vertex -1.51577306 -0.486321986 0.539102018 + vertex -1.82231998 -0.367796004 0.655328989 + vertex -1.73073196 -0.371859998 0.442575008 + endloop + endfacet + + facet normal 0.678963006 0.678963006 0.279318005 + outer loop + vertex -1.73073196 -0.371859998 0.442575008 + vertex -1.82231998 -0.367796004 0.655328989 + vertex -1.88809204 -0.214498997 0.442575008 + endloop + endfacet + + facet normal 0.852383077 0.512161076 0.105518013 + outer loop + vertex -1.82231998 -0.367796004 0.655328989 + vertex -1.95466805 -0.147531003 0.655328989 + vertex -1.88809204 -0.214498997 0.442575008 + endloop + endfacet + + facet normal 0.871156156 0.475356132 0.122977026 + outer loop + vertex -1.88809204 -0.214498997 0.442575008 + vertex -1.95466805 -0.147531003 0.655328989 + vertex -2.02874589 0.00046000001 0.608051002 + endloop + endfacet + + facet normal 0.876483917 0.263182968 0.403125972 + outer loop + vertex -1.88809204 -0.214498997 0.442575008 + vertex -2.02874589 0.00046000001 0.608051002 + vertex -1.93741703 0.00046000001 0.409480006 + endloop + endfacet + + facet normal -0.881306171 0.176261023 -0.438442081 + outer loop + vertex -0.820776999 0.00046000001 0.869545996 + vertex -0.887284994 0.00046000001 1.00323403 + vertex -0.963268995 -0.379460007 1.00323403 + endloop + endfacet + + facet normal -0.887549043 0.184303015 -0.422242999 + outer loop + vertex -0.820776999 0.00046000001 0.869545996 + vertex -0.963268995 -0.379460007 1.00323403 + vertex -0.905672014 -0.408369005 0.869545996 + endloop + endfacet + + facet normal -0.599210024 0.689293087 -0.407213032 + outer loop + vertex -0.905672014 -0.408369005 0.869545996 + vertex -0.963268995 -0.379460007 1.00323403 + vertex -1.087376 -0.566326022 0.869545996 + endloop + endfacet + + facet normal -0.59920913 0.689293206 -0.407214105 + outer loop + vertex -0.963268995 -0.379460007 1.00323403 + vertex -1.12063003 -0.516255975 1.00323403 + vertex -1.087376 -0.566326022 0.869545996 + endloop + endfacet + + facet normal 0.249578983 0.925593019 -0.284583956 + outer loop + vertex -1.087376 -0.566326022 0.869545996 + vertex -1.12063003 -0.516255975 1.00323403 + vertex -1.51577306 -0.429457009 0.939001024 + endloop + endfacet + + facet normal 0.257640928 0.933316827 -0.250081927 + outer loop + vertex -1.087376 -0.566326022 0.869545996 + vertex -1.51577306 -0.429457009 0.939001024 + vertex -1.51577306 -0.495965987 0.690787971 + endloop + endfacet + + facet normal 0.397967786 0.886139572 -0.237440884 + outer loop + vertex -1.51577306 -0.495965987 0.690787971 + vertex -1.51577306 -0.429457009 0.939001024 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.404057056 0.881292224 -0.245075062 + outer loop + vertex -1.51577306 -0.429457009 0.939001024 + vertex -1.77611899 -0.319954008 0.903541982 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.894504726 0.365525872 -0.25739491 + outer loop + vertex -1.95466805 -0.147531003 0.655328989 + vertex -1.89073491 -0.129198998 0.903541982 + vertex -2.02874589 0.00046000001 0.608051002 + endloop + endfacet + + facet normal 0.875202715 0.431018859 -0.219642922 + outer loop + vertex -1.89073491 -0.129198998 0.903541982 + vertex -1.94569099 0.00046000001 0.939001024 + vertex -2.02874589 0.00046000001 0.608051002 + endloop + endfacet + + facet normal -0.472085088 0.0944170132 -0.876482189 + outer loop + vertex -0.887284994 0.00046000001 1.00323403 + vertex -1.06898999 0.00046000001 1.10110295 + vertex -0.963268995 -0.379460007 1.00323403 + endloop + endfacet + + facet normal -0.399085015 0.123011015 -0.908625066 + outer loop + vertex -1.06898999 0.00046000001 1.10110295 + vertex -1.10224402 -0.107427001 1.10110295 + vertex -0.963268995 -0.379460007 1.00323403 + endloop + endfacet + + facet normal -0.362892926 0.145723984 -0.92036581 + outer loop + vertex -0.963268995 -0.379460007 1.00323403 + vertex -1.10224402 -0.107427001 1.10110295 + vertex -1.21148205 -0.379460007 1.10110295 + endloop + endfacet + + facet normal -0.337954879 0.388761878 -0.857117712 + outer loop + vertex -0.963268995 -0.379460007 1.00323403 + vertex -1.21148205 -0.379460007 1.10110295 + vertex -1.12063003 -0.516255975 1.00323403 + endloop + endfacet + + facet normal 0.260202944 0.670137882 -0.695132792 + outer loop + vertex -1.12063003 -0.516255975 1.00323403 + vertex -1.21148205 -0.379460007 1.10110295 + vertex -1.51577306 -0.429457009 0.939001024 + endloop + endfacet + + facet normal 0.25209403 0.68426919 -0.68426919 + outer loop + vertex -1.21148205 -0.379460007 1.10110295 + vertex -1.51577306 -0.247752994 1.12070501 + vertex -1.51577306 -0.429457009 0.939001024 + endloop + endfacet + + facet normal 0.186156049 0.694746196 -0.69474715 + outer loop + vertex -1.51577306 -0.429457009 0.939001024 + vertex -1.51577306 -0.247752994 1.12070501 + vertex -1.63987899 -0.214498997 1.12070501 + endloop + endfacet + + facet normal 0.380661011 0.715228021 -0.586127996 + outer loop + vertex -1.51577306 -0.429457009 0.939001024 + vertex -1.63987899 -0.214498997 1.12070501 + vertex -1.77611899 -0.319954008 0.903541982 + endloop + endfacet + + facet normal 0.673306763 0.404560834 -0.618860781 + outer loop + vertex -1.77611899 -0.319954008 0.903541982 + vertex -1.63987899 -0.214498997 1.12070501 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.622429729 0.622429729 -0.474512786 + outer loop + vertex -1.63987899 -0.214498997 1.12070501 + vertex -1.73073196 -0.123646997 1.12070501 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.784513354 0.210211098 -0.583395302 + outer loop + vertex -1.89073491 -0.129198998 0.903541982 + vertex -1.73073196 -0.123646997 1.12070501 + vertex -1.76398599 0.00046000001 1.12070501 + endloop + endfacet + + facet normal 0.634200931 0.442243934 -0.634199917 + outer loop + vertex -1.89073491 -0.129198998 0.903541982 + vertex -1.76398599 0.00046000001 1.12070501 + vertex -1.94569099 0.00046000001 0.939001024 + endloop + endfacet + + facet normal -0.521937132 -0.820093155 0.234582052 + outer loop + vertex -1.90136802 -0.156956002 0.72427702 + vertex -1.861866 -0.179064006 0.734879017 + vertex -1.86046696 -0.183946997 0.72092402 + endloop + endfacet + + facet normal 0.561335981 -0.0371459983 -0.826753974 + outer loop + vertex -1.95466805 -0.147531003 0.655328989 + vertex -1.88625693 -0.187941998 0.703593016 + vertex -1.86046696 -0.183946997 0.72092402 + endloop + endfacet + + facet normal 0.511620224 0.810681403 -0.284676135 + outer loop + vertex -1.86046696 -0.183946997 0.72092402 + vertex -1.90136802 -0.156956002 0.72427702 + vertex -1.95466805 -0.147531003 0.655328989 + endloop + endfacet + + facet normal 0.67524904 0.414225072 -0.610292137 + outer loop + vertex -1.862077 -0.237517998 0.69669801 + vertex -1.88625693 -0.187941998 0.703593016 + vertex -1.95466805 -0.147531003 0.655328989 + endloop + endfacet + + facet normal 0.672120929 0.413266957 -0.614380956 + outer loop + vertex -1.88625693 -0.187941998 0.703593016 + vertex -1.862077 -0.237517998 0.69669801 + vertex -1.84992504 -0.220708996 0.721297979 + endloop + endfacet + + facet normal 0.536240935 0.14531 -0.831462979 + outer loop + vertex -1.84992504 -0.220708996 0.721297979 + vertex -1.86046696 -0.183946997 0.72092402 + vertex -1.88625693 -0.187941998 0.703593016 + endloop + endfacet + + facet normal 0.895058095 0.00553400069 -0.445915073 + outer loop + vertex -1.83589005 -0.269659013 0.748862982 + vertex -1.84992504 -0.220708996 0.721297979 + vertex -1.862077 -0.237517998 0.69669801 + endloop + endfacet + + facet normal 0.914935708 0.290189922 -0.280503899 + outer loop + vertex -1.862077 -0.237517998 0.69669801 + vertex -1.83185291 -0.299488008 0.731172025 + vertex -1.83589005 -0.269659013 0.748862982 + endloop + endfacet + + facet normal 0.968834102 0.246923044 -0.019739002 + outer loop + vertex -1.82824898 -0.296305001 0.790558994 + vertex -1.83589005 -0.269659013 0.748862982 + vertex -1.82278597 -0.318078995 0.786329985 + endloop + endfacet + + facet normal 0.977088094 0.189592034 -0.0967150182 + outer loop + vertex -1.83185291 -0.299488008 0.731172025 + vertex -1.82278597 -0.318078995 0.786329985 + vertex -1.83589005 -0.269659013 0.748862982 + endloop + endfacet + + facet normal 0.997900426 0.0593979657 0.0258139856 + outer loop + vertex -1.82945108 -0.292113006 0.827350974 + vertex -1.82824898 -0.296305001 0.790558994 + vertex -1.82883 -0.305685014 0.834594011 + endloop + endfacet + + facet normal 0.970842183 0.231530026 0.0621240065 + outer loop + vertex -1.82824898 -0.296305001 0.790558994 + vertex -1.82278597 -0.318078995 0.786329985 + vertex -1.82883 -0.305685014 0.834594011 + endloop + endfacet + + facet normal 0.980895877 0.124576986 0.149411991 + outer loop + vertex -1.82883 -0.305685014 0.834594011 + vertex -1.83534694 -0.271548003 0.848914027 + vertex -1.82945108 -0.292113006 0.827350974 + endloop + endfacet + + facet normal 0.919196248 0.0103330025 0.393664122 + outer loop + vertex -1.82883 -0.305685014 0.834594011 + vertex -1.84091997 -0.280896991 0.862173021 + vertex -1.83534694 -0.271548003 0.848914027 + endloop + endfacet + + facet normal 0.793512464 0.287575155 0.536319315 + outer loop + vertex -1.84091997 -0.280896991 0.862173021 + vertex -1.859056 -0.243714005 0.869068027 + vertex -1.83534694 -0.271548003 0.848914027 + endloop + endfacet + + facet normal 0.804794014 0.326705992 0.495550007 + outer loop + vertex -1.84234202 -0.247156993 0.844193995 + vertex -1.83534694 -0.271548003 0.848914027 + vertex -1.859056 -0.243714005 0.869068027 + endloop + endfacet + + facet normal 0.715218186 0.572144151 0.401390105 + outer loop + vertex -1.859056 -0.243714005 0.869068027 + vertex -1.87719107 -0.206533 0.848384023 + vertex -1.84234202 -0.247156993 0.844193995 + endloop + endfacet + + facet normal 0.653584957 0.502278864 0.566164911 + outer loop + vertex -1.84963393 -0.221723005 0.830048978 + vertex -1.84234202 -0.247156993 0.844193995 + vertex -1.87719107 -0.206533 0.848384023 + endloop + endfacet + + facet normal 0.55377394 0.818229973 0.154382989 + outer loop + vertex -1.851632 -0.214763001 0.800320983 + vertex -1.84963393 -0.221723005 0.830048978 + vertex -1.87719107 -0.206533 0.848384023 + endloop + endfacet + + facet normal 0.600952983 0.777222991 0.186493993 + outer loop + vertex -1.87719107 -0.206533 0.848384023 + vertex -1.88625693 -0.187941998 0.800119996 + vertex -1.851632 -0.214763001 0.800320983 + endloop + endfacet + + facet normal 0.597518981 0.772989929 0.21320799 + outer loop + vertex -1.85507607 -0.202750996 0.766424 + vertex -1.851632 -0.214763001 0.800320983 + vertex -1.88625693 -0.187941998 0.800119996 + endloop + endfacet + + facet normal 0.664247036 0.676876068 0.317198038 + outer loop + vertex -1.88625693 -0.187941998 0.800119996 + vertex -1.89834702 -0.163152993 0.772539973 + vertex -1.85507607 -0.202750996 0.766424 + endloop + endfacet + + facet normal 0.657633364 0.663550377 0.356678218 + outer loop + vertex -1.861866 -0.179064006 0.734879017 + vertex -1.85507607 -0.202750996 0.766424 + vertex -1.89834702 -0.163152993 0.772539973 + endloop + endfacet + + facet normal 0.469525933 0.87896502 0.0834619924 + outer loop + vertex -1.89834702 -0.163152993 0.772539973 + vertex -1.90136802 -0.156956002 0.72427702 + vertex -1.861866 -0.179064006 0.734879017 + endloop + endfacet + + facet normal 0.373062909 0.913278759 -0.163541958 + outer loop + vertex -1.90136802 -0.156956002 0.72427702 + vertex -1.89073491 -0.129198998 0.903541982 + vertex -1.95466805 -0.147531003 0.655328989 + endloop + endfacet + + facet normal 0.998070359 0.0116050038 -0.0609980263 + outer loop + vertex -1.90136802 -0.156956002 0.72427702 + vertex -1.89834702 -0.163152993 0.772539973 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.941414237 0.309131056 -0.134823024 + outer loop + vertex -1.89834702 -0.163152993 0.772539973 + vertex -1.88625693 -0.187941998 0.800119996 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.967765391 0.234684095 -0.0913970396 + outer loop + vertex -1.88625693 -0.187941998 0.800119996 + vertex -1.87719107 -0.206533 0.848384023 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.919146776 0.322406918 -0.226324946 + outer loop + vertex -1.87719107 -0.206533 0.848384023 + vertex -1.859056 -0.243714005 0.869068027 + vertex -1.89073491 -0.129198998 0.903541982 + endloop + endfacet + + facet normal 0.629824638 0.378434747 -0.6783126 + outer loop + vertex -1.77611899 -0.319954008 0.903541982 + vertex -1.89073491 -0.129198998 0.903541982 + vertex -1.859056 -0.243714005 0.869068027 + endloop + endfacet + + facet normal 0.655910134 0.434389085 -0.617323101 + outer loop + vertex -1.859056 -0.243714005 0.869068027 + vertex -1.84091997 -0.280896991 0.862173021 + vertex -1.77611899 -0.319954008 0.903541982 + endloop + endfacet + + facet normal 0.635726869 0.691575825 -0.342890948 + outer loop + vertex -1.84091997 -0.280896991 0.862173021 + vertex -1.82883 -0.305685014 0.834594011 + vertex -1.77611899 -0.319954008 0.903541982 + endloop + endfacet + + facet normal 0.669934034 0.402535051 -0.623822033 + outer loop + vertex -1.862077 -0.237517998 0.69669801 + vertex -1.95466805 -0.147531003 0.655328989 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.919927955 0.341761976 -0.192174986 + outer loop + vertex -1.83185291 -0.299488008 0.731172025 + vertex -1.862077 -0.237517998 0.69669801 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.970269859 0.227403969 -0.0828489959 + outer loop + vertex -1.82278597 -0.318078995 0.786329985 + vertex -1.83185291 -0.299488008 0.731172025 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0.549644947 0.795333922 -0.255605966 + outer loop + vertex -1.82231998 -0.367796004 0.655328989 + vertex -1.77611899 -0.319954008 0.903541982 + vertex -1.82883 -0.305685014 0.834594011 + endloop + endfacet + + facet normal -0.685613155 0.679786205 -0.260433048 + outer loop + vertex -1.82278597 -0.318078995 0.786329985 + vertex -1.82883 -0.305685014 0.834594011 + vertex -1.82231998 -0.367796004 0.655328989 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.891945779 -0.305186927 -0.333606929 + outer loop + vertex -1.81837392 -0.186278999 0.356357992 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.81634998 -0.275851995 0.432888001 + endloop + endfacet + + facet normal -0.885285795 0.462163895 0.0517069884 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -1.92074704 -0.268263996 0.245554 + vertex -1.95693707 -0.340858012 0.274801999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -1.95693707 -0.340858012 0.274801999 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.782590985 0.524955928 0.334623009 + outer loop + vertex -1.92074704 -0.268263996 0.245554 + vertex -1.81837392 -0.186278999 0.356357992 + vertex -1.95693707 -0.340858012 0.274801999 + endloop + endfacet + + facet normal -0.758138955 0.413597971 0.504144967 + outer loop + vertex -1.81837392 -0.186278999 0.356357992 + vertex -1.81634998 -0.275851995 0.432888001 + vertex -1.95693707 -0.340858012 0.274801999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.89194268 -0.305170923 -0.333629906 + outer loop + vertex -1.81634998 -0.275851995 0.432888001 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.86227798 -0.282516986 0.561774015 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -1.95693707 -0.340858012 0.274801999 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.239093035 0.967433095 -0.0831130072 + outer loop + vertex -1.95693707 -0.340858012 0.274801999 + vertex -2.051718 -0.363382012 0.285284013 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.347357035 0.934693158 -0.0754440054 + outer loop + vertex -1.95693707 -0.340858012 0.274801999 + vertex -1.81634998 -0.275851995 0.432888001 + vertex -1.86227798 -0.282516986 0.561774015 + endloop + endfacet + + facet normal -0.241774037 0.963362098 -0.116099015 + outer loop + vertex -1.95693707 -0.340858012 0.274801999 + vertex -1.86227798 -0.282516986 0.561774015 + vertex -2.051718 -0.363382012 0.285284013 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.89195025 -0.305165082 -0.333615094 + outer loop + vertex -1.86227798 -0.282516986 0.561774015 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.92157102 -0.201254994 0.645965993 + endloop + endfacet + + facet normal 0.485254169 0.872347355 -0.059485022 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.051718 -0.363382012 0.285284013 + vertex -2.13371491 -0.318872988 0.269109011 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.13371491 -0.318872988 0.269109011 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal 0.482345134 0.694665194 -0.533651114 + outer loop + vertex -2.051718 -0.363382012 0.285284013 + vertex -1.86227798 -0.282516986 0.561774015 + vertex -2.13371491 -0.318872988 0.269109011 + endloop + endfacet + + facet normal 0.403897047 0.78366518 -0.47194913 + outer loop + vertex -1.86227798 -0.282516986 0.561774015 + vertex -1.92157102 -0.201254994 0.645965993 + vertex -2.13371491 -0.318872988 0.269109011 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.891946554 -0.305174887 -0.333615839 + outer loop + vertex -1.92157102 -0.201254994 0.645965993 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.94958198 -0.0932570025 0.622065008 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.13371491 -0.318872988 0.269109011 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal 0.98234576 0.14196597 0.121829979 + outer loop + vertex -2.13371491 -0.318872988 0.269109011 + vertex -2.1411891 -0.240848005 0.238456994 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal 0.851677418 0.107381061 -0.512947261 + outer loop + vertex -2.13371491 -0.318872988 0.269109011 + vertex -1.92157102 -0.201254994 0.645965993 + vertex -1.94958198 -0.0932570025 0.622065008 + endloop + endfacet + + facet normal 0.903621852 -0.0788339823 -0.421013921 + outer loop + vertex -2.13371491 -0.318872988 0.269109011 + vertex -1.94958198 -0.0932570025 0.622065008 + vertex -2.1411891 -0.240848005 0.238456994 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.89194572 -0.305181921 -0.333611906 + outer loop + vertex -1.94958198 -0.0932570025 0.622065008 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.92521799 -0.0398489982 0.508068025 + endloop + endfacet + + facet normal 0.618494272 -0.724668384 0.303843141 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.1411891 -0.240848005 0.238456994 + vertex -2.0685091 -0.188061997 0.216406003 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.0685091 -0.188061997 0.216406003 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal 0.590630949 -0.806794941 0.0153989978 + outer loop + vertex -2.1411891 -0.240848005 0.238456994 + vertex -1.94958198 -0.0932570025 0.622065008 + vertex -2.0685091 -0.188061997 0.216406003 + endloop + endfacet + + facet normal 0.806724012 -0.582334995 -0.100410998 + outer loop + vertex -1.94958198 -0.0932570025 0.622065008 + vertex -1.92521799 -0.0398489982 0.508068025 + vertex -2.0685091 -0.188061997 0.216406003 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.891949534 -0.305183858 -0.333599836 + outer loop + vertex -1.92521799 -0.0398489982 0.508068025 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.86682701 -0.0812470019 0.389818996 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.0685091 -0.188061997 0.216406003 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.126801014 -0.93091315 0.342523098 + outer loop + vertex -2.0685091 -0.188061997 0.216406003 + vertex -1.970402 -0.200262994 0.219567001 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal 0.145876989 -0.909062028 0.390289962 + outer loop + vertex -2.0685091 -0.188061997 0.216406003 + vertex -1.92521799 -0.0398489982 0.508068025 + vertex -1.86682701 -0.0812470019 0.389818996 + endloop + endfacet + + facet normal -0.116740949 -0.779241621 0.615754724 + outer loop + vertex -2.0685091 -0.188061997 0.216406003 + vertex -1.86682701 -0.0812470019 0.389818996 + vertex -1.970402 -0.200262994 0.219567001 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.891944349 -0.305192113 -0.333606124 + outer loop + vertex -1.86682701 -0.0812470019 0.389818996 + vertex -1.88002801 -0.165750995 0.502418995 + vertex -1.81837392 -0.186278999 0.356357992 + endloop + endfacet + + facet normal -0.824144065 -0.500415027 0.265276015 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -1.970402 -0.200262994 0.219567001 + vertex -1.92074704 -0.268263996 0.245554 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.03665495 -0.418327987 -0.397619992 + vertex -1.92074704 -0.268263996 0.245554 + vertex -2.03665495 -0.418327987 -0.397619992 + endloop + endfacet + + facet normal -0.71909833 -0.282447189 0.634918332 + outer loop + vertex -1.970402 -0.200262994 0.219567001 + vertex -1.86682701 -0.0812470019 0.389818996 + vertex -1.92074704 -0.268263996 0.245554 + endloop + endfacet + + facet normal -0.460383147 -0.455179155 0.762141228 + outer loop + vertex -1.86682701 -0.0812470019 0.389818996 + vertex -1.81837392 -0.186278999 0.356357992 + vertex -1.92074704 -0.268263996 0.245554 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417207867 -0.680008829 -0.602930844 + outer loop + vertex -1.69004607 -0.233094007 0.600108027 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.57823491 -0.235411003 0.525350988 + endloop + endfacet + + facet normal 0.39095211 -0.768585265 0.506392181 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.75114 -0.435550988 0.437038004 + vertex -1.67776895 -0.439565986 0.37429899 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.67776895 -0.439565986 0.37429899 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal 0.482775718 -0.633069634 0.605103672 + outer loop + vertex -1.75114 -0.435550988 0.437038004 + vertex -1.69004607 -0.233094007 0.600108027 + vertex -1.67776895 -0.439565986 0.37429899 + endloop + endfacet + + facet normal 0.40646106 -0.663174093 0.628482044 + outer loop + vertex -1.69004607 -0.233094007 0.600108027 + vertex -1.57823491 -0.235411003 0.525350988 + vertex -1.67776895 -0.439565986 0.37429899 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417207867 -0.680008829 -0.602930844 + outer loop + vertex -1.57823491 -0.235411003 0.525350988 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.45939696 -0.306618005 0.523428977 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.67776895 -0.439565986 0.37429899 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.141780034 -0.442905128 0.885287166 + outer loop + vertex -1.67776895 -0.439565986 0.37429899 + vertex -1.61079192 -0.497384012 0.35609901 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.275092959 -0.481556952 0.832121909 + outer loop + vertex -1.67776895 -0.439565986 0.37429899 + vertex -1.57823491 -0.235411003 0.525350988 + vertex -1.45939696 -0.306618005 0.523428977 + endloop + endfacet + + facet normal -0.234952107 -0.528877199 0.815528333 + outer loop + vertex -1.67776895 -0.439565986 0.37429899 + vertex -1.45939696 -0.306618005 0.523428977 + vertex -1.61079192 -0.497384012 0.35609901 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417209029 -0.680007041 -0.602932036 + outer loop + vertex -1.45939696 -0.306618005 0.523428977 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.42301798 -0.393096 0.595789015 + endloop + endfacet + + facet normal -0.577504694 0.348285824 0.738366604 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.61079192 -0.497384012 0.35609901 + vertex -1.60065103 -0.565468013 0.396145999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.60065103 -0.565468013 0.396145999 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.825805068 0.189439997 0.531185985 + outer loop + vertex -1.61079192 -0.497384012 0.35609901 + vertex -1.45939696 -0.306618005 0.523428977 + vertex -1.60065103 -0.565468013 0.396145999 + endloop + endfacet + + facet normal -0.799487293 0.150301054 0.581575215 + outer loop + vertex -1.45939696 -0.306618005 0.523428977 + vertex -1.42301798 -0.393096 0.595789015 + vertex -1.60065103 -0.565468013 0.396145999 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417208076 -0.680003166 -0.602937102 + outer loop + vertex -1.42301798 -0.393096 0.595789015 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.49649501 -0.429726005 0.687943995 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.60065103 -0.565468013 0.396145999 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.432327896 0.901612759 0.0136719961 + outer loop + vertex -1.60065103 -0.565468013 0.396145999 + vertex -1.65497303 -0.592549026 0.464280993 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.591237903 0.791075826 -0.156960949 + outer loop + vertex -1.60065103 -0.565468013 0.396145999 + vertex -1.42301798 -0.393096 0.595789015 + vertex -1.49649501 -0.429726005 0.687943995 + endloop + endfacet + + facet normal -0.591241062 0.791074038 -0.156958029 + outer loop + vertex -1.60065103 -0.565468013 0.396145999 + vertex -1.49649501 -0.429726005 0.687943995 + vertex -1.65497303 -0.592549026 0.464280993 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417216957 -0.680004954 -0.602928936 + outer loop + vertex -1.49649501 -0.429726005 0.687943995 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.62449408 -0.388922006 0.730498016 + endloop + endfacet + + facet normal 0.0537480377 0.836287558 -0.545650363 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.65497303 -0.592549026 0.464280993 + vertex -1.73286009 -0.558236003 0.50919801 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.73286009 -0.558236003 0.50919801 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal 0.011833 0.804398 -0.593973041 + outer loop + vertex -1.65497303 -0.592549026 0.464280993 + vertex -1.49649501 -0.429726005 0.687943995 + vertex -1.73286009 -0.558236003 0.50919801 + endloop + endfacet + + facet normal 0.043387007 0.783097148 -0.620384037 + outer loop + vertex -1.49649501 -0.429726005 0.687943995 + vertex -1.62449408 -0.388922006 0.730498016 + vertex -1.73286009 -0.558236003 0.50919801 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417210042 -0.680010021 -0.602928042 + outer loop + vertex -1.62449408 -0.388922006 0.730498016 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.71063101 -0.301414013 0.691406012 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.73286009 -0.558236003 0.50919801 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal 0.644526064 0.270723015 -0.715049088 + outer loop + vertex -1.73286009 -0.558236003 0.50919801 + vertex -1.77565801 -0.488364011 0.497074008 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal 0.676753223 0.386138141 -0.626819253 + outer loop + vertex -1.73286009 -0.558236003 0.50919801 + vertex -1.62449408 -0.388922006 0.730498016 + vertex -1.71063101 -0.301414013 0.691406012 + endloop + endfacet + + facet normal 0.734698236 0.349097162 -0.581678212 + outer loop + vertex -1.73286009 -0.558236003 0.50919801 + vertex -1.71063101 -0.301414013 0.691406012 + vertex -1.77565801 -0.488364011 0.497074008 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal -0.417209774 -0.680009604 -0.602928638 + outer loop + vertex -1.71063101 -0.301414013 0.691406012 + vertex -1.56890297 -0.326896995 0.622075021 + vertex -1.69004607 -0.233094007 0.600108027 + endloop + endfacet + + facet normal 0.811764777 -0.561054826 -0.162034959 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.77565801 -0.488364011 0.497074008 + vertex -1.75114 -0.435550988 0.437038004 + endloop + endfacet + + facet normal 0 0 0 + outer loop + vertex -2.04218507 -0.77343601 0.148902997 + vertex -1.75114 -0.435550988 0.437038004 + vertex -2.04218507 -0.77343601 0.148902997 + endloop + endfacet + + facet normal 0.926234186 -0.373678088 0.0495470129 + outer loop + vertex -1.77565801 -0.488364011 0.497074008 + vertex -1.71063101 -0.301414013 0.691406012 + vertex -1.75114 -0.435550988 0.437038004 + endloop + endfacet + + facet normal 0.957405746 -0.28874594 -0.000203999953 + outer loop + vertex -1.71063101 -0.301414013 0.691406012 + vertex -1.69004607 -0.233094007 0.600108027 + vertex -1.75114 -0.435550988 0.437038004 + endloop + endfacet + + facet normal -0.416388899 -0.719635844 -0.55564785 + outer loop + vertex -1.74193907 0.30865401 0.859300017 + vertex -1.71201098 0.319709986 0.822552979 + vertex -1.75035691 0.337029994 0.828857005 + endloop + endfacet + + facet normal 0.0543019809 -0.722881734 -0.688834786 + outer loop + vertex -1.79036307 0.316971004 0.846754014 + vertex -1.74193907 0.30865401 0.859300017 + vertex -1.75035691 0.337029994 0.828857005 + endloop + endfacet + + facet normal 0.418186873 -0.411096871 -0.810011804 + outer loop + vertex -1.78778303 0.271717012 0.87105298 + vertex -1.79036307 0.316971004 0.846754014 + vertex -1.82835197 0.274188995 0.848854005 + endloop + endfacet + + facet normal 0.147420973 -0.461364925 -0.874876797 + outer loop + vertex -1.78778303 0.271717012 0.87105298 + vertex -1.74193907 0.30865401 0.859300017 + vertex -1.79036307 0.316971004 0.846754014 + endloop + endfacet + + facet normal 0.471917987 -0.110359997 -0.874708056 + outer loop + vertex -1.83203197 0.223009005 0.853326023 + vertex -1.78778303 0.271717012 0.87105298 + vertex -1.82835197 0.274188995 0.848854005 + endloop + endfacet + + facet normal 0.488865733 0.668644667 -0.560289621 + outer loop + vertex -1.85778403 0.181133002 0.812886 + vertex -1.82527602 0.146935999 0.800439 + vertex -1.82124805 0.177171007 0.840036988 + endloop + endfacet + + facet normal 0.901277065 0.41694206 -0.117724016 + outer loop + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.85778403 0.181133002 0.812886 + vertex -1.87216401 0.202947006 0.780054986 + endloop + endfacet + + facet normal 0.416387886 0.908436775 0.0369279943 + outer loop + vertex -1.82527602 0.146935999 0.800439 + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.81685805 0.144767001 0.758879006 + endloop + endfacet + + facet normal 0.654929042 0.713351011 -0.249396011 + outer loop + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.82527602 0.146935999 0.800439 + vertex -1.85778403 0.181133002 0.812886 + endloop + endfacet + + facet normal 0.901276946 0.243723989 0.358187973 + outer loop + vertex -1.85778403 0.207340002 0.740882993 + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.87216401 0.202947006 0.780054986 + endloop + endfacet + + facet normal 0.488877177 0.152067065 0.858996332 + outer loop + vertex -1.82527602 0.173142999 0.72843498 + vertex -1.85778403 0.207340002 0.740882993 + vertex -1.82124805 0.221757993 0.717536986 + endloop + endfacet + + facet normal 0.416390866 0.719640791 0.555639863 + outer loop + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.82527602 0.173142999 0.72843498 + vertex -1.81685805 0.144767001 0.758879006 + endloop + endfacet + + facet normal 0.654934824 0.386147916 0.649576843 + outer loop + vertex -1.82527602 0.173142999 0.72843498 + vertex -1.85520399 0.162085995 0.765182972 + vertex -1.85778403 0.207340002 0.740882993 + endloop + endfacet + + facet normal 0.289381891 -0.326072842 0.899963617 + outer loop + vertex -1.83203197 0.265412986 0.736820996 + vertex -1.78360796 0.267105997 0.721863985 + vertex -1.82124805 0.221757993 0.717536986 + endloop + endfacet + + facet normal 0.471929044 -0.646786034 0.599125087 + outer loop + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.83203197 0.265412986 0.736820996 + vertex -1.82835197 0.301744998 0.77314502 + endloop + endfacet + + facet normal 0.00501300022 -0.570511997 0.821273983 + outer loop + vertex -1.78360796 0.267105997 0.721863985 + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.74596691 0.304625988 0.747698009 + endloop + endfacet + + facet normal 0.266493112 -0.534111202 0.802313328 + outer loop + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.78360796 0.267105997 0.721863985 + vertex -1.83203197 0.265412986 0.736820996 + endloop + endfacet + + facet normal 0.418194056 -0.835585117 0.356246054 + outer loop + vertex -1.79036307 0.333168 0.802253008 + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.82835197 0.301744998 0.77314502 + endloop + endfacet + + facet normal 0.0543040037 -0.996534169 0.0630150065 + outer loop + vertex -1.74193907 0.33486101 0.787295997 + vertex -1.79036307 0.333168 0.802253008 + vertex -1.75035691 0.337029994 0.828857005 + endloop + endfacet + + facet normal -0.0790780187 -0.788413107 0.610042095 + outer loop + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.74193907 0.33486101 0.787295997 + vertex -1.74596691 0.304625988 0.747698009 + endloop + endfacet + + facet normal 0.147421986 -0.915789962 0.37362498 + outer loop + vertex -1.74193907 0.33486101 0.787295997 + vertex -1.78778303 0.314121008 0.75454998 + vertex -1.79036307 0.333168 0.802253008 + endloop + endfacet + + facet normal -0.416385919 -0.908437848 -0.036924988 + outer loop + vertex -1.71201098 0.319709986 0.822552979 + vertex -1.74193907 0.33486101 0.787295997 + vertex -1.75035691 0.337029994 0.828857005 + endloop + endfacet + + facet normal 0.629848003 -0.584398985 -0.511633992 + outer loop + vertex -1.79036307 0.316971004 0.846754014 + vertex -1.83620691 0.296231002 0.814006984 + vertex -1.82835197 0.274188995 0.848854005 + endloop + endfacet + + facet normal 0.303186983 -0.895461917 -0.325922996 + outer loop + vertex -1.79036307 0.333168 0.802253008 + vertex -1.79036307 0.316971004 0.846754014 + vertex -1.75035691 0.337029994 0.828857005 + endloop + endfacet + + facet normal 0.629847765 -0.77654773 0.0162899923 + outer loop + vertex -1.83620691 0.296231002 0.814006984 + vertex -1.79036307 0.333168 0.802253008 + vertex -1.82835197 0.301744998 0.77314502 + endloop + endfacet + + facet normal 0.556288183 -0.780874252 -0.284216076 + outer loop + vertex -1.79036307 0.333168 0.802253008 + vertex -1.83620691 0.296231002 0.814006984 + vertex -1.79036307 0.316971004 0.846754014 + endloop + endfacet + + facet normal 0.813501 -0.390870959 -0.430622935 + outer loop + vertex -1.83620691 0.296231002 0.814006984 + vertex -1.86195993 0.238159001 0.818068981 + vertex -1.82835197 0.274188995 0.848854005 + endloop + endfacet + + facet normal 0.813501239 -0.576223135 0.0786300153 + outer loop + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.83620691 0.296231002 0.814006984 + vertex -1.82835197 0.301744998 0.77314502 + endloop + endfacet + + facet normal 0.976355553 -0.203133896 -0.0739349648 + outer loop + vertex -1.86195993 0.238159001 0.818068981 + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.87216401 0.202947006 0.780054986 + endloop + endfacet + + facet normal 0.900026679 -0.409550846 -0.14906396 + outer loop + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.86195993 0.238159001 0.818068981 + vertex -1.83620691 0.296231002 0.814006984 + endloop + endfacet + + facet normal 0.733524799 -0.111328974 -0.670482814 + outer loop + vertex -1.86195993 0.238159001 0.818068981 + vertex -1.83203197 0.223009005 0.853326023 + vertex -1.82835197 0.274188995 0.848854005 + endloop + endfacet + + facet normal 0.934058905 0.0995580032 -0.342960984 + outer loop + vertex -1.85778403 0.181133002 0.812886 + vertex -1.86195993 0.238159001 0.818068981 + vertex -1.87216401 0.202947006 0.780054986 + endloop + endfacet + + facet normal 0.582925737 0.34976086 -0.733392715 + outer loop + vertex -1.83203197 0.223009005 0.853326023 + vertex -1.85778403 0.181133002 0.812886 + vertex -1.82124805 0.177171007 0.840036988 + endloop + endfacet + + facet normal 0.78092432 0.113006048 -0.614318252 + outer loop + vertex -1.85778403 0.181133002 0.812886 + vertex -1.83203197 0.223009005 0.853326023 + vertex -1.86195993 0.238159001 0.818068981 + endloop + endfacet + + facet normal 0.582937837 -0.203489929 0.786622763 + outer loop + vertex -1.85778403 0.207340002 0.740882993 + vertex -1.83203197 0.265412986 0.736820996 + vertex -1.82124805 0.221757993 0.717536986 + endloop + endfacet + + facet normal 0.934058607 -0.144184947 0.326718837 + outer loop + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.85778403 0.207340002 0.740882993 + vertex -1.87216401 0.202947006 0.780054986 + endloop + endfacet + + facet normal 0.733523011 -0.516260922 0.442061961 + outer loop + vertex -1.83203197 0.265412986 0.736820996 + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.82835197 0.301744998 0.77314502 + endloop + endfacet + + facet normal 0.780922234 -0.308308095 0.54323715 + outer loop + vertex -1.86195993 0.254355997 0.773567975 + vertex -1.83203197 0.265412986 0.736820996 + vertex -1.85778403 0.207340002 0.740882993 + endloop + endfacet + + facet normal -0.416389078 0.719636202 -0.555647135 + outer loop + vertex -1.75035691 -0.325998992 0.817825019 + vertex -1.71201098 -0.308679014 0.811520994 + vertex -1.74193907 -0.297621995 0.848267972 + endloop + endfacet + + facet normal 0.0543030165 0.722881198 -0.688835204 + outer loop + vertex -1.75035691 -0.325998992 0.817825019 + vertex -1.74193907 -0.297621995 0.848267972 + vertex -1.79036307 -0.305938989 0.835722029 + endloop + endfacet + + facet normal 0.418186873 0.411096871 -0.810011804 + outer loop + vertex -1.82835197 -0.263157994 0.83782202 + vertex -1.79036307 -0.305938989 0.835722029 + vertex -1.78778303 -0.260684997 0.860022008 + endloop + endfacet + + facet normal 0.147422016 0.461364061 -0.874877095 + outer loop + vertex -1.79036307 -0.305938989 0.835722029 + vertex -1.74193907 -0.297621995 0.848267972 + vertex -1.78778303 -0.260684997 0.860022008 + endloop + endfacet + + facet normal 0.471917987 0.110359997 -0.874708056 + outer loop + vertex -1.82835197 -0.263157994 0.83782202 + vertex -1.78778303 -0.260684997 0.860022008 + vertex -1.83203197 -0.211977005 0.842293978 + endloop + endfacet + + facet normal 0.488864958 -0.668645024 -0.560289919 + outer loop + vertex -1.82124805 -0.166140005 0.829005003 + vertex -1.82527602 -0.135903999 0.789408028 + vertex -1.85778403 -0.170101002 0.801854014 + endloop + endfacet + + facet normal 0.901277483 -0.416941255 -0.117724068 + outer loop + vertex -1.87216401 -0.191915005 0.769023001 + vertex -1.85778403 -0.170101002 0.801854014 + vertex -1.85520399 -0.151054993 0.754150987 + endloop + endfacet + + facet normal 0.416387081 -0.908437192 0.0369280092 + outer loop + vertex -1.81685805 -0.133735001 0.747847021 + vertex -1.85520399 -0.151054993 0.754150987 + vertex -1.82527602 -0.135903999 0.789408028 + endloop + endfacet + + facet normal 0.654929042 -0.713351011 -0.249396011 + outer loop + vertex -1.85778403 -0.170101002 0.801854014 + vertex -1.82527602 -0.135903999 0.789408028 + vertex -1.85520399 -0.151054993 0.754150987 + endloop + endfacet + + facet normal 0.901276588 -0.243724898 0.358187854 + outer loop + vertex -1.87216401 -0.191915005 0.769023001 + vertex -1.85520399 -0.151054993 0.754150987 + vertex -1.85778403 -0.196308002 0.729851007 + endloop + endfacet + + facet normal 0.488875985 -0.152067006 0.858997047 + outer loop + vertex -1.82124805 -0.210725993 0.706505001 + vertex -1.85778403 -0.196308002 0.729851007 + vertex -1.82527602 -0.162110999 0.717404008 + endloop + endfacet + + facet normal 0.416390151 -0.719640255 0.555641174 + outer loop + vertex -1.81685805 -0.133735001 0.747847021 + vertex -1.82527602 -0.162110999 0.717404008 + vertex -1.85520399 -0.151054993 0.754150987 + endloop + endfacet + + facet normal 0.65493387 -0.386147916 0.649577796 + outer loop + vertex -1.85778403 -0.196308002 0.729851007 + vertex -1.85520399 -0.151054993 0.754150987 + vertex -1.82527602 -0.162110999 0.717404008 + endloop + endfacet + + facet normal 0.289381891 0.326072842 0.899963617 + outer loop + vertex -1.82124805 -0.210725993 0.706505001 + vertex -1.78360796 -0.256074011 0.710832 + vertex -1.83203197 -0.254381001 0.725790024 + endloop + endfacet + + facet normal 0.471929044 0.646786034 0.599125087 + outer loop + vertex -1.82835197 -0.290713996 0.762113988 + vertex -1.83203197 -0.254381001 0.725790024 + vertex -1.78778303 -0.303088993 0.743517995 + endloop + endfacet + + facet normal 0.00501300115 0.570513129 0.821273208 + outer loop + vertex -1.74596691 -0.293594003 0.736666024 + vertex -1.78778303 -0.303088993 0.743517995 + vertex -1.78360796 -0.256074011 0.710832 + endloop + endfacet + + facet normal 0.266492993 0.534111917 0.80231297 + outer loop + vertex -1.83203197 -0.254381001 0.725790024 + vertex -1.78360796 -0.256074011 0.710832 + vertex -1.78778303 -0.303088993 0.743517995 + endloop + endfacet + + facet normal 0.418193072 0.835586071 0.356245041 + outer loop + vertex -1.82835197 -0.290713996 0.762113988 + vertex -1.78778303 -0.303088993 0.743517995 + vertex -1.79036307 -0.322136015 0.791221976 + endloop + endfacet + + facet normal 0.0543069914 0.996533871 0.06301599 + outer loop + vertex -1.75035691 -0.325998992 0.817825019 + vertex -1.79036307 -0.322136015 0.791221976 + vertex -1.74193907 -0.323828995 0.776265025 + endloop + endfacet + + facet normal -0.0790780187 0.788413107 0.610042095 + outer loop + vertex -1.74596691 -0.293594003 0.736666024 + vertex -1.74193907 -0.323828995 0.776265025 + vertex -1.78778303 -0.303088993 0.743517995 + endloop + endfacet + + facet normal 0.14742294 0.915790558 0.373622864 + outer loop + vertex -1.79036307 -0.322136015 0.791221976 + vertex -1.78778303 -0.303088993 0.743517995 + vertex -1.74193907 -0.323828995 0.776265025 + endloop + endfacet + + facet normal -0.416385919 0.908437848 -0.036924988 + outer loop + vertex -1.75035691 -0.325998992 0.817825019 + vertex -1.74193907 -0.323828995 0.776265025 + vertex -1.71201098 -0.308679014 0.811520994 + endloop + endfacet + + facet normal 0.629849017 0.584397912 -0.511633933 + outer loop + vertex -1.82835197 -0.263157994 0.83782202 + vertex -1.83620691 -0.285198987 0.802974999 + vertex -1.79036307 -0.305938989 0.835722029 + endloop + endfacet + + facet normal 0.30318898 0.895461917 -0.325920969 + outer loop + vertex -1.75035691 -0.325998992 0.817825019 + vertex -1.79036307 -0.305938989 0.835722029 + vertex -1.79036307 -0.322136015 0.791221976 + endloop + endfacet + + facet normal 0.629846632 0.776548624 0.016288992 + outer loop + vertex -1.82835197 -0.290713996 0.762113988 + vertex -1.79036307 -0.322136015 0.791221976 + vertex -1.83620691 -0.285198987 0.802974999 + endloop + endfacet + + facet normal 0.556288064 0.780875146 -0.28421402 + outer loop + vertex -1.79036307 -0.305938989 0.835722029 + vertex -1.83620691 -0.285198987 0.802974999 + vertex -1.79036307 -0.322136015 0.791221976 + endloop + endfacet + + facet normal 0.813500583 0.390871763 -0.430622727 + outer loop + vertex -1.82835197 -0.263157994 0.83782202 + vertex -1.86195993 -0.227127001 0.807036996 + vertex -1.83620691 -0.285198987 0.802974999 + endloop + endfacet + + facet normal 0.813501239 0.576223135 0.0786290169 + outer loop + vertex -1.82835197 -0.290713996 0.762113988 + vertex -1.83620691 -0.285198987 0.802974999 + vertex -1.86195993 -0.243323997 0.762535989 + endloop + endfacet + + facet normal 0.976355791 0.203132957 -0.0739349872 + outer loop + vertex -1.87216401 -0.191915005 0.769023001 + vertex -1.86195993 -0.243323997 0.762535989 + vertex -1.86195993 -0.227127001 0.807036996 + endloop + endfacet + + facet normal 0.900026679 0.409550846 -0.14906396 + outer loop + vertex -1.83620691 -0.285198987 0.802974999 + vertex -1.86195993 -0.227127001 0.807036996 + vertex -1.86195993 -0.243323997 0.762535989 + endloop + endfacet + + facet normal 0.733524799 0.111328974 -0.670482814 + outer loop + vertex -1.82835197 -0.263157994 0.83782202 + vertex -1.83203197 -0.211977005 0.842293978 + vertex -1.86195993 -0.227127001 0.807036996 + endloop + endfacet + + facet normal 0.934059024 -0.0995570049 -0.342961013 + outer loop + vertex -1.87216401 -0.191915005 0.769023001 + vertex -1.86195993 -0.227127001 0.807036996 + vertex -1.85778403 -0.170101002 0.801854014 + endloop + endfacet + + facet normal 0.582925141 -0.349761069 -0.733393192 + outer loop + vertex -1.82124805 -0.166140005 0.829005003 + vertex -1.85778403 -0.170101002 0.801854014 + vertex -1.83203197 -0.211977005 0.842293978 + endloop + endfacet + + facet normal 0.78092432 -0.113006048 -0.614318252 + outer loop + vertex -1.86195993 -0.227127001 0.807036996 + vertex -1.83203197 -0.211977005 0.842293978 + vertex -1.85778403 -0.170101002 0.801854014 + endloop + endfacet + + facet normal 0.582937121 0.203490049 0.78662318 + outer loop + vertex -1.82124805 -0.210725993 0.706505001 + vertex -1.83203197 -0.254381001 0.725790024 + vertex -1.85778403 -0.196308002 0.729851007 + endloop + endfacet + + facet normal 0.934058905 0.144184992 0.326718003 + outer loop + vertex -1.87216401 -0.191915005 0.769023001 + vertex -1.85778403 -0.196308002 0.729851007 + vertex -1.86195993 -0.243323997 0.762535989 + endloop + endfacet + + facet normal 0.733523011 0.516260922 0.442061961 + outer loop + vertex -1.82835197 -0.290713996 0.762113988 + vertex -1.86195993 -0.243323997 0.762535989 + vertex -1.83203197 -0.254381001 0.725790024 + endloop + endfacet + + facet normal 0.780922592 0.308307827 0.543236673 + outer loop + vertex -1.85778403 -0.196308002 0.729851007 + vertex -1.83203197 -0.254381001 0.725790024 + vertex -1.86195993 -0.243323997 0.762535989 + endloop + endfacet + +endsolid AssimpScene diff --git a/test/test.3mf b/test/test.3mf new file mode 100644 index 0000000000000000000000000000000000000000..eb1c49e1b1a6e71d1ce6c95fec699be6d1357051 GIT binary patch literal 1143 zcmWIWW@Zs#U|`^2NG@F(^g2*&^>HB2kCA~v7)VDu=jWBA=9R>UR2HNb$Ldw&=Cn?@ zoyBA*;BfzM*M#evX6JG*6$zKW^^5fvqjTA}rjsfvn-|r;cVTrDkWViv;yY7R`^8Vz z;HhT7>ie(Vv{j^cb+(1Q-!}VI^!o7br{6>jwG%a0hrOI=`A=f<+YY%RS*1yPzA9EG zNM24*x?#(cVK?j9=^G9`M?}TD#qP>~Gq4W(?|yT7$wal1$kq3?qnlDW4R@Vn;!ftf zV!LEj^s;ID#nt+Q&*U>@q|Pg?d2wMc&(Ga|Hh*>~=AZUlrF><}e1J z_*D%Enm{@jXum`_lwF)VeR+)@q90j ze)%;?xrEa`&hLEFWA_|rt7DpYw@`lX@z|qV)mQaBJg~ub#&3P;d#^tj$S^r&J+(gT ze<-NeJ_pI2+}JeZ zYOvJ(%O37YcJ8|SCO%)GvFUZ+&6f1CyI+_4=s)5&%zwLDZtY3M{`N+ht|^C^t;0J@ zB6Kf3jd$#6kZI&$G~?9~)DVpDW!7f7#-X#kk*86nu}BIiqBP+w->x5-JWt#6G=uW2%2=}-8b)XcBt z8@p%kPX^RDbw9sr=@wvIvH|0j8%W0&rREgt>w(Br|C3yY398+^D6OMJ$-L#Z{jj z-SdBw;_`#8bF#hy6D%WBGz0Fe3iKfoz>;y%4M0!x2;Dz`O!ORpt{Xjc5xUPXp@emS SH!B-Rk{Jkh0O^&?ARYi{r_oaY literal 0 HcmV?d00001 diff --git a/test/testExport.stl b/test/testExport.stl new file mode 100644 index 000000000..e7d06cefc --- /dev/null +++ b/test/testExport.stl @@ -0,0 +1,33 @@ + solid Assimp_Pointcloud + facet normal 0 0 0 + vertex 0 0 0 + vertex 0 0 0 + vertex 0 0 0 + vertex 1 1 1 + vertex 1 1 1 + vertex 1 1 1 + vertex 2 2 2 + vertex 2 2 2 + vertex 2 2 2 + vertex 3 3 3 + vertex 3 3 3 + vertex 3 3 3 + vertex 4 4 4 + vertex 4 4 4 + vertex 4 4 4 + vertex 5 5 5 + vertex 5 5 5 + vertex 5 5 5 + vertex 6 6 6 + vertex 6 6 6 + vertex 6 6 6 + vertex 7 7 7 + vertex 7 7 7 + vertex 7 7 7 + vertex 8 8 8 + vertex 8 8 8 + vertex 8 8 8 + vertex 9 9 9 + vertex 9 9 9 + vertex 9 9 9 +endsolid Assimp_Pointcloud diff --git a/test/unit/utStringUtils.cpp b/test/unit/utStringUtils.cpp index 6a10cba24..08be82e9a 100644 --- a/test/unit/utStringUtils.cpp +++ b/test/unit/utStringUtils.cpp @@ -42,9 +42,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include class utStringUtils : public ::testing::Test { + // empty }; -TEST_F( utStringUtils, to_string_Test ) { +TEST_F(utStringUtils, to_string_Test ) { std::string res = ai_to_string( 1 ); EXPECT_EQ( res, "1" ); @@ -52,7 +53,7 @@ TEST_F( utStringUtils, to_string_Test ) { EXPECT_EQ( res, "1" ); } -TEST_F( utStringUtils, ai_strtofTest ) { +TEST_F(utStringUtils, ai_strtofTest ) { float res = ai_strtof( nullptr, nullptr ); EXPECT_FLOAT_EQ( res, 0.0f ); @@ -66,3 +67,11 @@ TEST_F( utStringUtils, ai_strtofTest ) { res = ai_strtof( begin, end ); EXPECT_FLOAT_EQ( res, 200.0f ); } + +TEST_F(utStringUtils, ai_rgba2hexTest) { + std::string result; + result = ai_rgba2hex(255, 255, 255, 255, true); + EXPECT_EQ(result, "#ffffffff"); + result = ai_rgba2hex(0, 0, 0, 0, false); + EXPECT_EQ(result, "00000000"); +} From 9395322e56dcfafa2eb457a4e67ba675b1b2ddd7 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:10:22 +0200 Subject: [PATCH 56/99] Delete AssimpLog_C.txt --- test/AssimpLog_C.txt | 3184 ------------------------------------------ 1 file changed, 3184 deletions(-) delete mode 100644 test/AssimpLog_C.txt diff --git a/test/AssimpLog_C.txt b/test/AssimpLog_C.txt deleted file mode 100644 index b843b6f07..000000000 --- a/test/AssimpLog_C.txt +++ /dev/null @@ -1,3184 +0,0 @@ -Info, T34284: Load dae.dae -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Collada Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: Collada schema version is 1.4.n -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: START `t1` -Debug, T34284: END `t1`, dt= 0.0064414 s -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_linear.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_bezier.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_stepped.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_56.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 2 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_offset_repeat.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_hermite.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[1].mTime (-72.00000) is smaller than aiAnimation::mPositionKeys[0] (which is 0.00000) -Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[5].mTime (-21.00000) is smaller than aiAnimation::mPositionKeys[4] (which is 0.00000) -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_6.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 3 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_repeat.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_linear.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_constant.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_reset.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_spline.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/boxuv.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/formatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/SMD/triangle.smd -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Valve SMD Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/SMD/holy_grailref.smd -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Valve SMD Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' -Error, T34284: [SMD/VTA] Bone index overflow. The bone index will be ignored, the weight will be assigned to the vertex' parent node -Skipping one or more lines with the same contents -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/IncorrectVertexArrays\' -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary/2CylinderEngine.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 34 materials -Debug, T34284: Importing 29 meshes -Debug, T34284: Importing 1 cameras -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 embedded textures -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/simple_skin/simple_skin.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/simple_skin\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 1 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Debug, T34284: ScenePreprocessor: Dummy position track has been generated -Info, T34284: Load D:/projects/assimp/test/models/glTF2/cameras/Cameras.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/cameras\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing 2 cameras -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: 0.000000 is not a valid value for aiCamera::mHorizontalFOV -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays/Cube.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 8 meshes -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/textureTransform/TextureTransformTest.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/textureTransform\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 9 materials -Debug, T34284: Importing 9 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 1 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Cube) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/MissingBin/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/RecursiveNodes/RecursiveNodes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/NoScene.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 0 meshes -Error, T34284: GLTF: No scene -Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/SceneWithoutNodes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 0 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/issue_3269/texcoord_crash.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. -Error, T34284: Mesh "Mesh" has no faces -Info, T34284: Load D:/projects/assimp/test/models/glTF2/draco/2CylinderEngine.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badArray.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badString.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badUint.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badNumber.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badObject.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badExtension.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/HMP/terrain.hmp -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3D GameStudio Heightmap (HMP) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/HMP\' -Debug, T34284: HMP subtype: 3D GameStudio A7, magic word is HMP7 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/IFC/AC14-FZK-Haus.ifc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Industry Foundation Classes (IFC) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/IFC\' -Debug, T34284: IFC: File schema is 'IFC2X3' -Debug, T34284: STEP: got 82226 object records with 5788 inverse index entries -Debug, T34284: IFC: got units used for lengths -Debug, T34284: IFC: got units used for angles -Debug, T34284: IFC: got world coordinate system -Debug, T34284: IFC: looking at spatial structure `Gelände` -Debug, T34284: IFC: selecting this spatial structure as root structure -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing degenerate faces -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings -Skipping one or more lines with the same contents -Debug, T34284: IFC: skipping IfcSpace entity due to importer settings -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Warn, T34284: IFC: failed to resolve all openings, presumably their topology is not supported by Assimp -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings -Skipping one or more lines with the same contents -Debug, T34284: IFC: skipping IfcSpace entity due to importer settings -Debug, T34284: IFC: STEP: evaluated 70094 object records -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: HEADER -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is '.\' -Warn, T34284: DXF: EOF reached, but did not encounter DXF EOF marker -Debug, T34284: DXF: Unexpanded polycount is 0, vertex count is 0 -Error, T34284: DXF: no data blocks loaded -Info, T34284: Load D:/projects/assimp/test/models/FBX/spider.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/box.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Info, T34284: FBX: generating full transformation chain for node: root -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_nonames.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_names.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_mirroring_and_pivot.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Info, T34284: FBX: generating full transformation chain for node: Cube1 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/close_to_identity_transforms.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Info, T34284: FBX: generating full transformation chain for node: Cube1 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/phong_cube.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Warn, T34284: FBX-DOM (TOK_KEY, offset 0x4190) source object for connection does not exist -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Error, T34284: FBX: no material assigned to mesh, setting default material -Debug, T34284: UpdateImporterScale scale set: 5 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box.FBX -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: A specular shading model is specified but the value of the AI_MATKEY_SHININESS_STRENGTH key is 0.0 -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box_embedded_texture_fragmented.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Error, T34284: FBX: ignoring additional binormal layer -Error, T34284: FBX: ignoring additional tangent layer -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/box_orphant_embedded_texture.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Error, T34284: FBX: ignoring additional binormal layer -Error, T34284: FBX: ignoring additional tangent layer -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Error, T34284: FBX: no material assigned to mesh, setting default material -Debug, T34284: UpdateImporterScale scale set: 5 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_outofrange_float.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_metalRough.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7700 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown -Info, T34284: FBX: generating full transformation chain for node: Box001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_specGloss.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7700 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown -Info, T34284: FBX: generating full transformation chain for node: Box001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$.3ds -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Error, T34284: 3DS: Skipping FOV animation track. This is not supported -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Info, T34284: 3DS: Generating default material -Debug, T34284: 3DS: Converting camera roll track ... -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Debug, T34284: ScenePreprocessor: Setting animation duration -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: SplitLargeMeshesProcess_Triangle begin -Debug, T34284: SplitLargeMeshesProcess_Triangle finished. There was nothing to do -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: CalcTangentsProcess begin -Info, T34284: CalcTangentsProcess finished. Tangents have been calculated -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (0) | Verts in: 36 out: 24 | ~33.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 -Debug, T34284: SplitLargeMeshesProcess_Vertex begin -Debug, T34284: SplitLargeMeshesProcess_Vertex finished. There was nothing to do -Debug, T34284: LimitBoneWeightsProcess begin -Debug, T34284: LimitBoneWeightsProcess end -Debug, T34284: ImproveCacheLocalityProcess begin -Debug, T34284: Mesh %u | ACMR in: 0 out: 2 | ~20 -Info, T34284: Cache relevant are 1 meshes (12 faces). Average output ACMR is 2 -Debug, T34284: ImproveCacheLocalityProcess finished. -Info, T34284: Leaving post processing pipeline -Info, T34284: Registering custom importer for these file extensions: applelinuxmacwindows -Info, T34284: Unregistering custom importer: -Info, T34284: Load D:/projects/assimp/test/models/X/test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCube1) | Verts in: 36 out: 24 | ~33.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Wuson) | Verts in: 11196 out: 3205 | ~71.3737% -Info, T34284: JoinVerticesProcess finished | Verts in: 11196 out: 3205 | ~71.3737 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Warn, T34284: Simplified dummy tracks with just one key -Skipping one or more lines with the same contents -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% -Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Warn, T34284: Simplified dummy tracks with just one key -Skipping one or more lines with the same contents -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% -Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 3, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: OptimizeMeshesProcess begin -Debug, T34284: OptimizeMeshesProcess finished -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Torso) | Verts in: 5898 out: 1170 | ~80.1628% -Debug, T34284: Mesh 1 (Head) | Verts in: 6108 out: 1196 | ~80.4191% -Debug, T34284: Mesh 2 (Legs) | Verts in: 3372 out: 648 | ~80.7829% -Info, T34284: JoinVerticesProcess finished | Verts in: 15378 out: 3014 | ~80.4006 -Info, T34284: Leaving post processing pipeline -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load deadlyImportError.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Error, T34284: Deadly import error test. Details: 42 More Details: Failure -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load stdException.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Error, T34284: std::exception test -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load unexpectedException.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Info, T34284: Load D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3DS/fels.3ds -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: No hierarchy information has been found in the file. -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3DS/testFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/closedLine.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/nosurfaces.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Warn, T34284: AC3D: No material has been found -Info, T34284: AC3D: No surfaces defined in object definition, a point list is returned -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/openLine.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/sample_subdiv.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Info, T34284: AC3D: Evaluating subdivision surface: cylinder -Debug, T34284: Catmull-Clark Subdivider: got 130 bad edges touching only one face (totally 61505 edges). -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Info, T34284: AC3D: Evaluating subdivision surface: sphere -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF16LE.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Debug, T34284: Found UTF-16 BOM ... -Error, T34284: AC3D: No valid AC3D file, magic sequence not found -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF8BOM.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Debug, T34284: Found UTF-8 BOM ... -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLightUvScaling4X.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Info, T34284: AC3D: Evaluating subdivision surface: sphere -Debug, T34284: Catmull-Clark Subdivider: got 12 bad edges touching only one face (totally 17670 edges). -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.acc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/TestFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AMF/test1.amf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/AMF/test_with_mat.amf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/ASE/ThreeCubesGreen.ASE -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: ASE Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/ASE\' -Info, T34284: Line 1: Comment: AsciiExport-Version 2,00 - Tue May 06 17:21:38 2008 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load test.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is '.\' -Warn, T34284: Ignored file of unknown type: 3D/3DModel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3DModel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/Q3D/earth.q3o -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Quick3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/Q3D\' -Info, T34284: Quick3D File format version: 30 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/formatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: solid -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_two_solids.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Warn, T34284: STL: mesh is empty or invalid; no data loaded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Warn, T34284: STL: mesh is empty or invalid; no data loaded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: The mesh emptySolid contains no vertices -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: PretransformVerticesProcess begin -Debug, T34284: PretransformVerticesProcess finished -Info, T34284: Removed 2 nodes and 0 animation channels (1 output nodes) -Info, T34284: Kept 0 lights and 0 cameras. -Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: GenFaceNormalsProcess begin -Debug, T34284: GenFaceNormalsProcess finished. Normals are already there -Info, T34284: Load spiderExport.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: GenFaceNormalsProcess begin -Info, T34284: Normal vectors are undefined for line and point meshes -Debug, T34284: GenFaceNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/X/test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/OV_GetNextToken -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Info, T34284: Successfully decompressed MSZIP-compressed file -Error, T34284: Opening brace expected. -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/fromtruespace_bin32.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/kwxport_test_cubewithvcolors.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_binary.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_compressed.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Info, T34284: Successfully decompressed MSZIP-compressed file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_text.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/TestFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models-nonbsd/X/dwarf.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models-nonbsd/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Skipping one or more lines with the same contents -Info, T34284: Load D:/projects/assimp/test/models/X3D/ComputerKeyboard.x3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Info, T34284: Found a matching importer for this file format: Extensible 3D(X3D) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X3D\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: aiScene::mNumMeshes is 0. At least one mesh must be there -Info, T34284: Load D:/projects/assimp/test/models/DXF/PinkEggFromLW.dxf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Debug, T34284: DXF: got 0 entries in BLOCKS -Debug, T34284: DXF: got 288 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: Unexpanded polycount is 288, vertex count is 1152 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/DXF/lineTest -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: SECTION -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Info, T34284: DXF Comment: VISION3D DXF -Debug, T34284: DXF: got 0 entries in BLOCKS -Debug, T34284: DXF: got 3 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: Unexpanded polycount is 3, vertex count is 9 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/DXF/issue_2229.dxf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Debug, T34284: DXF: skipped over control group (273 lines) -Debug, T34284: DXF: got 2 entries in BLOCKS -Warn, T34284: DXF: invalid vertex index, indices are one-based. -Skipping one or more lines with the same contents -Warn, T34284: DXF: unexpected face count in polymesh: 1173, expected 1174 -Warn, T34284: DXF: invalid vertex index, indices are one-based. -Skipping one or more lines with the same contents -Debug, T34284: DXF: got 4 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: skipped over control group (3 lines) -Skipping one or more lines with the same contents -Debug, T34284: DXF: Unexpanded polycount is 1289, vertex count is 768 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: PretransformVerticesProcess begin -Debug, T34284: PretransformVerticesProcess finished -Info, T34284: Removed 1 nodes and 0 animation channels (1 output nodes) -Info, T34284: Kept 0 lights and 0 cameras. -Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_uv.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_binary.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstanceBinary() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() begin -Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() succeeded -Debug, T34284: PLY::DOM::ParseInstanceBinary() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/float-color.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/issue623.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Warn, T34284: Unable to parse property instance. Skipping this element instance -Skipping one or more lines with the same contents -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: ply -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: usemtl -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: failed to locate material Default, creating new material -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: usemtl -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors_uni.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: mtllib -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Unable to locate material file $blobfile.mtl -Info, T34284: OBJ: Opening fallback material file $$$___magic___$mtl -Error, T34284: OBJ: Unable to locate fallback material file $$$___magic___$mtl -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: Mesh contains no faces -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Invalid component in homogeneous vector (Division by zero) -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Invalid face indice -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Error, T34284: OBJ: Unable to locate material file cube_mtllib_after_g.mat -Info, T34284: OBJ: Opening fallback material file D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.mtl -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/OBJ/point_cloud.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/OBJ/box_without_lineending.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Error, T34284: OBJ: failed to locate material Default, creating new material -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/Example.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/light_issue1262.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/empty_camera.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/SIB/heffalump.sib -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Silo SIB Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SIB\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/AreaLight_269.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Skipping one or more lines with the same contents -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Info, T34284: (Stats) Fields read: 918, pointers resolved: 23, cache hits: 3, cached objects: 19 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/box.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.76 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 604 structures with totally 6955 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Info, T34284: (Stats) Fields read: 668, pointers resolved: 17, cache hits: 3, cached objects: 13 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/4Cubes4Mats_248.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.48 (64bit: false, little endian: true) -Debug, T34284: REND -Debug, T34284: GLOB -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: TX -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Skipping one or more lines with the same contents -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 310 structures with totally 3868 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `sensor_x` in structure `Camera` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `totloop` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `totpoly` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloop` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloopuv` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloopcol` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mpoly` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mtpoly` in structure `Mesh` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `rot` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `colspecfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `mirrfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `alphafac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `difffac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `specfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `emitfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `hardfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `material_type` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `pr_texture` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `shadowonly_flag` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `index` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `vcol_alpha` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `typemap` in structure `CustomData` -Error, T34284: Constructing BlenderDNA Structure encountered an error -Info, T34284: Load D:/projects/assimp/test/models/BLEND/blender_269_regress1.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: KE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt From e683c6eef9cc0ce5ef3da6dce79b58ec86a3f966 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:10:30 +0200 Subject: [PATCH 57/99] Delete testExport.stl --- test/testExport.stl | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 test/testExport.stl diff --git a/test/testExport.stl b/test/testExport.stl deleted file mode 100644 index e7d06cefc..000000000 --- a/test/testExport.stl +++ /dev/null @@ -1,33 +0,0 @@ - solid Assimp_Pointcloud - facet normal 0 0 0 - vertex 0 0 0 - vertex 0 0 0 - vertex 0 0 0 - vertex 1 1 1 - vertex 1 1 1 - vertex 1 1 1 - vertex 2 2 2 - vertex 2 2 2 - vertex 2 2 2 - vertex 3 3 3 - vertex 3 3 3 - vertex 3 3 3 - vertex 4 4 4 - vertex 4 4 4 - vertex 4 4 4 - vertex 5 5 5 - vertex 5 5 5 - vertex 5 5 5 - vertex 6 6 6 - vertex 6 6 6 - vertex 6 6 6 - vertex 7 7 7 - vertex 7 7 7 - vertex 7 7 7 - vertex 8 8 8 - vertex 8 8 8 - vertex 8 8 8 - vertex 9 9 9 - vertex 9 9 9 - vertex 9 9 9 -endsolid Assimp_Pointcloud From d1991ad949e8bc45ff711d66dd8d8f1ea6376327 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:10:50 +0200 Subject: [PATCH 58/99] Delete AssimpLog_Cpp.txt --- test/AssimpLog_Cpp.txt | 3184 ---------------------------------------- 1 file changed, 3184 deletions(-) delete mode 100644 test/AssimpLog_Cpp.txt diff --git a/test/AssimpLog_Cpp.txt b/test/AssimpLog_Cpp.txt deleted file mode 100644 index b843b6f07..000000000 --- a/test/AssimpLog_Cpp.txt +++ /dev/null @@ -1,3184 +0,0 @@ -Info, T34284: Load dae.dae -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Collada Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: Collada schema version is 1.4.n -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: START `t1` -Debug, T34284: END `t1`, dt= 0.0064414 s -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_linear.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_bezier.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_stepped.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_56.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 2 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_offset_repeat.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_hermite.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[1].mTime (-72.00000) is smaller than aiAnimation::mPositionKeys[0] (which is 0.00000) -Warn, T34284: Validation warning: aiNodeAnim::mPositionKeys[5].mTime (-21.00000) is smaller than aiAnimation::mPositionKeys[4] (which is 0.00000) -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_oldformat_6.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 3 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_repeat.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_linear.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_constant.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_x_post_reset.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWS/move_xz_spline.lws -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave Scene Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWS\' -Debug, T34284: LWS: Skipping over plugin-specific data -Skipping one or more lines with the same contents -Info, T34284: LWS file format version is 5 -Info, T34284: %%% BEGIN EXTERNAL FILE %%% -Info, T34284: File: simple_cube.lwo -Info, T34284: Load simple_cube.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: %%% END EXTERNAL FILE %%% -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy rotation track has been generated -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/boxuv.lwo -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/LWO/LWO2/formatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: LightWave/Modo Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/LWO/LWO2\' -Info, T34284: LWO file format: LWO2 (>= LightWave 6) -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/SMD/triangle.smd -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Valve SMD Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/SMD/holy_grailref.smd -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Valve SMD Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SMD\' -Error, T34284: [SMD/VTA] Bone index overflow. The bone index will be ignored, the weight will be assigned to the vertex' parent node -Skipping one or more lines with the same contents -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/IncorrectVertexArrays\' -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF/TwoBoxes/TwoBoxes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: glTF Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF/TwoBoxes\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary/2CylinderEngine.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/2CylinderEngine-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 34 materials -Debug, T34284: Importing 29 meshes -Debug, T34284: Importing 1 cameras -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF-Embedded\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 embedded textures -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/simple_skin/simple_skin.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/simple_skin\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 1 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Debug, T34284: ScenePreprocessor: Dummy position track has been generated -Info, T34284: Load D:/projects/assimp/test/models/glTF2/cameras/Cameras.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/cameras\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing 2 cameras -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: 0.000000 is not a valid value for aiCamera::mHorizontalFOV -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays/Cube.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IncorrectVertexArrays\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 8 meshes -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped. -Warn, T34284: The number of vertices was not compatible with the LINES mode. Some vertices were dropped. -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/textureTransform/TextureTransformTest.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/textureTransform\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 9 materials -Debug, T34284: Importing 9 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 1 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Cube) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/MissingBin/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxWithInfinites-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 10 | ~58.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 24 out: 10 | ~58.3333 -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Mesh) | Verts in: 24 out: 24 | ~0% -Debug, T34284: JoinVerticesProcess finished -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxBadNormals-glTF-Binary\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Reading GLTF2 binary -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTextured-glTF/BoxTextured.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTextured-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/BoxTexcoords-glTF\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/RecursiveNodes/RecursiveNodes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/NoScene.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 0 meshes -Error, T34284: GLTF: No scene -Info, T34284: Load D:/projects/assimp/test/models/glTF2/TestNoRootNode/SceneWithoutNodes.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/TestNoRootNode\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 0 materials -Debug, T34284: Importing 0 meshes -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/issue_3269/texcoord_crash.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. -Debug, T34284: Importing nodes -Debug, T34284: Importing 0 animations -Debug, T34284: Importing metadata -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: There are unreferenced vertices -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Found a matching importer for this file format: glTF2 Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/glTF2/IndexOutOfRange\' -Debug, T34284: Reading GLTF2 file -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Debug, T34284: Importing 1 materials -Debug, T34284: Importing 1 meshes -Warn, T34284: Some faces had out-of-range indices. Those faces were dropped. -Error, T34284: Mesh "Mesh" has no faces -Info, T34284: Load D:/projects/assimp/test/models/glTF2/draco/2CylinderEngine.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badArray.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badString.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badUint.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badNumber.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badObject.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/glTF2/wrongTypes/badExtension.gltf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Loading GLTF2 asset -Debug, T34284: Parsing GLTF2 JSON -Info, T34284: Load D:/projects/assimp/test/models/HMP/terrain.hmp -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3D GameStudio Heightmap (HMP) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/HMP\' -Debug, T34284: HMP subtype: 3D GameStudio A7, magic word is HMP7 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/IFC/AC14-FZK-Haus.ifc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Industry Foundation Classes (IFC) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/IFC\' -Debug, T34284: IFC: File schema is 'IFC2X3' -Debug, T34284: STEP: got 82226 object records with 5788 inverse index entries -Debug, T34284: IFC: got units used for lengths -Debug, T34284: IFC: got units used for angles -Debug, T34284: IFC: got world coordinate system -Debug, T34284: IFC: looking at spatial structure `Gelände` -Debug, T34284: IFC: selecting this spatial structure as root structure -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing degenerate faces -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Skipping one or more lines with the same contents -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings -Skipping one or more lines with the same contents -Debug, T34284: IFC: skipping IfcSpace entity due to importer settings -Skipping one or more lines with the same contents -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Warn, T34284: IFC: skipping unknown IfcGeometricRepresentationItem entity, type is IfcPolyline -Debug, T34284: IFC: removing duplicate vertices -Error, T34284: IFC: failed to generate all window caps -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping with polygonal bounding (IfcBooleanClippingResult) -Skipping one or more lines with the same contents -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Skipping one or more lines with the same contents -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: generating CSG geometry by plane clipping (IfcBooleanClippingResult) -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Warn, T34284: IFC: failed to resolve all openings, presumably their topology is not supported by Assimp -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: removing degenerate faces -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: removing duplicate vertices -Debug, T34284: IFC: generate mesh procedurally by extrusion (IfcExtrudedAreaSolid) -Debug, T34284: IFC: skipping IfcAnnotation entity due to importer settings -Skipping one or more lines with the same contents -Debug, T34284: IFC: skipping IfcSpace entity due to importer settings -Debug, T34284: IFC: STEP: evaluated 70094 object records -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: HEADER -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is '.\' -Warn, T34284: DXF: EOF reached, but did not encounter DXF EOF marker -Debug, T34284: DXF: Unexpanded polycount is 0, vertex count is 0 -Error, T34284: DXF: no data blocks loaded -Info, T34284: Load D:/projects/assimp/test/models/FBX/spider.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/box.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Info, T34284: FBX: generating full transformation chain for node: root -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_nonames.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_names.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_mirroring_and_pivot.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Info, T34284: FBX: generating full transformation chain for node: Cube1 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/close_to_identity_transforms.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Info, T34284: FBX: generating full transformation chain for node: Cube1 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/phong_cube.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Warn, T34284: FBX-DOM (TOK_KEY, offset 0x4190) source object for connection does not exist -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Error, T34284: FBX: no material assigned to mesh, setting default material -Debug, T34284: UpdateImporterScale scale set: 5 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box.FBX -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: A specular shading model is specified but the value of the AI_MATKEY_SHININESS_STRENGTH key is 0.0 -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/embedded_ascii/box_embedded_texture_fragmented.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX/embedded_ascii\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Error, T34284: FBX: ignoring additional binormal layer -Error, T34284: FBX: ignoring additional tangent layer -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/box_orphant_embedded_texture.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Error, T34284: FBX: ignoring additional binormal layer -Error, T34284: FBX: ignoring additional tangent layer -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/global_settings.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing binary FBX file -Debug, T34284: FBX version: 7400 -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7400 -Error, T34284: FBX: no material assigned to mesh, setting default material -Debug, T34284: UpdateImporterScale scale set: 5 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/cubes_with_outofrange_float.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7500 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Info, T34284: FBX: ignoring empty AnimationStack (using IK?): Take 001 -Debug, T34284: UpdateImporterScale scale set: 0.01 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_metalRough.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7700 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown -Info, T34284: FBX: generating full transformation chain for node: Box001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/FBX/maxPbrMaterial_specGloss.fbx -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Autodesk FBX Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/FBX\' -Debug, T34284: Reading FBX file -Debug, T34284: Tokenizing ASCII FBX file -Debug, T34284: Parsing FBX tokens -Debug, T34284: Creating FBX Document -Debug, T34284: FBX Version: 7700 -Warn, T34284: FBX-DOM: unsupported, newer format version, supported are only FBX 2011, FBX 2012 and FBX 2013, trying to read it nevertheless -Warn, T34284: FBX-DOM (TOK_KEY, line 679, col 13) shading mode not recognized: unknown -Info, T34284: FBX: generating full transformation chain for node: Box001 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$.3ds -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is '.\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Error, T34284: 3DS: Skipping FOV animation track. This is not supported -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Info, T34284: 3DS: Generating default material -Debug, T34284: 3DS: Converting camera roll track ... -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Debug, T34284: ScenePreprocessor: Setting animation duration -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: SplitLargeMeshesProcess_Triangle begin -Debug, T34284: SplitLargeMeshesProcess_Triangle finished. There was nothing to do -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: CalcTangentsProcess begin -Info, T34284: CalcTangentsProcess finished. Tangents have been calculated -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (0) | Verts in: 36 out: 24 | ~33.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 -Debug, T34284: SplitLargeMeshesProcess_Vertex begin -Debug, T34284: SplitLargeMeshesProcess_Vertex finished. There was nothing to do -Debug, T34284: LimitBoneWeightsProcess begin -Debug, T34284: LimitBoneWeightsProcess end -Debug, T34284: ImproveCacheLocalityProcess begin -Debug, T34284: Mesh %u | ACMR in: 0 out: 2 | ~20 -Info, T34284: Cache relevant are 1 meshes (12 faces). Average output ACMR is 2 -Debug, T34284: ImproveCacheLocalityProcess finished. -Info, T34284: Leaving post processing pipeline -Info, T34284: Registering custom importer for these file extensions: applelinuxmacwindows -Info, T34284: Unregistering custom importer: -Info, T34284: Load D:/projects/assimp/test/models/X/test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCube1) | Verts in: 36 out: 24 | ~33.3333% -Info, T34284: JoinVerticesProcess finished | Verts in: 36 out: 24 | ~33.3333 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Wuson) | Verts in: 11196 out: 3205 | ~71.3737% -Info, T34284: JoinVerticesProcess finished | Verts in: 11196 out: 3205 | ~71.3737 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Warn, T34284: Simplified dummy tracks with just one key -Skipping one or more lines with the same contents -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% -Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Warn, T34284: Simplified dummy tracks with just one key -Skipping one or more lines with the same contents -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: Skipping OptimizeMeshesProcess -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (pCylinder1) | Verts in: 2520 out: 485 | ~80.754% -Info, T34284: JoinVerticesProcess finished | Verts in: 2520 out: 485 | ~80.754 -Info, T34284: Leaving post processing pipeline -Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Entering post processing pipeline -Debug, T34284: RemoveRedundantMatsProcess begin -Debug, T34284: RemoveRedundantMatsProcess finished -Debug, T34284: OptimizeGraphProcess begin -Debug, T34284: OptimizeGraphProcess finished -Debug, T34284: GenUVCoordsProcess begin -Debug, T34284: GenUVCoordsProcess finished -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: FindDegeneratesProcess begin -Debug, T34284: FindDegeneratesProcess finished -Debug, T34284: SortByPTypeProcess begin -Info, T34284: Points: 0, Lines: 0, Triangles: 3, Polygons: 0 (Meshes, X = removed) -Debug, T34284: SortByPTypeProcess finished -Debug, T34284: FindInvalidDataProcess begin -Info, T34284: FindInvalidDataProcess finished. Found issues ... -Debug, T34284: OptimizeMeshesProcess begin -Debug, T34284: OptimizeMeshesProcess finished -Debug, T34284: Generate spatially-sorted vertex cache -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: JoinVerticesProcess begin -Debug, T34284: Mesh 0 (Torso) | Verts in: 5898 out: 1170 | ~80.1628% -Debug, T34284: Mesh 1 (Head) | Verts in: 6108 out: 1196 | ~80.4191% -Debug, T34284: Mesh 2 (Legs) | Verts in: 3372 out: 648 | ~80.7829% -Info, T34284: JoinVerticesProcess finished | Verts in: 15378 out: 3014 | ~80.4006 -Info, T34284: Leaving post processing pipeline -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load deadlyImportError.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Error, T34284: Deadly import error test. Details: 42 More Details: Failure -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load stdException.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Error, T34284: std::exception test -Info, T34284: Registering custom importer for these file extensions: fail -Info, T34284: Load unexpectedException.fail -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Failing importer. -Info, T34284: Import root directory is './' -Info, T34284: Load D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Unreal Mesh Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3D\' -Debug, T34284: UNREAL: data file is D:/projects/assimp/test/models/3D/box_d.3d -Debug, T34284: UNREAL: aniv file is D:/projects/assimp/test/models/3D/box_a.3d -Debug, T34284: UNREAL: uc file is D:/projects/assimp/test/models/3D/box.uc -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3DS/fels.3ds -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: No hierarchy information has been found in the file. -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3DS/testFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Discreet 3DS Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3DS\' -Info, T34284: 3DS file format version: 3 -Warn, T34284: 3DS: Skipping TCB animation info -Skipping one or more lines with the same contents -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/closedLine.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/nosurfaces.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Warn, T34284: AC3D: No material has been found -Info, T34284: AC3D: No surfaces defined in object definition, a point list is returned -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/openLine.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/sample_subdiv.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Info, T34284: AC3D: Evaluating subdivision surface: cylinder -Debug, T34284: Catmull-Clark Subdivider: got 130 bad edges touching only one face (totally 61505 edges). -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Info, T34284: AC3D: Evaluating subdivision surface: sphere -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF16LE.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Debug, T34284: Found UTF-16 BOM ... -Error, T34284: AC3D: No valid AC3D file, magic sequence not found -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLight_UTF8BOM.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Debug, T34284: Found UTF-8 BOM ... -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/SphereWithLightUvScaling4X.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: AC3D: Light source encountered -Info, T34284: AC3D: Evaluating subdivision surface: sphere -Debug, T34284: Catmull-Clark Subdivider: got 12 bad edges touching only one face (totally 17670 edges). -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.ac -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/Wuson.acc -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AC/TestFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: AC3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AC\' -Info, T34284: AC3D file format version: 11 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/AMF/test1.amf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/AMF/test_with_mat.amf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Additive manufacturing file format(AMF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/AMF\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/ASE/ThreeCubesGreen.ASE -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: ASE Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/ASE\' -Info, T34284: Line 1: Comment: AsciiExport-Version 2,00 - Tue May 06 17:21:38 2008 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/3MF/box.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/3MF\' -Warn, T34284: Ignored file of unknown type: 3D/3dmodel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3dmodel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load test.3mf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: 3mf Importer. -Info, T34284: Import root directory is '.\' -Warn, T34284: Ignored file of unknown type: 3D/3DModel.model -Warn, T34284: Ignored file of unsupported type CONTENT_TYPES_ARCHIVES[Content_Types].xml -Debug, T34284: 3D/3DModel.model -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/Q3D/earth.q3o -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Quick3D Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/Q3D\' -Info, T34284: Quick3D File format version: 30 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/formatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: solid -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_two_solids.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Warn, T34284: STL: mesh is empty or invalid; no data loaded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/STL/triangle_with_empty_solid.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Warn, T34284: STL: mesh is empty or invalid; no data loaded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: The mesh emptySolid contains no vertices -Info, T34284: Load D:/projects/assimp/test/models/STL/Spider_ascii.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/STL\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: PretransformVerticesProcess begin -Debug, T34284: PretransformVerticesProcess finished -Info, T34284: Removed 2 nodes and 0 animation channels (1 output nodes) -Info, T34284: Kept 0 lights and 0 cameras. -Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: GenFaceNormalsProcess begin -Debug, T34284: GenFaceNormalsProcess finished. Normals are already there -Info, T34284: Load spiderExport.stl -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stereolithography (STL) Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: TriangulateProcess begin -Debug, T34284: TriangulateProcess finished. There was nothing to be done. -Debug, T34284: GenFaceNormalsProcess begin -Info, T34284: Normal vectors are undefined for line and point meshes -Debug, T34284: GenFaceNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/X/test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/OV_GetNextToken -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Info, T34284: Successfully decompressed MSZIP-compressed file -Error, T34284: Opening brace expected. -Info, T34284: Load D:/projects/assimp/test/models/X/anim_test.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Length of texture file name is zero. Skipping this texture. -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/BCN_Epileptic.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/fromtruespace_bin32.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/kwxport_test_cubewithvcolors.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_binary.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_compressed.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Info, T34284: Successfully decompressed MSZIP-compressed file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/test_cube_text.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/Testwuson.X -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in animation of .x file -Skipping one or more lines with the same contents -Warn, T34284: Unknown data object in frame in x file -Skipping one or more lines with the same contents -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/X/TestFormatDetection -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X\' -Warn, T34284: Unknown data object in mesh in x file -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models-nonbsd/X/dwarf.x -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Direct3D XFile Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models-nonbsd/X\' -Debug, T34284: MakeLeftHandedProcess begin -Debug, T34284: MakeLeftHandedProcess finished -Debug, T34284: FlipWindingOrderProcess begin -Debug, T34284: FlipWindingOrderProcess finished -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: ScenePreprocessor: Dummy scaling track has been generated -Skipping one or more lines with the same contents -Info, T34284: Load D:/projects/assimp/test/models/X3D/ComputerKeyboard.x3d -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Info, T34284: Found a matching importer for this file format: Extensible 3D(X3D) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/X3D\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: aiScene::mNumMeshes is 0. At least one mesh must be there -Info, T34284: Load D:/projects/assimp/test/models/DXF/PinkEggFromLW.dxf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Debug, T34284: DXF: got 0 entries in BLOCKS -Debug, T34284: DXF: got 288 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: Unexpanded polycount is 288, vertex count is 1152 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/DXF/lineTest -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: SECTION -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Info, T34284: DXF Comment: VISION3D DXF -Debug, T34284: DXF: got 0 entries in BLOCKS -Debug, T34284: DXF: got 3 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: Unexpanded polycount is 3, vertex count is 9 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/DXF/issue_2229.dxf -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Drawing Interchange Format (DXF) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/DXF\' -Debug, T34284: DXF: skipped over control group (273 lines) -Debug, T34284: DXF: got 2 entries in BLOCKS -Warn, T34284: DXF: invalid vertex index, indices are one-based. -Skipping one or more lines with the same contents -Warn, T34284: DXF: unexpected face count in polymesh: 1173, expected 1174 -Warn, T34284: DXF: invalid vertex index, indices are one-based. -Skipping one or more lines with the same contents -Debug, T34284: DXF: got 4 polylines and 0 inserted blocks in ENTITIES -Debug, T34284: DXF: skipped over control group (3 lines) -Skipping one or more lines with the same contents -Debug, T34284: DXF: Unexpanded polycount is 1289, vertex count is 768 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: PretransformVerticesProcess begin -Debug, T34284: PretransformVerticesProcess finished -Info, T34284: Removed 1 nodes and 0 animation channels (1 output nodes) -Info, T34284: Kept 0 lights and 0 cameras. -Info, T34284: Moved 1 meshes to WCS (number of output meshes: 1) -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: (Deleting previous scene) -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_uv.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/cube_binary.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstanceBinary() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() begin -Debug, T34284: PLY::DOM::ParseElementInstanceListsBinary() succeeded -Debug, T34284: PLY::DOM::ParseInstanceBinary() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/float-color.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/PLY/issue623.ply -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/PLY\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Warn, T34284: Unable to parse property instance. Skipping this element instance -Skipping one or more lines with the same contents -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Debug, T34284: Found positive match for header keyword: ply -Info, T34284: Found a matching importer for this file format: Stanford Polygon Library (PLY) Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: PLY::DOM::ParseInstance() begin -Debug, T34284: PLY::DOM::ParseHeader() begin -Debug, T34284: PLY::DOM::ParseHeader() succeeded -Debug, T34284: PLY::DOM::ParseElementInstanceLists() begin -Debug, T34284: PLY::DOM::ParseElementInstanceLists() succeeded -Debug, T34284: PLY::DOM::ParseInstance() succeeded -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/OBJ/spider.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: usemtl -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: failed to locate material Default, creating new material -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: usemtl -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_with_vertexcolors_uni.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Debug, T34284: GenVertexNormalsProcess begin -Debug, T34284: GenVertexNormalsProcess finished. Normals are already there -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: mtllib -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Unable to locate material file $blobfile.mtl -Info, T34284: OBJ: Opening fallback material file $$$___magic___$mtl -Error, T34284: OBJ: Unable to locate fallback material file $$$___magic___$mtl -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Error, T34284: Validation failed: Mesh contains no faces -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Invalid component in homogeneous vector (Division by zero) -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Error, T34284: OBJ: Invalid face indice -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Error, T34284: OBJ: Unable to locate material file cube_mtllib_after_g.mat -Info, T34284: OBJ: Opening fallback material file D:/projects/assimp/test/models/OBJ/cube_mtllib_after_g.mtl -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/OBJ/point_cloud.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ScenePreprocessor: Adding default material 'DefaultMaterial' -Info, T34284: Load D:/projects/assimp/test/models/OBJ/box_without_lineending.obj -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OBJ\' -Error, T34284: OBJ: failed to locate material Default, creating new material -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load $$$___magic___$$$. -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: File extension not known, trying signature-based detection -Debug, T34284: Found positive match for header keyword: v -Info, T34284: Found a matching importer for this file format: Wavefront Object Importer. -Info, T34284: Import root directory is '.\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/Example.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/light_issue1262.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/OpenGEX/empty_camera.ogex -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Open Game Engine Exchange. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/OpenGEX\' -Debug, T34284: UpdateImporterScale scale set: 1 -Info, T34284: Load D:/projects/assimp/test/models/SIB/heffalump.sib -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Silo SIB Importer. -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/SIB\' -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/AreaLight_269.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Skipping one or more lines with the same contents -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Info, T34284: (Stats) Fields read: 918, pointers resolved: 23, cache hits: 3, cached objects: 19 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero -Skipping one or more lines with the same contents -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/box.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.76 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 604 structures with totally 6955 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `coeff_const` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_lin` in structure `Lamp` -Warn, T34284: BlendDNA: Did not find a field named `coeff_quad` in structure `Lamp` -Info, T34284: (Stats) Fields read: 668, pointers resolved: 17, cache hits: 3, cached objects: 13 -Debug, T34284: UpdateImporterScale scale set: 1 -Debug, T34284: ValidateDataStructureProcess begin -Warn, T34284: Validation warning: aiLight::mAttenuationXXX - all are zero -Debug, T34284: ValidateDataStructureProcess end -Info, T34284: Load D:/projects/assimp/test/models/BLEND/4Cubes4Mats_248.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.48 (64bit: false, little endian: true) -Debug, T34284: REND -Debug, T34284: GLOB -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: TX -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: OB -Skipping one or more lines with the same contents -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 310 structures with totally 3868 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt -Debug, T34284: ENDB -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `sensor_x` in structure `Camera` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `totloop` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `totpoly` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloop` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloopuv` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mloopcol` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mpoly` in structure `Mesh` -Warn, T34284: BlendDNA: Did not find a field named `*mtpoly` in structure `Mesh` -Warn, T34284: -Skipping one or more lines with the same contents -Warn, T34284: BlendDNA: Did not find a field named `rot` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `colspecfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `mirrfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `alphafac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `difffac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `specfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `emitfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `hardfac` in structure `MTex` -Warn, T34284: BlendDNA: Did not find a field named `material_type` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `pr_texture` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `shadowonly_flag` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `index` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `vcol_alpha` in structure `Material` -Warn, T34284: BlendDNA: Did not find a field named `typemap` in structure `CustomData` -Error, T34284: Constructing BlenderDNA Structure encountered an error -Info, T34284: Load D:/projects/assimp/test/models/BLEND/blender_269_regress1.blend -Debug, T34284: Assimp 5.0.3419303229 x86 msvc debug shared singlethreadedsingle : -Info, T34284: Found a matching importer for this file format: Blender 3D Importer (http://www.blender3d.org). -Info, T34284: Import root directory is 'D:/projects/assimp/test/models/BLEND\' -Info, T34284: BLEND: Blender version is 2.69 (64bit: true, little endian: true) -Debug, T34284: REND -Debug, T34284: TEST -Debug, T34284: GLOB -Debug, T34284: WM -Debug, T34284: DATA -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SN -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: SC -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: CA -Debug, T34284: LA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: KE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: WO -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Debug, T34284: OB -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: MA -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: TE -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: ME -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: BR -Debug, T34284: DATA -Skipping one or more lines with the same contents -Debug, T34284: LS -Debug, T34284: DATA -Debug, T34284: DNA1 -Debug, T34284: BlenderDNA: Got 551 structures with totally 6353 fields -Info, T34284: BlenderDNA: Dumped dna to dna.txt From 0aadd8a3f98549bc6c39a7be047a63fb0c326544 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:10:59 +0200 Subject: [PATCH 59/99] Delete spiderExport.stl --- test/spiderExport.stl | 10946 ---------------------------------------- 1 file changed, 10946 deletions(-) delete mode 100644 test/spiderExport.stl diff --git a/test/spiderExport.stl b/test/spiderExport.stl deleted file mode 100644 index f9eb2d538..000000000 --- a/test/spiderExport.stl +++ /dev/null @@ -1,10946 +0,0 @@ -solid AssimpScene - facet normal 0.468281955 -0.863497853 -0.187305972 - outer loop - vertex 0.907127976 0.646165013 0.795193017 - vertex 1.65540099 1.11156702 0.520398021 - vertex 0.766146004 0.680482984 0.284518987 - endloop - endfacet - - facet normal 0.373240978 -0.860315859 -0.347199947 - outer loop - vertex 1.85664499 0.887426019 1.21811604 - vertex 0.907127976 0.646165013 0.795193017 - vertex 1.31394804 0.554956019 1.45853198 - endloop - endfacet - - facet normal -0.148454979 -0.953196883 -0.263394982 - outer loop - vertex 1.65540099 1.11156702 0.520398021 - vertex 1.85664499 0.887426019 1.21811604 - vertex 2.33923101 0.936287999 0.769291997 - endloop - endfacet - - facet normal 0.383431226 -0.84137249 -0.38088423 - outer loop - vertex 1.85664499 0.887426019 1.21811604 - vertex 1.65540099 1.11156702 0.520398021 - vertex 0.907127976 0.646165013 0.795193017 - endloop - endfacet - - facet normal 0.562677324 -0.799798489 -0.209085122 - outer loop - vertex 0.451615006 0.391451001 0.543682992 - vertex 0.907127976 0.646165013 0.795193017 - vertex 0.766146004 0.680482984 0.284518987 - endloop - endfacet - - facet normal 0.807133079 -0.364618987 -0.46431601 - outer loop - vertex 0.681457996 0.234028995 1.06684601 - vertex 0.451615006 0.391451001 0.543682992 - vertex 0.382212013 -0.0206840001 0.746681988 - endloop - endfacet - - facet normal 0.612119138 -0.640684068 -0.463502079 - outer loop - vertex 0.907127976 0.646165013 0.795193017 - vertex 0.681457996 0.234028995 1.06684601 - vertex 1.31394804 0.554956019 1.45853198 - endloop - endfacet - - facet normal 0.613333642 -0.640477657 -0.462179691 - outer loop - vertex 0.681457996 0.234028995 1.06684601 - vertex 0.907127976 0.646165013 0.795193017 - vertex 0.451615006 0.391451001 0.543682992 - endloop - endfacet - - facet normal 0.730570912 0 -0.68283695 - outer loop - vertex 0.681457996 -0.275397986 1.06684601 - vertex 0.681457996 0.234028995 1.06684601 - vertex 0.382212013 -0.0206840001 0.746681988 - endloop - endfacet - - facet normal 0.622255981 0.257773995 -0.739154994 - outer loop - vertex 1.25399899 -0.0620529987 1.62324095 - vertex 0.681457996 -0.275397986 1.06684601 - vertex 1.31394804 -0.679062009 1.45853198 - endloop - endfacet - - facet normal 0.600341976 -0.260203004 -0.756230056 - outer loop - vertex 0.681457996 0.234028995 1.06684601 - vertex 1.25399899 -0.0620529987 1.62324095 - vertex 1.31394804 0.554956019 1.45853198 - endloop - endfacet - - facet normal 0.696921945 0 -0.717146993 - outer loop - vertex 1.25399899 -0.0620529987 1.62324095 - vertex 0.681457996 0.234028995 1.06684601 - vertex 0.681457996 -0.275397986 1.06684601 - endloop - endfacet - - facet normal 0.168448105 -0.269475162 -0.948160529 - outer loop - vertex 1.25399899 -0.0620529987 1.62324095 - vertex 1.98102093 0.300615013 1.64932895 - vertex 1.31394804 0.554956019 1.45853198 - endloop - endfacet - - facet normal 0.168448105 0.269475162 -0.948160529 - outer loop - vertex 1.98102093 -0.424721986 1.64932895 - vertex 1.25399899 -0.0620529987 1.62324095 - vertex 1.31394804 -0.679062009 1.45853198 - endloop - endfacet - - facet normal -0.248866931 0 -0.968537748 - outer loop - vertex 1.98102093 0.300615013 1.64932895 - vertex 1.98102093 -0.424721986 1.64932895 - vertex 2.55083203 -0.0620529987 1.50291502 - endloop - endfacet - - facet normal 0.0358599909 0 -0.999356866 - outer loop - vertex 1.98102093 -0.424721986 1.64932895 - vertex 1.98102093 0.300615013 1.64932895 - vertex 1.25399899 -0.0620529987 1.62324095 - endloop - endfacet - - facet normal 0.00512400037 -0.591441095 -0.806332052 - outer loop - vertex 1.98102093 0.300615013 1.64932895 - vertex 1.85664499 0.887426019 1.21811604 - vertex 1.31394804 0.554956019 1.45853198 - endloop - endfacet - - facet normal -0.432703078 -0.343308091 -0.83361119 - outer loop - vertex 2.58366799 0.524757028 1.24420404 - vertex 1.98102093 0.300615013 1.64932895 - vertex 2.55083203 -0.0620529987 1.50291502 - endloop - endfacet - - facet normal -0.375216067 -0.787361085 -0.489158064 - outer loop - vertex 1.85664499 0.887426019 1.21811604 - vertex 2.58366799 0.524757028 1.24420404 - vertex 2.33923101 0.936287999 0.769291997 - endloop - endfacet - - facet normal -0.275769085 -0.606463194 -0.745757163 - outer loop - vertex 2.58366799 0.524757028 1.24420404 - vertex 1.85664499 0.887426019 1.21811604 - vertex 1.98102093 0.300615013 1.64932895 - endloop - endfacet - - facet normal -0.241510943 -0.3801229 -0.892848849 - outer loop - vertex 3.11489511 -0.0620529987 1.35033894 - vertex 2.58366799 0.524757028 1.24420404 - vertex 2.55083203 -0.0620529987 1.50291502 - endloop - endfacet - - facet normal -0.950931132 -0.278835028 0.134094015 - outer loop - vertex 2.83174801 0.524757028 0.562609017 - vertex 3.11489511 -0.0620529987 1.35033894 - vertex 2.97289085 -0.0620529987 0.343317986 - endloop - endfacet - - facet normal -0.680309772 -0.68983078 -0.247612908 - outer loop - vertex 2.58366799 0.524757028 1.24420404 - vertex 2.83174801 0.524757028 0.562609017 - vertex 2.33923101 0.936287999 0.769291997 - endloop - endfacet - - facet normal -0.69412154 -0.67406857 -0.25263983 - outer loop - vertex 2.83174801 0.524757028 0.562609017 - vertex 2.58366799 0.524757028 1.24420404 - vertex 3.11489511 -0.0620529987 1.35033894 - endloop - endfacet - - facet normal -0.241510943 0.3801229 -0.892848849 - outer loop - vertex 2.58366799 -0.648863018 1.24420404 - vertex 3.11489511 -0.0620529987 1.35033894 - vertex 2.55083203 -0.0620529987 1.50291502 - endloop - endfacet - - facet normal -0.680310249 0.689830244 -0.247613087 - outer loop - vertex 2.83174801 -0.648863018 0.562609017 - vertex 2.58366799 -0.648863018 1.24420404 - vertex 2.33923101 -1.060395 0.769291997 - endloop - endfacet - - facet normal -0.950931132 0.278835028 0.134094015 - outer loop - vertex 3.11489511 -0.0620529987 1.35033894 - vertex 2.83174801 -0.648863018 0.562609017 - vertex 2.97289085 -0.0620529987 0.343317986 - endloop - endfacet - - facet normal -0.69412154 0.67406857 -0.25263983 - outer loop - vertex 2.83174801 -0.648863018 0.562609017 - vertex 3.11489511 -0.0620529987 1.35033894 - vertex 2.58366799 -0.648863018 1.24420404 - endloop - endfacet - - facet normal 0.00512400037 0.591441095 -0.806332052 - outer loop - vertex 1.85664499 -1.01153195 1.21811604 - vertex 1.98102093 -0.424721986 1.64932895 - vertex 1.31394804 -0.679062009 1.45853198 - endloop - endfacet - - facet normal -0.375215858 0.787360668 -0.489158779 - outer loop - vertex 2.58366799 -0.648863018 1.24420404 - vertex 1.85664499 -1.01153195 1.21811604 - vertex 2.33923101 -1.060395 0.769291997 - endloop - endfacet - - facet normal -0.432703078 0.343308091 -0.83361119 - outer loop - vertex 1.98102093 -0.424721986 1.64932895 - vertex 2.58366799 -0.648863018 1.24420404 - vertex 2.55083203 -0.0620529987 1.50291502 - endloop - endfacet - - facet normal -0.275769085 0.606463194 -0.745757163 - outer loop - vertex 2.58366799 -0.648863018 1.24420404 - vertex 1.98102093 -0.424721986 1.64932895 - vertex 1.85664499 -1.01153195 1.21811604 - endloop - endfacet - - facet normal 0.415251076 0.870015144 -0.265782058 - outer loop - vertex 0.907127976 -0.687533975 0.795193017 - vertex 1.85664499 -1.01153195 1.21811604 - vertex 1.31394804 -0.679062009 1.45853198 - endloop - endfacet - - facet normal 0.529567182 0.823971212 -0.201569065 - outer loop - vertex 1.65540099 -1.23567402 0.520398021 - vertex 0.907127976 -0.687533975 0.795193017 - vertex 0.766146004 -0.721850991 0.284518987 - endloop - endfacet - - facet normal -0.148454979 0.953196883 -0.263394982 - outer loop - vertex 1.85664499 -1.01153195 1.21811604 - vertex 1.65540099 -1.23567402 0.520398021 - vertex 2.33923101 -1.060395 0.769291997 - endloop - endfacet - - facet normal 0.447698891 0.805645823 -0.387943923 - outer loop - vertex 1.65540099 -1.23567402 0.520398021 - vertex 1.85664499 -1.01153195 1.21811604 - vertex 0.907127976 -0.687533975 0.795193017 - endloop - endfacet - - facet normal 0.410494119 0.855419278 0.315836102 - outer loop - vertex 1.04242694 -0.687533975 -0.167512998 - vertex 1.65540099 -1.23567402 0.520398021 - vertex 0.766146004 -0.721850991 0.284518987 - endloop - endfacet - - facet normal 0.11889904 0.867570281 0.482892126 - outer loop - vertex 2.2580471 -1.01153195 0.115272999 - vertex 1.04242694 -0.687533975 -0.167512998 - vertex 1.99685407 -0.679062009 -0.417735994 - endloop - endfacet - - facet normal -0.283029974 0.953196943 0.106346995 - outer loop - vertex 1.65540099 -1.23567402 0.520398021 - vertex 2.2580471 -1.01153195 0.115272999 - vertex 2.33923101 -1.060395 0.769291997 - endloop - endfacet - - facet normal 0.0833719745 0.8142398 0.574510813 - outer loop - vertex 2.2580471 -1.01153195 0.115272999 - vertex 1.65540099 -1.23567402 0.520398021 - vertex 1.04242694 -0.687533975 -0.167512998 - endloop - endfacet - - facet normal -0.514374912 0.591440976 0.620979965 - outer loop - vertex 2.63050294 -0.424721986 -0.135107994 - vertex 2.2580471 -1.01153195 0.115272999 - vertex 1.99685407 -0.679062009 -0.417735994 - endloop - endfacet - - facet normal -0.867304265 0.343309104 0.360447109 - outer loop - vertex 2.83174801 -0.648863018 0.562609017 - vertex 2.63050294 -0.424721986 -0.135107994 - vertex 2.97289085 -0.0620529987 0.343317986 - endloop - endfacet - - facet normal -0.601856828 0.787360728 0.133533955 - outer loop - vertex 2.2580471 -1.01153195 0.115272999 - vertex 2.83174801 -0.648863018 0.562609017 - vertex 2.33923101 -1.060395 0.769291997 - endloop - endfacet - - facet normal -0.690615118 0.606463134 0.394022048 - outer loop - vertex 2.83174801 -0.648863018 0.562609017 - vertex 2.2580471 -1.01153195 0.115272999 - vertex 2.63050294 -0.424721986 -0.135107994 - endloop - endfacet - - facet normal -0.480426788 0.269474924 0.834609628 - outer loop - vertex 2.05680299 -0.0620529987 -0.582445025 - vertex 2.63050294 -0.424721986 -0.135107994 - vertex 1.99685407 -0.679062009 -0.417735994 - endloop - endfacet - - facet normal -0.480426788 -0.269474924 0.834609628 - outer loop - vertex 2.63050294 0.300615013 -0.135107994 - vertex 2.05680299 -0.0620529987 -0.582445025 - vertex 1.99685407 0.554956019 -0.417735994 - endloop - endfacet - - facet normal -0.813206792 0 0.581974864 - outer loop - vertex 2.63050294 -0.424721986 -0.135107994 - vertex 2.63050294 0.300615013 -0.135107994 - vertex 2.97289085 -0.0620529987 0.343317986 - endloop - endfacet - - facet normal -0.614903986 0 0.788601995 - outer loop - vertex 2.63050294 0.300615013 -0.135107994 - vertex 2.63050294 -0.424721986 -0.135107994 - vertex 2.05680299 -0.0620529987 -0.582445025 - endloop - endfacet - - facet normal 0.0294839889 0.255127907 0.966457665 - outer loop - vertex 0.900376976 -0.275397986 -0.490844995 - vertex 2.05680299 -0.0620529987 -0.582445025 - vertex 1.99685407 -0.679062009 -0.417735994 - endloop - endfacet - - facet normal 0.514054716 0 0.857757449 - outer loop - vertex 0.900376976 0.234028995 -0.490844995 - vertex 0.900376976 -0.275397986 -0.490844995 - vertex 0.524474978 -0.0206840001 -0.265567005 - endloop - endfacet - - facet normal 0.0107639972 -0.256923914 0.966371715 - outer loop - vertex 2.05680299 -0.0620529987 -0.582445025 - vertex 0.900376976 0.234028995 -0.490844995 - vertex 1.99685407 0.554956019 -0.417735994 - endloop - endfacet - - facet normal 0.0789619684 0 0.996877551 - outer loop - vertex 0.900376976 0.234028995 -0.490844995 - vertex 2.05680299 -0.0620529987 -0.582445025 - vertex 0.900376976 -0.275397986 -0.490844995 - endloop - endfacet - - facet normal 0.647883713 -0.364618838 0.668804705 - outer loop - vertex 0.535234988 0.391451001 -0.0513020009 - vertex 0.900376976 0.234028995 -0.490844995 - vertex 0.524474978 -0.0206840001 -0.265567005 - endloop - endfacet - - facet normal 0.483248174 -0.79979831 0.356081158 - outer loop - vertex 1.04242694 0.646165013 -0.167512998 - vertex 0.535234988 0.391451001 -0.0513020009 - vertex 0.766146004 0.680482984 0.284518987 - endloop - endfacet - - facet normal 0.136986926 -0.640222669 0.755876541 - outer loop - vertex 0.900376976 0.234028995 -0.490844995 - vertex 1.04242694 0.646165013 -0.167512998 - vertex 1.99685407 0.554956019 -0.417735994 - endloop - endfacet - - facet normal 0.462180048 -0.640478075 0.613333046 - outer loop - vertex 1.04242694 0.646165013 -0.167512998 - vertex 0.900376976 0.234028995 -0.490844995 - vertex 0.535234988 0.391451001 -0.0513020009 - endloop - endfacet - - facet normal 0.355838954 -0.890011907 0.285056978 - outer loop - vertex 1.65540099 1.11156702 0.520398021 - vertex 1.04242694 0.646165013 -0.167512998 - vertex 0.766146004 0.680482984 0.284518987 - endloop - endfacet - - facet normal -0.283029974 -0.953196943 0.106346995 - outer loop - vertex 2.2580471 0.887426019 0.115272999 - vertex 1.65540099 1.11156702 0.520398021 - vertex 2.33923101 0.936287999 0.769291997 - endloop - endfacet - - facet normal 0.0517080128 -0.85851717 0.510171115 - outer loop - vertex 1.04242694 0.646165013 -0.167512998 - vertex 2.2580471 0.887426019 0.115272999 - vertex 1.99685407 0.554956019 -0.417735994 - endloop - endfacet - - facet normal 0.0438020192 -0.845141351 0.532745183 - outer loop - vertex 2.2580471 0.887426019 0.115272999 - vertex 1.04242694 0.646165013 -0.167512998 - vertex 1.65540099 1.11156702 0.520398021 - endloop - endfacet - - facet normal -0.514374912 -0.591440976 0.620979965 - outer loop - vertex 2.2580471 0.887426019 0.115272999 - vertex 2.63050294 0.300615013 -0.135107994 - vertex 1.99685407 0.554956019 -0.417735994 - endloop - endfacet - - facet normal -0.601856947 -0.787360847 0.133532986 - outer loop - vertex 2.83174801 0.524757028 0.562609017 - vertex 2.2580471 0.887426019 0.115272999 - vertex 2.33923101 0.936287999 0.769291997 - endloop - endfacet - - facet normal -0.867304265 -0.343309104 0.360447109 - outer loop - vertex 2.63050294 0.300615013 -0.135107994 - vertex 2.83174801 0.524757028 0.562609017 - vertex 2.97289085 -0.0620529987 0.343317986 - endloop - endfacet - - facet normal -0.690614581 -0.606463671 0.394021749 - outer loop - vertex 2.83174801 0.524757028 0.562609017 - vertex 2.63050294 0.300615013 -0.135107994 - vertex 2.2580471 0.887426019 0.115272999 - endloop - endfacet - - facet normal 0.964517593 -0.227995917 -0.133129939 - outer loop - vertex 0.451615006 0.391451001 0.543682992 - vertex 0.309563994 -0.0206840001 0.220350996 - vertex 0.382212013 -0.0206840001 0.746681988 - endloop - endfacet - - facet normal 0.716925919 -0.689829946 0.100756995 - outer loop - vertex 0.535234988 0.391451001 -0.0513020009 - vertex 0.451615006 0.391451001 0.543682992 - vertex 0.766146004 0.680482984 0.284518987 - endloop - endfacet - - facet normal 0.890458107 -0.227996066 0.393830061 - outer loop - vertex 0.309563994 -0.0206840001 0.220350996 - vertex 0.535234988 0.391451001 -0.0513020009 - vertex 0.524474978 -0.0206840001 -0.265567005 - endloop - endfacet - - facet normal 0.90287751 -0.41074425 0.126891062 - outer loop - vertex 0.535234988 0.391451001 -0.0513020009 - vertex 0.309563994 -0.0206840001 0.220350996 - vertex 0.451615006 0.391451001 0.543682992 - endloop - endfacet - - facet normal 0.964517593 0.227995917 -0.133129939 - outer loop - vertex 0.309563994 -0.0206840001 0.220350996 - vertex 0.451615006 -0.432819992 0.543682992 - vertex 0.382212013 -0.0206840001 0.746681988 - endloop - endfacet - - facet normal 0.890458107 0.227996066 0.393830061 - outer loop - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 0.309563994 -0.0206840001 0.220350996 - vertex 0.524474978 -0.0206840001 -0.265567005 - endloop - endfacet - - facet normal 0.716925919 0.689829946 0.100756995 - outer loop - vertex 0.451615006 -0.432819992 0.543682992 - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 0.766146004 -0.721850991 0.284518987 - endloop - endfacet - - facet normal 0.90287751 0.41074425 0.126891062 - outer loop - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 0.451615006 -0.432819992 0.543682992 - vertex 0.309563994 -0.0206840001 0.220350996 - endloop - endfacet - - facet normal 0.807133079 0.364618987 -0.46431601 - outer loop - vertex 0.451615006 -0.432819992 0.543682992 - vertex 0.681457996 -0.275397986 1.06684601 - vertex 0.382212013 -0.0206840001 0.746681988 - endloop - endfacet - - facet normal 0.562677264 0.79979831 -0.209086075 - outer loop - vertex 0.907127976 -0.687533975 0.795193017 - vertex 0.451615006 -0.432819992 0.543682992 - vertex 0.766146004 -0.721850991 0.284518987 - endloop - endfacet - - facet normal 0.657568097 0.631190121 -0.411343098 - outer loop - vertex 0.681457996 -0.275397986 1.06684601 - vertex 0.907127976 -0.687533975 0.795193017 - vertex 1.31394804 -0.679062009 1.45853198 - endloop - endfacet - - facet normal 0.613333642 0.640477657 -0.462179691 - outer loop - vertex 0.907127976 -0.687533975 0.795193017 - vertex 0.681457996 -0.275397986 1.06684601 - vertex 0.451615006 -0.432819992 0.543682992 - endloop - endfacet - - facet normal 0.188311026 0.645559072 0.740130126 - outer loop - vertex 1.04242694 -0.687533975 -0.167512998 - vertex 0.900376976 -0.275397986 -0.490844995 - vertex 1.99685407 -0.679062009 -0.417735994 - endloop - endfacet - - facet normal 0.483248174 0.79979831 0.356081158 - outer loop - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 1.04242694 -0.687533975 -0.167512998 - vertex 0.766146004 -0.721850991 0.284518987 - endloop - endfacet - - facet normal 0.647883177 0.364619046 0.668805122 - outer loop - vertex 0.900376976 -0.275397986 -0.490844995 - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 0.524474978 -0.0206840001 -0.265567005 - endloop - endfacet - - facet normal 0.462180048 0.640478075 0.613333046 - outer loop - vertex 0.535234988 -0.432819992 -0.0513020009 - vertex 0.900376976 -0.275397986 -0.490844995 - vertex 1.04242694 -0.687533975 -0.167512998 - endloop - endfacet - - facet normal -0.432697058 -0.859040201 0.273538053 - outer loop - vertex -0.631551027 0.764486015 0.547107995 - vertex -0.438125014 0.541163027 0.151739001 - vertex -1.01341605 0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.541726649 -0.466254741 -0.69938457 - outer loop - vertex -0.0606839992 0.437810004 0.322710991 - vertex -0.631551027 0.764486015 0.547107995 - vertex -0.291319996 0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.175982982 -0.964926958 -0.194796994 - outer loop - vertex -0.438125014 0.541163027 0.151739001 - vertex -0.0606839992 0.437810004 0.322710991 - vertex 0.253931999 0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.37848711 -0.872899234 0.307887077 - outer loop - vertex -0.0606839992 0.437810004 0.322710991 - vertex -0.438125014 0.541163027 0.151739001 - vertex -0.631551027 0.764486015 0.547107995 - endloop - endfacet - - facet normal 0.429853022 -0.805670023 -0.407581031 - outer loop - vertex -1.13857305 0.472478002 0.589594007 - vertex -0.631551027 0.764486015 0.547107995 - vertex -1.01341605 0.803828001 0.0666079968 - endloop - endfacet - - facet normal 0.334310085 -0.263623089 -0.904842317 - outer loop - vertex -0.75335598 0.292008013 0.78449899 - vertex -1.13857305 0.472478002 0.589594007 - vertex -1.13703001 0 0.727819026 - endloop - endfacet - - facet normal -0.34672612 -0.348206103 -0.870938241 - outer loop - vertex -0.631551027 0.764486015 0.547107995 - vertex -0.75335598 0.292008013 0.78449899 - vertex -0.291319996 0.284505993 0.603558004 - endloop - endfacet - - facet normal 0.205720052 -0.481182128 -0.852140188 - outer loop - vertex -0.75335598 0.292008013 0.78449899 - vertex -0.631551027 0.764486015 0.547107995 - vertex -1.13857305 0.472478002 0.589594007 - endloop - endfacet - - facet normal 0.146141946 0 -0.989263594 - outer loop - vertex -0.75335598 -0.292008013 0.78449899 - vertex -0.75335598 0.292008013 0.78449899 - vertex -1.13703001 0 0.727819026 - endloop - endfacet - - facet normal -0.353928059 0.280805022 -0.892123103 - outer loop - vertex -0.265545011 0 0.682883978 - vertex -0.75335598 -0.292008013 0.78449899 - vertex -0.291319996 -0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.353928059 -0.280805022 -0.892123103 - outer loop - vertex -0.75335598 0.292008013 0.78449899 - vertex -0.265545011 0 0.682883978 - vertex -0.291319996 0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.203930095 0 -0.978985429 - outer loop - vertex -0.265545011 0 0.682883978 - vertex -0.75335598 0.292008013 0.78449899 - vertex -0.75335598 -0.292008013 0.78449899 - endloop - endfacet - - facet normal -0.370298028 -0.280459017 -0.885563135 - outer loop - vertex -0.265545011 0 0.682883978 - vertex 0.369307995 0.167228997 0.364459008 - vertex -0.291319996 0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.370298028 0.280459017 -0.885563135 - outer loop - vertex 0.369307995 -0.167228997 0.364459008 - vertex -0.265545011 0 0.682883978 - vertex -0.291319996 -0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.60111922 0 -0.799159288 - outer loop - vertex 0.369307995 0.167228997 0.364459008 - vertex 0.369307995 -0.167228997 0.364459008 - vertex 0.662828028 0 0.143675998 - endloop - endfacet - - facet normal -0.448338032 0 -0.893864095 - outer loop - vertex 0.369307995 -0.167228997 0.364459008 - vertex 0.369307995 0.167228997 0.364459008 - vertex -0.265545011 0 0.682883978 - endloop - endfacet - - facet normal -0.355542064 -0.666160047 -0.655607045 - outer loop - vertex 0.369307995 0.167228997 0.364459008 - vertex -0.0606839992 0.437810004 0.322710991 - vertex -0.291319996 0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.681211829 -0.339001894 -0.648866773 - outer loop - vertex 0.581242025 0.389086008 0.0260499995 - vertex 0.369307995 0.167228997 0.364459008 - vertex 0.662828028 0 0.143675998 - endloop - endfacet - - facet normal -0.156875014 -0.971084058 -0.179961026 - outer loop - vertex -0.0606839992 0.437810004 0.322710991 - vertex 0.581242025 0.389086008 0.0260499995 - vertex 0.253931999 0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.354409099 -0.664684117 -0.657715142 - outer loop - vertex 0.581242025 0.389086008 0.0260499995 - vertex -0.0606839992 0.437810004 0.322710991 - vertex 0.369307995 0.167228997 0.364459008 - endloop - endfacet - - facet normal -0.967071533 -0.233435884 -0.101391949 - outer loop - vertex 0.700780988 0 -0.218314007 - vertex 0.581242025 0.389086008 0.0260499995 - vertex 0.662828028 0 0.143675998 - endloop - endfacet - - facet normal -0.722780406 -0.23343581 0.650458395 - outer loop - vertex 0.460438013 0.389086008 -0.345746011 - vertex 0.700780988 0 -0.218314007 - vertex 0.457304001 0 -0.488862008 - endloop - endfacet - - facet normal -0.234045014 -0.969247162 0.0760460123 - outer loop - vertex 0.581242025 0.389086008 0.0260499995 - vertex 0.460438013 0.389086008 -0.345746011 - vertex 0.253931999 0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.855295599 -0.437309831 0.277901888 - outer loop - vertex 0.460438013 0.389086008 -0.345746011 - vertex 0.581242025 0.389086008 0.0260499995 - vertex 0.700780988 0 -0.218314007 - endloop - endfacet - - facet normal -0.967071533 0.233435884 -0.101391949 - outer loop - vertex 0.581242025 -0.389086008 0.0260499995 - vertex 0.700780988 0 -0.218314007 - vertex 0.662828028 0 0.143675998 - endloop - endfacet - - facet normal -0.234045014 0.969247162 0.0760460123 - outer loop - vertex 0.460438013 -0.389086008 -0.345746011 - vertex 0.581242025 -0.389086008 0.0260499995 - vertex 0.253931999 -0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.722780406 0.233436137 0.650458336 - outer loop - vertex 0.700780988 0 -0.218314007 - vertex 0.460438013 -0.389086008 -0.345746011 - vertex 0.457304001 0 -0.488862008 - endloop - endfacet - - facet normal -0.855295599 0.437309831 0.277901888 - outer loop - vertex 0.460438013 -0.389086008 -0.345746011 - vertex 0.700780988 0 -0.218314007 - vertex 0.581242025 -0.389086008 0.0260499995 - endloop - endfacet - - facet normal -0.355541825 0.66615957 -0.655607641 - outer loop - vertex -0.0606839992 -0.437810004 0.322710991 - vertex 0.369307995 -0.167228997 0.364459008 - vertex -0.291319996 -0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.156875029 0.971084177 -0.179960027 - outer loop - vertex 0.581242025 -0.389086008 0.0260499995 - vertex -0.0606839992 -0.437810004 0.322710991 - vertex 0.253931999 -0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.681211829 0.339001894 -0.648866773 - outer loop - vertex 0.369307995 -0.167228997 0.364459008 - vertex 0.581242025 -0.389086008 0.0260499995 - vertex 0.662828028 0 0.143675998 - endloop - endfacet - - facet normal -0.354409099 0.664684117 -0.657715142 - outer loop - vertex 0.581242025 -0.389086008 0.0260499995 - vertex 0.369307995 -0.167228997 0.364459008 - vertex -0.0606839992 -0.437810004 0.322710991 - endloop - endfacet - - facet normal -0.541726649 0.466254741 -0.69938457 - outer loop - vertex -0.631551027 -0.764486015 0.547107995 - vertex -0.0606839992 -0.437810004 0.322710991 - vertex -0.291319996 -0.284505993 0.603558004 - endloop - endfacet - - facet normal -0.432697058 0.859040201 0.273538053 - outer loop - vertex -0.438125014 -0.541163027 0.151739001 - vertex -0.631551027 -0.764486015 0.547107995 - vertex -1.01341605 -0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.175982982 0.964926958 -0.194796994 - outer loop - vertex -0.0606839992 -0.437810004 0.322710991 - vertex -0.438125014 -0.541163027 0.151739001 - vertex 0.253931999 -0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.37848711 0.872899234 0.307887077 - outer loop - vertex -0.438125014 -0.541163027 0.151739001 - vertex -0.0606839992 -0.437810004 0.322710991 - vertex -0.631551027 -0.764486015 0.547107995 - endloop - endfacet - - facet normal -0.411905199 0.910833538 -0.0267650131 - outer loop - vertex -0.903297007 -0.764486015 -0.289241999 - vertex -0.438125014 -0.541163027 0.151739001 - vertex -1.01341605 -0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.188856944 0.147191957 0.970910728 - outer loop - vertex -0.233263001 -0.437810004 -0.208434999 - vertex -0.903297007 -0.764486015 -0.289241999 - vertex -0.584930003 -0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.0278740041 0.964927137 0.261034042 - outer loop - vertex -0.438125014 -0.541163027 0.151739001 - vertex -0.233263001 -0.437810004 -0.208434999 - vertex 0.253931999 -0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.439015031 0.898443103 0.00810600072 - outer loop - vertex -0.233263001 -0.437810004 -0.208434999 - vertex -0.438125014 -0.541163027 0.151739001 - vertex -0.903297007 -0.764486015 -0.289241999 - endloop - endfacet - - facet normal -0.021137001 0.971084058 0.237800032 - outer loop - vertex -0.233263001 -0.437810004 -0.208434999 - vertex 0.460438013 -0.389086008 -0.345746011 - vertex 0.253931999 -0.460341007 -0.0731239989 - endloop - endfacet - - facet normal 0.645767212 -0.710955262 0.278437078 - outer loop - vertex -0.903297007 0.764486015 -0.289241999 - vertex -1.33845997 0.472478002 -0.0255929995 - vertex -1.01341605 0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.411905199 -0.910833538 -0.0267650131 - outer loop - vertex -0.438125014 0.541163027 0.151739001 - vertex -0.903297007 0.764486015 -0.289241999 - vertex -1.01341605 0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.0278739929 -0.964926779 0.261034936 - outer loop - vertex -0.233263001 0.437810004 -0.208434999 - vertex -0.438125014 0.541163027 0.151739001 - vertex 0.253931999 0.460341007 -0.0731239989 - endloop - endfacet - - facet normal -0.188856944 -0.147191957 0.970910728 - outer loop - vertex -0.903297007 0.764486015 -0.289241999 - vertex -0.233263001 0.437810004 -0.208434999 - vertex -0.584930003 0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.439015031 -0.898443103 0.00810600072 - outer loop - vertex -0.233263001 0.437810004 -0.208434999 - vertex -0.903297007 0.764486015 -0.289241999 - vertex -0.438125014 0.541163027 0.151739001 - endloop - endfacet - - facet normal -0.021137001 -0.971084058 0.237800032 - outer loop - vertex 0.460438013 0.389086008 -0.345746011 - vertex -0.233263001 0.437810004 -0.208434999 - vertex 0.253931999 0.460341007 -0.0731239989 - endloop - endfacet - - facet normal 0.719865859 -0.192728966 -0.66681987 - outer loop - vertex -1.13857305 0.472478002 0.589594007 - vertex -1.37665105 0 0.469136 - vertex -1.13703001 0 0.727819026 - endloop - endfacet - - facet normal 0.725731134 -0.646305084 -0.23580502 - outer loop - vertex -1.33845997 0.472478002 -0.0255929995 - vertex -1.13857305 0.472478002 0.589594007 - vertex -1.01341605 0.803828001 0.0666079968 - endloop - endfacet - - facet normal 0.986233354 -0.150788054 -0.0678730309 - outer loop - vertex -1.37665105 0 0.469136 - vertex -1.33845997 0.472478002 -0.0255929995 - vertex -1.41845703 0 -0.138327003 - endloop - endfacet - - facet normal 0.882898092 -0.371747017 -0.286871016 - outer loop - vertex -1.33845997 0.472478002 -0.0255929995 - vertex -1.37665105 0 0.469136 - vertex -1.13857305 0.472478002 0.589594007 - endloop - endfacet - - facet normal 0.719865859 0.192728966 -0.66681987 - outer loop - vertex -1.37665105 0 0.469136 - vertex -1.13857305 -0.472478002 0.589594007 - vertex -1.13703001 0 0.727819026 - endloop - endfacet - - facet normal 0.986233175 0.150789022 -0.067873016 - outer loop - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -1.37665105 0 0.469136 - vertex -1.41845703 0 -0.138327003 - endloop - endfacet - - facet normal 0.725731134 0.646305084 -0.23580502 - outer loop - vertex -1.13857305 -0.472478002 0.589594007 - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -1.01341605 -0.803828001 0.0666079968 - endloop - endfacet - - facet normal 0.882897794 0.371747911 -0.286870927 - outer loop - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -1.13857305 -0.472478002 0.589594007 - vertex -1.37665105 0 0.469136 - endloop - endfacet - - facet normal 0.334310085 0.263623089 -0.904842317 - outer loop - vertex -1.13857305 -0.472478002 0.589594007 - vertex -0.75335598 -0.292008013 0.78449899 - vertex -1.13703001 0 0.727819026 - endloop - endfacet - - facet normal 0.429853022 0.805670023 -0.407581031 - outer loop - vertex -0.631551027 -0.764486015 0.547107995 - vertex -1.13857305 -0.472478002 0.589594007 - vertex -1.01341605 -0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.34672612 0.348206103 -0.870938241 - outer loop - vertex -0.75335598 -0.292008013 0.78449899 - vertex -0.631551027 -0.764486015 0.547107995 - vertex -0.291319996 -0.284505993 0.603558004 - endloop - endfacet - - facet normal 0.205720052 0.481182128 -0.852140188 - outer loop - vertex -0.631551027 -0.764486015 0.547107995 - vertex -0.75335598 -0.292008013 0.78449899 - vertex -1.13857305 -0.472478002 0.589594007 - endloop - endfacet - - facet normal 0.645767868 0.710954785 0.278436899 - outer loop - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -0.903297007 -0.764486015 -0.289241999 - vertex -1.01341605 -0.803828001 0.0666079968 - endloop - endfacet - - facet normal -0.0213829875 -0.399431795 0.916513443 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.01783097 -0.351024002 0.00491400016 - vertex -0.964388013 -0.470328987 -0.0458349995 - endloop - endfacet - - facet normal 0.781845033 0.449936032 0.431597054 - outer loop - vertex -2.92025304 -3.89943194 -1.53437805 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.90600705 -3.90321898 -1.55623698 - endloop - endfacet - - facet normal -0.945810378 0.167999059 -0.277883112 - outer loop - vertex -1.23226094 -1.14515603 0.457924992 - vertex -1.23026299 -1.22389793 0.403519988 - vertex -0.964388013 -0.470328987 -0.0458349995 - endloop - endfacet - - facet normal -0.805882096 -0.113844007 -0.581028044 - outer loop - vertex -1.01783097 -0.351024002 0.00491400016 - vertex -1.23226094 -1.14515603 0.457924992 - vertex -0.964388013 -0.470328987 -0.0458349995 - endloop - endfacet - - facet normal -0.942644656 0.173225939 -0.285330921 - outer loop - vertex -1.23226094 -1.14515603 0.457924992 - vertex -1.57549906 -1.69697499 1.256863 - vertex -1.23026299 -1.22389793 0.403519988 - endloop - endfacet - - facet normal -0.941975474 0.154292092 -0.298121184 - outer loop - vertex -1.23226094 -1.14515603 0.457924992 - vertex -1.59044802 -1.66966891 1.31822896 - vertex -1.57549906 -1.69697499 1.256863 - endloop - endfacet - - facet normal -0.747970819 0.285769939 -0.599061906 - outer loop - vertex -1.67847705 -1.86322808 1.30613101 - vertex -1.61559892 -1.845137 1.23625302 - vertex -1.57549906 -1.69697499 1.256863 - endloop - endfacet - - facet normal -0.832128823 0.402304918 -0.381722927 - outer loop - vertex -1.59044802 -1.66966891 1.31822896 - vertex -1.67847705 -1.86322808 1.30613101 - vertex -1.57549906 -1.69697499 1.256863 - endloop - endfacet - - facet normal -0.673662126 0.581969082 -0.455512017 - outer loop - vertex -1.67847705 -1.86322808 1.30613101 - vertex -2.09431696 -2.85528994 0.653648019 - vertex -1.61559892 -1.845137 1.23625302 - endloop - endfacet - - facet normal -0.55654794 0.606640875 -0.567662954 - outer loop - vertex -1.67847705 -1.86322808 1.30613101 - vertex -2.17327309 -2.90178013 0.681376994 - vertex -2.09431696 -2.85528994 0.653648019 - endloop - endfacet - - facet normal -0.405423969 0.861933947 -0.30446896 - outer loop - vertex -2.70630598 -3.77558994 -1.13675594 - vertex -2.66079307 -3.77662301 -1.20028496 - vertex -2.09431696 -2.85528994 0.653648019 - endloop - endfacet - - facet normal -0.551747799 0.803281784 -0.224304914 - outer loop - vertex -2.17327309 -2.90178013 0.681376994 - vertex -2.70630598 -3.77558994 -1.13675594 - vertex -2.09431696 -2.85528994 0.653648019 - endloop - endfacet - - facet normal -0.23088105 0.956007123 -0.180954024 - outer loop - vertex -2.70630598 -3.77558994 -1.13675594 - vertex -2.90600705 -3.90321898 -1.55623698 - vertex -2.66079307 -3.77662301 -1.20028496 - endloop - endfacet - - facet normal -0.112019025 0.964274228 -0.240056053 - outer loop - vertex -2.70630598 -3.77558994 -1.13675594 - vertex -2.92025304 -3.89943194 -1.53437805 - vertex -2.90600705 -3.90321898 -1.55623698 - endloop - endfacet - - facet normal -0.0213859938 -0.399428874 0.916514754 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.15481496 -0.312853992 0.018352 - vertex -1.01783097 -0.351024002 0.00491400016 - endloop - endfacet - - facet normal 0.781792939 0.449993968 0.431630969 - outer loop - vertex -2.93203402 -3.88312697 -1.530038 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.92025304 -3.89943194 -1.53437805 - endloop - endfacet - - facet normal -0.208629057 -0.441484153 -0.872677267 - outer loop - vertex -1.15481496 -0.312853992 0.018352 - vertex -1.23226094 -1.14515603 0.457924992 - vertex -1.01783097 -0.351024002 0.00491400016 - endloop - endfacet - - facet normal -0.460987806 -0.38050884 -0.801687777 - outer loop - vertex -1.15481496 -0.312853992 0.018352 - vertex -1.30323696 -1.08182395 0.468677998 - vertex -1.23226094 -1.14515603 0.457924992 - endloop - endfacet - - facet normal -0.578610063 -0.566799045 -0.586471975 - outer loop - vertex -1.63677692 -1.63637698 1.331761 - vertex -1.59044802 -1.66966891 1.31822896 - vertex -1.23226094 -1.14515603 0.457924992 - endloop - endfacet - - facet normal -0.587184072 -0.558590055 -0.585826039 - outer loop - vertex -1.30323696 -1.08182395 0.468677998 - vertex -1.63677692 -1.63637698 1.331761 - vertex -1.23226094 -1.14515603 0.457924992 - endloop - endfacet - - facet normal -0.181254938 0.14324595 -0.972947657 - outer loop - vertex -1.63677692 -1.63637698 1.331761 - vertex -1.67847705 -1.86322808 1.30613101 - vertex -1.59044802 -1.66966891 1.31822896 - endloop - endfacet - - facet normal -0.106968015 0.131019011 -0.985592186 - outer loop - vertex -1.63677692 -1.63637698 1.331761 - vertex -1.76449001 -1.82381392 1.32070494 - vertex -1.67847705 -1.86322808 1.30613101 - endloop - endfacet - - facet normal 0.127293006 0.466052979 -0.875551939 - outer loop - vertex -2.26325607 -2.86937809 0.685541987 - vertex -2.17327309 -2.90178013 0.681376994 - vertex -1.67847705 -1.86322808 1.30613101 - endloop - endfacet - - facet normal 0.0775939971 0.490328014 -0.86807698 - outer loop - vertex -1.76449001 -1.82381392 1.32070494 - vertex -2.26325607 -2.86937809 0.685541987 - vertex -1.67847705 -1.86322808 1.30613101 - endloop - endfacet - - facet normal 0.277229041 0.831728101 -0.481012046 - outer loop - vertex -2.26325607 -2.86937809 0.685541987 - vertex -2.70630598 -3.77558994 -1.13675594 - vertex -2.17327309 -2.90178013 0.681376994 - endloop - endfacet - - facet normal 0.55742979 0.681361735 -0.474360824 - outer loop - vertex -2.26325607 -2.86937809 0.685541987 - vertex -2.73510885 -3.74266911 -1.12331498 - vertex -2.70630598 -3.77558994 -1.13675594 - endloop - endfacet - - facet normal 0.622135937 0.587329924 -0.517677963 - outer loop - vertex -2.93203402 -3.88312697 -1.530038 - vertex -2.92025304 -3.89943194 -1.53437805 - vertex -2.70630598 -3.77558994 -1.13675594 - endloop - endfacet - - facet normal 0.542568088 0.677461982 -0.496654004 - outer loop - vertex -2.73510885 -3.74266911 -1.12331498 - vertex -2.93203402 -3.88312697 -1.530038 - vertex -2.70630598 -3.77558994 -1.13675594 - endloop - endfacet - - facet normal -0.0213840026 -0.39942807 0.916515112 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.27218902 -0.384564996 -0.0156389996 - vertex -1.15481496 -0.312853992 0.018352 - endloop - endfacet - - facet normal 0.781800985 0.449976027 0.431634992 - outer loop - vertex -2.93247795 -3.86658096 -1.54648209 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.93203402 -3.88312697 -1.530038 - endloop - endfacet - - facet normal 0.36412704 -0.521987081 -0.771324098 - outer loop - vertex -1.38974404 -1.08159196 0.427682996 - vertex -1.30323696 -1.08182395 0.468677998 - vertex -1.15481496 -0.312853992 0.018352 - endloop - endfacet - - facet normal 0.515085042 -0.520164073 -0.681261063 - outer loop - vertex -1.27218902 -0.384564996 -0.0156389996 - vertex -1.38974404 -1.08159196 0.427682996 - vertex -1.15481496 -0.312853992 0.018352 - endloop - endfacet - - facet normal 0.218663126 -0.857194424 -0.466266215 - outer loop - vertex -1.38974404 -1.08159196 0.427682996 - vertex -1.63677692 -1.63637698 1.331761 - vertex -1.30323696 -1.08182395 0.468677998 - endloop - endfacet - - facet normal 0.204399109 -0.858234406 -0.470802218 - outer loop - vertex -1.38974404 -1.08159196 0.427682996 - vertex -1.6796 -1.62216997 1.28727102 - vertex -1.63677692 -1.63637698 1.331761 - endloop - endfacet - - facet normal 0.50200671 -0.29407683 -0.813331544 - outer loop - vertex -1.80886698 -1.75657201 1.26900196 - vertex -1.76449001 -1.82381392 1.32070494 - vertex -1.63677692 -1.63637698 1.331761 - endloop - endfacet - - facet normal 0.566596866 -0.451231897 -0.689461887 - outer loop - vertex -1.6796 -1.62216997 1.28727102 - vertex -1.80886698 -1.75657201 1.26900196 - vertex -1.63677692 -1.63637698 1.331761 - endloop - endfacet - - facet normal 0.770831048 0.019108003 -0.636753082 - outer loop - vertex -1.80886698 -1.75657201 1.26900196 - vertex -2.26325607 -2.86937809 0.685541987 - vertex -1.76449001 -1.82381392 1.32070494 - endloop - endfacet - - facet normal 0.701269805 0.0847809836 -0.707836807 - outer loop - vertex -1.80886698 -1.75657201 1.26900196 - vertex -2.29650688 -2.78248215 0.663007021 - vertex -2.26325607 -2.86937809 0.685541987 - endloop - endfacet - - facet normal 0.940782428 -0.327590138 -0.0872530341 - outer loop - vertex -2.72551107 -3.70265102 -1.17007899 - vertex -2.73510885 -3.74266911 -1.12331498 - vertex -2.26325607 -2.86937809 0.685541987 - endloop - endfacet - - facet normal 0.904131114 0.257567018 -0.34089005 - outer loop - vertex -2.29650688 -2.78248215 0.663007021 - vertex -2.72551107 -3.70265102 -1.17007899 - vertex -2.26325607 -2.86937809 0.685541987 - endloop - endfacet - - facet normal 0.841782868 -0.483176947 -0.240710974 - outer loop - vertex -2.72551107 -3.70265102 -1.17007899 - vertex -2.93203402 -3.88312697 -1.530038 - vertex -2.73510885 -3.74266911 -1.12331498 - endloop - endfacet - - facet normal 0.88212204 -0.319912046 -0.345712066 - outer loop - vertex -2.72551107 -3.70265102 -1.17007899 - vertex -2.93247795 -3.86658096 -1.54648209 - vertex -2.93203402 -3.88312697 -1.530038 - endloop - endfacet - - facet normal -0.0213889908 -0.399435818 0.916511655 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.28156805 -0.512152016 -0.0714629963 - vertex -1.27218902 -0.384564996 -0.0156389996 - endloop - endfacet - - facet normal 0.781811774 0.450063884 0.43152386 - outer loop - vertex -2.92125297 -3.86225605 -1.57133007 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.93247795 -3.86658096 -1.54648209 - endloop - endfacet - - facet normal 0.989923298 -0.111154035 0.0877310187 - outer loop - vertex -1.28156805 -0.512152016 -0.0714629963 - vertex -1.38974404 -1.08159196 0.427682996 - vertex -1.27218902 -0.384564996 -0.0156389996 - endloop - endfacet - - facet normal 0.917860508 -0.345539778 -0.195279896 - outer loop - vertex -1.28156805 -0.512152016 -0.0714629963 - vertex -1.42664099 -1.14463401 0.365808994 - vertex -1.38974404 -1.08159196 0.427682996 - endloop - endfacet - - facet normal 0.889153957 -0.457446933 0.0121459989 - outer loop - vertex -1.68667006 -1.63774502 1.21826005 - vertex -1.6796 -1.62216997 1.28727102 - vertex -1.38974404 -1.08159196 0.427682996 - endloop - endfacet - - facet normal 0.870758057 -0.491359055 -0.0186190028 - outer loop - vertex -1.42664099 -1.14463401 0.365808994 - vertex -1.68667006 -1.63774502 1.21826005 - vertex -1.38974404 -1.08159196 0.427682996 - endloop - endfacet - - facet normal 0.712433815 -0.69666481 0.0842389762 - outer loop - vertex -1.68667006 -1.63774502 1.21826005 - vertex -1.80886698 -1.75657201 1.26900196 - vertex -1.6796 -1.62216997 1.28727102 - endloop - endfacet - - facet normal 0.652189136 -0.740312099 -0.163056031 - outer loop - vertex -1.68667006 -1.63774502 1.21826005 - vertex -1.77819002 -1.71213603 1.18995297 - vertex -1.80886698 -1.75657201 1.26900196 - endloop - endfacet - - facet normal 0.860250354 -0.490703166 0.138491064 - outer loop - vertex -2.24798799 -2.70652914 0.630741 - vertex -2.29650688 -2.78248215 0.663007021 - vertex -1.80886698 -1.75657201 1.26900196 - endloop - endfacet - - facet normal 0.882484198 -0.463115126 0.0821340159 - outer loop - vertex -1.77819002 -1.71213603 1.18995297 - vertex -2.24798799 -2.70652914 0.630741 - vertex -1.80886698 -1.75657201 1.26900196 - endloop - endfacet - - facet normal 0.852697134 -0.518845081 0.0608890019 - outer loop - vertex -2.24798799 -2.70652914 0.630741 - vertex -2.72551107 -3.70265102 -1.17007899 - vertex -2.29650688 -2.78248215 0.663007021 - endloop - endfacet - - facet normal 0.671965122 -0.708992124 0.213993043 - outer loop - vertex -2.24798799 -2.70652914 0.630741 - vertex -2.68474102 -3.68566895 -1.24183702 - vertex -2.72551107 -3.70265102 -1.17007899 - endloop - endfacet - - facet normal 0.517961979 -0.851083994 0.0858569965 - outer loop - vertex -2.92125297 -3.86225605 -1.57133007 - vertex -2.93247795 -3.86658096 -1.54648209 - vertex -2.72551107 -3.70265102 -1.17007899 - endloop - endfacet - - facet normal 0.512933195 -0.853763223 0.0893750265 - outer loop - vertex -2.68474102 -3.68566895 -1.24183702 - vertex -2.92125297 -3.86225605 -1.57133007 - vertex -2.72551107 -3.70265102 -1.17007899 - endloop - endfacet - - facet normal -0.0213880036 -0.399439096 0.916510165 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.17588902 -0.599543989 -0.107084997 - vertex -1.28156805 -0.512152016 -0.0714629963 - endloop - endfacet - - facet normal 0.781846225 0.450043142 0.43148312 - outer loop - vertex -2.906811 -3.87340689 -1.58586907 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.92125297 -3.86225605 -1.57133007 - endloop - endfacet - - facet normal 0.826284051 0.179565996 0.533864021 - outer loop - vertex -1.38614297 -1.22347903 0.329647988 - vertex -1.42664099 -1.14463401 0.365808994 - vertex -1.28156805 -0.512152016 -0.0714629963 - endloop - endfacet - - facet normal 0.545636952 0.349325001 0.761742949 - outer loop - vertex -1.17588902 -0.599543989 -0.107084997 - vertex -1.38614297 -1.22347903 0.329647988 - vertex -1.28156805 -0.512152016 -0.0714629963 - endloop - endfacet - - facet normal 0.872462928 0.257705957 0.415205985 - outer loop - vertex -1.38614297 -1.22347903 0.329647988 - vertex -1.68667006 -1.63774502 1.21826005 - vertex -1.42664099 -1.14463401 0.365808994 - endloop - endfacet - - facet normal 0.843502939 0.317459971 0.433268964 - outer loop - vertex -1.38614297 -1.22347903 0.329647988 - vertex -1.65266299 -1.67137408 1.17669499 - vertex -1.68667006 -1.63774502 1.21826005 - endloop - endfacet - - facet normal 0.305910945 -0.643379867 0.701769829 - outer loop - vertex -1.69556093 -1.72396898 1.14308596 - vertex -1.77819002 -1.71213603 1.18995297 - vertex -1.68667006 -1.63774502 1.21826005 - endloop - endfacet - - facet normal 0.23541902 -0.652366102 0.720414102 - outer loop - vertex -1.65266299 -1.67137408 1.17669499 - vertex -1.69556093 -1.72396898 1.14308596 - vertex -1.68667006 -1.63774502 1.21826005 - endloop - endfacet - - facet normal 0.338568926 -0.577655792 0.742754817 - outer loop - vertex -1.69556093 -1.72396898 1.14308596 - vertex -2.24798799 -2.70652914 0.630741 - vertex -1.77819002 -1.71213603 1.18995297 - endloop - endfacet - - facet normal 0.199457005 -0.538895965 0.818417966 - outer loop - vertex -1.69556093 -1.72396898 1.14308596 - vertex -2.15423298 -2.69871092 0.61303997 - vertex -2.24798799 -2.70652914 0.630741 - endloop - endfacet - - facet normal 0.0607170016 -0.890278995 0.451350033 - outer loop - vertex -2.64349794 -3.70451212 -1.28455305 - vertex -2.68474102 -3.68566895 -1.24183702 - vertex -2.24798799 -2.70652914 0.630741 - endloop - endfacet - - facet normal 0.155501023 -0.888839185 0.431027114 - outer loop - vertex -2.15423298 -2.69871092 0.61303997 - vertex -2.64349794 -3.70451212 -1.28455305 - vertex -2.24798799 -2.70652914 0.630741 - endloop - endfacet - - facet normal 0.0504009835 -0.894892812 0.443425894 - outer loop - vertex -2.64349794 -3.70451212 -1.28455305 - vertex -2.92125297 -3.86225605 -1.57133007 - vertex -2.68474102 -3.68566895 -1.24183702 - endloop - endfacet - - facet normal -0.0920129791 -0.832157791 0.546851873 - outer loop - vertex -2.64349794 -3.70451212 -1.28455305 - vertex -2.906811 -3.87340689 -1.58586907 - vertex -2.92125297 -3.86225605 -1.57133007 - endloop - endfacet - - facet normal -0.0213840008 -0.399439991 0.916509986 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -1.03473103 -0.580929995 -0.095679 - vertex -1.17588902 -0.599543989 -0.107084997 - endloop - endfacet - - facet normal 0.78186512 0.450013101 0.43148011 - outer loop - vertex -2.90002489 -3.89163709 -1.57915306 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.906811 -3.87340689 -1.58586907 - endloop - endfacet - - facet normal -0.14268291 0.599396646 0.787632525 - outer loop - vertex -1.03473103 -0.580929995 -0.095679 - vertex -1.38614297 -1.22347903 0.329647988 - vertex -1.17588902 -0.599543989 -0.107084997 - endloop - endfacet - - facet normal 0.052053012 0.53126812 0.845603168 - outer loop - vertex -1.03473103 -0.580929995 -0.095679 - vertex -1.29874599 -1.25875497 0.346430987 - vertex -1.38614297 -1.22347903 0.329647988 - endloop - endfacet - - facet normal 0.257589042 0.818346024 0.513768077 - outer loop - vertex -1.60318708 -1.69773293 1.19387603 - vertex -1.65266299 -1.67137408 1.17669499 - vertex -1.38614297 -1.22347903 0.329647988 - endloop - endfacet - - facet normal 0.235024914 0.826015711 0.51230979 - outer loop - vertex -1.29874599 -1.25875497 0.346430987 - vertex -1.60318708 -1.69773293 1.19387603 - vertex -1.38614297 -1.22347903 0.329647988 - endloop - endfacet - - facet normal -0.421861917 -0.218249947 0.879999757 - outer loop - vertex -1.60318708 -1.69773293 1.19387603 - vertex -1.69556093 -1.72396898 1.14308596 - vertex -1.65266299 -1.67137408 1.17669499 - endloop - endfacet - - facet normal -0.423999131 -0.211792082 0.880550325 - outer loop - vertex -1.60318708 -1.69773293 1.19387603 - vertex -1.62320209 -1.78316092 1.16369104 - vertex -1.69556093 -1.72396898 1.14308596 - endloop - endfacet - - facet normal -0.403747976 -0.283086956 0.869970918 - outer loop - vertex -2.08584404 -2.76491594 0.623236001 - vertex -2.15423298 -2.69871092 0.61303997 - vertex -1.69556093 -1.72396898 1.14308596 - endloop - endfacet - - facet normal -0.45299387 -0.256548941 0.8538028 - outer loop - vertex -1.62320209 -1.78316092 1.16369104 - vertex -2.08584404 -2.76491594 0.623236001 - vertex -1.69556093 -1.72396898 1.14308596 - endloop - endfacet - - facet normal -0.645806909 -0.593053877 0.480853915 - outer loop - vertex -2.08584404 -2.76491594 0.623236001 - vertex -2.64349794 -3.70451212 -1.28455305 - vertex -2.15423298 -2.69871092 0.61303997 - endloop - endfacet - - facet normal -0.940769851 -0.0996529832 0.324069977 - outer loop - vertex -2.08584404 -2.76491594 0.623236001 - vertex -2.63283992 -3.74498892 -1.26605999 - vertex -2.64349794 -3.70451212 -1.28455305 - endloop - endfacet - - facet normal -0.743959308 -0.0310040135 0.667505264 - outer loop - vertex -2.90002489 -3.89163709 -1.57915306 - vertex -2.906811 -3.87340689 -1.58586907 - vertex -2.64349794 -3.70451212 -1.28455305 - endloop - endfacet - - facet normal -0.776583195 0.0809680223 0.624790192 - outer loop - vertex -2.63283992 -3.74498892 -1.26605999 - vertex -2.90002489 -3.89163709 -1.57915306 - vertex -2.64349794 -3.70451212 -1.28455305 - endloop - endfacet - - facet normal -0.021383008 -0.399439186 0.916510284 - outer loop - vertex -1.12877297 -0.45877099 -0.0446330011 - vertex -0.964388013 -0.470328987 -0.0458349995 - vertex -1.03473103 -0.580929995 -0.095679 - endloop - endfacet - - facet normal 0.781880677 0.449949831 0.43151781 - outer loop - vertex -2.90600705 -3.90321898 -1.55623698 - vertex -2.91697907 -3.88280702 -1.55764103 - vertex -2.90002489 -3.89163709 -1.57915306 - endloop - endfacet - - facet normal -0.677965045 0.568237007 0.466337025 - outer loop - vertex -1.23026299 -1.22389793 0.403519988 - vertex -1.29874599 -1.25875497 0.346430987 - vertex -1.03473103 -0.580929995 -0.095679 - endloop - endfacet - - facet normal -0.864686787 0.444541872 0.23387894 - outer loop - vertex -0.964388013 -0.470328987 -0.0458349995 - vertex -1.23026299 -1.22389793 0.403519988 - vertex -1.03473103 -0.580929995 -0.095679 - endloop - endfacet - - facet normal -0.574035645 0.792883575 0.204495862 - outer loop - vertex -1.23026299 -1.22389793 0.403519988 - vertex -1.60318708 -1.69773293 1.19387603 - vertex -1.29874599 -1.25875497 0.346430987 - endloop - endfacet - - facet normal -0.542411327 0.808382392 0.228709131 - outer loop - vertex -1.23026299 -1.22389793 0.403519988 - vertex -1.57549906 -1.69697499 1.256863 - vertex -1.60318708 -1.69773293 1.19387603 - endloop - endfacet - - facet normal -0.963225067 0.145960003 0.225594997 - outer loop - vertex -1.61559892 -1.845137 1.23625302 - vertex -1.62320209 -1.78316092 1.16369104 - vertex -1.60318708 -1.69773293 1.19387603 - endloop - endfacet - - facet normal -0.899821401 0.188828096 0.393275172 - outer loop - vertex -1.57549906 -1.69697499 1.256863 - vertex -1.61559892 -1.845137 1.23625302 - vertex -1.60318708 -1.69773293 1.19387603 - endloop - endfacet - - facet normal -0.913563967 0.256980956 0.315216959 - outer loop - vertex -1.61559892 -1.845137 1.23625302 - vertex -2.08584404 -2.76491594 0.623236001 - vertex -1.62320209 -1.78316092 1.16369104 - endloop - endfacet - - facet normal -0.902424276 0.211018071 0.375635087 - outer loop - vertex -1.61559892 -1.845137 1.23625302 - vertex -2.09431696 -2.85528994 0.653648019 - vertex -2.08584404 -2.76491594 0.623236001 - endloop - endfacet - - facet normal -0.811797917 0.580202937 -0.065944992 - outer loop - vertex -2.66079307 -3.77662301 -1.20028496 - vertex -2.63283992 -3.74498892 -1.26605999 - vertex -2.08584404 -2.76491594 0.623236001 - endloop - endfacet - - facet normal -0.963328302 0.162240043 0.213721067 - outer loop - vertex -2.09431696 -2.85528994 0.653648019 - vertex -2.66079307 -3.77662301 -1.20028496 - vertex -2.08584404 -2.76491594 0.623236001 - endloop - endfacet - - facet normal -0.591019154 0.795851231 0.131594047 - outer loop - vertex -2.66079307 -3.77662301 -1.20028496 - vertex -2.90002489 -3.89163709 -1.57915306 - vertex -2.63283992 -3.74498892 -1.26605999 - endloop - endfacet - - facet normal -0.658654928 0.72665596 0.195306972 - outer loop - vertex -2.66079307 -3.77662301 -1.20028496 - vertex -2.90600705 -3.90321898 -1.55623698 - vertex -2.90002489 -3.89163709 -1.57915306 - endloop - endfacet - - facet normal -0.0767649934 0.424314976 0.902254939 - outer loop - vertex -1.01769805 0.488880992 -0.0326699987 - vertex -1.05401599 0.365146995 0.0224300008 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760863423 -0.570059299 0.310031176 - outer loop - vertex -3.08611298 2.79408097 -1.54586196 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.09980297 2.787534 -1.52430201 - endloop - endfacet - - facet normal -0.885644376 -0.0708120316 -0.458933175 - outer loop - vertex -1.01769805 0.488880992 -0.0326699987 - vertex -1.31704998 1.29457402 0.420700014 - vertex -1.32415795 1.20324898 0.448507994 - endloop - endfacet - - facet normal -0.840063334 0.0050070025 -0.54246521 - outer loop - vertex -1.01769805 0.488880992 -0.0326699987 - vertex -1.32415795 1.20324898 0.448507994 - vertex -1.05401599 0.365146995 0.0224300008 - endloop - endfacet - - facet normal -0.96798718 -0.00108800025 -0.250997066 - outer loop - vertex -1.31704998 1.29457402 0.420700014 - vertex -1.52630997 1.67332196 1.22608101 - vertex -1.32415795 1.20324898 0.448507994 - endloop - endfacet - - facet normal -0.909262836 0.206635967 -0.361306936 - outer loop - vertex -1.52630997 1.67332196 1.22608101 - vertex -1.55407095 1.62852693 1.27032602 - vertex -1.32415795 1.20324898 0.448507994 - endloop - endfacet - - facet normal -0.512467682 -0.124688931 -0.849605441 - outer loop - vertex -1.52630997 1.67332196 1.22608101 - vertex -1.57726693 1.81927204 1.23539805 - vertex -1.65870309 1.81342292 1.28537703 - endloop - endfacet - - facet normal -0.638087928 -0.303487957 -0.707629025 - outer loop - vertex -1.52630997 1.67332196 1.22608101 - vertex -1.65870309 1.81342292 1.28537703 - vertex -1.55407095 1.62852693 1.27032602 - endloop - endfacet - - facet normal -0.160780042 -0.915375292 -0.369104087 - outer loop - vertex -1.57726693 1.81927204 1.23539805 - vertex -2.07294297 2.21308303 0.474665999 - vertex -1.65870309 1.81342292 1.28537703 - endloop - endfacet - - facet normal -0.373682201 -0.893377483 -0.249476135 - outer loop - vertex -2.07294297 2.21308303 0.474665999 - vertex -2.16162205 2.24618006 0.488976002 - vertex -1.65870309 1.81342292 1.28537703 - endloop - endfacet - - facet normal -0.0730490163 -0.98006922 -0.18473804 - outer loop - vertex -2.07294297 2.21308303 0.474665999 - vertex -2.83839607 2.59127903 -1.22905695 - vertex -2.881531 2.58232498 -1.16449904 - endloop - endfacet - - facet normal -0.354477853 -0.934385598 -0.0356209837 - outer loop - vertex -2.07294297 2.21308303 0.474665999 - vertex -2.881531 2.58232498 -1.16449904 - vertex -2.16162205 2.24618006 0.488976002 - endloop - endfacet - - facet normal -0.308526933 -0.892181814 -0.32988295 - outer loop - vertex -2.83839607 2.59127903 -1.22905695 - vertex -3.08611298 2.79408097 -1.54586196 - vertex -2.881531 2.58232498 -1.16449904 - endloop - endfacet - - facet normal -0.192876935 -0.898110747 -0.395215869 - outer loop - vertex -3.08611298 2.79408097 -1.54586196 - vertex -3.09980297 2.787534 -1.52430201 - vertex -2.881531 2.58232498 -1.16449904 - endloop - endfacet - - facet normal -0.0767690316 0.424311161 0.90225637 - outer loop - vertex -1.05401599 0.365146995 0.0224300008 - vertex -1.18435502 0.308786988 0.0378439985 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760849178 -0.570075095 0.310037047 - outer loop - vertex -3.09980297 2.787534 -1.52430201 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.11261201 2.77155995 -1.52223897 - endloop - endfacet - - facet normal -0.264522016 0.367929041 -0.891435027 - outer loop - vertex -1.05401599 0.365146995 0.0224300008 - vertex -1.32415795 1.20324898 0.448507994 - vertex -1.18435502 0.308786988 0.0378439985 - endloop - endfacet - - facet normal -0.0232820045 0.414123029 -0.909923077 - outer loop - vertex -1.32415795 1.20324898 0.448507994 - vertex -1.38690901 1.13685596 0.41989699 - vertex -1.18435502 0.308786988 0.0378439985 - endloop - endfacet - - facet normal -0.489267647 0.711135507 -0.504879713 - outer loop - vertex -1.32415795 1.20324898 0.448507994 - vertex -1.55407095 1.62852693 1.27032602 - vertex -1.59782505 1.59094405 1.25979102 - endloop - endfacet - - facet normal -0.508115053 0.69780314 -0.504866123 - outer loop - vertex -1.32415795 1.20324898 0.448507994 - vertex -1.59782505 1.59094405 1.25979102 - vertex -1.38690901 1.13685596 0.41989699 - endloop - endfacet - - facet normal 0.113028012 0.14399001 -0.983103096 - outer loop - vertex -1.55407095 1.62852693 1.27032602 - vertex -1.65870309 1.81342292 1.28537703 - vertex -1.59782505 1.59094405 1.25979102 - endloop - endfacet - - facet normal 0.185814962 0.162295938 -0.969088614 - outer loop - vertex -1.65870309 1.81342292 1.28537703 - vertex -1.73981202 1.76814294 1.26224196 - vertex -1.59782505 1.59094405 1.25979102 - endloop - endfacet - - facet normal 0.498544723 -0.589779615 -0.635305643 - outer loop - vertex -1.65870309 1.81342292 1.28537703 - vertex -2.16162205 2.24618006 0.488976002 - vertex -2.244519 2.21051693 0.457031012 - endloop - endfacet - - facet normal 0.506276369 -0.581512392 -0.636810482 - outer loop - vertex -1.65870309 1.81342292 1.28537703 - vertex -2.244519 2.21051693 0.457031012 - vertex -1.73981202 1.76814294 1.26224196 - endloop - endfacet - - facet normal 0.484050065 -0.79212904 -0.371789068 - outer loop - vertex -2.16162205 2.24618006 0.488976002 - vertex -2.881531 2.58232498 -1.16449904 - vertex -2.244519 2.21051693 0.457031012 - endloop - endfacet - - facet normal 0.612227142 -0.683636189 -0.397265077 - outer loop - vertex -2.881531 2.58232498 -1.16449904 - vertex -2.91222191 2.54960108 -1.15548396 - vertex -2.244519 2.21051693 0.457031012 - endloop - endfacet - - facet normal 0.557069063 -0.529381037 -0.639867067 - outer loop - vertex -2.881531 2.58232498 -1.16449904 - vertex -3.09980297 2.787534 -1.52430201 - vertex -3.11261201 2.77155995 -1.52223897 - endloop - endfacet - - facet normal 0.471753895 -0.616191864 -0.630678833 - outer loop - vertex -2.881531 2.58232498 -1.16449904 - vertex -3.11261201 2.77155995 -1.52223897 - vertex -2.91222191 2.54960108 -1.15548396 - endloop - endfacet - - facet normal -0.0767669678 0.424310833 0.902256668 - outer loop - vertex -1.18435502 0.308786988 0.0378439985 - vertex -1.31056702 0.362244993 0.00196600007 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760856092 -0.570063055 0.310042024 - outer loop - vertex -3.11261201 2.77155995 -1.52223897 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.11489511 2.75818896 -1.54122198 - endloop - endfacet - - facet normal 0.624605119 0.447931021 -0.639708042 - outer loop - vertex -1.18435502 0.308786988 0.0378439985 - vertex -1.38690901 1.13685596 0.41989699 - vertex -1.45804906 1.14539194 0.356413007 - endloop - endfacet - - facet normal 0.412785053 0.438942075 -0.798084199 - outer loop - vertex -1.18435502 0.308786988 0.0378439985 - vertex -1.45804906 1.14539194 0.356413007 - vertex -1.31056702 0.362244993 0.00196600007 - endloop - endfacet - - facet normal 0.413569063 0.840320051 -0.350461036 - outer loop - vertex -1.38690901 1.13685596 0.41989699 - vertex -1.59782505 1.59094405 1.25979102 - vertex -1.45804906 1.14539194 0.356413007 - endloop - endfacet - - facet normal 0.566476703 0.770475626 -0.292354852 - outer loop - vertex -1.59782505 1.59094405 1.25979102 - vertex -1.62462497 1.58887506 1.20240998 - vertex -1.45804906 1.14539194 0.356413007 - endloop - endfacet - - facet normal 0.666042805 0.540796876 -0.513736904 - outer loop - vertex -1.59782505 1.59094405 1.25979102 - vertex -1.73981202 1.76814294 1.26224196 - vertex -1.759516 1.71752691 1.18341398 - endloop - endfacet - - facet normal 0.673963785 0.656674743 -0.338453889 - outer loop - vertex -1.59782505 1.59094405 1.25979102 - vertex -1.759516 1.71752691 1.18341398 - vertex -1.62462497 1.58887506 1.20240998 - endloop - endfacet - - facet normal 0.87528342 0.276827157 -0.396542192 - outer loop - vertex -1.73981202 1.76814294 1.26224196 - vertex -2.244519 2.21051693 0.457031012 - vertex -1.759516 1.71752691 1.18341398 - endloop - endfacet - - facet normal 0.868040264 0.162955061 -0.468990147 - outer loop - vertex -2.244519 2.21051693 0.457031012 - vertex -2.25921011 2.13294888 0.402886987 - vertex -1.759516 1.71752691 1.18341398 - endloop - endfacet - - facet normal 0.824457109 0.515765071 -0.232931033 - outer loop - vertex -2.244519 2.21051693 0.457031012 - vertex -2.91222191 2.54960108 -1.15548396 - vertex -2.90735912 2.51775002 -1.20879805 - endloop - endfacet - - facet normal 0.931220233 0.0728830248 -0.357095122 - outer loop - vertex -2.244519 2.21051693 0.457031012 - vertex -2.90735912 2.51775002 -1.20879805 - vertex -2.25921011 2.13294888 0.402886987 - endloop - endfacet - - facet normal 0.866475642 0.459383816 -0.195413932 - outer loop - vertex -2.91222191 2.54960108 -1.15548396 - vertex -3.11261201 2.77155995 -1.52223897 - vertex -2.90735912 2.51775002 -1.20879805 - endloop - endfacet - - facet normal 0.89059633 0.314460129 -0.328562111 - outer loop - vertex -3.11261201 2.77155995 -1.52223897 - vertex -3.11489511 2.75818896 -1.54122198 - vertex -2.90735912 2.51775002 -1.20879805 - endloop - endfacet - - facet normal -0.0767720193 0.424317122 0.90225327 - outer loop - vertex -1.31056702 0.362244993 0.00196600007 - vertex -1.33761096 0.485262007 -0.0581879988 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760856211 -0.570104182 0.309966087 - outer loop - vertex -3.11489511 2.75818896 -1.54122198 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.10493207 2.75749207 -1.56695998 - endloop - endfacet - - facet normal 0.979394317 0.199278057 -0.0327850096 - outer loop - vertex -1.31056702 0.362244993 0.00196600007 - vertex -1.45804906 1.14539194 0.356413007 - vertex -1.33761096 0.485262007 -0.0581879988 - endloop - endfacet - - facet normal 0.961778104 0.24816604 -0.115743019 - outer loop - vertex -1.45804906 1.14539194 0.356413007 - vertex -1.48400998 1.22242701 0.305858999 - vertex -1.33761096 0.485262007 -0.0581879988 - endloop - endfacet - - facet normal 0.983233452 0.0246459842 0.180677876 - outer loop - vertex -1.45804906 1.14539194 0.356413007 - vertex -1.62462497 1.58887506 1.20240998 - vertex -1.61429 1.623878 1.14139199 - endloop - endfacet - - facet normal 0.94848156 0.316802889 -0.004323998 - outer loop - vertex -1.45804906 1.14539194 0.356413007 - vertex -1.61429 1.623878 1.14139199 - vertex -1.48400998 1.22242701 0.305858999 - endloop - endfacet - - facet normal 0.569355786 0.667770743 0.479495794 - outer loop - vertex -1.62462497 1.58887506 1.20240998 - vertex -1.759516 1.71752691 1.18341398 - vertex -1.61429 1.623878 1.14139199 - endloop - endfacet - - facet normal 0.574625909 0.780223846 0.247094944 - outer loop - vertex -1.759516 1.71752691 1.18341398 - vertex -1.70297694 1.69968998 1.10825098 - vertex -1.61429 1.623878 1.14139199 - endloop - endfacet - - facet normal 0.67483896 0.736889005 -0.0398359969 - outer loop - vertex -1.759516 1.71752691 1.18341398 - vertex -2.25921011 2.13294888 0.402886987 - vertex -2.19463396 2.07188797 0.367314011 - endloop - endfacet - - facet normal 0.45869714 0.878017306 0.136684045 - outer loop - vertex -1.759516 1.71752691 1.18341398 - vertex -2.19463396 2.07188797 0.367314011 - vertex -1.70297694 1.69968998 1.10825098 - endloop - endfacet - - facet normal 0.658887684 0.747243702 -0.0865659639 - outer loop - vertex -2.25921011 2.13294888 0.402886987 - vertex -2.90735912 2.51775002 -1.20879805 - vertex -2.19463396 2.07188797 0.367314011 - endloop - endfacet - - facet normal 0.369675994 0.924360991 0.0943209976 - outer loop - vertex -2.90735912 2.51775002 -1.20879805 - vertex -2.87060595 2.51075506 -1.28429699 - vertex -2.19463396 2.07188797 0.367314011 - endloop - endfacet - - facet normal 0.583255053 0.786133051 0.204471037 - outer loop - vertex -2.90735912 2.51775002 -1.20879805 - vertex -3.11489511 2.75818896 -1.54122198 - vertex -3.10493207 2.75749207 -1.56695998 - endloop - endfacet - - facet normal 0.578596771 0.78848362 0.208612904 - outer loop - vertex -2.90735912 2.51775002 -1.20879805 - vertex -3.10493207 2.75749207 -1.56695998 - vertex -2.87060595 2.51075506 -1.28429699 - endloop - endfacet - - facet normal -0.0767699778 0.424322903 0.902250767 - outer loop - vertex -1.33761096 0.485262007 -0.0581879988 - vertex -1.24512303 0.585205019 -0.0973210037 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760858178 -0.570103168 0.309963077 - outer loop - vertex -3.10493207 2.75749207 -1.56695998 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.09022689 2.76998997 -1.58006907 - endloop - endfacet - - facet normal 0.584711671 -0.262888819 0.767464519 - outer loop - vertex -1.33761096 0.485262007 -0.0581879988 - vertex -1.48400998 1.22242701 0.305858999 - vertex -1.44524097 1.309955 0.306304008 - endloop - endfacet - - facet normal 0.59877497 -0.25710398 0.758529007 - outer loop - vertex -1.33761096 0.485262007 -0.0581879988 - vertex -1.44524097 1.309955 0.306304008 - vertex -1.24512303 0.585205019 -0.0973210037 - endloop - endfacet - - facet normal 0.86564827 -0.385051161 0.319982111 - outer loop - vertex -1.48400998 1.22242701 0.305858999 - vertex -1.61429 1.623878 1.14139199 - vertex -1.44524097 1.309955 0.306304008 - endloop - endfacet - - facet normal 0.773064494 -0.526166677 0.354287803 - outer loop - vertex -1.61429 1.623878 1.14139199 - vertex -1.57460201 1.66959405 1.12268603 - vertex -1.44524097 1.309955 0.306304008 - endloop - endfacet - - facet normal 0.0183549952 0.418431848 0.908062696 - outer loop - vertex -1.61429 1.623878 1.14139199 - vertex -1.70297694 1.69968998 1.10825098 - vertex -1.61277103 1.72806406 1.09335303 - endloop - endfacet - - facet normal -0.0551219992 0.418749988 0.906427085 - outer loop - vertex -1.61429 1.623878 1.14139199 - vertex -1.61277103 1.72806406 1.09335303 - vertex -1.57460201 1.66959405 1.12268603 - endloop - endfacet - - facet normal -0.173069939 0.829250693 0.53140384 - outer loop - vertex -1.70297694 1.69968998 1.10825098 - vertex -2.19463396 2.07188797 0.367314011 - vertex -1.61277103 1.72806406 1.09335303 - endloop - endfacet - - facet normal -0.0611630008 0.882239044 0.466812015 - outer loop - vertex -2.19463396 2.07188797 0.367314011 - vertex -2.09941506 2.07331204 0.377099007 - vertex -1.61277103 1.72806406 1.09335303 - endloop - endfacet - - facet normal -0.196834937 0.924567699 0.326236904 - outer loop - vertex -2.19463396 2.07188797 0.367314011 - vertex -2.87060595 2.51075506 -1.28429699 - vertex -2.82963514 2.533885 -1.32512701 - endloop - endfacet - - facet normal -0.0429229848 0.959605694 0.278054923 - outer loop - vertex -2.19463396 2.07188797 0.367314011 - vertex -2.82963514 2.533885 -1.32512701 - vertex -2.09941506 2.07331204 0.377099007 - endloop - endfacet - - facet normal 0.133578047 0.798819304 0.586553216 - outer loop - vertex -2.87060595 2.51075506 -1.28429699 - vertex -3.10493207 2.75749207 -1.56695998 - vertex -2.82963514 2.533885 -1.32512701 - endloop - endfacet - - facet normal -0.00927600171 0.728916168 0.684540093 - outer loop - vertex -3.10493207 2.75749207 -1.56695998 - vertex -3.09022689 2.76998997 -1.58006907 - vertex -2.82963514 2.533885 -1.32512701 - endloop - endfacet - - facet normal -0.0767689869 0.424322903 0.902250767 - outer loop - vertex -1.24512303 0.585205019 -0.0973210037 - vertex -1.10274899 0.586816013 -0.0859650001 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760912299 -0.570029259 0.309966117 - outer loop - vertex -3.09022689 2.76998997 -1.58006907 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.08185196 2.78627396 -1.57068002 - endloop - endfacet - - facet normal -0.0633039996 -0.498861015 0.864367008 - outer loop - vertex -1.24512303 0.585205019 -0.0973210037 - vertex -1.44524097 1.309955 0.306304008 - vertex -1.10274899 0.586816013 -0.0859650001 - endloop - endfacet - - facet normal -0.292043954 -0.559201956 0.77588886 - outer loop - vertex -1.44524097 1.309955 0.306304008 - vertex -1.37093699 1.34206295 0.357414007 - vertex -1.10274899 0.586816013 -0.0859650001 - endloop - endfacet - - facet normal 0.108098 -0.903342009 0.415075988 - outer loop - vertex -1.44524097 1.309955 0.306304008 - vertex -1.57460201 1.66959405 1.12268603 - vertex -1.53544593 1.69159794 1.16037703 - endloop - endfacet - - facet normal 0.105116993 -0.903753936 0.414944977 - outer loop - vertex -1.44524097 1.309955 0.306304008 - vertex -1.53544593 1.69159794 1.16037703 - vertex -1.37093699 1.34206295 0.357414007 - endloop - endfacet - - facet normal -0.671668947 -0.0683799908 0.737688959 - outer loop - vertex -1.57460201 1.66959405 1.12268603 - vertex -1.61277103 1.72806406 1.09335303 - vertex -1.53544593 1.69159794 1.16037703 - endloop - endfacet - - facet normal -0.673058808 -0.074808985 0.735795796 - outer loop - vertex -1.61277103 1.72806406 1.09335303 - vertex -1.55682492 1.78128397 1.14994001 - vertex -1.53544593 1.69159794 1.16037703 - endloop - endfacet - - facet normal -0.765665054 0.19344902 0.613461077 - outer loop - vertex -1.61277103 1.72806406 1.09335303 - vertex -2.09941506 2.07331204 0.377099007 - vertex -2.045259 2.13614988 0.424876004 - endloop - endfacet - - facet normal -0.776329041 0.171037018 0.606679142 - outer loop - vertex -1.61277103 1.72806406 1.09335303 - vertex -2.045259 2.13614988 0.424876004 - vertex -1.55682492 1.78128397 1.14994001 - endloop - endfacet - - facet normal -0.816772759 0.362870902 0.448560894 - outer loop - vertex -2.09941506 2.07331204 0.377099007 - vertex -2.82963514 2.533885 -1.32512701 - vertex -2.045259 2.13614988 0.424876004 - endloop - endfacet - - facet normal -0.903895736 0.0723669752 0.421586841 - outer loop - vertex -2.82963514 2.533885 -1.32512701 - vertex -2.81529999 2.56972098 -1.30054402 - vertex -2.045259 2.13614988 0.424876004 - endloop - endfacet - - facet normal -0.714901567 -0.0349769779 0.698349595 - outer loop - vertex -2.82963514 2.533885 -1.32512701 - vertex -3.09022689 2.76998997 -1.58006907 - vertex -3.08185196 2.78627396 -1.57068002 - endloop - endfacet - - facet normal -0.757348955 -0.135290995 0.638841927 - outer loop - vertex -2.82963514 2.533885 -1.32512701 - vertex -3.08185196 2.78627396 -1.57068002 - vertex -2.81529999 2.56972098 -1.30054402 - endloop - endfacet - - facet normal -0.0767659619 0.4243218 0.902251601 - outer loop - vertex -1.10274899 0.586816013 -0.0859650001 - vertex -1.01769805 0.488880992 -0.0326699987 - vertex -1.17887402 0.454620987 -0.0302719995 - endloop - endfacet - - facet normal 0.760899127 -0.570062101 0.309938073 - outer loop - vertex -3.08185196 2.78627396 -1.57068002 - vertex -3.0986321 2.77501702 -1.55019093 - vertex -3.08611298 2.79408097 -1.54586196 - endloop - endfacet - - facet normal -0.81185782 -0.481850892 0.329706907 - outer loop - vertex -1.10274899 0.586816013 -0.0859650001 - vertex -1.37093699 1.34206295 0.357414007 - vertex -1.31704998 1.29457402 0.420700014 - endloop - endfacet - - facet normal -0.792782009 -0.494814992 0.355886042 - outer loop - vertex -1.10274899 0.586816013 -0.0859650001 - vertex -1.31704998 1.29457402 0.420700014 - vertex -1.01769805 0.488880992 -0.0326699987 - endloop - endfacet - - facet normal -0.739785016 -0.659090936 0.135341004 - outer loop - vertex -1.37093699 1.34206295 0.357414007 - vertex -1.53544593 1.69159794 1.16037703 - vertex -1.31704998 1.29457402 0.420700014 - endloop - endfacet - - facet normal -0.882458806 -0.470319867 -0.00810799841 - outer loop - vertex -1.53544593 1.69159794 1.16037703 - vertex -1.52630997 1.67332196 1.22608101 - vertex -1.31704998 1.29457402 0.420700014 - endloop - endfacet - - facet normal -0.962198138 -0.243543014 -0.121908017 - outer loop - vertex -1.53544593 1.69159794 1.16037703 - vertex -1.55682492 1.78128397 1.14994001 - vertex -1.57726693 1.81927204 1.23539805 - endloop - endfacet - - facet normal -0.942623854 -0.331589013 0.0388449952 - outer loop - vertex -1.53544593 1.69159794 1.16037703 - vertex -1.57726693 1.81927204 1.23539805 - vertex -1.52630997 1.67332196 1.22608101 - endloop - endfacet - - facet normal -0.708266914 -0.692263961 0.138305992 - outer loop - vertex -1.55682492 1.78128397 1.14994001 - vertex -2.045259 2.13614988 0.424876004 - vertex -1.57726693 1.81927204 1.23539805 - endloop - endfacet - - facet normal -0.826425612 -0.483796358 0.28803125 - outer loop - vertex -2.045259 2.13614988 0.424876004 - vertex -2.07294297 2.21308303 0.474665999 - vertex -1.57726693 1.81927204 1.23539805 - endloop - endfacet - - facet normal -0.582625031 -0.810790002 0.0562819988 - outer loop - vertex -2.045259 2.13614988 0.424876004 - vertex -2.81529999 2.56972098 -1.30054402 - vertex -2.83839607 2.59127903 -1.22905695 - endloop - endfacet - - facet normal -0.836838305 -0.476067185 0.270299107 - outer loop - vertex -2.045259 2.13614988 0.424876004 - vertex -2.83839607 2.59127903 -1.22905695 - vertex -2.07294297 2.21308303 0.474665999 - endloop - endfacet - - facet normal -0.644049883 -0.764651895 0.0225229971 - outer loop - vertex -2.81529999 2.56972098 -1.30054402 - vertex -3.08185196 2.78627396 -1.57068002 - vertex -2.83839607 2.59127903 -1.22905695 - endloop - endfacet - - facet normal -0.70394212 -0.703137159 0.100317024 - outer loop - vertex -3.08185196 2.78627396 -1.57068002 - vertex -3.08611298 2.79408097 -1.54586196 - vertex -2.83839607 2.59127903 -1.22905695 - endloop - endfacet - - facet normal 0.0729879588 -0.424979746 0.902255476 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.704271972 -0.275191993 0.0224300008 - vertex -0.627824008 -0.379043013 -0.0326699987 - endloop - endfacet - - facet normal 0.288141072 0.809048176 0.512265146 - outer loop - vertex -1.08943605 -3.53432393 -1.60113692 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.07667601 -3.52539802 -1.62241101 - endloop - endfacet - - facet normal -0.722976804 -0.26038295 -0.639925897 - outer loop - vertex -0.785679996 -1.12330306 0.448507994 - vertex -0.733861029 -1.19883895 0.420700014 - vertex -0.627824008 -0.379043013 -0.0326699987 - endloop - endfacet - - facet normal -0.757175207 -0.233753055 -0.609955132 - outer loop - vertex -0.704271972 -0.275191993 0.0224300008 - vertex -0.785679996 -1.12330306 0.448507994 - vertex -0.627824008 -0.379043013 -0.0326699987 - endloop - endfacet - - facet normal -0.822168887 -0.424315959 -0.379465908 - outer loop - vertex -0.785679996 -1.12330306 0.448507994 - vertex -0.835425019 -1.72230005 1.22608101 - vertex -0.733861029 -1.19883895 0.420700014 - endloop - endfacet - - facet normal -0.716561258 -0.529666245 -0.453865141 - outer loop - vertex -0.785679996 -1.12330306 0.448507994 - vertex -0.881864011 -1.69738698 1.27032602 - vertex -0.835425019 -1.72230005 1.22608101 - endloop - endfacet - - facet normal -0.506153941 -0.148249999 -0.849605918 - outer loop - vertex -0.880029976 -1.90982795 1.28537703 - vertex -0.806580007 -1.87417507 1.23539805 - vertex -0.835425019 -1.72230005 1.22608101 - endloop - endfacet - - facet normal -0.704344094 -0.0562160127 -0.707629204 - outer loop - vertex -0.881864011 -1.69738698 1.27032602 - vertex -0.880029976 -1.90982795 1.28537703 - vertex -0.835425019 -1.72230005 1.22608101 - endloop - endfacet - - facet normal -0.632492721 0.574023724 -0.520047784 - outer loop - vertex -0.880029976 -1.90982795 1.28537703 - vertex -0.908545017 -2.86312103 0.267821014 - vertex -0.806580007 -1.87417507 1.23539805 - endloop - endfacet - - facet normal -0.727581859 0.510695934 -0.4580549 - outer loop - vertex -0.880029976 -1.90982795 1.28537703 - vertex -0.968795002 -2.93612289 0.282130986 - vertex -0.908545017 -2.86312103 0.267821014 - endloop - endfacet - - facet normal -0.823960662 0.55237174 -0.126388937 - outer loop - vertex -1.00637496 -3.34099007 -1.18288505 - vertex -0.972894013 -3.30494308 -1.24361598 - vertex -0.908545017 -2.86312103 0.267821014 - endloop - endfacet - - facet normal -0.776781023 0.611850977 -0.149162993 - outer loop - vertex -0.968795002 -2.93612289 0.282130986 - vertex -1.00637496 -3.34099007 -1.18288505 - vertex -0.908545017 -2.86312103 0.267821014 - endloop - endfacet - - facet normal -0.813524306 0.571128249 -0.10950204 - outer loop - vertex -1.00637496 -3.34099007 -1.18288505 - vertex -1.07667601 -3.52539802 -1.62241101 - vertex -0.972894013 -3.30494308 -1.24361598 - endloop - endfacet - - facet normal -0.731632829 0.66243583 -0.160909951 - outer loop - vertex -1.00637496 -3.34099007 -1.18288505 - vertex -1.08943605 -3.53432393 -1.60113692 - vertex -1.07667601 -3.52539802 -1.62241101 - endloop - endfacet - - facet normal 0.0729849711 -0.424977809 0.902256668 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.846026003 -0.26681 0.0378439985 - vertex -0.704271972 -0.275191993 0.0224300008 - endloop - endfacet - - facet normal 0.288122952 0.809049785 0.512272894 - outer loop - vertex -1.10902095 -3.53056598 -1.59605598 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.08943605 -3.53432393 -1.60113692 - endloop - endfacet - - facet normal -0.122729048 -0.436093181 -0.89149332 - outer loop - vertex -0.846026003 -0.26681 0.0378439985 - vertex -0.785679996 -1.12330306 0.448507994 - vertex -0.704271972 -0.275191993 0.0224300008 - endloop - endfacet - - facet normal 0.167711034 -0.416587085 -0.893492162 - outer loop - vertex -0.846026003 -0.26681 0.0378439985 - vertex -0.873220026 -1.09718001 0.41989699 - vertex -0.785679996 -1.12330306 0.448507994 - endloop - endfacet - - facet normal -0.0466770045 -0.816322029 -0.575708032 - outer loop - vertex -0.938548028 -1.68671608 1.25979102 - vertex -0.881864011 -1.69738698 1.27032602 - vertex -0.785679996 -1.12330306 0.448507994 - endloop - endfacet - - facet normal -0.0548560023 -0.815250099 -0.576505065 - outer loop - vertex -0.873220026 -1.09718001 0.41989699 - vertex -0.938548028 -1.68671608 1.25979102 - vertex -0.785679996 -1.12330306 0.448507994 - endloop - endfacet - - facet normal 0.169880018 -0.0681860074 -0.983103096 - outer loop - vertex -0.938548028 -1.68671608 1.25979102 - vertex -0.880029976 -1.90982795 1.28537703 - vertex -0.881864011 -1.69738698 1.27032602 - endloop - endfacet - - facet normal 0.242068902 -0.0476449765 -0.969088554 - outer loop - vertex -0.938548028 -1.68671608 1.25979102 - vertex -0.972913027 -1.91116905 1.26224196 - vertex -0.880029976 -1.90982795 1.28537703 - endloop - endfacet - - facet normal 0.173446015 0.680724084 -0.711710036 - outer loop - vertex -1.05841696 -2.94668603 0.25018701 - vertex -0.968795002 -2.93612289 0.282130986 - vertex -0.880029976 -1.90982795 1.28537703 - endloop - endfacet - - facet normal 0.167480066 0.681978166 -0.711938262 - outer loop - vertex -0.972913027 -1.91116905 1.26224196 - vertex -1.05841696 -2.94668603 0.25018701 - vertex -0.880029976 -1.90982795 1.28537703 - endloop - endfacet - - facet normal -0.0188320037 0.963823199 -0.265876055 - outer loop - vertex -1.05841696 -2.94668603 0.25018701 - vertex -1.00637496 -3.34099007 -1.18288505 - vertex -0.968795002 -2.93612289 0.282130986 - endloop - endfacet - - facet normal -0.0057739974 0.964099646 -0.265477866 - outer loop - vertex -1.05841696 -2.94668603 0.25018701 - vertex -1.04957104 -3.33721995 -1.16825497 - vertex -1.00637496 -3.34099007 -1.18288505 - endloop - endfacet - - facet normal 0.0616750047 0.901266992 -0.428852022 - outer loop - vertex -1.10902095 -3.53056598 -1.59605598 - vertex -1.08943605 -3.53432393 -1.60113692 - vertex -1.00637496 -3.34099007 -1.18288505 - endloop - endfacet - - facet normal -0.057355985 0.912721753 -0.404535919 - outer loop - vertex -1.04957104 -3.33721995 -1.16825497 - vertex -1.10902095 -3.53056598 -1.59605598 - vertex -1.00637496 -3.34099007 -1.18288505 - endloop - endfacet - - facet normal 0.0729859918 -0.424976945 0.902256966 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.946343005 -0.360211015 0.00196600007 - vertex -0.846026003 -0.26681 0.0378439985 - endloop - endfacet - - facet normal 0.288119972 0.809050918 0.512272954 - outer loop - vertex -1.12068105 -3.5169549 -1.61099398 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.10902095 -3.53056598 -1.59605598 - endloop - endfacet - - facet normal 0.798518658 -0.272996873 -0.536507785 - outer loop - vertex -0.930561006 -1.14014304 0.356413007 - vertex -0.873220026 -1.09718001 0.41989699 - vertex -0.846026003 -0.26681 0.0378439985 - endloop - endfacet - - facet normal 0.574401855 -0.329012901 -0.749541819 - outer loop - vertex -0.946343005 -0.360211015 0.00196600007 - vertex -0.930561006 -1.14014304 0.356413007 - vertex -0.846026003 -0.26681 0.0378439985 - endloop - endfacet - - facet normal 0.770561874 -0.548315942 -0.324936926 - outer loop - vertex -0.930561006 -1.14014304 0.356413007 - vertex -0.938548028 -1.68671608 1.25979102 - vertex -0.873220026 -1.09718001 0.41989699 - endloop - endfacet - - facet normal 0.849924028 -0.454108 -0.267235994 - outer loop - vertex -0.930561006 -1.14014304 0.356413007 - vertex -0.962791979 -1.69832397 1.20240998 - vertex -0.938548028 -1.68671608 1.25979102 - endloop - endfacet - - facet normal 0.847210824 -0.135322973 -0.51373291 - outer loop - vertex -1.01528394 -1.87718606 1.18341398 - vertex -0.972913027 -1.91116905 1.26224196 - vertex -0.938548028 -1.68671608 1.25979102 - endloop - endfacet - - facet normal 0.912006497 -0.231711864 -0.338457793 - outer loop - vertex -0.962791979 -1.69832397 1.20240998 - vertex -1.01528394 -1.87718606 1.18341398 - vertex -0.938548028 -1.68671608 1.25979102 - endloop - endfacet - - facet normal 0.891000748 0.277561903 -0.359272897 - outer loop - vertex -1.01528394 -1.87718606 1.18341398 - vertex -1.05841696 -2.94668603 0.25018701 - vertex -0.972913027 -1.91116905 1.26224196 - endloop - endfacet - - facet normal 0.839562833 0.337562919 -0.425658911 - outer loop - vertex -1.01528394 -1.87718606 1.18341398 - vertex -1.10992396 -2.88685608 0.196043 - vertex -1.05841696 -2.94668603 0.25018701 - endloop - endfacet - - facet normal 0.926300108 0.364708066 -0.0946370065 - outer loop - vertex -1.06995296 -3.29647708 -1.21073997 - vertex -1.04957104 -3.33721995 -1.16825497 - vertex -1.05841696 -2.94668603 0.25018701 - endloop - endfacet - - facet normal 0.810221374 0.568532228 -0.142522067 - outer loop - vertex -1.10992396 -2.88685608 0.196043 - vertex -1.06995296 -3.29647708 -1.21073997 - vertex -1.05841696 -2.94668603 0.25018701 - endloop - endfacet - - facet normal 0.94495213 0.228233024 -0.234468028 - outer loop - vertex -1.06995296 -3.29647708 -1.21073997 - vertex -1.10902095 -3.53056598 -1.59605598 - vertex -1.04957104 -3.33721995 -1.16825497 - endloop - endfacet - - facet normal 0.864126801 0.386452913 -0.322395921 - outer loop - vertex -1.06995296 -3.29647708 -1.21073997 - vertex -1.12068105 -3.5169549 -1.61099398 - vertex -1.10902095 -3.53056598 -1.59605598 - endloop - endfacet - - facet normal 0.0729829893 -0.424985975 0.902252913 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.929682016 -0.485058993 -0.0581879988 - vertex -0.946343005 -0.360211015 0.00196600007 - endloop - endfacet - - facet normal 0.288078994 0.809116066 0.512193084 - outer loop - vertex -1.11563802 -3.50374198 -1.63470399 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.12068105 -3.5169549 -1.61099398 - endloop - endfacet - - facet normal 0.990013659 0.0744389743 0.119714953 - outer loop - vertex -0.929682016 -0.485058993 -0.0581879988 - vertex -0.930561006 -1.14014304 0.356413007 - vertex -0.946343005 -0.360211015 0.00196600007 - endloop - endfacet - - facet normal 0.98270458 0.0980890542 0.157068089 - outer loop - vertex -0.929682016 -0.485058993 -0.0581879988 - vertex -0.914526999 -1.21983802 0.305858999 - vertex -0.930561006 -1.14014304 0.356413007 - endloop - endfacet - - facet normal 0.90709877 0.334623903 0.25533995 - outer loop - vertex -0.936339974 -1.72346997 1.14139199 - vertex -0.962791979 -1.69832397 1.20240998 - vertex -0.930561006 -1.14014304 0.356413007 - endloop - endfacet - - facet normal 0.985707998 0.131661996 0.105094999 - outer loop - vertex -0.914526999 -1.21983802 0.305858999 - vertex -0.936339974 -1.72346997 1.14139199 - vertex -0.930561006 -1.14014304 0.356413007 - endloop - endfacet - - facet normal 0.826960862 -0.293624967 0.479499906 - outer loop - vertex -0.936339974 -1.72346997 1.14139199 - vertex -1.01528394 -1.87718606 1.18341398 - vertex -0.962791979 -1.69832397 1.20240998 - endloop - endfacet - - facet normal 0.887753963 -0.388381988 0.247087985 - outer loop - vertex -0.936339974 -1.72346997 1.14139199 - vertex -0.975238979 -1.83346891 1.10825098 - vertex -1.01528394 -1.87718606 1.18341398 - endloop - endfacet - - facet normal 0.963315189 -0.228283063 0.141105026 - outer loop - vertex -1.08453 -2.80168796 0.160469994 - vertex -1.10992396 -2.88685608 0.196043 - vertex -1.01528394 -1.87718606 1.18341398 - endloop - endfacet - - facet normal 0.893704414 -0.361284137 0.266019106 - outer loop - vertex -0.975238979 -1.83346891 1.10825098 - vertex -1.08453 -2.80168796 0.160469994 - vertex -1.01528394 -1.87718606 1.18341398 - endloop - endfacet - - facet normal 0.964169204 -0.246102065 0.0990530252 - outer loop - vertex -1.08453 -2.80168796 0.160469994 - vertex -1.06995296 -3.29647708 -1.21073997 - vertex -1.10992396 -2.88685608 0.196043 - endloop - endfacet - - facet normal 0.968371511 -0.231236875 0.0937339589 - outer loop - vertex -1.08453 -2.80168796 0.160469994 - vertex -1.052176 -3.24943709 -1.27835 - vertex -1.06995296 -3.29647708 -1.21073997 - endloop - endfacet - - facet normal 0.955379665 -0.292643875 0.0401169844 - outer loop - vertex -1.11563802 -3.50374198 -1.63470399 - vertex -1.12068105 -3.5169549 -1.61099398 - vertex -1.06995296 -3.29647708 -1.21073997 - endloop - endfacet - - facet normal 0.953478754 -0.298360944 0.0431159884 - outer loop - vertex -1.052176 -3.24943709 -1.27835 - vertex -1.11563802 -3.50374198 -1.63470399 - vertex -1.06995296 -3.29647708 -1.21073997 - endloop - endfacet - - facet normal 0.0729859844 -0.424989969 0.902250886 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.808588982 -0.547342002 -0.0973210037 - vertex -0.929682016 -0.485058993 -0.0581879988 - endloop - endfacet - - facet normal 0.288051158 0.809107423 0.51222229 - outer loop - vertex -1.09768903 -3.50087404 -1.64932895 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.11563802 -3.50374198 -1.63470399 - endloop - endfacet - - facet normal 0.307018965 0.427585959 0.850240946 - outer loop - vertex -0.837188005 -1.27625394 0.306304008 - vertex -0.914526999 -1.21983802 0.305858999 - vertex -0.929682016 -0.485058993 -0.0581879988 - endloop - endfacet - - facet normal 0.465866804 0.414588839 0.781718731 - outer loop - vertex -0.808588982 -0.547342002 -0.0973210037 - vertex -0.837188005 -1.27625394 0.306304008 - vertex -0.929682016 -0.485058993 -0.0581879988 - endloop - endfacet - - facet normal 0.524762154 0.722922206 0.449453115 - outer loop - vertex -0.837188005 -1.27625394 0.306304008 - vertex -0.936339974 -1.72346997 1.14139199 - vertex -0.914526999 -1.21983802 0.305858999 - endloop - endfacet - - facet normal 0.420921862 0.777905762 0.466569841 - outer loop - vertex -0.837188005 -1.27625394 0.306304008 - vertex -0.879109979 -1.74321699 1.12268603 - vertex -0.936339974 -1.72346997 1.14139199 - endloop - endfacet - - facet normal 0.225110888 -0.353195846 0.908062637 - outer loop - vertex -0.882930994 -1.81293797 1.09335303 - vertex -0.975238979 -1.83346891 1.10825098 - vertex -0.936339974 -1.72346997 1.14139199 - endloop - endfacet - - facet normal 0.161638066 -0.390208155 0.906427443 - outer loop - vertex -0.879109979 -1.74321699 1.12268603 - vertex -0.882930994 -1.81293797 1.09335303 - vertex -0.936339974 -1.72346997 1.14139199 - endloop - endfacet - - facet normal 0.262340188 -0.689983487 0.67461139 - outer loop - vertex -0.882930994 -1.81293797 1.09335303 - vertex -1.08453 -2.80168796 0.160469994 - vertex -0.975238979 -1.83346891 1.10825098 - endloop - endfacet - - facet normal 0.304611921 -0.685768843 0.661008835 - outer loop - vertex -0.882930994 -1.81293797 1.09335303 - vertex -1.00135601 -2.75531101 0.170255005 - vertex -1.08453 -2.80168796 0.160469994 - endloop - endfacet - - facet normal 0.576873899 -0.77617085 0.254509926 - outer loop - vertex -1.009624 -3.23152399 -1.32017207 - vertex -1.052176 -3.24943709 -1.27835 - vertex -1.08453 -2.80168796 0.160469994 - endloop - endfacet - - facet normal 0.444392174 -0.854044378 0.270414114 - outer loop - vertex -1.00135601 -2.75531101 0.170255005 - vertex -1.009624 -3.23152399 -1.32017207 - vertex -1.08453 -2.80168796 0.160469994 - endloop - endfacet - - facet normal 0.642835021 -0.673016012 0.365804017 - outer loop - vertex -1.009624 -3.23152399 -1.32017207 - vertex -1.11563802 -3.50374198 -1.63470399 - vertex -1.052176 -3.24943709 -1.27835 - endloop - endfacet - - facet normal 0.496770978 -0.732070029 0.466145962 - outer loop - vertex -1.009624 -3.23152399 -1.32017207 - vertex -1.09768903 -3.50087404 -1.64932895 - vertex -1.11563802 -3.50374198 -1.63470399 - endloop - endfacet - - facet normal 0.0729879811 -0.424989879 0.902250707 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.674250007 -0.500160992 -0.0859650001 - vertex -0.808588982 -0.547342002 -0.0973210037 - endloop - endfacet - - facet normal 0.288186014 0.809071004 0.512204051 - outer loop - vertex -1.08034897 -3.51051307 -1.64385903 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.09768903 -3.50087404 -1.64932895 - endloop - endfacet - - facet normal -0.239184961 0.477530897 0.845431745 - outer loop - vertex -0.674250007 -0.500160992 -0.0859650001 - vertex -0.837188005 -1.27625394 0.306304008 - vertex -0.808588982 -0.547342002 -0.0973210037 - endloop - endfacet - - facet normal -0.511622965 0.470719934 0.718793988 - outer loop - vertex -0.674250007 -0.500160992 -0.0859650001 - vertex -0.756784022 -1.266909 0.357414007 - vertex -0.837188005 -1.27625394 0.306304008 - endloop - endfacet - - facet normal -0.382025898 0.810512841 0.443987906 - outer loop - vertex -0.834199011 -1.74269497 1.16037703 - vertex -0.879109979 -1.74321699 1.12268603 - vertex -0.837188005 -1.27625394 0.306304008 - endloop - endfacet - - facet normal -0.377227038 0.812248111 0.44491905 - outer loop - vertex -0.756784022 -1.266909 0.357414007 - vertex -0.834199011 -1.74269497 1.16037703 - vertex -0.837188005 -1.27625394 0.306304008 - endloop - endfacet - - facet normal -0.615875244 -0.27661112 0.737688243 - outer loop - vertex -0.834199011 -1.74269497 1.16037703 - vertex -0.882930994 -1.81293797 1.09335303 - vertex -0.879109979 -1.74321699 1.12268603 - endloop - endfacet - - facet normal -0.620292902 -0.27173996 0.735794902 - outer loop - vertex -0.834199011 -1.74269497 1.16037703 - vertex -0.807870984 -1.83105493 1.14994001 - vertex -0.882930994 -1.81293797 1.09335303 - endloop - endfacet - - facet normal -0.567791045 -0.538507044 0.622594059 - outer loop - vertex -0.923036993 -2.78265285 0.218032002 - vertex -1.00135601 -2.75531101 0.170255005 - vertex -0.882930994 -1.81293797 1.09335303 - endloop - endfacet - - facet normal -0.588796079 -0.528039038 0.61195904 - outer loop - vertex -0.807870984 -1.83105493 1.14994001 - vertex -0.923036993 -2.78265285 0.218032002 - vertex -0.882930994 -1.81293797 1.09335303 - endloop - endfacet - - facet normal -0.461007148 -0.844552219 0.272404075 - outer loop - vertex -0.923036993 -2.78265285 0.218032002 - vertex -1.009624 -3.23152399 -1.32017207 - vertex -1.00135601 -2.75531101 0.170255005 - endloop - endfacet - - facet normal -0.626499951 -0.73802501 0.250632972 - outer loop - vertex -0.923036993 -2.78265285 0.218032002 - vertex -0.974340975 -3.25622606 -1.30471396 - vertex -1.009624 -3.23152399 -1.32017207 - endloop - endfacet - - facet normal -0.521524727 -0.586632669 0.61957562 - outer loop - vertex -1.08034897 -3.51051307 -1.64385903 - vertex -1.09768903 -3.50087404 -1.64932895 - vertex -1.009624 -3.23152399 -1.32017207 - endloop - endfacet - - facet normal -0.621271908 -0.521286964 0.58504796 - outer loop - vertex -0.974340975 -3.25622606 -1.30471396 - vertex -1.08034897 -3.51051307 -1.64385903 - vertex -1.009624 -3.23152399 -1.32017207 - endloop - endfacet - - facet normal 0.0729890391 -0.42498818 0.902251422 - outer loop - vertex -0.790997982 -0.401975006 -0.0302719995 - vertex -0.627824008 -0.379043013 -0.0326699987 - vertex -0.674250007 -0.500160992 -0.0859650001 - endloop - endfacet - - facet normal 0.288157016 0.809092045 0.512187064 - outer loop - vertex -1.07667601 -3.52539802 -1.62241101 - vertex -1.09849703 -3.51748109 -1.62264204 - vertex -1.08034897 -3.51051307 -1.64385903 - endloop - endfacet - - facet normal -0.970688343 0.189770058 0.147484049 - outer loop - vertex -0.733861029 -1.19883895 0.420700014 - vertex -0.756784022 -1.266909 0.357414007 - vertex -0.674250007 -0.500160992 -0.0859650001 - endloop - endfacet - - facet normal -0.937109649 0.253748894 0.239659891 - outer loop - vertex -0.627824008 -0.379043013 -0.0326699987 - vertex -0.733861029 -1.19883895 0.420700014 - vertex -0.674250007 -0.500160992 -0.0859650001 - endloop - endfacet - - facet normal -0.962245107 0.26455602 0.0639880076 - outer loop - vertex -0.733861029 -1.19883895 0.420700014 - vertex -0.834199011 -1.74269497 1.16037703 - vertex -0.756784022 -1.266909 0.357414007 - endloop - endfacet - - facet normal -0.992402613 0.11104396 -0.0529739819 - outer loop - vertex -0.733861029 -1.19883895 0.420700014 - vertex -0.835425019 -1.72230005 1.22608101 - vertex -0.834199011 -1.74269497 1.16037703 - endloop - endfacet - - facet normal -0.955060899 -0.270181984 -0.121902987 - outer loop - vertex -0.806580007 -1.87417507 1.23539805 - vertex -0.807870984 -1.83105493 1.14994001 - vertex -0.834199011 -1.74269497 1.16037703 - endloop - endfacet - - facet normal -0.982130885 -0.184146971 0.0388449915 - outer loop - vertex -0.835425019 -1.72230005 1.22608101 - vertex -0.806580007 -1.87417507 1.23539805 - vertex -0.834199011 -1.74269497 1.16037703 - endloop - endfacet - - facet normal -0.99619478 0.0708289742 0.0507849865 - outer loop - vertex -0.806580007 -1.87417507 1.23539805 - vertex -0.923036993 -2.78265285 0.218032002 - vertex -0.807870984 -1.83105493 1.14994001 - endloop - endfacet - - facet normal -0.982285738 -0.0691299886 0.174171969 - outer loop - vertex -0.806580007 -1.87417507 1.23539805 - vertex -0.908545017 -2.86312103 0.267821014 - vertex -0.923036993 -2.78265285 0.218032002 - endloop - endfacet - - facet normal -0.999482691 0.00903299823 0.0308649931 - outer loop - vertex -0.972894013 -3.30494308 -1.24361598 - vertex -0.974340975 -3.25622606 -1.30471396 - vertex -0.923036993 -2.78265285 0.218032002 - endloop - endfacet - - facet normal -0.98847574 -0.128696963 0.0797049776 - outer loop - vertex -0.908545017 -2.86312103 0.267821014 - vertex -0.972894013 -3.30494308 -1.24361598 - vertex -0.923036993 -2.78265285 0.218032002 - endloop - endfacet - - facet normal -0.969163716 0.180971935 0.167244941 - outer loop - vertex -0.972894013 -3.30494308 -1.24361598 - vertex -1.08034897 -3.51051307 -1.64385903 - vertex -0.974340975 -3.25622606 -1.30471396 - endloop - endfacet - - facet normal -0.972173095 0.078271009 0.220801026 - outer loop - vertex -0.972894013 -3.30494308 -1.24361598 - vertex -1.07667601 -3.52539802 -1.62241101 - vertex -1.08034897 -3.51051307 -1.64385903 - endloop - endfacet - - facet normal -0.0414419994 0.415021986 0.908867061 - outer loop - vertex -0.614050984 0.300803006 -0.0098240003 - vertex -0.709182978 0.205512002 0.029352 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.109958999 -0.990333974 0.084544003 - outer loop - vertex -0.45371899 3.54508805 -1.52100492 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.468991995 3.54522705 -1.49951506 - endloop - endfacet - - facet normal -0.570165336 0.334529191 -0.750334442 - outer loop - vertex -0.614050984 0.300803006 -0.0098240003 - vertex -0.712240994 1.12719202 0.433227003 - vertex -0.77559799 1.05748606 0.450291991 - endloop - endfacet - - facet normal -0.611606061 0.311619043 -0.727208078 - outer loop - vertex -0.614050984 0.300803006 -0.0098240003 - vertex -0.77559799 1.05748606 0.450291991 - vertex -0.709182978 0.205512002 0.029352 - endloop - endfacet - - facet normal -0.695668578 0.507932723 -0.507985711 - outer loop - vertex -0.712240994 1.12719202 0.433227003 - vertex -0.897680998 1.65840197 1.21833503 - vertex -0.77559799 1.05748606 0.450291991 - endloop - endfacet - - facet normal -0.568472028 0.601665974 -0.561104 - outer loop - vertex -0.897680998 1.65840197 1.21833503 - vertex -0.953411996 1.63847899 1.25343502 - vertex -0.77559799 1.05748606 0.450291991 - endloop - endfacet - - facet normal -0.332945973 0.200343996 -0.921416938 - outer loop - vertex -0.897680998 1.65840197 1.21833503 - vertex -0.855413973 1.80642998 1.23524797 - vertex -0.932361007 1.84956503 1.27243102 - endloop - endfacet - - facet normal -0.561175942 0.129531994 -0.817498028 - outer loop - vertex -0.897680998 1.65840197 1.21833503 - vertex -0.932361007 1.84956503 1.27243102 - vertex -0.953411996 1.63847899 1.25343502 - endloop - endfacet - - facet normal -0.57141304 -0.403153062 -0.714811087 - outer loop - vertex -0.855413973 1.80642998 1.23524797 - vertex -0.710753024 2.34805298 0.814131975 - vertex -0.932361007 1.84956503 1.27243102 - endloop - endfacet - - facet normal -0.60945785 -0.37249589 -0.699862778 - outer loop - vertex -0.710753024 2.34805298 0.814131975 - vertex -0.764732003 2.42695308 0.819145024 - vertex -0.932361007 1.84956503 1.27243102 - endloop - endfacet - - facet normal -0.704304576 -0.627007663 -0.332890779 - outer loop - vertex -0.710753024 2.34805298 0.814131975 - vertex -0.440544993 3.16025901 -1.28735995 - vertex -0.480170995 3.16933012 -1.220608 - endloop - endfacet - - facet normal -0.79560107 -0.52511704 -0.302111 - outer loop - vertex -0.710753024 2.34805298 0.814131975 - vertex -0.480170995 3.16933012 -1.220608 - vertex -0.764732003 2.42695308 0.819145024 - endloop - endfacet - - facet normal -0.836549938 -0.30498296 -0.455159009 - outer loop - vertex -0.440544993 3.16025901 -1.28735995 - vertex -0.45371899 3.54508805 -1.52100492 - vertex -0.480170995 3.16933012 -1.220608 - endloop - endfacet - - facet normal -0.756833076 -0.374799043 -0.535471082 - outer loop - vertex -0.45371899 3.54508805 -1.52100492 - vertex -0.468991995 3.54522705 -1.49951506 - vertex -0.480170995 3.16933012 -1.220608 - endloop - endfacet - - facet normal -0.0414459892 0.4150199 0.908867776 - outer loop - vertex -0.709182978 0.205512002 0.029352 - vertex -0.851558983 0.211992994 0.0198999997 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.10995701 -0.990334094 0.0845450088 - outer loop - vertex -0.468991995 3.54522705 -1.49951506 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.489443004 3.54300499 -1.49893701 - endloop - endfacet - - facet normal 0.0794950202 0.44653213 -0.891229272 - outer loop - vertex -0.709182978 0.205512002 0.029352 - vertex -0.77559799 1.05748606 0.450291991 - vertex -0.851558983 0.211992994 0.0198999997 - endloop - endfacet - - facet normal 0.362293869 0.396774888 -0.843393683 - outer loop - vertex -0.77559799 1.05748606 0.450291991 - vertex -0.859055996 1.04065704 0.406524003 - vertex -0.851558983 0.211992994 0.0198999997 - endloop - endfacet - - facet normal 0.13829203 0.816729188 -0.560204148 - outer loop - vertex -0.77559799 1.05748606 0.450291991 - vertex -0.953411996 1.63847899 1.25343502 - vertex -1.00819802 1.63379192 1.23307705 - endloop - endfacet - - facet normal 0.130304053 0.816518307 -0.562422156 - outer loop - vertex -0.77559799 1.05748606 0.450291991 - vertex -1.00819802 1.63379192 1.23307705 - vertex -0.859055996 1.04065704 0.406524003 - endloop - endfacet - - facet normal 0.344124049 0.0500540063 -0.937589109 - outer loop - vertex -0.953411996 1.63847899 1.25343502 - vertex -0.932361007 1.84956503 1.27243102 - vertex -1.00819802 1.63379192 1.23307705 - endloop - endfacet - - facet normal 0.410272747 0.0220819861 -0.91169548 - outer loop - vertex -0.932361007 1.84956503 1.27243102 - vertex -1.01917601 1.86060798 1.23362994 - vertex -1.00819802 1.63379192 1.23307705 - endloop - endfacet - - facet normal 0.258674949 -0.641833842 -0.72189784 - outer loop - vertex -0.932361007 1.84956503 1.27243102 - vertex -0.764732003 2.42695308 0.819145024 - vertex -0.845875025 2.44682598 0.772400022 - endloop - endfacet - - facet normal 0.242763117 -0.643158317 -0.72623229 - outer loop - vertex -0.932361007 1.84956503 1.27243102 - vertex -0.845875025 2.44682598 0.772400022 - vertex -1.01917601 1.86060798 1.23362994 - endloop - endfacet - - facet normal -0.0306019913 -0.937877655 -0.345613897 - outer loop - vertex -0.764732003 2.42695308 0.819145024 - vertex -0.480170995 3.16933012 -1.220608 - vertex -0.845875025 2.44682598 0.772400022 - endloop - endfacet - - facet normal 0.0047039995 -0.940395951 -0.340048969 - outer loop - vertex -0.480170995 3.16933012 -1.220608 - vertex -0.525406003 3.1667769 -1.21417403 - vertex -0.845875025 2.44682598 0.772400022 - endloop - endfacet - - facet normal 0.0421100184 -0.596148252 -0.801769316 - outer loop - vertex -0.480170995 3.16933012 -1.220608 - vertex -0.468991995 3.54522705 -1.49951506 - vertex -0.489443004 3.54300499 -1.49893701 - endloop - endfacet - - facet normal -0.0798940063 -0.596715033 -0.798466146 - outer loop - vertex -0.480170995 3.16933012 -1.220608 - vertex -0.489443004 3.54300499 -1.49893701 - vertex -0.525406003 3.1667769 -1.21417403 - endloop - endfacet - - facet normal -0.0414439961 0.415019959 0.908867955 - outer loop - vertex -0.851558983 0.211992994 0.0198999997 - vertex -0.933965981 0.31536901 -0.0310629997 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.109933957 -0.99033761 0.0845339671 - outer loop - vertex -0.489443004 3.54300499 -1.49893701 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.499669999 3.540097 -1.51970506 - endloop - endfacet - - facet normal 0.903346419 0.188033089 -0.385498166 - outer loop - vertex -0.851558983 0.211992994 0.0198999997 - vertex -0.859055996 1.04065704 0.406524003 - vertex -0.899770975 1.089378 0.334881008 - endloop - endfacet - - facet normal 0.726601124 0.267169058 -0.632986128 - outer loop - vertex -0.851558983 0.211992994 0.0198999997 - vertex -0.899770975 1.089378 0.334881008 - vertex -0.933965981 0.31536901 -0.0310629997 - endloop - endfacet - - facet normal 0.867568493 0.464764267 -0.176972091 - outer loop - vertex -0.859055996 1.04065704 0.406524003 - vertex -1.00819802 1.63379192 1.23307705 - vertex -0.899770975 1.089378 0.334881008 - endloop - endfacet - - facet normal 0.925577819 0.362778932 -0.108153984 - outer loop - vertex -1.00819802 1.63379192 1.23307705 - vertex -1.02078402 1.64787102 1.17259204 - vertex -0.899770975 1.089378 0.334881008 - endloop - endfacet - - facet normal 0.932907045 0.0460240059 -0.357164025 - outer loop - vertex -1.00819802 1.63379192 1.23307705 - vertex -1.01917601 1.86060798 1.23362994 - vertex -1.05048597 1.83123994 1.14806604 - endloop - endfacet - - facet normal 0.975855947 0.135112986 -0.171608999 - outer loop - vertex -1.00819802 1.63379192 1.23307705 - vertex -1.05048597 1.83123994 1.14806604 - vertex -1.02078402 1.64787102 1.17259204 - endloop - endfacet - - facet normal 0.89283818 -0.410217047 -0.185908034 - outer loop - vertex -1.01917601 1.86060798 1.23362994 - vertex -0.845875025 2.44682598 0.772400022 - vertex -1.05048597 1.83123994 1.14806604 - endloop - endfacet - - facet normal 0.85756886 -0.443764925 -0.260092974 - outer loop - vertex -0.845875025 2.44682598 0.772400022 - vertex -0.893078029 2.39270806 0.709097981 - vertex -1.05048597 1.83123994 1.14806604 - endloop - endfacet - - facet normal 0.783792257 -0.613570154 -0.0959240273 - outer loop - vertex -0.845875025 2.44682598 0.772400022 - vertex -0.525406003 3.1667769 -1.21417403 - vertex -0.542185009 3.15452409 -1.27289903 - endloop - endfacet - - facet normal 0.799032509 -0.594929636 -0.0872109383 - outer loop - vertex -0.845875025 2.44682598 0.772400022 - vertex -0.542185009 3.15452409 -1.27289903 - vertex -0.893078029 2.39270806 0.709097981 - endloop - endfacet - - facet normal 0.942718029 -0.253892004 -0.21638301 - outer loop - vertex -0.525406003 3.1667769 -1.21417403 - vertex -0.489443004 3.54300499 -1.49893701 - vertex -0.542185009 3.15452409 -1.27289903 - endloop - endfacet - - facet normal 0.862533689 -0.336815894 -0.377611876 - outer loop - vertex -0.489443004 3.54300499 -1.49893701 - vertex -0.499669999 3.540097 -1.51970506 - vertex -0.542185009 3.15452409 -1.27289903 - endloop - endfacet - - facet normal -0.0414459854 0.41502884 0.908863723 - outer loop - vertex -0.933965981 0.31536901 -0.0310629997 - vertex -0.894349992 0.43779099 -0.0851600021 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.109905973 -0.990348756 0.0844399855 - outer loop - vertex -0.499669999 3.540097 -1.51970506 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.491973996 3.5386939 -1.54618096 - endloop - endfacet - - facet normal 0.941180944 -0.177515998 0.287517965 - outer loop - vertex -0.933965981 0.31536901 -0.0310629997 - vertex -0.899770975 1.089378 0.334881008 - vertex -0.894349992 0.43779099 -0.0851600021 - endloop - endfacet - - facet normal 0.925101757 -0.200271949 0.322610945 - outer loop - vertex -0.899770975 1.089378 0.334881008 - vertex -0.867084026 1.16696095 0.289312005 - vertex -0.894349992 0.43779099 -0.0851600021 - endloop - endfacet - - facet normal 0.80964005 -0.427607 0.402038991 - outer loop - vertex -0.899770975 1.089378 0.334881008 - vertex -1.02078402 1.64787102 1.17259204 - vertex -0.981692016 1.67011404 1.11752605 - endloop - endfacet - - facet normal 0.933612227 -0.233975038 0.271337062 - outer loop - vertex -0.899770975 1.089378 0.334881008 - vertex -0.981692016 1.67011404 1.11752605 - vertex -0.867084026 1.16696095 0.289312005 - endloop - endfacet - - facet normal 0.756896913 0.205576986 0.620359004 - outer loop - vertex -1.02078402 1.64787102 1.17259204 - vertex -1.05048597 1.83123994 1.14806604 - vertex -0.981692016 1.67011404 1.11752605 - endloop - endfacet - - facet normal 0.866550148 0.293460041 0.403698057 - outer loop - vertex -1.05048597 1.83123994 1.14806604 - vertex -1.00271201 1.78357601 1.08016706 - vertex -0.981692016 1.67011404 1.11752605 - endloop - endfacet - - facet normal 0.904024541 0.0755139664 0.4207578 - outer loop - vertex -1.05048597 1.83123994 1.14806604 - vertex -0.893078029 2.39270806 0.709097981 - vertex -0.870796978 2.30535197 0.676904976 - endloop - endfacet - - facet normal 0.856916606 0.161637917 0.48945576 - outer loop - vertex -1.05048597 1.83123994 1.14806604 - vertex -0.870796978 2.30535197 0.676904976 - vertex -1.00271201 1.78357601 1.08016706 - endloop - endfacet - - facet normal 0.959722757 0.15956296 0.231239945 - outer loop - vertex -0.893078029 2.39270806 0.709097981 - vertex -0.542185009 3.15452409 -1.27289903 - vertex -0.870796978 2.30535197 0.676904976 - endloop - endfacet - - facet normal 0.942926586 0.216352895 0.25314188 - outer loop - vertex -0.542185009 3.15452409 -1.27289903 - vertex -0.517876983 3.14179301 -1.35256696 - vertex -0.870796978 2.30535197 0.676904976 - endloop - endfacet - - facet normal 0.958869755 0.070299983 0.275002927 - outer loop - vertex -0.542185009 3.15452409 -1.27289903 - vertex -0.499669999 3.540097 -1.51970506 - vertex -0.491973996 3.5386939 -1.54618096 - endloop - endfacet - - facet normal 0.957076609 0.07421197 0.280172884 - outer loop - vertex -0.542185009 3.15452409 -1.27289903 - vertex -0.491973996 3.5386939 -1.54618096 - vertex -0.517876983 3.14179301 -1.35256696 - endloop - endfacet - - facet normal -0.0414430015 0.415033042 0.908861995 - outer loop - vertex -0.894349992 0.43779099 -0.0851600021 - vertex -0.762543023 0.487076014 -0.101654999 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.109901994 -0.990348935 0.0844429955 - outer loop - vertex -0.491973996 3.5386939 -1.54618096 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.472149014 3.53985 -1.55842602 - endloop - endfacet - - facet normal 0.109039977 -0.457335919 0.882583737 - outer loop - vertex -0.894349992 0.43779099 -0.0851600021 - vertex -0.867084026 1.16696095 0.289312005 - vertex -0.78560698 1.21498394 0.304129988 - endloop - endfacet - - facet normal 0.277854979 -0.461013973 0.842770934 - outer loop - vertex -0.894349992 0.43779099 -0.0851600021 - vertex -0.78560698 1.21498394 0.304129988 - vertex -0.762543023 0.487076014 -0.101654999 - endloop - endfacet - - facet normal 0.361492991 -0.773815036 0.520128012 - outer loop - vertex -0.867084026 1.16696095 0.289312005 - vertex -0.981692016 1.67011404 1.11752605 - vertex -0.78560698 1.21498394 0.304129988 - endloop - endfacet - - facet normal 0.251163065 -0.817641199 0.518054128 - outer loop - vertex -0.981692016 1.67011404 1.11752605 - vertex -0.920360029 1.68377101 1.10934496 - vertex -0.78560698 1.21498394 0.304129988 - endloop - endfacet - - facet normal 0.0991519839 0.327727944 0.93955487 - outer loop - vertex -0.981692016 1.67011404 1.11752605 - vertex -1.00271201 1.78357601 1.08016706 - vertex -0.911831021 1.75351 1.08106399 - endloop - endfacet - - facet normal 0.0410849974 0.371169001 0.927655935 - outer loop - vertex -0.981692016 1.67011404 1.11752605 - vertex -0.911831021 1.75351 1.08106399 - vertex -0.920360029 1.68377101 1.10934496 - endloop - endfacet - - facet normal 0.181426108 0.57224232 0.799764454 - outer loop - vertex -1.00271201 1.78357601 1.08016706 - vertex -0.870796978 2.30535197 0.676904976 - vertex -0.911831021 1.75351 1.08106399 - endloop - endfacet - - facet normal 0.172062024 0.573693037 0.800794065 - outer loop - vertex -0.870796978 2.30535197 0.676904976 - vertex -0.795808017 2.25053501 0.70006299 - vertex -0.911831021 1.75351 1.08106399 - endloop - endfacet - - facet normal 0.41394791 0.814008892 0.407475978 - outer loop - vertex -0.870796978 2.30535197 0.676904976 - vertex -0.517876983 3.14179301 -1.35256696 - vertex -0.470782012 3.13817596 -1.39318299 - endloop - endfacet - - facet normal 0.453948915 0.792807758 0.406676918 - outer loop - vertex -0.870796978 2.30535197 0.676904976 - vertex -0.470782012 3.13817596 -1.39318299 - vertex -0.795808017 2.25053501 0.70006299 - endloop - endfacet - - facet normal 0.635360062 0.304674029 0.709571123 - outer loop - vertex -0.517876983 3.14179301 -1.35256696 - vertex -0.491973996 3.5386939 -1.54618096 - vertex -0.470782012 3.13817596 -1.39318299 - endloop - endfacet - - facet normal 0.480959207 0.334958136 0.810235322 - outer loop - vertex -0.491973996 3.5386939 -1.54618096 - vertex -0.472149014 3.53985 -1.55842602 - vertex -0.470782012 3.13817596 -1.39318299 - endloop - endfacet - - facet normal -0.0414400063 0.415033072 0.908862054 - outer loop - vertex -0.762543023 0.487076014 -0.101654999 - vertex -0.637798011 0.426109999 -0.0681279972 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.110049009 -0.990331113 0.0844600126 - outer loop - vertex -0.472149014 3.53985 -1.55842602 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.455123991 3.54269695 -1.54722202 - endloop - endfacet - - facet normal -0.430224836 -0.44991383 0.782613695 - outer loop - vertex -0.762543023 0.487076014 -0.101654999 - vertex -0.78560698 1.21498394 0.304129988 - vertex -0.637798011 0.426109999 -0.0681279972 - endloop - endfacet - - facet normal -0.674363017 -0.414663017 0.610974014 - outer loop - vertex -0.78560698 1.21498394 0.304129988 - vertex -0.716696024 1.19728494 0.368178993 - vertex -0.637798011 0.426109999 -0.0681279972 - endloop - endfacet - - facet normal -0.534693182 -0.766140282 0.356556147 - outer loop - vertex -0.78560698 1.21498394 0.304129988 - vertex -0.920360029 1.68377101 1.10934496 - vertex -0.882972002 1.67855692 1.15420997 - endloop - endfacet - - facet normal -0.530332863 -0.768367827 0.358270913 - outer loop - vertex -0.78560698 1.21498394 0.304129988 - vertex -0.882972002 1.67855692 1.15420997 - vertex -0.716696024 1.19728494 0.368178993 - endloop - endfacet - - facet normal -0.702823222 0.339469105 0.62514019 - outer loop - vertex -0.920360029 1.68377101 1.10934496 - vertex -0.911831021 1.75351 1.08106399 - vertex -0.882972002 1.67855692 1.15420997 - endloop - endfacet - - facet normal -0.707317054 0.335090995 0.62242806 - outer loop - vertex -0.911831021 1.75351 1.08106399 - vertex -0.846276999 1.76368093 1.15008199 - vertex -0.882972002 1.67855692 1.15420997 - endloop - endfacet - - facet normal -0.619192243 0.563640237 0.54672724 - outer loop - vertex -0.911831021 1.75351 1.08106399 - vertex -0.795808017 2.25053501 0.70006299 - vertex -0.72458303 2.26954007 0.761135995 - endloop - endfacet - - facet normal -0.640845776 0.558843732 0.526317775 - outer loop - vertex -0.911831021 1.75351 1.08106399 - vertex -0.72458303 2.26954007 0.761135995 - vertex -0.846276999 1.76368093 1.15008199 - endloop - endfacet - - facet normal -0.466304839 0.838133693 0.28300491 - outer loop - vertex -0.795808017 2.25053501 0.70006299 - vertex -0.470782012 3.13817596 -1.39318299 - vertex -0.72458303 2.26954007 0.761135995 - endloop - endfacet - - facet normal -0.445953965 0.847108006 0.289020956 - outer loop - vertex -0.470782012 3.13817596 -1.39318299 - vertex -0.436367005 3.14639306 -1.36416399 - vertex -0.72458303 2.26954007 0.761135995 - endloop - endfacet - - facet normal -0.558003902 0.314087898 0.768101811 - outer loop - vertex -0.470782012 3.13817596 -1.39318299 - vertex -0.472149014 3.53985 -1.55842602 - vertex -0.455123991 3.54269695 -1.54722202 - endloop - endfacet - - facet normal -0.656410813 0.290523916 0.696218848 - outer loop - vertex -0.470782012 3.13817596 -1.39318299 - vertex -0.455123991 3.54269695 -1.54722202 - vertex -0.436367005 3.14639306 -1.36416399 - endloop - endfacet - - facet normal -0.041439008 0.415031046 0.908863068 - outer loop - vertex -0.637798011 0.426109999 -0.0681279972 - vertex -0.614050984 0.300803006 -0.0098240003 - vertex -0.771920979 0.340665013 -0.0352250002 - endloop - endfacet - - facet normal 0.109999016 -0.990341127 0.0844070092 - outer loop - vertex -0.455123991 3.54269695 -1.54722202 - vertex -0.47586599 3.54209304 -1.52728605 - vertex -0.45371899 3.54508805 -1.52100492 - endloop - endfacet - - facet normal -0.995849967 -0.0872669965 -0.0258349981 - outer loop - vertex -0.637798011 0.426109999 -0.0681279972 - vertex -0.716696024 1.19728494 0.368178993 - vertex -0.712240994 1.12719202 0.433227003 - endloop - endfacet - - facet normal -0.985554934 -0.154403999 0.0695760027 - outer loop - vertex -0.637798011 0.426109999 -0.0681279972 - vertex -0.712240994 1.12719202 0.433227003 - vertex -0.614050984 0.300803006 -0.0098240003 - endloop - endfacet - - facet normal -0.980780065 -0.162526011 -0.107962005 - outer loop - vertex -0.716696024 1.19728494 0.368178993 - vertex -0.882972002 1.67855692 1.15420997 - vertex -0.712240994 1.12719202 0.433227003 - endloop - endfacet - - facet normal -0.974204123 -0.00670300052 -0.22556901 - outer loop - vertex -0.882972002 1.67855692 1.15420997 - vertex -0.897680998 1.65840197 1.21833503 - vertex -0.712240994 1.12719202 0.433227003 - endloop - endfacet - - facet normal -0.886417329 0.368533105 -0.280085117 - outer loop - vertex -0.882972002 1.67855692 1.15420997 - vertex -0.846276999 1.76368093 1.15008199 - vertex -0.855413973 1.80642998 1.23524797 - endloop - endfacet - - facet normal -0.949701548 0.285797149 -0.128012076 - outer loop - vertex -0.882972002 1.67855692 1.15420997 - vertex -0.855413973 1.80642998 1.23524797 - vertex -0.897680998 1.65840197 1.21833503 - endloop - endfacet - - facet normal -0.980542064 0.111841008 -0.161335021 - outer loop - vertex -0.846276999 1.76368093 1.15008199 - vertex -0.72458303 2.26954007 0.761135995 - vertex -0.855413973 1.80642998 1.23524797 - endloop - endfacet - - facet normal -0.975146174 0.212986052 -0.0610480122 - outer loop - vertex -0.72458303 2.26954007 0.761135995 - vertex -0.710753024 2.34805298 0.814131975 - vertex -0.855413973 1.80642998 1.23524797 - endloop - endfacet - - facet normal -0.987725139 0.135249019 -0.0781470165 - outer loop - vertex -0.72458303 2.26954007 0.761135995 - vertex -0.436367005 3.14639306 -1.36416399 - vertex -0.440544993 3.16025901 -1.28735995 - endloop - endfacet - - facet normal -0.977861404 0.203926086 -0.0469170213 - outer loop - vertex -0.72458303 2.26954007 0.761135995 - vertex -0.440544993 3.16025901 -1.28735995 - vertex -0.710753024 2.34805298 0.814131975 - endloop - endfacet - - facet normal -0.996882498 -0.0666720271 -0.0421910174 - outer loop - vertex -0.436367005 3.14639306 -1.36416399 - vertex -0.455123991 3.54269695 -1.54722202 - vertex -0.440544993 3.16025901 -1.28735995 - endloop - endfacet - - facet normal -0.998558164 -0.00160700036 0.0536570102 - outer loop - vertex -0.455123991 3.54269695 -1.54722202 - vertex -0.45371899 3.54508805 -1.52100492 - vertex -0.440544993 3.16025901 -1.28735995 - endloop - endfacet - - facet normal 0.272473931 0.292851925 0.916512847 - outer loop - vertex -0.253796995 0.214561 -0.0458349995 - vertex -0.376740992 0.170128003 0.00491400016 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247445986 -0.867469966 0.431585968 - outer loop - vertex 0.933724999 3.97960711 -1.55623698 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.926603973 3.99251413 -1.53437805 - endloop - endfacet - - facet normal -0.777862728 0.563657761 -0.277883887 - outer loop - vertex -0.253796995 0.214561 -0.0458349995 - vertex 0.103583999 0.929287016 0.403519988 - vertex 0.0455540009 0.876025975 0.457924992 - endloop - endfacet - - facet normal -0.477919996 0.658785999 -0.581027985 - outer loop - vertex -0.253796995 0.214561 -0.0458349995 - vertex 0.0455540009 0.876025975 0.457924992 - vertex -0.376740992 0.170128003 0.00491400016 - endloop - endfacet - - facet normal -0.779423177 0.557750106 -0.285332054 - outer loop - vertex 0.103583999 0.929287016 0.403519988 - vertex 0.204065993 1.50625706 1.256863 - vertex 0.0455540009 0.876025975 0.457924992 - endloop - endfacet - - facet normal -0.765340209 0.570419192 -0.298121095 - outer loop - vertex 0.204065993 1.50625706 1.256863 - vertex 0.174039006 1.49804199 1.31822896 - vertex 0.0455540009 0.876025975 0.457924992 - endloop - endfacet - - facet normal -0.725149751 0.339532942 -0.599061906 - outer loop - vertex 0.204065993 1.50625706 1.256863 - vertex 0.282788992 1.63802505 1.23625302 - vertex 0.252124012 1.695822 1.30613101 - endloop - endfacet - - facet normal -0.867439389 0.319119155 -0.381722182 - outer loop - vertex 0.204065993 1.50625706 1.256863 - vertex 0.252124012 1.695822 1.30613101 - vertex 0.174039006 1.49804199 1.31822896 - endloop - endfacet - - facet normal -0.88659811 0.0803210139 -0.45551309 - outer loop - vertex 0.282788992 1.63802505 1.23625302 - vertex 0.676886976 2.68409705 0.653648019 - vertex 0.252124012 1.695822 1.30613101 - endloop - endfacet - - facet normal -0.822990119 -0.0210630018 -0.56766504 - outer loop - vertex 0.676886976 2.68409705 0.653648019 - vertex 0.655480981 2.77318811 0.681376994 - vertex 0.252124012 1.695822 1.30613101 - endloop - endfacet - - facet normal -0.987821043 -0.06729801 -0.140287012 - outer loop - vertex 0.676886976 2.68409705 0.653648019 - vertex 0.870212972 3.71105099 -1.20028496 - vertex 0.858199 3.75496197 -1.13675594 - endloop - endfacet - - facet normal -0.965101719 -0.169848949 -0.199323922 - outer loop - vertex 0.676886976 2.68409705 0.653648019 - vertex 0.858199 3.75496197 -1.13675594 - vertex 0.655480981 2.77318811 0.681376994 - endloop - endfacet - - facet normal -0.983463764 -0.00726499874 -0.180958956 - outer loop - vertex 0.870212972 3.71105099 -1.20028496 - vertex 0.933724999 3.97960711 -1.55623698 - vertex 0.858199 3.75496197 -1.13675594 - endloop - endfacet - - facet normal -0.962732613 -0.124580957 -0.240052924 - outer loop - vertex 0.933724999 3.97960711 -1.55623698 - vertex 0.926603973 3.99251413 -1.53437805 - vertex 0.858199 3.75496197 -1.13675594 - endloop - endfacet - - facet normal 0.272466928 0.292851955 0.916514874 - outer loop - vertex -0.376740992 0.170128003 0.00491400016 - vertex -0.499356002 0.242149994 0.018352 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247477978 -0.86745286 0.431601971 - outer loop - vertex 0.926603973 3.99251413 -1.53437805 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.907932997 4 -1.530038 - endloop - endfacet - - facet normal 0.172648042 0.456757128 -0.872677267 - outer loop - vertex -0.376740992 0.170128003 0.00491400016 - vertex 0.0455540009 0.876025975 0.457924992 - vertex -0.499356002 0.242149994 0.018352 - endloop - endfacet - - facet normal -0.0465159826 0.595931768 -0.801686645 - outer loop - vertex 0.0455540009 0.876025975 0.457924992 - vertex -0.0493079983 0.883087993 0.468677998 - vertex -0.499356002 0.242149994 0.018352 - endloop - endfacet - - facet normal 0.00578699959 0.809948981 -0.586471915 - outer loop - vertex 0.0455540009 0.876025975 0.457924992 - vertex 0.174039006 1.49804199 1.31822896 - vertex 0.117908001 1.50824094 1.331761 - endloop - endfacet - - facet normal -0.00608000066 0.810414016 -0.585826039 - outer loop - vertex 0.0455540009 0.876025975 0.457924992 - vertex 0.117908001 1.50824094 1.331761 - vertex -0.0493079983 0.883087993 0.468677998 - endloop - endfacet - - facet normal -0.228951991 0.0308769979 -0.972947955 - outer loop - vertex 0.174039006 1.49804199 1.31822896 - vertex 0.252124012 1.695822 1.30613101 - vertex 0.117908001 1.50824094 1.331761 - endloop - endfacet - - facet normal -0.16855301 -0.0140670007 -0.985592186 - outer loop - vertex 0.252124012 1.695822 1.30613101 - vertex 0.164021999 1.73031497 1.32070494 - vertex 0.117908001 1.50824094 1.331761 - endloop - endfacet - - facet normal -0.246820986 -0.415316969 -0.875551939 - outer loop - vertex 0.252124012 1.695822 1.30613101 - vertex 0.655480981 2.77318811 0.681376994 - vertex 0.569666028 2.81540704 0.685541987 - endloop - endfacet - - facet normal -0.298811018 -0.396427006 -0.86807698 - outer loop - vertex 0.252124012 1.695822 1.30613101 - vertex 0.569666028 2.81540704 0.685541987 - vertex 0.164021999 1.73031497 1.32070494 - endloop - endfacet - - facet normal -0.408190787 -0.78346467 -0.468575805 - outer loop - vertex 0.655480981 2.77318811 0.681376994 - vertex 0.858199 3.75496197 -1.13675594 - vertex 0.569666028 2.81540704 0.685541987 - endloop - endfacet - - facet normal -0.526139736 -0.719045639 -0.454037786 - outer loop - vertex 0.858199 3.75496197 -1.13675594 - vertex 0.819289029 3.77494597 -1.12331498 - vertex 0.569666028 2.81540704 0.685541987 - endloop - endfacet - - facet normal -0.419349998 -0.74575603 -0.517681003 - outer loop - vertex 0.858199 3.75496197 -1.13675594 - vertex 0.926603973 3.99251413 -1.53437805 - vertex 0.907932997 4 -1.530038 - endloop - endfacet - - facet normal -0.526108801 -0.690327764 -0.496645838 - outer loop - vertex 0.858199 3.75496197 -1.13675594 - vertex 0.907932997 4 -1.530038 - vertex 0.819289029 3.77494597 -1.12331498 - endloop - endfacet - - facet normal 0.272470057 0.292848051 0.916515231 - outer loop - vertex -0.499356002 0.242149994 0.018352 - vertex -0.529305995 0.376396 -0.0156389996 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.24746196 -0.8674559 0.431604952 - outer loop - vertex 0.907932997 4 -1.530038 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.891771019 3.99642801 -1.54648209 - endloop - endfacet - - facet normal 0.628429115 0.100671016 -0.771325052 - outer loop - vertex -0.499356002 0.242149994 0.018352 - vertex -0.0493079983 0.883087993 0.468677998 - vertex -0.109567001 0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.73198396 -0.0091859987 -0.68125993 - outer loop - vertex -0.499356002 0.242149994 0.018352 - vertex -0.109567001 0.945155025 0.427682996 - vertex -0.529305995 0.376396 -0.0156389996 - endloop - endfacet - - facet normal 0.76850915 0.438165128 -0.466267079 - outer loop - vertex -0.0493079983 0.883087993 0.468677998 - vertex 0.117908001 1.50824094 1.331761 - vertex -0.109567001 0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.759350061 0.449147046 -0.470802039 - outer loop - vertex 0.117908001 1.50824094 1.331761 - vertex 0.0779410005 1.52917695 1.28727102 - vertex -0.109567001 0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.560264945 -0.156830981 -0.813330948 - outer loop - vertex 0.117908001 1.50824094 1.331761 - vertex 0.164021999 1.73031497 1.32070494 - vertex 0.0848250017 1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.71818012 -0.0941240117 -0.689462125 - outer loop - vertex 0.117908001 1.50824094 1.331761 - vertex 0.0848250017 1.71552598 1.26900196 - vertex 0.0779410005 1.52917695 1.28727102 - endloop - endfacet - - facet normal 0.5217219 -0.567762852 -0.636750877 - outer loop - vertex 0.164021999 1.73031497 1.32070494 - vertex 0.569666028 2.81540704 0.685541987 - vertex 0.0848250017 1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.426157176 -0.563345253 -0.70783627 - outer loop - vertex 0.569666028 2.81540704 0.685541987 - vertex 0.484059989 2.77896309 0.663007021 - vertex 0.0848250017 1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.688727021 -0.67552197 -0.263296992 - outer loop - vertex 0.569666028 2.81540704 0.685541987 - vertex 0.819289029 3.77494597 -1.12331498 - vertex 0.782781005 3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.444303989 -0.81863606 -0.363907993 - outer loop - vertex 0.569666028 2.81540704 0.685541987 - vertex 0.782781005 3.75595093 -1.17007899 - vertex 0.484059989 2.77896309 0.663007021 - endloop - endfacet - - facet normal 0.672470868 -0.699886858 -0.24070996 - outer loop - vertex 0.819289029 3.77494597 -1.12331498 - vertex 0.907932997 4 -1.530038 - vertex 0.782781005 3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.523807168 -0.778528273 -0.345716119 - outer loop - vertex 0.907932997 4 -1.530038 - vertex 0.891771019 3.99642801 -1.54648209 - vertex 0.782781005 3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.272472084 0.292858124 0.916511357 - outer loop - vertex -0.529305995 0.376396 -0.0156389996 - vertex -0.44404301 0.471772999 -0.0714629963 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247544035 -0.867487133 0.43149507 - outer loop - vertex 0.891771019 3.99642801 -1.54648209 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.890290976 3.98449087 -1.57133007 - endloop - endfacet - - facet normal 0.767617583 -0.634875655 0.087727949 - outer loop - vertex -0.529305995 0.376396 -0.0156389996 - vertex -0.109567001 0.945155025 0.427682996 - vertex -0.44404301 0.471772999 -0.0714629963 - endloop - endfacet - - facet normal 0.886159658 -0.420221835 -0.19528091 - outer loop - vertex -0.109567001 0.945155025 0.427682996 - vertex -0.0898490027 1.01548898 0.365808994 - vertex -0.44404301 0.471772999 -0.0714629963 - endloop - endfacet - - facet normal 0.946716785 -0.321837902 0.0121489968 - outer loop - vertex -0.109567001 0.945155025 0.427682996 - vertex 0.0779410005 1.52917695 1.28727102 - vertex 0.0842330009 1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.958333194 -0.285045058 -0.0186190046 - outer loop - vertex -0.109567001 0.945155025 0.427682996 - vertex 0.0842330009 1.54508102 1.21826005 - vertex -0.0898490027 1.01548898 0.365808994 - endloop - endfacet - - facet normal 0.996036589 -0.028538987 0.0842419714 - outer loop - vertex 0.0779410005 1.52917695 1.28727102 - vertex 0.0848250017 1.71552598 1.26900196 - vertex 0.0842330009 1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.985584736 0.0451189876 -0.163054958 - outer loop - vertex 0.0848250017 1.71552598 1.26900196 - vertex 0.0741709992 1.66259193 1.18995297 - vertex 0.0842330009 1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.950562179 -0.277941048 0.138492033 - outer loop - vertex 0.0848250017 1.71552598 1.26900196 - vertex 0.484059989 2.77896309 0.663007021 - vertex 0.463129014 2.69129992 0.630741 - endloop - endfacet - - facet normal 0.946162283 -0.313099086 0.0821340233 - outer loop - vertex 0.0848250017 1.71552598 1.26900196 - vertex 0.463129014 2.69129992 0.630741 - vertex 0.0741709992 1.66259193 1.18995297 - endloop - endfacet - - facet normal 0.96979171 -0.242210925 0.0289449915 - outer loop - vertex 0.484059989 2.77896309 0.663007021 - vertex 0.782781005 3.75595093 -1.17007899 - vertex 0.463129014 2.69129992 0.630741 - endloop - endfacet - - facet normal 0.974733412 -0.219097078 0.0434880182 - outer loop - vertex 0.782781005 3.75595093 -1.17007899 - vertex 0.776166975 3.71228409 -1.24183702 - vertex 0.463129014 2.69129992 0.630741 - endloop - endfacet - - facet normal 0.951111138 -0.296674043 0.0858610049 - outer loop - vertex 0.782781005 3.75595093 -1.17007899 - vertex 0.891771019 3.99642801 -1.54648209 - vertex 0.890290976 3.98449087 -1.57133007 - endloop - endfacet - - facet normal 0.95249474 -0.291143954 0.0893819779 - outer loop - vertex 0.782781005 3.75595093 -1.17007899 - vertex 0.890290976 3.98449087 -1.57133007 - vertex 0.776166975 3.71228409 -1.24183702 - endloop - endfacet - - facet normal 0.272473961 0.292857975 0.91651094 - outer loop - vertex -0.44404301 0.471772999 -0.0714629963 - vertex -0.307767004 0.456461996 -0.107084997 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247539937 -0.867491841 0.431487888 - outer loop - vertex 0.890290976 3.98449087 -1.57133007 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.904604971 3.97317505 -1.58586907 - endloop - endfacet - - facet normal 0.444817066 -0.719116151 0.533863127 - outer loop - vertex -0.44404301 0.471772999 -0.0714629963 - vertex -0.0898490027 1.01548898 0.365808994 - vertex -0.00500100013 1.04112697 0.329647988 - endloop - endfacet - - facet normal 0.127748966 -0.63515991 0.76174283 - outer loop - vertex -0.44404301 0.471772999 -0.0714629963 - vertex -0.00500100013 1.04112697 0.329647988 - vertex -0.307767004 0.456461996 -0.107084997 - endloop - endfacet - - facet normal 0.420685858 -0.806614757 0.415205866 - outer loop - vertex -0.0898490027 1.01548898 0.365808994 - vertex 0.0842330009 1.54508102 1.21826005 - vertex -0.00500100013 1.04112697 0.329647988 - endloop - endfacet - - facet normal 0.35758391 -0.827291846 0.433268875 - outer loop - vertex 0.0842330009 1.54508102 1.21826005 - vertex 0.132046998 1.54398 1.17669499 - vertex -0.00500100013 1.04112697 0.329647988 - endloop - endfacet - - facet normal 0.675312042 0.226875037 0.701770067 - outer loop - vertex 0.0842330009 1.54508102 1.21826005 - vertex 0.0741709992 1.66259193 1.18995297 - vertex 0.140081003 1.61137402 1.14308596 - endloop - endfacet - - facet normal 0.632811844 0.283820927 0.72041285 - outer loop - vertex 0.0842330009 1.54508102 1.21826005 - vertex 0.140081003 1.61137402 1.14308596 - vertex 0.132046998 1.54398 1.17669499 - endloop - endfacet - - facet normal 0.650720775 0.157726958 0.742754757 - outer loop - vertex 0.0741709992 1.66259193 1.18995297 - vertex 0.463129014 2.69129992 0.630741 - vertex 0.140081003 1.61137402 1.14308596 - endloop - endfacet - - facet normal 0.52620393 0.230870992 0.818417966 - outer loop - vertex 0.463129014 2.69129992 0.630741 - vertex 0.522632003 2.61842799 0.61303997 - vertex 0.140081003 1.61137402 1.14308596 - endloop - endfacet - - facet normal 0.890468955 0.320121974 0.323398978 - outer loop - vertex 0.463129014 2.69129992 0.630741 - vertex 0.776166975 3.71228409 -1.24183702 - vertex 0.804427981 3.67682505 -1.28455305 - endloop - endfacet - - facet normal 0.754780054 0.51879406 0.401447028 - outer loop - vertex 0.463129014 2.69129992 0.630741 - vertex 0.804427981 3.67682505 -1.28455305 - vertex 0.522632003 2.61842799 0.61303997 - endloop - endfacet - - facet normal 0.880504668 0.167588919 0.443424821 - outer loop - vertex 0.776166975 3.71228409 -1.24183702 - vertex 0.890290976 3.98449087 -1.57133007 - vertex 0.804427981 3.67682505 -1.28455305 - endloop - endfacet - - facet normal 0.785179079 0.290597022 0.546852052 - outer loop - vertex 0.890290976 3.98449087 -1.57133007 - vertex 0.904604971 3.97317505 -1.58586907 - vertex 0.804427981 3.67682505 -1.28455305 - endloop - endfacet - - facet normal 0.272477061 0.292857081 0.916510224 - outer loop - vertex -0.307767004 0.456461996 -0.107084997 - vertex -0.223100007 0.341991007 -0.095679 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247493982 -0.867506921 0.431483984 - outer loop - vertex 0.904604971 3.97317505 -1.58586907 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.923933983 3.97100115 -1.57915306 - endloop - endfacet - - facet normal -0.530284762 -0.313739836 0.787632704 - outer loop - vertex -0.307767004 0.456461996 -0.107084997 - vertex -0.00500100013 1.04112697 0.329647988 - vertex -0.223100007 0.341991007 -0.095679 - endloop - endfacet - - facet normal -0.346002042 -0.406495035 0.845602989 - outer loop - vertex -0.00500100013 1.04112697 0.329647988 - vertex 0.0810849965 1.00276399 0.346430987 - vertex -0.223100007 0.341991007 -0.095679 - endloop - endfacet - - facet normal -0.409732103 -0.753765106 0.513768137 - outer loop - vertex -0.00500100013 1.04112697 0.329647988 - vertex 0.132046998 1.54398 1.17669499 - vertex 0.185377002 1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.430921048 -0.742863119 0.512310088 - outer loop - vertex -0.00500100013 1.04112697 0.329647988 - vertex 0.185377002 1.52670002 1.19387603 - vertex 0.0810849965 1.00276399 0.346430987 - endloop - endfacet - - facet normal -0.136054054 0.455070168 0.880000293 - outer loop - vertex 0.132046998 1.54398 1.17669499 - vertex 0.140081003 1.61137402 1.14308596 - vertex 0.185377002 1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.142184019 0.452121019 0.8805511 - outer loop - vertex 0.140081003 1.61137402 1.14308596 - vertex 0.232925996 1.60044098 1.16369104 - vertex 0.185377002 1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.0768329725 0.487080812 0.869970679 - outer loop - vertex 0.140081003 1.61137402 1.14308596 - vertex 0.522632003 2.61842799 0.61303997 - vertex 0.617762983 2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.130130991 0.504069924 0.853802919 - outer loop - vertex 0.140081003 1.61137402 1.14308596 - vertex 0.617762983 2.61522293 0.623236001 - vertex 0.232925996 1.60044098 1.16369104 - endloop - endfacet - - facet normal -0.0224629845 0.874534488 0.484442741 - outer loop - vertex 0.522632003 2.61842799 0.61303997 - vertex 0.804427981 3.67682505 -1.28455305 - vertex 0.617762983 2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.19305791 0.865288615 0.462605834 - outer loop - vertex 0.804427981 3.67682505 -1.28455305 - vertex 0.846280992 3.67627597 -1.26605999 - vertex 0.617762983 2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.149908945 0.729361773 0.667501807 - outer loop - vertex 0.804427981 3.67682505 -1.28455305 - vertex 0.904604971 3.97317505 -1.58586907 - vertex 0.923933983 3.97100115 -1.57915306 - endloop - endfacet - - facet normal -0.266439945 0.733926833 0.62478888 - outer loop - vertex 0.804427981 3.67682505 -1.28455305 - vertex 0.923933983 3.97100115 -1.57915306 - vertex 0.846280992 3.67627597 -1.26605999 - endloop - endfacet - - facet normal 0.272476882 0.292855889 0.916510582 - outer loop - vertex -0.223100007 0.341991007 -0.095679 - vertex -0.253796995 0.214561 -0.0458349995 - vertex -0.376302004 0.324781001 -0.0446330011 - endloop - endfacet - - facet normal -0.247450024 -0.8675071 0.431509018 - outer loop - vertex 0.923933983 3.97100115 -1.57915306 - vertex 0.911266029 3.98531508 -1.55764103 - vertex 0.933724999 3.97960711 -1.55623698 - endloop - endfacet - - facet normal -0.879711032 0.0929580033 0.466333985 - outer loop - vertex -0.223100007 0.341991007 -0.095679 - vertex 0.0810849965 1.00276399 0.346430987 - vertex 0.103583999 0.929287016 0.403519988 - endloop - endfacet - - facet normal -0.920438349 0.313202113 0.233875081 - outer loop - vertex -0.223100007 0.341991007 -0.095679 - vertex 0.103583999 0.929287016 0.403519988 - vertex -0.253796995 0.214561 -0.0458349995 - endloop - endfacet - - facet normal -0.969112396 -0.137853056 0.204494074 - outer loop - vertex 0.0810849965 1.00276399 0.346430987 - vertex 0.185377002 1.52670002 1.19387603 - vertex 0.103583999 0.929287016 0.403519988 - endloop - endfacet - - facet normal -0.958291411 -0.17137289 0.22871086 - outer loop - vertex 0.185377002 1.52670002 1.19387603 - vertex 0.204065993 1.50625706 1.256863 - vertex 0.103583999 0.929287016 0.403519988 - endloop - endfacet - - facet normal -0.774107695 0.591492772 0.225595891 - outer loop - vertex 0.185377002 1.52670002 1.19387603 - vertex 0.232925996 1.60044098 1.16369104 - vertex 0.282788992 1.63802505 1.23625302 - endloop - endfacet - - facet normal -0.76090014 0.516107082 0.393274039 - outer loop - vertex 0.185377002 1.52670002 1.19387603 - vertex 0.282788992 1.63802505 1.23625302 - vertex 0.204065993 1.50625706 1.256863 - endloop - endfacet - - facet normal -0.8194713 0.47864911 0.315217078 - outer loop - vertex 0.232925996 1.60044098 1.16369104 - vertex 0.617762983 2.61522293 0.623236001 - vertex 0.282788992 1.63802505 1.23625302 - endloop - endfacet - - facet normal -0.778669 0.502564967 0.375636965 - outer loop - vertex 0.617762983 2.61522293 0.623236001 - vertex 0.676886976 2.68409705 0.653648019 - vertex 0.282788992 1.63802505 1.23625302 - endloop - endfacet - - facet normal -0.907485962 0.403503984 0.11684899 - outer loop - vertex 0.617762983 2.61522293 0.623236001 - vertex 0.846280992 3.67627597 -1.26605999 - vertex 0.870212972 3.71105099 -1.20028496 - endloop - endfacet - - facet normal -0.786379635 0.571479738 0.234558895 - outer loop - vertex 0.617762983 2.61522293 0.623236001 - vertex 0.870212972 3.71105099 -1.20028496 - vertex 0.676886976 2.68409705 0.653648019 - endloop - endfacet - - facet normal -0.915194154 0.380924076 0.131592035 - outer loop - vertex 0.846280992 3.67627597 -1.26605999 - vertex 0.923933983 3.97100115 -1.57915306 - vertex 0.870212972 3.71105099 -1.20028496 - endloop - endfacet - - facet normal -0.864411891 0.463298917 0.195310965 - outer loop - vertex 0.923933983 3.97100115 -1.57915306 - vertex 0.933724999 3.97960711 -1.55623698 - vertex 0.870212972 3.71105099 -1.20028496 - endloop - endfacet - - facet normal 0.272473931 -0.292851925 0.916512847 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.376740992 -0.170128003 0.00491400016 - vertex -0.253796995 -0.214561 -0.0458349995 - endloop - endfacet - - facet normal -0.247445986 0.867469966 0.431585968 - outer loop - vertex 0.926603973 -3.99251413 -1.53437805 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.933724999 -3.97960711 -1.55623698 - endloop - endfacet - - facet normal -0.777862728 -0.563657761 -0.277883887 - outer loop - vertex 0.0455540009 -0.876025975 0.457924992 - vertex 0.103583999 -0.929287016 0.403519988 - vertex -0.253796995 -0.214561 -0.0458349995 - endloop - endfacet - - facet normal -0.477919996 -0.658785999 -0.581027985 - outer loop - vertex -0.376740992 -0.170128003 0.00491400016 - vertex 0.0455540009 -0.876025975 0.457924992 - vertex -0.253796995 -0.214561 -0.0458349995 - endloop - endfacet - - facet normal -0.779423177 -0.557750106 -0.285332054 - outer loop - vertex 0.0455540009 -0.876025975 0.457924992 - vertex 0.204065993 -1.50625706 1.256863 - vertex 0.103583999 -0.929287016 0.403519988 - endloop - endfacet - - facet normal -0.76534009 -0.570420086 -0.298120022 - outer loop - vertex 0.0455540009 -0.876025975 0.457924992 - vertex 0.174039006 -1.49804103 1.31822896 - vertex 0.204065993 -1.50625706 1.256863 - endloop - endfacet - - facet normal -0.725148976 -0.339533001 -0.599062979 - outer loop - vertex 0.252124012 -1.695822 1.30613101 - vertex 0.282788992 -1.63802397 1.23625302 - vertex 0.204065993 -1.50625706 1.256863 - endloop - endfacet - - facet normal -0.867439389 -0.319119155 -0.381722182 - outer loop - vertex 0.174039006 -1.49804103 1.31822896 - vertex 0.252124012 -1.695822 1.30613101 - vertex 0.204065993 -1.50625706 1.256863 - endloop - endfacet - - facet normal -0.88659811 -0.0803210139 -0.45551309 - outer loop - vertex 0.252124012 -1.695822 1.30613101 - vertex 0.676886976 -2.68409705 0.653648019 - vertex 0.282788992 -1.63802397 1.23625302 - endloop - endfacet - - facet normal -0.822990119 0.0210630018 -0.56766504 - outer loop - vertex 0.252124012 -1.695822 1.30613101 - vertex 0.655480981 -2.77318811 0.681376994 - vertex 0.676886976 -2.68409705 0.653648019 - endloop - endfacet - - facet normal -0.987821043 0.06729801 -0.140287012 - outer loop - vertex 0.858199 -3.75496197 -1.13675594 - vertex 0.870212972 -3.71105099 -1.20028496 - vertex 0.676886976 -2.68409705 0.653648019 - endloop - endfacet - - facet normal -0.965101719 0.169848949 -0.199323922 - outer loop - vertex 0.655480981 -2.77318811 0.681376994 - vertex 0.858199 -3.75496197 -1.13675594 - vertex 0.676886976 -2.68409705 0.653648019 - endloop - endfacet - - facet normal -0.983463764 0.00726499874 -0.180958956 - outer loop - vertex 0.858199 -3.75496197 -1.13675594 - vertex 0.933724999 -3.97960711 -1.55623698 - vertex 0.870212972 -3.71105099 -1.20028496 - endloop - endfacet - - facet normal -0.962732613 0.124580957 -0.240052924 - outer loop - vertex 0.858199 -3.75496197 -1.13675594 - vertex 0.926603973 -3.99251413 -1.53437805 - vertex 0.933724999 -3.97960711 -1.55623698 - endloop - endfacet - - facet normal 0.272466928 -0.292851955 0.916514874 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.499356002 -0.242149994 0.018352 - vertex -0.376740992 -0.170128003 0.00491400016 - endloop - endfacet - - facet normal -0.247477025 0.867453039 0.431602061 - outer loop - vertex 0.907932997 -4 -1.530038 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.926603973 -3.99251413 -1.53437805 - endloop - endfacet - - facet normal 0.172648042 -0.456757128 -0.872677267 - outer loop - vertex -0.499356002 -0.242149994 0.018352 - vertex 0.0455540009 -0.876025975 0.457924992 - vertex -0.376740992 -0.170128003 0.00491400016 - endloop - endfacet - - facet normal -0.0465160124 -0.595931113 -0.801687181 - outer loop - vertex -0.499356002 -0.242149994 0.018352 - vertex -0.0493079983 -0.883087993 0.468677998 - vertex 0.0455540009 -0.876025975 0.457924992 - endloop - endfacet - - facet normal 0.00578899914 -0.809948862 -0.586471856 - outer loop - vertex 0.117908001 -1.50824094 1.331761 - vertex 0.174039006 -1.49804103 1.31822896 - vertex 0.0455540009 -0.876025975 0.457924992 - endloop - endfacet - - facet normal -0.00607900089 -0.810414076 -0.585826099 - outer loop - vertex -0.0493079983 -0.883087993 0.468677998 - vertex 0.117908001 -1.50824094 1.331761 - vertex 0.0455540009 -0.876025975 0.457924992 - endloop - endfacet - - facet normal -0.228951037 -0.0308770034 -0.972948134 - outer loop - vertex 0.117908001 -1.50824094 1.331761 - vertex 0.252124012 -1.695822 1.30613101 - vertex 0.174039006 -1.49804103 1.31822896 - endloop - endfacet - - facet normal -0.16855301 0.0140670007 -0.985592186 - outer loop - vertex 0.117908001 -1.50824094 1.331761 - vertex 0.164021999 -1.73031497 1.32070494 - vertex 0.252124012 -1.695822 1.30613101 - endloop - endfacet - - facet normal -0.246820047 0.415317029 -0.875552118 - outer loop - vertex 0.569666028 -2.81540704 0.685541987 - vertex 0.655480981 -2.77318811 0.681376994 - vertex 0.252124012 -1.695822 1.30613101 - endloop - endfacet - - facet normal -0.298811018 0.396427006 -0.86807698 - outer loop - vertex 0.164021999 -1.73031497 1.32070494 - vertex 0.569666028 -2.81540704 0.685541987 - vertex 0.252124012 -1.695822 1.30613101 - endloop - endfacet - - facet normal -0.40818882 0.783465683 -0.468575835 - outer loop - vertex 0.569666028 -2.81540704 0.685541987 - vertex 0.858199 -3.75496197 -1.13675594 - vertex 0.655480981 -2.77318811 0.681376994 - endloop - endfacet - - facet normal -0.526139736 0.719045639 -0.454037786 - outer loop - vertex 0.569666028 -2.81540704 0.685541987 - vertex 0.819289029 -3.77494597 -1.12331498 - vertex 0.858199 -3.75496197 -1.13675594 - endloop - endfacet - - facet normal -0.419348896 0.745756686 -0.517680824 - outer loop - vertex 0.907932997 -4 -1.530038 - vertex 0.926603973 -3.99251413 -1.53437805 - vertex 0.858199 -3.75496197 -1.13675594 - endloop - endfacet - - facet normal -0.526108801 0.690327764 -0.496645838 - outer loop - vertex 0.819289029 -3.77494597 -1.12331498 - vertex 0.907932997 -4 -1.530038 - vertex 0.858199 -3.75496197 -1.13675594 - endloop - endfacet - - facet normal 0.272470057 -0.292848051 0.916515231 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.529305995 -0.376397014 -0.0156389996 - vertex -0.499356002 -0.242149994 0.018352 - endloop - endfacet - - facet normal -0.247462898 0.867455661 0.431604832 - outer loop - vertex 0.891771019 -3.99642801 -1.54648209 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.907932997 -4 -1.530038 - endloop - endfacet - - facet normal 0.628429115 -0.100671016 -0.771325052 - outer loop - vertex -0.109567001 -0.945155025 0.427682996 - vertex -0.0493079983 -0.883087993 0.468677998 - vertex -0.499356002 -0.242149994 0.018352 - endloop - endfacet - - facet normal 0.73198396 0.0091859987 -0.68125993 - outer loop - vertex -0.529305995 -0.376397014 -0.0156389996 - vertex -0.109567001 -0.945155025 0.427682996 - vertex -0.499356002 -0.242149994 0.018352 - endloop - endfacet - - facet normal 0.768508792 -0.438165873 -0.46626687 - outer loop - vertex -0.109567001 -0.945155025 0.427682996 - vertex 0.117908001 -1.50824094 1.331761 - vertex -0.0493079983 -0.883087993 0.468677998 - endloop - endfacet - - facet normal 0.759350061 -0.449147046 -0.470802039 - outer loop - vertex -0.109567001 -0.945155025 0.427682996 - vertex 0.0779410005 -1.52917695 1.28727102 - vertex 0.117908001 -1.50824094 1.331761 - endloop - endfacet - - facet normal 0.560264945 0.156830981 -0.813330948 - outer loop - vertex 0.0848250017 -1.71552598 1.26900196 - vertex 0.164021999 -1.73031497 1.32070494 - vertex 0.117908001 -1.50824094 1.331761 - endloop - endfacet - - facet normal 0.71818012 0.0941240117 -0.689462125 - outer loop - vertex 0.0779410005 -1.52917695 1.28727102 - vertex 0.0848250017 -1.71552598 1.26900196 - vertex 0.117908001 -1.50824094 1.331761 - endloop - endfacet - - facet normal 0.521720767 0.567762733 -0.636751771 - outer loop - vertex 0.0848250017 -1.71552598 1.26900196 - vertex 0.569666028 -2.81540704 0.685541987 - vertex 0.164021999 -1.73031497 1.32070494 - endloop - endfacet - - facet normal 0.426156938 0.563345969 -0.707835913 - outer loop - vertex 0.0848250017 -1.71552598 1.26900196 - vertex 0.484059989 -2.77896309 0.663007021 - vertex 0.569666028 -2.81540704 0.685541987 - endloop - endfacet - - facet normal 0.688727021 0.67552197 -0.263296992 - outer loop - vertex 0.782781005 -3.75595093 -1.17007899 - vertex 0.819289029 -3.77494597 -1.12331498 - vertex 0.569666028 -2.81540704 0.685541987 - endloop - endfacet - - facet normal 0.444303989 0.81863606 -0.363907993 - outer loop - vertex 0.484059989 -2.77896309 0.663007021 - vertex 0.782781005 -3.75595093 -1.17007899 - vertex 0.569666028 -2.81540704 0.685541987 - endloop - endfacet - - facet normal 0.672470868 0.699886858 -0.24070996 - outer loop - vertex 0.782781005 -3.75595093 -1.17007899 - vertex 0.907932997 -4 -1.530038 - vertex 0.819289029 -3.77494597 -1.12331498 - endloop - endfacet - - facet normal 0.523808122 0.778528154 -0.345715046 - outer loop - vertex 0.782781005 -3.75595093 -1.17007899 - vertex 0.891771019 -3.99642801 -1.54648209 - vertex 0.907932997 -4 -1.530038 - endloop - endfacet - - facet normal 0.272471815 -0.292857826 0.916511476 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.44404301 -0.471772999 -0.0714629963 - vertex -0.529305995 -0.376397014 -0.0156389996 - endloop - endfacet - - facet normal -0.247543931 0.867487788 0.431493849 - outer loop - vertex 0.890290976 -3.98449087 -1.57133007 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.891771019 -3.99642801 -1.54648209 - endloop - endfacet - - facet normal 0.76761812 0.634875059 0.0877270103 - outer loop - vertex -0.44404301 -0.471772999 -0.0714629963 - vertex -0.109567001 -0.945155025 0.427682996 - vertex -0.529305995 -0.376397014 -0.0156389996 - endloop - endfacet - - facet normal 0.886159658 0.420221835 -0.19528091 - outer loop - vertex -0.44404301 -0.471772999 -0.0714629963 - vertex -0.0898490027 -1.01548898 0.365808994 - vertex -0.109567001 -0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.946716785 0.321837902 0.0121489968 - outer loop - vertex 0.0842330009 -1.54508102 1.21826005 - vertex 0.0779410005 -1.52917695 1.28727102 - vertex -0.109567001 -0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.958333194 0.285045058 -0.0186190046 - outer loop - vertex -0.0898490027 -1.01548898 0.365808994 - vertex 0.0842330009 -1.54508102 1.21826005 - vertex -0.109567001 -0.945155025 0.427682996 - endloop - endfacet - - facet normal 0.996036589 0.028538987 0.0842419714 - outer loop - vertex 0.0842330009 -1.54508102 1.21826005 - vertex 0.0848250017 -1.71552598 1.26900196 - vertex 0.0779410005 -1.52917695 1.28727102 - endloop - endfacet - - facet normal 0.985584736 -0.0451189876 -0.163054958 - outer loop - vertex 0.0842330009 -1.54508102 1.21826005 - vertex 0.0741709992 -1.66259193 1.18995297 - vertex 0.0848250017 -1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.950562179 0.277941048 0.138492033 - outer loop - vertex 0.463129014 -2.69129992 0.630741 - vertex 0.484059989 -2.77896309 0.663007021 - vertex 0.0848250017 -1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.946162283 0.313099086 0.0821340233 - outer loop - vertex 0.0741709992 -1.66259193 1.18995297 - vertex 0.463129014 -2.69129992 0.630741 - vertex 0.0848250017 -1.71552598 1.26900196 - endloop - endfacet - - facet normal 0.96979171 0.242210925 0.0289449915 - outer loop - vertex 0.463129014 -2.69129992 0.630741 - vertex 0.782781005 -3.75595093 -1.17007899 - vertex 0.484059989 -2.77896309 0.663007021 - endloop - endfacet - - facet normal 0.974733412 0.219097078 0.0434880182 - outer loop - vertex 0.463129014 -2.69129992 0.630741 - vertex 0.776166975 -3.71228409 -1.24183702 - vertex 0.782781005 -3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.951111257 0.296673089 0.0858620256 - outer loop - vertex 0.890290976 -3.98449087 -1.57133007 - vertex 0.891771019 -3.99642801 -1.54648209 - vertex 0.782781005 -3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.95249474 0.291143954 0.0893819779 - outer loop - vertex 0.776166975 -3.71228409 -1.24183702 - vertex 0.890290976 -3.98449087 -1.57133007 - vertex 0.782781005 -3.75595093 -1.17007899 - endloop - endfacet - - facet normal 0.272473961 -0.292857975 0.91651094 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.307767004 -0.456461996 -0.107084997 - vertex -0.44404301 -0.471772999 -0.0714629963 - endloop - endfacet - - facet normal -0.247540042 0.867492199 0.431487083 - outer loop - vertex 0.904604971 -3.97317505 -1.58586907 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.890290976 -3.98449087 -1.57133007 - endloop - endfacet - - facet normal 0.444816053 0.719116032 0.533864081 - outer loop - vertex -0.00500100013 -1.04112697 0.329647988 - vertex -0.0898490027 -1.01548898 0.365808994 - vertex -0.44404301 -0.471772999 -0.0714629963 - endloop - endfacet - - facet normal 0.127748966 0.63515991 0.76174283 - outer loop - vertex -0.307767004 -0.456461996 -0.107084997 - vertex -0.00500100013 -1.04112697 0.329647988 - vertex -0.44404301 -0.471772999 -0.0714629963 - endloop - endfacet - - facet normal 0.420685023 0.806615114 0.415206045 - outer loop - vertex -0.00500100013 -1.04112697 0.329647988 - vertex 0.0842330009 -1.54508102 1.21826005 - vertex -0.0898490027 -1.01548898 0.365808994 - endloop - endfacet - - facet normal 0.357582062 0.827292144 0.433270067 - outer loop - vertex -0.00500100013 -1.04112697 0.329647988 - vertex 0.132046998 -1.54397893 1.17669499 - vertex 0.0842330009 -1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.675312042 -0.226875037 0.701770067 - outer loop - vertex 0.140081003 -1.61137402 1.14308596 - vertex 0.0741709992 -1.66259193 1.18995297 - vertex 0.0842330009 -1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.632813096 -0.283820063 0.720412195 - outer loop - vertex 0.132046998 -1.54397893 1.17669499 - vertex 0.140081003 -1.61137402 1.14308596 - vertex 0.0842330009 -1.54508102 1.21826005 - endloop - endfacet - - facet normal 0.650720775 -0.157726958 0.742754757 - outer loop - vertex 0.140081003 -1.61137402 1.14308596 - vertex 0.463129014 -2.69129992 0.630741 - vertex 0.0741709992 -1.66259193 1.18995297 - endloop - endfacet - - facet normal 0.52620393 -0.230870992 0.818417966 - outer loop - vertex 0.140081003 -1.61137402 1.14308596 - vertex 0.522632003 -2.61842704 0.61303997 - vertex 0.463129014 -2.69129992 0.630741 - endloop - endfacet - - facet normal 0.890468955 -0.320121974 0.323398978 - outer loop - vertex 0.804427981 -3.67682505 -1.28455305 - vertex 0.776166975 -3.71228409 -1.24183702 - vertex 0.463129014 -2.69129992 0.630741 - endloop - endfacet - - facet normal 0.754779816 -0.518793881 0.401447922 - outer loop - vertex 0.522632003 -2.61842704 0.61303997 - vertex 0.804427981 -3.67682505 -1.28455305 - vertex 0.463129014 -2.69129992 0.630741 - endloop - endfacet - - facet normal 0.880504668 -0.167588919 0.443424821 - outer loop - vertex 0.804427981 -3.67682505 -1.28455305 - vertex 0.890290976 -3.98449087 -1.57133007 - vertex 0.776166975 -3.71228409 -1.24183702 - endloop - endfacet - - facet normal 0.785177827 -0.290598929 0.546852827 - outer loop - vertex 0.804427981 -3.67682505 -1.28455305 - vertex 0.904604971 -3.97317505 -1.58586907 - vertex 0.890290976 -3.98449087 -1.57133007 - endloop - endfacet - - facet normal 0.272477061 -0.292857081 0.916510224 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.223100007 -0.341991007 -0.095679 - vertex -0.307767004 -0.456461996 -0.107084997 - endloop - endfacet - - facet normal -0.247495025 0.8675071 0.43148303 - outer loop - vertex 0.923933983 -3.97100115 -1.57915306 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.904604971 -3.97317505 -1.58586907 - endloop - endfacet - - facet normal -0.530284762 0.313739836 0.787632704 - outer loop - vertex -0.223100007 -0.341991007 -0.095679 - vertex -0.00500100013 -1.04112697 0.329647988 - vertex -0.307767004 -0.456461996 -0.107084997 - endloop - endfacet - - facet normal -0.346002042 0.406495035 0.845602989 - outer loop - vertex -0.223100007 -0.341991007 -0.095679 - vertex 0.0810849965 -1.00276399 0.346430987 - vertex -0.00500100013 -1.04112697 0.329647988 - endloop - endfacet - - facet normal -0.409730107 0.753766179 0.513768196 - outer loop - vertex 0.185377002 -1.52670002 1.19387603 - vertex 0.132046998 -1.54397893 1.17669499 - vertex -0.00500100013 -1.04112697 0.329647988 - endloop - endfacet - - facet normal -0.430921048 0.742863119 0.512310088 - outer loop - vertex 0.0810849965 -1.00276399 0.346430987 - vertex 0.185377002 -1.52670002 1.19387603 - vertex -0.00500100013 -1.04112697 0.329647988 - endloop - endfacet - - facet normal -0.136055022 -0.455070078 0.880000114 - outer loop - vertex 0.185377002 -1.52670002 1.19387603 - vertex 0.140081003 -1.61137402 1.14308596 - vertex 0.132046998 -1.54397893 1.17669499 - endloop - endfacet - - facet normal -0.142182976 -0.452121913 0.880550802 - outer loop - vertex 0.185377002 -1.52670002 1.19387603 - vertex 0.232925996 -1.60044098 1.16369104 - vertex 0.140081003 -1.61137402 1.14308596 - endloop - endfacet - - facet normal -0.0768340006 -0.487081975 0.869969964 - outer loop - vertex 0.617762983 -2.61522293 0.623236001 - vertex 0.522632003 -2.61842704 0.61303997 - vertex 0.140081003 -1.61137402 1.14308596 - endloop - endfacet - - facet normal -0.130130008 -0.504070044 0.853803098 - outer loop - vertex 0.232925996 -1.60044098 1.16369104 - vertex 0.617762983 -2.61522293 0.623236001 - vertex 0.140081003 -1.61137402 1.14308596 - endloop - endfacet - - facet normal -0.0224649999 -0.874534965 0.484441966 - outer loop - vertex 0.617762983 -2.61522293 0.623236001 - vertex 0.804427981 -3.67682505 -1.28455305 - vertex 0.522632003 -2.61842704 0.61303997 - endloop - endfacet - - facet normal -0.19305791 -0.865288615 0.462605834 - outer loop - vertex 0.617762983 -2.61522293 0.623236001 - vertex 0.846280992 -3.67627597 -1.26605999 - vertex 0.804427981 -3.67682505 -1.28455305 - endloop - endfacet - - facet normal -0.149909943 -0.729361713 0.667501748 - outer loop - vertex 0.923933983 -3.97100115 -1.57915306 - vertex 0.904604971 -3.97317505 -1.58586907 - vertex 0.804427981 -3.67682505 -1.28455305 - endloop - endfacet - - facet normal -0.266439945 -0.733926833 0.62478888 - outer loop - vertex 0.846280992 -3.67627597 -1.26605999 - vertex 0.923933983 -3.97100115 -1.57915306 - vertex 0.804427981 -3.67682505 -1.28455305 - endloop - endfacet - - facet normal 0.272477865 -0.292855829 0.916510463 - outer loop - vertex -0.376302004 -0.324781001 -0.0446330011 - vertex -0.253796995 -0.214561 -0.0458349995 - vertex -0.223100007 -0.341991007 -0.095679 - endloop - endfacet - - facet normal -0.247450024 0.8675071 0.431509018 - outer loop - vertex 0.933724999 -3.97960711 -1.55623698 - vertex 0.911266029 -3.98531508 -1.55764103 - vertex 0.923933983 -3.97100115 -1.57915306 - endloop - endfacet - - facet normal -0.879710913 -0.0929590017 0.466333956 - outer loop - vertex 0.103583999 -0.929287016 0.403519988 - vertex 0.0810849965 -1.00276399 0.346430987 - vertex -0.223100007 -0.341991007 -0.095679 - endloop - endfacet - - facet normal -0.920438349 -0.313202113 0.233875081 - outer loop - vertex -0.253796995 -0.214561 -0.0458349995 - vertex 0.103583999 -0.929287016 0.403519988 - vertex -0.223100007 -0.341991007 -0.095679 - endloop - endfacet - - facet normal -0.969112217 0.137854025 0.204494044 - outer loop - vertex 0.103583999 -0.929287016 0.403519988 - vertex 0.185377002 -1.52670002 1.19387603 - vertex 0.0810849965 -1.00276399 0.346430987 - endloop - endfacet - - facet normal -0.958291709 0.171372935 0.228709921 - outer loop - vertex 0.103583999 -0.929287016 0.403519988 - vertex 0.204065993 -1.50625706 1.256863 - vertex 0.185377002 -1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.774107099 -0.591494083 0.225595027 - outer loop - vertex 0.282788992 -1.63802397 1.23625302 - vertex 0.232925996 -1.60044098 1.16369104 - vertex 0.185377002 -1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.760899842 -0.516106904 0.393274903 - outer loop - vertex 0.204065993 -1.50625706 1.256863 - vertex 0.282788992 -1.63802397 1.23625302 - vertex 0.185377002 -1.52670002 1.19387603 - endloop - endfacet - - facet normal -0.819471061 -0.47864899 0.315218031 - outer loop - vertex 0.282788992 -1.63802397 1.23625302 - vertex 0.617762983 -2.61522293 0.623236001 - vertex 0.232925996 -1.60044098 1.16369104 - endloop - endfacet - - facet normal -0.778668165 -0.502565145 0.375638098 - outer loop - vertex 0.282788992 -1.63802397 1.23625302 - vertex 0.676886976 -2.68409705 0.653648019 - vertex 0.617762983 -2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.907485962 -0.403503984 0.11684899 - outer loop - vertex 0.870212972 -3.71105099 -1.20028496 - vertex 0.846280992 -3.67627597 -1.26605999 - vertex 0.617762983 -2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.78637892 -0.57148093 0.23455897 - outer loop - vertex 0.676886976 -2.68409705 0.653648019 - vertex 0.870212972 -3.71105099 -1.20028496 - vertex 0.617762983 -2.61522293 0.623236001 - endloop - endfacet - - facet normal -0.915194154 -0.380924076 0.131592035 - outer loop - vertex 0.870212972 -3.71105099 -1.20028496 - vertex 0.923933983 -3.97100115 -1.57915306 - vertex 0.846280992 -3.67627597 -1.26605999 - endloop - endfacet - - facet normal -0.864411891 -0.463298917 0.195310965 - outer loop - vertex 0.870212972 -3.71105099 -1.20028496 - vertex 0.933724999 -3.97960711 -1.55623698 - vertex 0.923933983 -3.97100115 -1.57915306 - endloop - endfacet - - facet normal 0.287100911 0.22565192 0.930942714 - outer loop - vertex 0.254595995 0.172016993 -0.203339994 - vertex 0.134731993 0.118957996 -0.153512999 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184374034 -0.887741089 0.421808064 - outer loop - vertex 1.54126191 3.22838593 -1.48060107 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.53517103 3.24041605 -1.45794499 - endloop - endfacet - - facet normal -0.475138009 0.667518914 -0.573290944 - outer loop - vertex 0.254595995 0.172016993 -0.203339994 - vertex 0.599097013 0.871927977 0.326090991 - vertex 0.515124023 0.832623005 0.349920988 - endloop - endfacet - - facet normal -0.518250883 0.659948826 -0.543951869 - outer loop - vertex 0.254595995 0.172016993 -0.203339994 - vertex 0.515124023 0.832623005 0.349920988 - vertex 0.134731993 0.118957996 -0.153512999 - endloop - endfacet - - facet normal -0.472386926 0.830829799 -0.294231981 - outer loop - vertex 0.599097013 0.871927977 0.326090991 - vertex 0.79035902 1.28275597 1.17908895 - vertex 0.515124023 0.832623005 0.349920988 - endloop - endfacet - - facet normal -0.327001125 0.87180227 -0.364734113 - outer loop - vertex 0.79035902 1.28275597 1.17908895 - vertex 0.737774014 1.28159404 1.22345495 - vertex 0.515124023 0.832623005 0.349920988 - endloop - endfacet - - facet normal -0.350684077 0.480596095 -0.803771198 - outer loop - vertex 0.79035902 1.28275597 1.17908895 - vertex 0.895301998 1.39467299 1.20021999 - vertex 0.851906002 1.45822704 1.25715399 - endloop - endfacet - - facet normal -0.56752795 0.492581934 -0.659753859 - outer loop - vertex 0.79035902 1.28275597 1.17908895 - vertex 0.851906002 1.45822704 1.25715399 - vertex 0.737774014 1.28159404 1.22345495 - endloop - endfacet - - facet normal -0.840571404 -0.0964380503 -0.533047318 - outer loop - vertex 0.895301998 1.39467299 1.20021999 - vertex 1.33289194 2.38362789 0.331256986 - vertex 0.851906002 1.45822704 1.25715399 - endloop - endfacet - - facet normal -0.887653232 0.000607000198 -0.460512102 - outer loop - vertex 1.33289194 2.38362789 0.331256986 - vertex 1.32048297 2.47545505 0.355296999 - vertex 0.851906002 1.45822704 1.25715399 - endloop - endfacet - - facet normal -0.991470754 -0.0184189957 -0.129020974 - outer loop - vertex 1.33289194 2.38362789 0.331256986 - vertex 1.51245093 2.94816399 -1.12917101 - vertex 1.50315905 2.98986292 -1.06372297 - endloop - endfacet - - facet normal -0.982979894 -0.0910649896 -0.159554973 - outer loop - vertex 1.33289194 2.38362789 0.331256986 - vertex 1.50315905 2.98986292 -1.06372297 - vertex 1.32048297 2.47545505 0.355296999 - endloop - endfacet - - facet normal -0.992559552 -0.0415029824 -0.114467941 - outer loop - vertex 1.51245093 2.94816399 -1.12917101 - vertex 1.54126191 3.22838593 -1.48060107 - vertex 1.50315905 2.98986292 -1.06372297 - endloop - endfacet - - facet normal -0.971499264 -0.156291023 -0.178220034 - outer loop - vertex 1.54126191 3.22838593 -1.48060107 - vertex 1.53517103 3.24041605 -1.45794499 - vertex 1.50315905 2.98986292 -1.06372297 - endloop - endfacet - - facet normal 0.28709814 0.225652128 0.930943549 - outer loop - vertex 0.134731993 0.118957996 -0.153512999 - vertex 0.0100760004 0.184983999 -0.131073996 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184354961 -0.887750745 0.421795905 - outer loop - vertex 1.53517103 3.24041605 -1.45794499 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.51657104 3.24703598 -1.45213997 - endloop - endfacet - - facet normal 0.127014041 0.525668204 -0.841154218 - outer loop - vertex 0.134731993 0.118957996 -0.153512999 - vertex 0.515124023 0.832623005 0.349920988 - vertex 0.0100760004 0.184983999 -0.131073996 - endloop - endfacet - - facet normal 0.362982959 0.356360972 -0.860958934 - outer loop - vertex 0.515124023 0.832623005 0.349920988 - vertex 0.427042991 0.859715998 0.324000001 - vertex 0.0100760004 0.184983999 -0.131073996 - endloop - endfacet - - facet normal 0.393000096 0.773265183 -0.497606099 - outer loop - vertex 0.515124023 0.832623005 0.349920988 - vertex 0.737774014 1.28159404 1.22345495 - vertex 0.68404901 1.30356801 1.21517205 - endloop - endfacet - - facet normal 0.385495007 0.776755929 -0.498039961 - outer loop - vertex 0.515124023 0.832623005 0.349920988 - vertex 0.68404901 1.30356801 1.21517205 - vertex 0.427042991 0.859715998 0.324000001 - endloop - endfacet - - facet normal 0.180199996 0.0707409903 -0.981082916 - outer loop - vertex 0.737774014 1.28159404 1.22345495 - vertex 0.851906002 1.45822704 1.25715399 - vertex 0.68404901 1.30356801 1.21517205 - endloop - endfacet - - facet normal 0.230535865 0.013906992 -0.972964406 - outer loop - vertex 0.851906002 1.45822704 1.25715399 - vertex 0.773847997 1.51072693 1.23941004 - vertex 0.68404901 1.30356801 1.21517205 - endloop - endfacet - - facet normal -0.213641912 -0.591137767 -0.777761698 - outer loop - vertex 0.851906002 1.45822704 1.25715399 - vertex 1.32048297 2.47545505 0.355296999 - vertex 1.25007606 2.53493595 0.329427987 - endloop - endfacet - - facet normal -0.219361112 -0.589029253 -0.777769387 - outer loop - vertex 0.851906002 1.45822704 1.25715399 - vertex 1.25007606 2.53493595 0.329427987 - vertex 0.773847997 1.51072693 1.23941004 - endloop - endfacet - - facet normal -0.526722312 -0.775172412 -0.348814219 - outer loop - vertex 1.32048297 2.47545505 0.355296999 - vertex 1.50315905 2.98986292 -1.06372297 - vertex 1.25007606 2.53493595 0.329427987 - endloop - endfacet - - facet normal -0.515794992 -0.782329023 -0.349166006 - outer loop - vertex 1.50315905 2.98986292 -1.06372297 - vertex 1.46452999 3.00791907 -1.04711497 - vertex 1.25007606 2.53493595 0.329427987 - endloop - endfacet - - facet normal -0.425265014 -0.747819066 -0.509819984 - outer loop - vertex 1.50315905 2.98986292 -1.06372297 - vertex 1.53517103 3.24041605 -1.45794499 - vertex 1.51657104 3.24703598 -1.45213997 - endloop - endfacet - - facet normal -0.532313049 -0.697276056 -0.48005107 - outer loop - vertex 1.50315905 2.98986292 -1.06372297 - vertex 1.51657104 3.24703598 -1.45213997 - vertex 1.46452999 3.00791907 -1.04711497 - endloop - endfacet - - facet normal 0.287100106 0.225650087 0.93094337 - outer loop - vertex 0.0100760004 0.184983999 -0.131073996 - vertex -0.0255030002 0.320378006 -0.152918994 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184421048 -0.887741208 0.421787083 - outer loop - vertex 1.51657104 3.24703598 -1.45213997 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.49947 3.24326396 -1.46755695 - endloop - endfacet - - facet normal 0.821849883 -0.134506986 -0.553597927 - outer loop - vertex 0.0100760004 0.184983999 -0.131073996 - vertex 0.427042991 0.859715998 0.324000001 - vertex 0.401181996 0.932807028 0.267848015 - endloop - endfacet - - facet normal 0.661470056 0.0531199984 -0.748088062 - outer loop - vertex 0.0100760004 0.184983999 -0.131073996 - vertex 0.401181996 0.932807028 0.267848015 - vertex -0.0255030002 0.320378006 -0.152918994 - endloop - endfacet - - facet normal 0.944037497 0.0903129503 -0.317232847 - outer loop - vertex 0.427042991 0.859715998 0.324000001 - vertex 0.68404901 1.30356801 1.21517205 - vertex 0.401181996 0.932807028 0.267848015 - endloop - endfacet - - facet normal 0.961416662 -0.0369919837 -0.272597879 - outer loop - vertex 0.68404901 1.30356801 1.21517205 - vertex 0.669640005 1.33213401 1.16047704 - vertex 0.401181996 0.932807028 0.267848015 - endloop - endfacet - - facet normal 0.79018414 -0.278662026 -0.545854032 - outer loop - vertex 0.68404901 1.30356801 1.21517205 - vertex 0.773847997 1.51072693 1.23941004 - vertex 0.719905972 1.51263702 1.16034794 - endloop - endfacet - - facet normal 0.896213293 -0.249837101 -0.366583139 - outer loop - vertex 0.68404901 1.30356801 1.21517205 - vertex 0.719905972 1.51263702 1.16034794 - vertex 0.669640005 1.33213401 1.16047704 - endloop - endfacet - - facet normal 0.608522832 -0.666114748 -0.431266844 - outer loop - vertex 0.773847997 1.51072693 1.23941004 - vertex 1.25007606 2.53493595 0.329427987 - vertex 0.719905972 1.51263702 1.16034794 - endloop - endfacet - - facet normal 0.533110023 -0.68267101 -0.499754041 - outer loop - vertex 1.25007606 2.53493595 0.329427987 - vertex 1.17469096 2.5172801 0.273131013 - vertex 0.719905972 1.51263702 1.16034794 - endloop - endfacet - - facet normal 0.592279136 -0.785880089 -0.177758023 - outer loop - vertex 1.25007606 2.53493595 0.329427987 - vertex 1.46452999 3.00791907 -1.04711497 - vertex 1.42565393 2.98873901 -1.09184897 - endloop - endfacet - - facet normal 0.385834247 -0.891602457 -0.237017125 - outer loop - vertex 1.25007606 2.53493595 0.329427987 - vertex 1.42565393 2.98873901 -1.09184897 - vertex 1.17469096 2.5172801 0.273131013 - endloop - endfacet - - facet normal 0.680419087 -0.665989041 -0.305759013 - outer loop - vertex 1.46452999 3.00791907 -1.04711497 - vertex 1.51657104 3.24703598 -1.45213997 - vertex 1.42565393 2.98873901 -1.09184897 - endloop - endfacet - - facet normal 0.528014839 -0.747651756 -0.402761877 - outer loop - vertex 1.51657104 3.24703598 -1.45213997 - vertex 1.49947 3.24326396 -1.46755695 - vertex 1.42565393 2.98873901 -1.09184897 - endloop - endfacet - - facet normal 0.287102133 0.225660101 0.93094033 - outer loop - vertex -0.0255030002 0.320378006 -0.152918994 - vertex 0.0547849983 0.423180997 -0.202600002 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184494004 -0.887767971 0.421698987 - outer loop - vertex 1.49947 3.24326396 -1.46755695 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.49674499 3.23194098 -1.49258697 - endloop - endfacet - - facet normal 0.800132632 -0.597048759 0.0576229766 - outer loop - vertex -0.0255030002 0.320378006 -0.152918994 - vertex 0.401181996 0.932807028 0.267848015 - vertex 0.0547849983 0.423180997 -0.202600002 - endloop - endfacet - - facet normal 0.781402111 -0.617047131 0.0930780172 - outer loop - vertex 0.401181996 0.932807028 0.267848015 - vertex 0.457011998 0.996855974 0.223748997 - vertex 0.0547849983 0.423180997 -0.202600002 - endloop - endfacet - - facet normal 0.591941774 -0.786967635 0.17403093 - outer loop - vertex 0.401181996 0.932807028 0.267848015 - vertex 0.669640005 1.33213401 1.16047704 - vertex 0.705398023 1.34577894 1.10055697 - endloop - endfacet - - facet normal 0.766158044 -0.64151305 0.0382480025 - outer loop - vertex 0.401181996 0.932807028 0.267848015 - vertex 0.705398023 1.34577894 1.10055697 - vertex 0.457011998 0.996855974 0.223748997 - endloop - endfacet - - facet normal 0.856900215 -0.238298073 0.457095116 - outer loop - vertex 0.669640005 1.33213401 1.16047704 - vertex 0.719905972 1.51263702 1.16034794 - vertex 0.705398023 1.34577894 1.10055697 - endloop - endfacet - - facet normal 0.958668172 -0.166126028 0.230992049 - outer loop - vertex 0.719905972 1.51263702 1.16034794 - vertex 0.730700016 1.46251702 1.07950306 - vertex 0.705398023 1.34577894 1.10055697 - endloop - endfacet - - facet normal 0.937909067 -0.32989803 0.107209012 - outer loop - vertex 0.719905972 1.51263702 1.16034794 - vertex 1.17469096 2.5172801 0.273131013 - vertex 1.15109396 2.43578506 0.228796005 - endloop - endfacet - - facet normal 0.949355602 -0.194093928 0.247085899 - outer loop - vertex 0.719905972 1.51263702 1.16034794 - vertex 1.15109396 2.43578506 0.228796005 - vertex 0.730700016 1.46251702 1.07950306 - endloop - endfacet - - facet normal 0.94807595 -0.310923964 0.0669199899 - outer loop - vertex 1.17469096 2.5172801 0.273131013 - vertex 1.42565393 2.98873901 -1.09184897 - vertex 1.15109396 2.43578506 0.228796005 - endloop - endfacet - - facet normal 0.943761826 -0.325121939 0.0600779913 - outer loop - vertex 1.42565393 2.98873901 -1.09184897 - vertex 1.415802 2.94676304 -1.16424298 - vertex 1.15109396 2.43578506 0.228796005 - endloop - endfacet - - facet normal 0.965287447 -0.260869861 0.012922992 - outer loop - vertex 1.42565393 2.98873901 -1.09184897 - vertex 1.49947 3.24326396 -1.46755695 - vertex 1.49674499 3.23194098 -1.49258697 - endloop - endfacet - - facet normal 0.966702342 -0.25537008 0.0165120047 - outer loop - vertex 1.42565393 2.98873901 -1.09184897 - vertex 1.49674499 3.23194098 -1.49258697 - vertex 1.415802 2.94676304 -1.16424298 - endloop - endfacet - - facet normal 0.287104994 0.225661978 0.930938959 - outer loop - vertex 0.0547849983 0.423180997 -0.202600002 - vertex 0.190484002 0.415984005 -0.242705002 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184529021 -0.887732148 0.421759069 - outer loop - vertex 1.49674499 3.23194098 -1.49258697 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.51044703 3.22158909 -1.50838101 - endloop - endfacet - - facet normal 0.0337819979 -0.611306012 0.790672958 - outer loop - vertex 0.0547849983 0.423180997 -0.202600002 - vertex 0.457011998 0.996855974 0.223748997 - vertex 0.552495003 1.00363195 0.224907994 - endloop - endfacet - - facet normal 0.175379902 -0.676896572 0.714879572 - outer loop - vertex 0.0547849983 0.423180997 -0.202600002 - vertex 0.552495003 1.00363195 0.224907994 - vertex 0.190484002 0.415984005 -0.242705002 - endloop - endfacet - - facet normal 0.0619340129 -0.933253109 0.353840023 - outer loop - vertex 0.457011998 0.996855974 0.223748997 - vertex 0.705398023 1.34577894 1.10055697 - vertex 0.552495003 1.00363195 0.224907994 - endloop - endfacet - - facet normal -0.055268988 -0.926689804 0.371740907 - outer loop - vertex 0.705398023 1.34577894 1.10055697 - vertex 0.764394999 1.33422804 1.08053398 - vertex 0.552495003 1.00363195 0.224907994 - endloop - endfacet - - facet normal 0.378070056 0.0843310058 0.921928108 - outer loop - vertex 0.705398023 1.34577894 1.10055697 - vertex 0.730700016 1.46251702 1.07950306 - vertex 0.798102021 1.39811099 1.05775404 - endloop - endfacet - - facet normal 0.343855888 0.149168938 0.927098632 - outer loop - vertex 0.705398023 1.34577894 1.10055697 - vertex 0.798102021 1.39811099 1.05775404 - vertex 0.764394999 1.33422804 1.08053398 - endloop - endfacet - - facet normal 0.588112831 0.373159915 0.717547894 - outer loop - vertex 0.730700016 1.46251702 1.07950306 - vertex 1.15109396 2.43578506 0.228796005 - vertex 0.798102021 1.39811099 1.05775404 - endloop - endfacet - - facet normal 0.621727347 0.348749191 0.701305389 - outer loop - vertex 1.15109396 2.43578506 0.228796005 - vertex 1.19705403 2.35181308 0.229809001 - vertex 0.798102021 1.39811099 1.05775404 - endloop - endfacet - - facet normal 0.900523543 0.324001819 0.289965838 - outer loop - vertex 1.15109396 2.43578506 0.228796005 - vertex 1.415802 2.94676304 -1.16424298 - vertex 1.44239593 2.91360092 -1.20978105 - endloop - endfacet - - facet normal 0.829440415 0.457835257 0.320024192 - outer loop - vertex 1.15109396 2.43578506 0.228796005 - vertex 1.44239593 2.91360092 -1.20978105 - vertex 1.19705403 2.35181308 0.229809001 - endloop - endfacet - - facet normal 0.90179795 0.19060199 0.387854964 - outer loop - vertex 1.415802 2.94676304 -1.16424298 - vertex 1.49674499 3.23194098 -1.49258697 - vertex 1.44239593 2.91360092 -1.20978105 - endloop - endfacet - - facet normal 0.809248447 0.306871176 0.500946224 - outer loop - vertex 1.49674499 3.23194098 -1.49258697 - vertex 1.51044703 3.22158909 -1.50838101 - vertex 1.44239593 2.91360092 -1.20978105 - endloop - endfacet - - facet normal 0.287105978 0.22566098 0.930938959 - outer loop - vertex 0.190484002 0.415984005 -0.242705002 - vertex 0.279406995 0.304206014 -0.243034005 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184329927 -0.887789667 0.421724826 - outer loop - vertex 1.51044703 3.22158909 -1.50838101 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.53025901 3.22000909 -1.50304699 - endloop - endfacet - - facet normal -0.455893964 -0.365067989 0.811717927 - outer loop - vertex 0.190484002 0.415984005 -0.242705002 - vertex 0.552495003 1.00363195 0.224907994 - vertex 0.279406995 0.304206014 -0.243034005 - endloop - endfacet - - facet normal -0.683324039 -0.202508017 0.701469064 - outer loop - vertex 0.552495003 1.00363195 0.224907994 - vertex 0.615728974 0.948033988 0.270455003 - vertex 0.279406995 0.304206014 -0.243034005 - endloop - endfacet - - facet normal -0.75348109 -0.528666079 0.390869021 - outer loop - vertex 0.552495003 1.00363195 0.224907994 - vertex 0.764394999 1.33422804 1.08053398 - vertex 0.802205026 1.30618 1.115484 - endloop - endfacet - - facet normal -0.750331104 -0.532756031 0.391375035 - outer loop - vertex 0.552495003 1.00363195 0.224907994 - vertex 0.802205026 1.30618 1.115484 - vertex 0.615728974 0.948033988 0.270455003 - endloop - endfacet - - facet normal -0.375712037 0.480761021 0.792281091 - outer loop - vertex 0.764394999 1.33422804 1.08053398 - vertex 0.798102021 1.39811099 1.05775404 - vertex 0.802205026 1.30618 1.115484 - endloop - endfacet - - facet normal -0.38203603 0.479180038 0.790212035 - outer loop - vertex 0.798102021 1.39811099 1.05775404 - vertex 0.871357024 1.36791801 1.11147904 - vertex 0.802205026 1.30618 1.115484 - endloop - endfacet - - facet normal -0.196147874 0.688334584 0.698370576 - outer loop - vertex 0.798102021 1.39811099 1.05775404 - vertex 1.19705403 2.35181308 0.229809001 - vertex 1.27796102 2.32860303 0.275409013 - endloop - endfacet - - facet normal -0.219507039 0.691687107 0.688030124 - outer loop - vertex 0.798102021 1.39811099 1.05775404 - vertex 1.27796102 2.32860303 0.275409013 - vertex 0.871357024 1.36791801 1.11147904 - endloop - endfacet - - facet normal 0.0565909743 0.926781595 0.371312857 - outer loop - vertex 1.19705403 2.35181308 0.229809001 - vertex 1.44239593 2.91360092 -1.20978105 - vertex 1.27796102 2.32860303 0.275409013 - endloop - endfacet - - facet normal -0.140208036 0.926429152 0.349386096 - outer loop - vertex 1.44239593 2.91360092 -1.20978105 - vertex 1.48540699 2.91422415 -1.19417298 - vertex 1.27796102 2.32860303 0.275409013 - endloop - endfacet - - facet normal -0.131446019 0.704857111 0.697064102 - outer loop - vertex 1.44239593 2.91360092 -1.20978105 - vertex 1.51044703 3.22158909 -1.50838101 - vertex 1.53025901 3.22000909 -1.50304699 - endloop - endfacet - - facet normal -0.250628948 0.705919802 0.662466824 - outer loop - vertex 1.44239593 2.91360092 -1.20978105 - vertex 1.53025901 3.22000909 -1.50304699 - vertex 1.48540699 2.91422415 -1.19417298 - endloop - endfacet - - facet normal 0.287107021 0.225659013 0.930939138 - outer loop - vertex 0.279406995 0.304206014 -0.243034005 - vertex 0.254595995 0.172016993 -0.203339994 - vertex 0.128368005 0.27710101 -0.189882994 - endloop - endfacet - - facet normal -0.184386045 -0.887791276 0.42169711 - outer loop - vertex 1.53025901 3.22000909 -1.50304699 - vertex 1.51856101 3.23323202 -1.48032296 - vertex 1.54126191 3.22838593 -1.48060107 - endloop - endfacet - - facet normal -0.923753202 0.336100101 0.183621049 - outer loop - vertex 0.279406995 0.304206014 -0.243034005 - vertex 0.615728974 0.948033988 0.270455003 - vertex 0.599097013 0.871927977 0.326090991 - endloop - endfacet - - facet normal -0.929180562 0.254806876 0.26776287 - outer loop - vertex 0.279406995 0.304206014 -0.243034005 - vertex 0.599097013 0.871927977 0.326090991 - vertex 0.254595995 0.172016993 -0.203339994 - endloop - endfacet - - facet normal -0.95622313 0.277304024 0.093486011 - outer loop - vertex 0.615728974 0.948033988 0.270455003 - vertex 0.802205026 1.30618 1.115484 - vertex 0.599097013 0.871927977 0.326090991 - endloop - endfacet - - facet normal -0.900449932 0.434893966 -0.00755599979 - outer loop - vertex 0.802205026 1.30618 1.115484 - vertex 0.79035902 1.28275597 1.17908895 - vertex 0.599097013 0.871927977 0.326090991 - endloop - endfacet - - facet normal -0.666760981 0.743948996 -0.0443829969 - outer loop - vertex 0.802205026 1.30618 1.115484 - vertex 0.871357024 1.36791801 1.11147904 - vertex 0.895301998 1.39467299 1.20021999 - endloop - endfacet - - facet normal -0.735310256 0.66884923 0.109359048 - outer loop - vertex 0.802205026 1.30618 1.115484 - vertex 0.895301998 1.39467299 1.20021999 - vertex 0.79035902 1.28275597 1.17908895 - endloop - endfacet - - facet normal -0.882354856 0.459964931 0.0994089916 - outer loop - vertex 0.871357024 1.36791801 1.11147904 - vertex 1.27796102 2.32860303 0.275409013 - vertex 0.895301998 1.39467299 1.20021999 - endloop - endfacet - - facet normal -0.796392024 0.557778955 0.233756989 - outer loop - vertex 1.27796102 2.32860303 0.275409013 - vertex 1.33289194 2.38362789 0.331256986 - vertex 0.895301998 1.39467299 1.20021999 - endloop - endfacet - - facet normal -0.852394104 0.515902042 0.0852600113 - outer loop - vertex 1.27796102 2.32860303 0.275409013 - vertex 1.48540699 2.91422415 -1.19417298 - vertex 1.51245093 2.94816399 -1.12917101 - endloop - endfacet - - facet normal -0.770075798 0.621154904 0.145429969 - outer loop - vertex 1.27796102 2.32860303 0.275409013 - vertex 1.51245093 2.94816399 -1.12917101 - vertex 1.33289194 2.38362789 0.331256986 - endloop - endfacet - - facet normal -0.917796791 0.340652943 0.203971952 - outer loop - vertex 1.48540699 2.91422415 -1.19417298 - vertex 1.53025901 3.22000909 -1.50304699 - vertex 1.51245093 2.94816399 -1.12917101 - endloop - endfacet - - facet normal -0.865918994 0.42326802 0.266512007 - outer loop - vertex 1.53025901 3.22000909 -1.50304699 - vertex 1.54126191 3.22838593 -1.48060107 - vertex 1.51245093 2.94816399 -1.12917101 - endloop - endfacet - - facet normal 0.287100911 -0.22565192 0.930942714 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex 0.0795739964 -0.0913780034 -0.153512999 - vertex 0.199438006 -0.144437 -0.203339994 - endloop - endfacet - - facet normal -0.184375003 0.887741923 0.421805978 - outer loop - vertex 1.48001194 -3.21283698 -1.45794499 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.48610401 -3.20080709 -1.48060107 - endloop - endfacet - - facet normal -0.475138009 -0.667518914 -0.573290944 - outer loop - vertex 0.459966004 -0.805042982 0.349920988 - vertex 0.543938994 -0.844349027 0.326090991 - vertex 0.199438006 -0.144437 -0.203339994 - endloop - endfacet - - facet normal -0.518250108 -0.659949124 -0.543952107 - outer loop - vertex 0.0795739964 -0.0913780034 -0.153512999 - vertex 0.459966004 -0.805042982 0.349920988 - vertex 0.199438006 -0.144437 -0.203339994 - endloop - endfacet - - facet normal -0.472386926 -0.830829799 -0.294231981 - outer loop - vertex 0.459966004 -0.805042982 0.349920988 - vertex 0.735199988 -1.25517702 1.17908895 - vertex 0.543938994 -0.844349027 0.326090991 - endloop - endfacet - - facet normal -0.327001125 -0.87180227 -0.364734113 - outer loop - vertex 0.459966004 -0.805042982 0.349920988 - vertex 0.682615995 -1.25401497 1.22345495 - vertex 0.735199988 -1.25517702 1.17908895 - endloop - endfacet - - facet normal -0.35068512 -0.480595142 -0.803771257 - outer loop - vertex 0.796747029 -1.43064797 1.25715399 - vertex 0.840143979 -1.36709404 1.20021999 - vertex 0.735199988 -1.25517702 1.17908895 - endloop - endfacet - - facet normal -0.56752795 -0.492581934 -0.659753859 - outer loop - vertex 0.682615995 -1.25401497 1.22345495 - vertex 0.796747029 -1.43064797 1.25715399 - vertex 0.735199988 -1.25517702 1.17908895 - endloop - endfacet - - facet normal -0.840571702 0.0964379609 -0.533046842 - outer loop - vertex 0.796747029 -1.43064797 1.25715399 - vertex 1.27773297 -2.35605001 0.331256986 - vertex 0.840143979 -1.36709404 1.20021999 - endloop - endfacet - - facet normal -0.887653232 -0.000607000198 -0.460512102 - outer loop - vertex 0.796747029 -1.43064797 1.25715399 - vertex 1.265324 -2.44787598 0.355296999 - vertex 1.27773297 -2.35605001 0.331256986 - endloop - endfacet - - facet normal -0.991470754 0.0184189957 -0.129020974 - outer loop - vertex 1.44800103 -2.96228409 -1.06372297 - vertex 1.45729196 -2.92058492 -1.12917101 - vertex 1.27773297 -2.35605001 0.331256986 - endloop - endfacet - - facet normal -0.982979894 0.0910649896 -0.159554973 - outer loop - vertex 1.265324 -2.44787598 0.355296999 - vertex 1.44800103 -2.96228409 -1.06372297 - vertex 1.27773297 -2.35605001 0.331256986 - endloop - endfacet - - facet normal -0.992559552 0.0415029824 -0.114467941 - outer loop - vertex 1.44800103 -2.96228409 -1.06372297 - vertex 1.48610401 -3.20080709 -1.48060107 - vertex 1.45729196 -2.92058492 -1.12917101 - endloop - endfacet - - facet normal -0.971497953 0.156295985 -0.178222984 - outer loop - vertex 1.44800103 -2.96228409 -1.06372297 - vertex 1.48001194 -3.21283698 -1.45794499 - vertex 1.48610401 -3.20080709 -1.48060107 - endloop - endfacet - - facet normal 0.28709814 -0.225652128 0.930943549 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex -0.0450830013 -0.157405004 -0.131073996 - vertex 0.0795739964 -0.0913780034 -0.153512999 - endloop - endfacet - - facet normal -0.184356034 0.887751043 0.42179507 - outer loop - vertex 1.46141195 -3.2194581 -1.45213997 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.48001194 -3.21283698 -1.45794499 - endloop - endfacet - - facet normal 0.127014041 -0.525668204 -0.841154218 - outer loop - vertex -0.0450830013 -0.157405004 -0.131073996 - vertex 0.459966004 -0.805042982 0.349920988 - vertex 0.0795739964 -0.0913780034 -0.153512999 - endloop - endfacet - - facet normal 0.362984002 -0.356359988 -0.860958934 - outer loop - vertex -0.0450830013 -0.157405004 -0.131073996 - vertex 0.371885002 -0.832136989 0.324000001 - vertex 0.459966004 -0.805042982 0.349920988 - endloop - endfacet - - facet normal 0.393002957 -0.773263991 -0.497605979 - outer loop - vertex 0.628889978 -1.27599001 1.21517205 - vertex 0.682615995 -1.25401497 1.22345495 - vertex 0.459966004 -0.805042982 0.349920988 - endloop - endfacet - - facet normal 0.38549611 -0.776755273 -0.49804014 - outer loop - vertex 0.371885002 -0.832136989 0.324000001 - vertex 0.628889978 -1.27599001 1.21517205 - vertex 0.459966004 -0.805042982 0.349920988 - endloop - endfacet - - facet normal 0.180200949 -0.0707409829 -0.981082737 - outer loop - vertex 0.628889978 -1.27599001 1.21517205 - vertex 0.796747029 -1.43064797 1.25715399 - vertex 0.682615995 -1.25401497 1.22345495 - endloop - endfacet - - facet normal 0.230534911 -0.0139069958 -0.972964704 - outer loop - vertex 0.628889978 -1.27599001 1.21517205 - vertex 0.718689024 -1.48314798 1.23941004 - vertex 0.796747029 -1.43064797 1.25715399 - endloop - endfacet - - facet normal -0.213641912 0.591137767 -0.777761698 - outer loop - vertex 1.19491804 -2.50735712 0.329427987 - vertex 1.265324 -2.44787598 0.355296999 - vertex 0.796747029 -1.43064797 1.25715399 - endloop - endfacet - - facet normal -0.219361112 0.589029253 -0.777769387 - outer loop - vertex 0.718689024 -1.48314798 1.23941004 - vertex 1.19491804 -2.50735712 0.329427987 - vertex 0.796747029 -1.43064797 1.25715399 - endloop - endfacet - - facet normal -0.526722312 0.775172412 -0.348814219 - outer loop - vertex 1.19491804 -2.50735712 0.329427987 - vertex 1.44800103 -2.96228409 -1.06372297 - vertex 1.265324 -2.44787598 0.355296999 - endloop - endfacet - - facet normal -0.515791953 0.78233093 -0.349165976 - outer loop - vertex 1.19491804 -2.50735712 0.329427987 - vertex 1.40937102 -2.98034 -1.04711497 - vertex 1.44800103 -2.96228409 -1.06372297 - endloop - endfacet - - facet normal -0.425266892 0.747818768 -0.509818792 - outer loop - vertex 1.46141195 -3.2194581 -1.45213997 - vertex 1.48001194 -3.21283698 -1.45794499 - vertex 1.44800103 -2.96228409 -1.06372297 - endloop - endfacet - - facet normal -0.53230989 0.697277844 -0.480051875 - outer loop - vertex 1.40937102 -2.98034 -1.04711497 - vertex 1.46141195 -3.2194581 -1.45213997 - vertex 1.44800103 -2.96228409 -1.06372297 - endloop - endfacet - - facet normal 0.287100106 -0.225650087 0.93094337 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex -0.0806619972 -0.292798996 -0.152918994 - vertex -0.0450830013 -0.157405004 -0.131073996 - endloop - endfacet - - facet normal -0.184420034 0.887742043 0.42178604 - outer loop - vertex 1.44431102 -3.21568489 -1.46755695 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.46141195 -3.2194581 -1.45213997 - endloop - endfacet - - facet normal 0.821849883 0.134506986 -0.553597927 - outer loop - vertex 0.346022993 -0.905228019 0.267848015 - vertex 0.371885002 -0.832136989 0.324000001 - vertex -0.0450830013 -0.157405004 -0.131073996 - endloop - endfacet - - facet normal 0.661470056 -0.0531199984 -0.748088062 - outer loop - vertex -0.0806619972 -0.292798996 -0.152918994 - vertex 0.346022993 -0.905228019 0.267848015 - vertex -0.0450830013 -0.157405004 -0.131073996 - endloop - endfacet - - facet normal 0.944037497 -0.0903129503 -0.317232847 - outer loop - vertex 0.346022993 -0.905228019 0.267848015 - vertex 0.628889978 -1.27599001 1.21517205 - vertex 0.371885002 -0.832136989 0.324000001 - endloop - endfacet - - facet normal 0.961416781 0.0369929932 -0.272596925 - outer loop - vertex 0.346022993 -0.905228019 0.267848015 - vertex 0.614481986 -1.30455494 1.16047704 - vertex 0.628889978 -1.27599001 1.21517205 - endloop - endfacet - - facet normal 0.790184855 0.278661966 -0.545852959 - outer loop - vertex 0.664747 -1.485057 1.16034794 - vertex 0.718689024 -1.48314798 1.23941004 - vertex 0.628889978 -1.27599001 1.21517205 - endloop - endfacet - - facet normal 0.89621377 0.249836937 -0.366581917 - outer loop - vertex 0.614481986 -1.30455494 1.16047704 - vertex 0.664747 -1.485057 1.16034794 - vertex 0.628889978 -1.27599001 1.21517205 - endloop - endfacet - - facet normal 0.608522832 0.666114748 -0.431266844 - outer loop - vertex 0.664747 -1.485057 1.16034794 - vertex 1.19491804 -2.50735712 0.329427987 - vertex 0.718689024 -1.48314798 1.23941004 - endloop - endfacet - - facet normal 0.53311193 0.682670951 -0.499751985 - outer loop - vertex 0.664747 -1.485057 1.16034794 - vertex 1.11953306 -2.48970103 0.273131013 - vertex 1.19491804 -2.50735712 0.329427987 - endloop - endfacet - - facet normal 0.592273772 0.785883725 -0.17775993 - outer loop - vertex 1.37049496 -2.96115994 -1.09184897 - vertex 1.40937102 -2.98034 -1.04711497 - vertex 1.19491804 -2.50735712 0.329427987 - endloop - endfacet - - facet normal 0.385835916 0.891601741 -0.237016946 - outer loop - vertex 1.11953306 -2.48970103 0.273131013 - vertex 1.37049496 -2.96115994 -1.09184897 - vertex 1.19491804 -2.50735712 0.329427987 - endloop - endfacet - - facet normal 0.680415094 0.665992081 -0.305761069 - outer loop - vertex 1.37049496 -2.96115994 -1.09184897 - vertex 1.46141195 -3.2194581 -1.45213997 - vertex 1.40937102 -2.98034 -1.04711497 - endloop - endfacet - - facet normal 0.528015077 0.747652054 -0.402761072 - outer loop - vertex 1.37049496 -2.96115994 -1.09184897 - vertex 1.44431102 -3.21568489 -1.46755695 - vertex 1.46141195 -3.2194581 -1.45213997 - endloop - endfacet - - facet normal 0.287102133 -0.225660101 0.93094033 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex -0.000372999988 -0.395601988 -0.202600002 - vertex -0.0806619972 -0.292798996 -0.152918994 - endloop - endfacet - - facet normal -0.184492007 0.887767911 0.421699971 - outer loop - vertex 1.44158602 -3.20436192 -1.49258697 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.44431102 -3.21568489 -1.46755695 - endloop - endfacet - - facet normal 0.800132632 0.597048759 0.0576229766 - outer loop - vertex -0.000372999988 -0.395601988 -0.202600002 - vertex 0.346022993 -0.905228019 0.267848015 - vertex -0.0806619972 -0.292798996 -0.152918994 - endloop - endfacet - - facet normal 0.781401157 0.617048144 0.0930790231 - outer loop - vertex -0.000372999988 -0.395601988 -0.202600002 - vertex 0.401854008 -0.969277024 0.223748997 - vertex 0.346022993 -0.905228019 0.267848015 - endloop - endfacet - - facet normal 0.591942251 0.786967278 0.174031064 - outer loop - vertex 0.650238991 -1.31819999 1.10055697 - vertex 0.614481986 -1.30455494 1.16047704 - vertex 0.346022993 -0.905228019 0.267848015 - endloop - endfacet - - facet normal 0.766158044 0.64151305 0.0382480025 - outer loop - vertex 0.401854008 -0.969277024 0.223748997 - vertex 0.650238991 -1.31819999 1.10055697 - vertex 0.346022993 -0.905228019 0.267848015 - endloop - endfacet - - facet normal 0.856900215 0.238298073 0.457095116 - outer loop - vertex 0.650238991 -1.31819999 1.10055697 - vertex 0.664747 -1.485057 1.16034794 - vertex 0.614481986 -1.30455494 1.16047704 - endloop - endfacet - - facet normal 0.958668351 0.166127056 0.230991095 - outer loop - vertex 0.650238991 -1.31819999 1.10055697 - vertex 0.675541997 -1.43493795 1.07950306 - vertex 0.664747 -1.485057 1.16034794 - endloop - endfacet - - facet normal 0.937909067 0.329899043 0.107207015 - outer loop - vertex 1.09593499 -2.40820599 0.228796005 - vertex 1.11953306 -2.48970103 0.273131013 - vertex 0.664747 -1.485057 1.16034794 - endloop - endfacet - - facet normal 0.949355602 0.194093928 0.247085899 - outer loop - vertex 0.675541997 -1.43493795 1.07950306 - vertex 1.09593499 -2.40820599 0.228796005 - vertex 0.664747 -1.485057 1.16034794 - endloop - endfacet - - facet normal 0.948075712 0.310924917 0.0669189766 - outer loop - vertex 1.09593499 -2.40820599 0.228796005 - vertex 1.37049496 -2.96115994 -1.09184897 - vertex 1.11953306 -2.48970103 0.273131013 - endloop - endfacet - - facet normal 0.943762779 0.325118899 0.0600789823 - outer loop - vertex 1.09593499 -2.40820599 0.228796005 - vertex 1.36064398 -2.91918492 -1.16424298 - vertex 1.37049496 -2.96115994 -1.09184897 - endloop - endfacet - - facet normal 0.965285242 0.260878086 0.0129180038 - outer loop - vertex 1.44158602 -3.20436192 -1.49258697 - vertex 1.44431102 -3.21568489 -1.46755695 - vertex 1.37049496 -2.96115994 -1.09184897 - endloop - endfacet - - facet normal 0.966703117 0.255367041 0.0165140014 - outer loop - vertex 1.36064398 -2.91918492 -1.16424298 - vertex 1.44158602 -3.20436192 -1.49258697 - vertex 1.37049496 -2.96115994 -1.09184897 - endloop - endfacet - - facet normal 0.287104994 -0.225661978 0.930938959 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex 0.135325 -0.388404995 -0.242705002 - vertex -0.000372999988 -0.395601988 -0.202600002 - endloop - endfacet - - facet normal -0.184526041 0.887733161 0.421758115 - outer loop - vertex 1.45528793 -3.19401002 -1.50838101 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.44158602 -3.20436192 -1.49258697 - endloop - endfacet - - facet normal 0.0337819979 0.611306012 0.790672958 - outer loop - vertex 0.497337013 -0.976052999 0.224907994 - vertex 0.401854008 -0.969277024 0.223748997 - vertex -0.000372999988 -0.395601988 -0.202600002 - endloop - endfacet - - facet normal 0.175379902 0.676896572 0.714879572 - outer loop - vertex 0.135325 -0.388404995 -0.242705002 - vertex 0.497337013 -0.976052999 0.224907994 - vertex -0.000372999988 -0.395601988 -0.202600002 - endloop - endfacet - - facet normal 0.0619340129 0.933253109 0.353840023 - outer loop - vertex 0.497337013 -0.976052999 0.224907994 - vertex 0.650238991 -1.31819999 1.10055697 - vertex 0.401854008 -0.969277024 0.223748997 - endloop - endfacet - - facet normal -0.0552679971 0.926689863 0.371740967 - outer loop - vertex 0.497337013 -0.976052999 0.224907994 - vertex 0.709236979 -1.30664897 1.08053398 - vertex 0.650238991 -1.31819999 1.10055697 - endloop - endfacet - - facet normal 0.378070056 -0.0843310058 0.921928108 - outer loop - vertex 0.742944002 -1.37053204 1.05775404 - vertex 0.675541997 -1.43493795 1.07950306 - vertex 0.650238991 -1.31819999 1.10055697 - endloop - endfacet - - facet normal 0.343855888 -0.149168938 0.927098632 - outer loop - vertex 0.709236979 -1.30664897 1.08053398 - vertex 0.742944002 -1.37053204 1.05775404 - vertex 0.650238991 -1.31819999 1.10055697 - endloop - endfacet - - facet normal 0.588112831 -0.373159915 0.717547894 - outer loop - vertex 0.742944002 -1.37053204 1.05775404 - vertex 1.09593499 -2.40820599 0.228796005 - vertex 0.675541997 -1.43493795 1.07950306 - endloop - endfacet - - facet normal 0.621727943 -0.348748952 0.701304913 - outer loop - vertex 0.742944002 -1.37053204 1.05775404 - vertex 1.14189506 -2.32423401 0.229809001 - vertex 1.09593499 -2.40820599 0.228796005 - endloop - endfacet - - facet normal 0.900525928 -0.323995978 0.289964974 - outer loop - vertex 1.38723803 -2.88602304 -1.20978105 - vertex 1.36064398 -2.91918492 -1.16424298 - vertex 1.09593499 -2.40820599 0.228796005 - endloop - endfacet - - facet normal 0.829440713 -0.45783484 0.320023894 - outer loop - vertex 1.14189506 -2.32423401 0.229809001 - vertex 1.38723803 -2.88602304 -1.20978105 - vertex 1.09593499 -2.40820599 0.228796005 - endloop - endfacet - - facet normal 0.901799619 -0.190599918 0.387851864 - outer loop - vertex 1.38723803 -2.88602304 -1.20978105 - vertex 1.44158602 -3.20436192 -1.49258697 - vertex 1.36064398 -2.91918492 -1.16424298 - endloop - endfacet - - facet normal 0.809241116 -0.306879073 0.500953138 - outer loop - vertex 1.38723803 -2.88602304 -1.20978105 - vertex 1.45528793 -3.19401002 -1.50838101 - vertex 1.44158602 -3.20436192 -1.49258697 - endloop - endfacet - - facet normal 0.287105978 -0.22566098 0.930938959 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex 0.224249005 -0.276625991 -0.243034005 - vertex 0.135325 -0.388404995 -0.242705002 - endloop - endfacet - - facet normal -0.184329927 0.887789667 0.421724826 - outer loop - vertex 1.47510099 -3.19243002 -1.50304699 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.45528793 -3.19401002 -1.50838101 - endloop - endfacet - - facet normal -0.455893964 0.365067989 0.811717927 - outer loop - vertex 0.224249005 -0.276625991 -0.243034005 - vertex 0.497337013 -0.976052999 0.224907994 - vertex 0.135325 -0.388404995 -0.242705002 - endloop - endfacet - - facet normal -0.683324039 0.202508017 0.701469064 - outer loop - vertex 0.224249005 -0.276625991 -0.243034005 - vertex 0.560570002 -0.920454979 0.270455003 - vertex 0.497337013 -0.976052999 0.224907994 - endloop - endfacet - - facet normal -0.753481925 0.528664887 0.390868932 - outer loop - vertex 0.747047007 -1.27860093 1.115484 - vertex 0.709236979 -1.30664897 1.08053398 - vertex 0.497337013 -0.976052999 0.224907994 - endloop - endfacet - - facet normal -0.750331104 0.532756031 0.391375035 - outer loop - vertex 0.560570002 -0.920454979 0.270455003 - vertex 0.747047007 -1.27860093 1.115484 - vertex 0.497337013 -0.976052999 0.224907994 - endloop - endfacet - - facet normal -0.375710905 -0.480760843 0.792281747 - outer loop - vertex 0.747047007 -1.27860093 1.115484 - vertex 0.742944002 -1.37053204 1.05775404 - vertex 0.709236979 -1.30664897 1.08053398 - endloop - endfacet - - facet normal -0.382036179 -0.479179204 0.790212393 - outer loop - vertex 0.747047007 -1.27860093 1.115484 - vertex 0.816199005 -1.34033895 1.11147904 - vertex 0.742944002 -1.37053204 1.05775404 - endloop - endfacet - - facet normal -0.196147874 -0.688334584 0.698370576 - outer loop - vertex 1.22280204 -2.30102396 0.275409013 - vertex 1.14189506 -2.32423401 0.229809001 - vertex 0.742944002 -1.37053204 1.05775404 - endloop - endfacet - - facet normal -0.219507039 -0.691687107 0.688030124 - outer loop - vertex 0.816199005 -1.34033895 1.11147904 - vertex 1.22280204 -2.30102396 0.275409013 - vertex 0.742944002 -1.37053204 1.05775404 - endloop - endfacet - - facet normal 0.0565900318 -0.926781535 0.371313214 - outer loop - vertex 1.22280204 -2.30102396 0.275409013 - vertex 1.38723803 -2.88602304 -1.20978105 - vertex 1.14189506 -2.32423401 0.229809001 - endloop - endfacet - - facet normal -0.140208036 -0.926429152 0.349386096 - outer loop - vertex 1.22280204 -2.30102396 0.275409013 - vertex 1.43024898 -2.88664603 -1.19417298 - vertex 1.38723803 -2.88602304 -1.20978105 - endloop - endfacet - - facet normal -0.131445929 -0.704857588 0.697063565 - outer loop - vertex 1.47510099 -3.19243002 -1.50304699 - vertex 1.45528793 -3.19401002 -1.50838101 - vertex 1.38723803 -2.88602304 -1.20978105 - endloop - endfacet - - facet normal -0.250627995 -0.705919981 0.662467003 - outer loop - vertex 1.43024898 -2.88664603 -1.19417298 - vertex 1.47510099 -3.19243002 -1.50304699 - vertex 1.38723803 -2.88602304 -1.20978105 - endloop - endfacet - - facet normal 0.287107021 -0.225659013 0.930939138 - outer loop - vertex 0.073210001 -0.249522001 -0.189882994 - vertex 0.199438006 -0.144437 -0.203339994 - vertex 0.224249005 -0.276625991 -0.243034005 - endloop - endfacet - - facet normal -0.184387118 0.887791514 0.421696275 - outer loop - vertex 1.48610401 -3.20080709 -1.48060107 - vertex 1.46340299 -3.20565391 -1.48032296 - vertex 1.47510099 -3.19243002 -1.50304699 - endloop - endfacet - - facet normal -0.923753202 -0.336100101 0.183621049 - outer loop - vertex 0.543938994 -0.844349027 0.326090991 - vertex 0.560570002 -0.920454979 0.270455003 - vertex 0.224249005 -0.276625991 -0.243034005 - endloop - endfacet - - facet normal -0.929180801 -0.254806966 0.267761976 - outer loop - vertex 0.199438006 -0.144437 -0.203339994 - vertex 0.543938994 -0.844349027 0.326090991 - vertex 0.224249005 -0.276625991 -0.243034005 - endloop - endfacet - - facet normal -0.95622313 -0.277304024 0.093486011 - outer loop - vertex 0.543938994 -0.844349027 0.326090991 - vertex 0.747047007 -1.27860093 1.115484 - vertex 0.560570002 -0.920454979 0.270455003 - endloop - endfacet - - facet normal -0.900449932 -0.434893966 -0.00755599979 - outer loop - vertex 0.543938994 -0.844349027 0.326090991 - vertex 0.735199988 -1.25517702 1.17908895 - vertex 0.747047007 -1.27860093 1.115484 - endloop - endfacet - - facet normal -0.666762054 -0.743947983 -0.0443830006 - outer loop - vertex 0.840143979 -1.36709404 1.20021999 - vertex 0.816199005 -1.34033895 1.11147904 - vertex 0.747047007 -1.27860093 1.115484 - endloop - endfacet - - facet normal -0.735310256 -0.66884923 0.109359048 - outer loop - vertex 0.735199988 -1.25517702 1.17908895 - vertex 0.840143979 -1.36709404 1.20021999 - vertex 0.747047007 -1.27860093 1.115484 - endloop - endfacet - - facet normal -0.882354856 -0.459964931 0.0994089916 - outer loop - vertex 0.840143979 -1.36709404 1.20021999 - vertex 1.22280204 -2.30102396 0.275409013 - vertex 0.816199005 -1.34033895 1.11147904 - endloop - endfacet - - facet normal -0.796393156 -0.55777812 0.233755067 - outer loop - vertex 0.840143979 -1.36709404 1.20021999 - vertex 1.27773297 -2.35605001 0.331256986 - vertex 1.22280204 -2.30102396 0.275409013 - endloop - endfacet - - facet normal -0.852396131 -0.515899062 0.0852590129 - outer loop - vertex 1.45729196 -2.92058492 -1.12917101 - vertex 1.43024898 -2.88664603 -1.19417298 - vertex 1.22280204 -2.30102396 0.275409013 - endloop - endfacet - - facet normal -0.770077705 -0.621152759 0.145428941 - outer loop - vertex 1.27773297 -2.35605001 0.331256986 - vertex 1.45729196 -2.92058492 -1.12917101 - vertex 1.22280204 -2.30102396 0.275409013 - endloop - endfacet - - facet normal -0.917797387 -0.34065178 0.203970864 - outer loop - vertex 1.45729196 -2.92058492 -1.12917101 - vertex 1.47510099 -3.19243002 -1.50304699 - vertex 1.43024898 -2.88664603 -1.19417298 - endloop - endfacet - - facet normal -0.865921021 -0.42326504 0.26651001 - outer loop - vertex 1.45729196 -2.92058492 -1.12917101 - vertex 1.48610401 -3.20080709 -1.48060107 - vertex 1.47510099 -3.19243002 -1.50304699 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891946077 0.305186033 -0.333607048 - outer loop - vertex -1.82387102 0.262814999 0.436648995 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.82589507 0.173241004 0.360118985 - endloop - endfacet - - facet normal -0.885285795 -0.462163895 0.0517069884 - outer loop - vertex -1.96445894 0.327820987 0.278562993 - vertex -1.92826998 0.255225986 0.249314994 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -1.96445894 0.327820987 0.278562993 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.782588899 -0.524955928 0.334627926 - outer loop - vertex -1.96445894 0.327820987 0.278562993 - vertex -1.82589507 0.173241004 0.360118985 - vertex -1.92826998 0.255225986 0.249314994 - endloop - endfacet - - facet normal -0.758137107 -0.413600057 0.504146039 - outer loop - vertex -1.96445894 0.327820987 0.278562993 - vertex -1.82387102 0.262814999 0.436648995 - vertex -1.82589507 0.173241004 0.360118985 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891943216 0.305170089 -0.333629102 - outer loop - vertex -1.86979997 0.26947999 0.565533996 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.82387102 0.262814999 0.436648995 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -1.96445894 0.327820987 0.278562993 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.239093035 -0.967433095 -0.0831130072 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.0592401 0.350344002 0.289045006 - vertex -1.96445894 0.327820987 0.278562993 - endloop - endfacet - - facet normal -0.347355902 -0.934693694 -0.0754429772 - outer loop - vertex -1.86979997 0.26947999 0.565533996 - vertex -1.82387102 0.262814999 0.436648995 - vertex -1.96445894 0.327820987 0.278562993 - endloop - endfacet - - facet normal -0.241774052 -0.963362157 -0.116098031 - outer loop - vertex -2.0592401 0.350344002 0.289045006 - vertex -1.86979997 0.26947999 0.565533996 - vertex -1.96445894 0.327820987 0.278562993 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891948104 0.305166036 -0.333620042 - outer loop - vertex -1.929093 0.188217998 0.649725974 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.86979997 0.26947999 0.565533996 - endloop - endfacet - - facet normal 0.485254169 -0.872347355 -0.059485022 - outer loop - vertex -2.14123702 0.305835992 0.272870004 - vertex -2.0592401 0.350344002 0.289045006 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.14123702 0.305835992 0.272870004 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0.482345223 -0.694664299 -0.533652186 - outer loop - vertex -2.14123702 0.305835992 0.272870004 - vertex -1.86979997 0.26947999 0.565533996 - vertex -2.0592401 0.350344002 0.289045006 - endloop - endfacet - - facet normal 0.403894991 -0.783667028 -0.471947998 - outer loop - vertex -2.14123702 0.305835992 0.272870004 - vertex -1.929093 0.188217998 0.649725974 - vertex -1.86979997 0.26947999 0.565533996 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891944408 0.305174798 -0.3336218 - outer loop - vertex -1.95710492 0.080219999 0.625826001 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.929093 0.188217998 0.649725974 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.14123702 0.305835992 0.272870004 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0.98234576 -0.14196597 0.121829979 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.14871097 0.227810994 0.242217004 - vertex -2.14123702 0.305835992 0.272870004 - endloop - endfacet - - facet normal 0.851677775 -0.107379965 -0.512946844 - outer loop - vertex -1.95710492 0.080219999 0.625826001 - vertex -1.929093 0.188217998 0.649725974 - vertex -2.14123702 0.305835992 0.272870004 - endloop - endfacet - - facet normal 0.903621852 0.0788339823 -0.421013921 - outer loop - vertex -2.14871097 0.227810994 0.242217004 - vertex -1.95710492 0.080219999 0.625826001 - vertex -2.14123702 0.305835992 0.272870004 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891943157 0.30518806 -0.333613068 - outer loop - vertex -1.93274093 0.026811 0.511829019 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.95710492 0.080219999 0.625826001 - endloop - endfacet - - facet normal 0.618495345 0.72466743 0.303843141 - outer loop - vertex -2.07603097 0.175025001 0.220166996 - vertex -2.14871097 0.227810994 0.242217004 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.07603097 0.175025001 0.220166996 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0.590632141 0.806794107 0.0153980022 - outer loop - vertex -2.07603097 0.175025001 0.220166996 - vertex -1.95710492 0.080219999 0.625826001 - vertex -2.14871097 0.227810994 0.242217004 - endloop - endfacet - - facet normal 0.806724787 0.582333744 -0.100411966 - outer loop - vertex -2.07603097 0.175025001 0.220166996 - vertex -1.93274093 0.026811 0.511829019 - vertex -1.95710492 0.080219999 0.625826001 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.891946197 0.305190057 -0.333603054 - outer loop - vertex -1.874349 0.0682099983 0.393579006 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.93274093 0.026811 0.511829019 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.07603097 0.175025001 0.220166996 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.126801014 0.93091315 0.342523098 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -1.97792399 0.187224999 0.223326996 - vertex -2.07603097 0.175025001 0.220166996 - endloop - endfacet - - facet normal 0.14587602 0.909062088 0.390289992 - outer loop - vertex -1.874349 0.0682099983 0.393579006 - vertex -1.93274093 0.026811 0.511829019 - vertex -2.07603097 0.175025001 0.220166996 - endloop - endfacet - - facet normal -0.116740949 0.779241621 0.615754724 - outer loop - vertex -1.97792399 0.187224999 0.223326996 - vertex -1.874349 0.0682099983 0.393579006 - vertex -2.07603097 0.175025001 0.220166996 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.89194411 0.30519402 -0.333605021 - outer loop - vertex -1.82589507 0.173241004 0.360118985 - vertex -1.88754892 0.152713999 0.506179988 - vertex -1.874349 0.0682099983 0.393579006 - endloop - endfacet - - facet normal -0.824144065 0.500415027 0.265276015 - outer loop - vertex -1.92826998 0.255225986 0.249314994 - vertex -1.97792399 0.187224999 0.223326996 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04417706 0.405290008 -0.393858999 - vertex -1.92826998 0.255225986 0.249314994 - vertex -2.04417706 0.405290008 -0.393858999 - endloop - endfacet - - facet normal -0.719097137 0.282446057 0.63492012 - outer loop - vertex -1.92826998 0.255225986 0.249314994 - vertex -1.874349 0.0682099983 0.393579006 - vertex -1.97792399 0.187224999 0.223326996 - endloop - endfacet - - facet normal -0.460380882 0.455178916 0.762142777 - outer loop - vertex -1.92826998 0.255225986 0.249314994 - vertex -1.82589507 0.173241004 0.360118985 - vertex -1.874349 0.0682099983 0.393579006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417208999 0.680008054 -0.602931023 - outer loop - vertex -1.57823491 0.290569007 0.523093998 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.69004607 0.288253009 0.597850978 - endloop - endfacet - - facet normal 0.390951902 0.768584847 0.506392896 - outer loop - vertex -1.67776895 0.494724005 0.372043014 - vertex -1.75114 0.490709007 0.434781998 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.67776895 0.494724005 0.372043014 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0.482774973 0.633068919 0.605104983 - outer loop - vertex -1.67776895 0.494724005 0.372043014 - vertex -1.69004607 0.288253009 0.597850978 - vertex -1.75114 0.490709007 0.434781998 - endloop - endfacet - - facet normal 0.40646106 0.663174093 0.628482044 - outer loop - vertex -1.67776895 0.494724005 0.372043014 - vertex -1.57823491 0.290569007 0.523093998 - vertex -1.69004607 0.288253009 0.597850978 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417207867 0.680008829 -0.602930844 - outer loop - vertex -1.45939696 0.361775994 0.521173 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.57823491 0.290569007 0.523093998 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.67776895 0.494724005 0.372043014 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.141779974 0.442905903 0.885286808 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.61079192 0.552542984 0.353843004 - vertex -1.67776895 0.494724005 0.372043014 - endloop - endfacet - - facet normal -0.275092959 0.481556952 0.832121909 - outer loop - vertex -1.45939696 0.361775994 0.521173 - vertex -1.57823491 0.290569007 0.523093998 - vertex -1.67776895 0.494724005 0.372043014 - endloop - endfacet - - facet normal -0.234951034 0.528878033 0.815528095 - outer loop - vertex -1.61079192 0.552542984 0.353843004 - vertex -1.45939696 0.361775994 0.521173 - vertex -1.67776895 0.494724005 0.372043014 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417209029 0.680007041 -0.602932036 - outer loop - vertex -1.42301798 0.448253989 0.593532026 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.45939696 0.361775994 0.521173 - endloop - endfacet - - facet normal -0.577504694 -0.348285824 0.738366604 - outer loop - vertex -1.60065103 0.620625973 0.39388901 - vertex -1.61079192 0.552542984 0.353843004 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.60065103 0.620625973 0.39388901 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.825805068 -0.189439997 0.531185985 - outer loop - vertex -1.60065103 0.620625973 0.39388901 - vertex -1.45939696 0.361775994 0.521173 - vertex -1.61079192 0.552542984 0.353843004 - endloop - endfacet - - facet normal -0.799487293 -0.150301054 0.581575215 - outer loop - vertex -1.60065103 0.620625973 0.39388901 - vertex -1.42301798 0.448253989 0.593532026 - vertex -1.45939696 0.361775994 0.521173 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417208076 0.680003166 -0.602937102 - outer loop - vertex -1.49649501 0.484885007 0.685687006 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.42301798 0.448253989 0.593532026 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.60065103 0.620625973 0.39388901 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.432327896 -0.901612759 0.0136729963 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.65497303 0.647706985 0.462024987 - vertex -1.60065103 0.620625973 0.39388901 - endloop - endfacet - - facet normal -0.591237962 -0.791076005 -0.156959981 - outer loop - vertex -1.49649501 0.484885007 0.685687006 - vertex -1.42301798 0.448253989 0.593532026 - vertex -1.60065103 0.620625973 0.39388901 - endloop - endfacet - - facet normal -0.591241717 -0.791073561 -0.156957924 - outer loop - vertex -1.65497303 0.647706985 0.462024987 - vertex -1.49649501 0.484885007 0.685687006 - vertex -1.60065103 0.620625973 0.39388901 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417217761 0.680004597 -0.602928638 - outer loop - vertex -1.62449408 0.444081008 0.728241026 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.49649501 0.484885007 0.685687006 - endloop - endfacet - - facet normal 0.0537490025 -0.836287022 -0.545651078 - outer loop - vertex -1.73286009 0.613394976 0.50694102 - vertex -1.65497303 0.647706985 0.462024987 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.73286009 0.613394976 0.50694102 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0.0118340012 -0.804398 -0.593973041 - outer loop - vertex -1.73286009 0.613394976 0.50694102 - vertex -1.49649501 0.484885007 0.685687006 - vertex -1.65497303 0.647706985 0.462024987 - endloop - endfacet - - facet normal 0.043387007 -0.783097148 -0.620384037 - outer loop - vertex -1.73286009 0.613394976 0.50694102 - vertex -1.62449408 0.444081008 0.728241026 - vertex -1.49649501 0.484885007 0.685687006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417210042 0.680010021 -0.602928042 - outer loop - vertex -1.71063101 0.356572986 0.689149976 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.62449408 0.444081008 0.728241026 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.73286009 0.613394976 0.50694102 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0.644525826 -0.270723939 -0.71504885 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.77565801 0.543522 0.494818002 - vertex -1.73286009 0.613394976 0.50694102 - endloop - endfacet - - facet normal 0.676752985 -0.386139005 -0.626819015 - outer loop - vertex -1.71063101 0.356572986 0.689149976 - vertex -1.62449408 0.444081008 0.728241026 - vertex -1.73286009 0.613394976 0.50694102 - endloop - endfacet - - facet normal 0.734697938 -0.349096984 -0.581678927 - outer loop - vertex -1.77565801 0.543522 0.494818002 - vertex -1.71063101 0.356572986 0.689149976 - vertex -1.73286009 0.613394976 0.50694102 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal -0.417209774 0.680009604 -0.602928638 - outer loop - vertex -1.69004607 0.288253009 0.597850978 - vertex -1.56890297 0.382055014 0.619817972 - vertex -1.71063101 0.356572986 0.689149976 - endloop - endfacet - - facet normal 0.811764777 0.561054826 -0.162034959 - outer loop - vertex -1.75114 0.490709007 0.434781998 - vertex -1.77565801 0.543522 0.494818002 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 0.828594983 0.146647006 - vertex -1.75114 0.490709007 0.434781998 - vertex -2.04218507 0.828594983 0.146647006 - endloop - endfacet - - facet normal 0.926234186 0.373678088 0.0495470129 - outer loop - vertex -1.75114 0.490709007 0.434781998 - vertex -1.71063101 0.356572986 0.689149976 - vertex -1.77565801 0.543522 0.494818002 - endloop - endfacet - - facet normal 0.957405746 0.28874594 -0.000203999953 - outer loop - vertex -1.75114 0.490709007 0.434781998 - vertex -1.69004607 0.288253009 0.597850978 - vertex -1.71063101 0.356572986 0.689149976 - endloop - endfacet - - facet normal -0.188931033 -0.0582350083 -0.980262101 - outer loop - vertex -1.06898999 0.00229800004 1.10110295 - vertex -1.10224402 0.110184997 1.10110295 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal -0.184715971 -0.0741749927 -0.979988813 - outer loop - vertex -1.10224402 0.110184997 1.10110295 - vertex -1.21148205 0.382218003 1.10110295 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal -0.0691840202 -0.258199126 0.963611364 - outer loop - vertex -1.51577306 0.250510991 0.26087001 - vertex -1.39166701 0.217256993 0.26087001 - vertex -1.51577306 0.00229800004 0.194362 - endloop - endfacet - - facet normal 0.0497390032 -0.258499026 -0.964730144 - outer loop - vertex -1.21148205 0.382218003 1.10110295 - vertex -1.51577306 0.250510991 1.12070501 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal 0.86519593 -0.129780978 0.484347939 - outer loop - vertex -1.59023798 0.217256993 0.384977013 - vertex -1.51577306 0.250510991 0.26087001 - vertex -1.51577306 0.00229800004 0.194362 - endloop - endfacet - - facet normal 0.0691840202 -0.258199126 -0.963611364 - outer loop - vertex -1.51577306 0.250510991 1.12070501 - vertex -1.63987899 0.217256993 1.12070501 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal 0.202385992 -0.60955894 0.766471028 - outer loop - vertex -1.68109 0.126405001 0.336712986 - vertex -1.59023798 0.217256993 0.384977013 - vertex -1.51577306 0.00229800004 0.194362 - endloop - endfacet - - facet normal 0.189015046 -0.189015046 -0.963611245 - outer loop - vertex -1.63987899 0.217256993 1.12070501 - vertex -1.73073196 0.126405001 1.12070501 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal 0.57565999 -0.154247016 0.803008974 - outer loop - vertex -1.71434402 0.00229800004 0.336712986 - vertex -1.68109 0.126405001 0.336712986 - vertex -1.51577306 0.00229800004 0.194362 - endloop - endfacet - - facet normal 0.258199096 -0.069185026 -0.963611245 - outer loop - vertex -1.73073196 0.126405001 1.12070501 - vertex -1.76398599 0.00229800004 1.12070501 - vertex -1.51577306 0.00229800004 1.18721402 - endloop - endfacet - - facet normal 0.202413991 -0.788102925 0.581310928 - outer loop - vertex -1.39166701 0.217256993 0.26087001 - vertex -1.30081499 0.37461701 0.442575008 - vertex -1.16183996 0.410311013 0.442575008 - endloop - endfacet - - facet normal -0.0857829452 -0.731517494 0.676404655 - outer loop - vertex -1.51577306 0.489080012 0.539102018 - vertex -1.30081499 0.37461701 0.442575008 - vertex -1.39166701 0.217256993 0.26087001 - endloop - endfacet - - facet normal -0.199330047 -0.743908167 0.637862206 - outer loop - vertex -1.51577306 0.250510991 0.26087001 - vertex -1.51577306 0.489080012 0.539102018 - vertex -1.39166701 0.217256993 0.26087001 - endloop - endfacet - - facet normal 0.818344295 -0.436300159 0.374105155 - outer loop - vertex -1.59023798 0.217256993 0.384977013 - vertex -1.51577306 0.489080012 0.539102018 - vertex -1.51577306 0.250510991 0.26087001 - endloop - endfacet - - facet normal -0.151083976 -0.455930918 0.877097785 - outer loop - vertex -1.59023798 0.217256993 0.384977013 - vertex -1.73073196 0.37461701 0.442575008 - vertex -1.51577306 0.489080012 0.539102018 - endloop - endfacet - - facet normal 0.186527073 -0.186527073 0.964580357 - outer loop - vertex -1.88809204 0.217256993 0.442575008 - vertex -1.73073196 0.37461701 0.442575008 - vertex -1.59023798 0.217256993 0.384977013 - endloop - endfacet - - facet normal 0.154704109 -0.579695344 0.800012469 - outer loop - vertex -1.68109 0.126405001 0.336712986 - vertex -1.88809204 0.217256993 0.442575008 - vertex -1.59023798 0.217256993 0.384977013 - endloop - endfacet - - facet normal 0.413534015 -0.110806011 0.903721035 - outer loop - vertex -1.71434402 0.00229800004 0.336712986 - vertex -1.88809204 0.217256993 0.442575008 - vertex -1.68109 0.126405001 0.336712986 - endloop - endfacet - - facet normal 0.30303511 -0.212556094 0.928972363 - outer loop - vertex -1.71434402 0.00229800004 0.336712986 - vertex -1.93741703 0.00229800004 0.409480006 - vertex -1.88809204 0.217256993 0.442575008 - endloop - endfacet - - facet normal -0.839146435 -0.156273901 0.520971715 - outer loop - vertex -1.16183996 0.410311013 0.442575008 - vertex -0.820776999 0.00229800004 0.869545996 - vertex -1.08585596 0.00229800004 0.442575008 - endloop - endfacet - - facet normal -0.844083071 -0.17527701 0.506756067 - outer loop - vertex -1.16183996 0.410311013 0.442575008 - vertex -0.905672014 0.411127001 0.869545996 - vertex -0.820776999 0.00229800004 0.869545996 - endloop - endfacet - - facet normal -0.610179067 -0.701910973 0.367426991 - outer loop - vertex -1.087376 0.569083989 0.869545996 - vertex -0.905672014 0.411127001 0.869545996 - vertex -1.16183996 0.410311013 0.442575008 - endloop - endfacet - - facet normal 0.237148076 -0.923342288 0.301993102 - outer loop - vertex -1.30081499 0.37461701 0.442575008 - vertex -1.087376 0.569083989 0.869545996 - vertex -1.16183996 0.410311013 0.442575008 - endloop - endfacet - - facet normal -0.22484003 -0.839457035 0.494731098 - outer loop - vertex -1.51577306 0.489080012 0.539102018 - vertex -1.087376 0.569083989 0.869545996 - vertex -1.30081499 0.37461701 0.442575008 - endloop - endfacet - - facet normal 0.136153921 -0.988691449 0.0628579706 - outer loop - vertex -1.51577306 0.489080012 0.539102018 - vertex -1.51577306 0.498724014 0.690787971 - vertex -1.087376 0.569083989 0.869545996 - endloop - endfacet - - facet normal 0.379295141 -0.923411429 0.0587080233 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.51577306 0.498724014 0.690787971 - vertex -1.51577306 0.489080012 0.539102018 - endloop - endfacet - - facet normal 0.40773806 -0.899263144 0.158352017 - outer loop - vertex -1.73073196 0.37461701 0.442575008 - vertex -1.82231998 0.370554 0.655328989 - vertex -1.51577306 0.489080012 0.539102018 - endloop - endfacet - - facet normal 0.678963184 -0.678963184 0.279317051 - outer loop - vertex -1.88809204 0.217256993 0.442575008 - vertex -1.82231998 0.370554 0.655328989 - vertex -1.73073196 0.37461701 0.442575008 - endloop - endfacet - - facet normal 0.852383077 -0.512161076 0.105518013 - outer loop - vertex -1.88809204 0.217256993 0.442575008 - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.82231998 0.370554 0.655328989 - endloop - endfacet - - facet normal 0.871156156 -0.475356132 0.122977026 - outer loop - vertex -2.02874589 0.00229800004 0.608051002 - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.88809204 0.217256993 0.442575008 - endloop - endfacet - - facet normal 0.876484156 -0.263182074 0.403126091 - outer loop - vertex -1.93741703 0.00229800004 0.409480006 - vertex -2.02874589 0.00229800004 0.608051002 - vertex -1.88809204 0.217256993 0.442575008 - endloop - endfacet - - facet normal -0.881306171 -0.176261023 -0.438442081 - outer loop - vertex -0.963268995 0.382218003 1.00323403 - vertex -0.887284994 0.00229800004 1.00323403 - vertex -0.820776999 0.00229800004 0.869545996 - endloop - endfacet - - facet normal -0.887549043 -0.184303015 -0.422242999 - outer loop - vertex -0.905672014 0.411127001 0.869545996 - vertex -0.963268995 0.382218003 1.00323403 - vertex -0.820776999 0.00229800004 0.869545996 - endloop - endfacet - - facet normal -0.599210024 -0.689293087 -0.407213032 - outer loop - vertex -1.087376 0.569083989 0.869545996 - vertex -0.963268995 0.382218003 1.00323403 - vertex -0.905672014 0.411127001 0.869545996 - endloop - endfacet - - facet normal -0.599209309 -0.689293444 -0.407213241 - outer loop - vertex -1.087376 0.569083989 0.869545996 - vertex -1.12063003 0.519014001 1.00323403 - vertex -0.963268995 0.382218003 1.00323403 - endloop - endfacet - - facet normal 0.249579027 -0.925593197 -0.284583032 - outer loop - vertex -1.51577306 0.432215005 0.939001024 - vertex -1.12063003 0.519014001 1.00323403 - vertex -1.087376 0.569083989 0.869545996 - endloop - endfacet - - facet normal 0.257640004 -0.933317065 -0.250081986 - outer loop - vertex -1.51577306 0.498724014 0.690787971 - vertex -1.51577306 0.432215005 0.939001024 - vertex -1.087376 0.569083989 0.869545996 - endloop - endfacet - - facet normal 0.397967875 -0.88613981 -0.23743996 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.51577306 0.432215005 0.939001024 - vertex -1.51577306 0.498724014 0.690787971 - endloop - endfacet - - facet normal 0.404057056 -0.881292224 -0.245075062 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.77611899 0.322712004 0.903541982 - vertex -1.51577306 0.432215005 0.939001024 - endloop - endfacet - - facet normal 0.894504726 -0.365525872 -0.25739491 - outer loop - vertex -2.02874589 0.00229800004 0.608051002 - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.95466805 0.150288999 0.655328989 - endloop - endfacet - - facet normal 0.875202715 -0.431018859 -0.219642922 - outer loop - vertex -2.02874589 0.00229800004 0.608051002 - vertex -1.94569099 0.00229800004 0.939001024 - vertex -1.89073491 0.131956995 0.903541982 - endloop - endfacet - - facet normal -0.472085088 -0.0944170132 -0.876482189 - outer loop - vertex -0.963268995 0.382218003 1.00323403 - vertex -1.06898999 0.00229800004 1.10110295 - vertex -0.887284994 0.00229800004 1.00323403 - endloop - endfacet - - facet normal -0.399085015 -0.123011015 -0.908625066 - outer loop - vertex -0.963268995 0.382218003 1.00323403 - vertex -1.10224402 0.110184997 1.10110295 - vertex -1.06898999 0.00229800004 1.10110295 - endloop - endfacet - - facet normal -0.362892926 -0.145723984 -0.92036581 - outer loop - vertex -1.21148205 0.382218003 1.10110295 - vertex -1.10224402 0.110184997 1.10110295 - vertex -0.963268995 0.382218003 1.00323403 - endloop - endfacet - - facet normal -0.337955117 -0.388762146 -0.857117355 - outer loop - vertex -1.12063003 0.519014001 1.00323403 - vertex -1.21148205 0.382218003 1.10110295 - vertex -0.963268995 0.382218003 1.00323403 - endloop - endfacet - - facet normal 0.260202944 -0.670137882 -0.695132792 - outer loop - vertex -1.51577306 0.432215005 0.939001024 - vertex -1.21148205 0.382218003 1.10110295 - vertex -1.12063003 0.519014001 1.00323403 - endloop - endfacet - - facet normal 0.25209403 -0.68426919 -0.68426919 - outer loop - vertex -1.51577306 0.432215005 0.939001024 - vertex -1.51577306 0.250510991 1.12070501 - vertex -1.21148205 0.382218003 1.10110295 - endloop - endfacet - - facet normal 0.186157033 -0.694746077 -0.694747031 - outer loop - vertex -1.63987899 0.217256993 1.12070501 - vertex -1.51577306 0.250510991 1.12070501 - vertex -1.51577306 0.432215005 0.939001024 - endloop - endfacet - - facet normal 0.380661011 -0.715228021 -0.586127996 - outer loop - vertex -1.77611899 0.322712004 0.903541982 - vertex -1.63987899 0.217256993 1.12070501 - vertex -1.51577306 0.432215005 0.939001024 - endloop - endfacet - - facet normal 0.673306763 -0.404560834 -0.618860781 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.63987899 0.217256993 1.12070501 - vertex -1.77611899 0.322712004 0.903541982 - endloop - endfacet - - facet normal 0.622429729 -0.622429729 -0.474512786 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.73073196 0.126405001 1.12070501 - vertex -1.63987899 0.217256993 1.12070501 - endloop - endfacet - - facet normal 0.784513175 -0.210212052 -0.583395123 - outer loop - vertex -1.76398599 0.00229800004 1.12070501 - vertex -1.73073196 0.126405001 1.12070501 - vertex -1.89073491 0.131956995 0.903541982 - endloop - endfacet - - facet normal 0.634200931 -0.442243934 -0.634199917 - outer loop - vertex -1.94569099 0.00229800004 0.939001024 - vertex -1.76398599 0.00229800004 1.12070501 - vertex -1.89073491 0.131956995 0.903541982 - endloop - endfacet - - facet normal -0.521937072 0.820092142 0.23458603 - outer loop - vertex -1.86046696 0.186704993 0.72092402 - vertex -1.861866 0.181822002 0.734879017 - vertex -1.90136802 0.159713998 0.72427702 - endloop - endfacet - - facet normal 0.561335981 0.0371459983 -0.826753974 - outer loop - vertex -1.86046696 0.186704993 0.72092402 - vertex -1.88625693 0.190698996 0.703593016 - vertex -1.95466805 0.150288999 0.655328989 - endloop - endfacet - - facet normal 0.511620045 -0.810681105 -0.284677029 - outer loop - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.90136802 0.159713998 0.72427702 - vertex -1.86046696 0.186704993 0.72092402 - endloop - endfacet - - facet normal 0.675249338 -0.414224237 -0.610292375 - outer loop - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.88625693 0.190698996 0.703593016 - vertex -1.862077 0.240274996 0.69669801 - endloop - endfacet - - facet normal 0.672121286 -0.413267165 -0.6143803 - outer loop - vertex -1.84992504 0.223467007 0.721297979 - vertex -1.862077 0.240274996 0.69669801 - vertex -1.88625693 0.190698996 0.703593016 - endloop - endfacet - - facet normal 0.536241055 -0.145309016 -0.831463099 - outer loop - vertex -1.88625693 0.190698996 0.703593016 - vertex -1.86046696 0.186704993 0.72092402 - vertex -1.84992504 0.223467007 0.721297979 - endloop - endfacet - - facet normal 0.895058095 -0.00553400069 -0.445915073 - outer loop - vertex -1.862077 0.240274996 0.69669801 - vertex -1.84992504 0.223467007 0.721297979 - vertex -1.83589005 0.272417009 0.748862982 - endloop - endfacet - - facet normal 0.914936006 -0.290188998 -0.280503988 - outer loop - vertex -1.83589005 0.272417009 0.748862982 - vertex -1.83185291 0.302246004 0.731172025 - vertex -1.862077 0.240274996 0.69669801 - endloop - endfacet - - facet normal 0.968834221 -0.246922046 -0.0197400041 - outer loop - vertex -1.82278597 0.320836991 0.786329985 - vertex -1.83589005 0.272417009 0.748862982 - vertex -1.82824898 0.299062014 0.790558994 - endloop - endfacet - - facet normal 0.977088094 -0.189592034 -0.0967150182 - outer loop - vertex -1.83589005 0.272417009 0.748862982 - vertex -1.82278597 0.320836991 0.786329985 - vertex -1.83185291 0.302246004 0.731172025 - endloop - endfacet - - facet normal 0.997900486 -0.059398029 0.0258140136 - outer loop - vertex -1.82883 0.30844301 0.834594011 - vertex -1.82824898 0.299062014 0.790558994 - vertex -1.82945108 0.294871002 0.827350974 - endloop - endfacet - - facet normal 0.970842361 -0.231529072 0.0621240176 - outer loop - vertex -1.82883 0.30844301 0.834594011 - vertex -1.82278597 0.320836991 0.786329985 - vertex -1.82824898 0.299062014 0.790558994 - endloop - endfacet - - facet normal 0.980895996 -0.124577008 0.149410993 - outer loop - vertex -1.82945108 0.294871002 0.827350974 - vertex -1.83534694 0.274305999 0.848914027 - vertex -1.82883 0.30844301 0.834594011 - endloop - endfacet - - facet normal 0.919196248 -0.0103330025 0.393664122 - outer loop - vertex -1.83534694 0.274305999 0.848914027 - vertex -1.84091997 0.283654988 0.862173021 - vertex -1.82883 0.30844301 0.834594011 - endloop - endfacet - - facet normal 0.793512285 -0.287576079 0.536319196 - outer loop - vertex -1.83534694 0.274305999 0.848914027 - vertex -1.859056 0.246472001 0.869068027 - vertex -1.84091997 0.283654988 0.862173021 - endloop - endfacet - - facet normal 0.804793894 -0.326704979 0.495550931 - outer loop - vertex -1.859056 0.246472001 0.869068027 - vertex -1.83534694 0.274305999 0.848914027 - vertex -1.84234202 0.249915004 0.844193995 - endloop - endfacet - - facet normal 0.715217113 -0.572144091 0.401392102 - outer loop - vertex -1.84234202 0.249915004 0.844193995 - vertex -1.87719107 0.209290996 0.848384023 - vertex -1.859056 0.246472001 0.869068027 - endloop - endfacet - - facet normal 0.653585851 -0.502279878 0.566162825 - outer loop - vertex -1.87719107 0.209290996 0.848384023 - vertex -1.84234202 0.249915004 0.844193995 - vertex -1.84963393 0.224481001 0.830048978 - endloop - endfacet - - facet normal 0.553774893 -0.8182289 0.154384971 - outer loop - vertex -1.87719107 0.209290996 0.848384023 - vertex -1.84963393 0.224481001 0.830048978 - vertex -1.851632 0.217520997 0.800320983 - endloop - endfacet - - facet normal 0.600953341 -0.777222455 0.18649511 - outer loop - vertex -1.851632 0.217520997 0.800320983 - vertex -1.88625693 0.190698996 0.800119996 - vertex -1.87719107 0.209290996 0.848384023 - endloop - endfacet - - facet normal 0.597519338 -0.772989392 0.213209108 - outer loop - vertex -1.88625693 0.190698996 0.800119996 - vertex -1.851632 0.217520997 0.800320983 - vertex -1.85507607 0.205509007 0.766424 - endloop - endfacet - - facet normal 0.664247036 -0.676876068 0.317198038 - outer loop - vertex -1.85507607 0.205509007 0.766424 - vertex -1.89834702 0.165911004 0.772539973 - vertex -1.88625693 0.190698996 0.800119996 - endloop - endfacet - - facet normal 0.657633066 -0.663550079 0.356679052 - outer loop - vertex -1.89834702 0.165911004 0.772539973 - vertex -1.85507607 0.205509007 0.766424 - vertex -1.861866 0.181822002 0.734879017 - endloop - endfacet - - facet normal 0.469525933 -0.87896502 0.0834619924 - outer loop - vertex -1.861866 0.181822002 0.734879017 - vertex -1.90136802 0.159713998 0.72427702 - vertex -1.89834702 0.165911004 0.772539973 - endloop - endfacet - - facet normal 0.373062909 -0.913278759 -0.163541958 - outer loop - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.90136802 0.159713998 0.72427702 - endloop - endfacet - - facet normal 0.998070359 -0.0116050038 -0.0609980263 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.89834702 0.165911004 0.772539973 - vertex -1.90136802 0.159713998 0.72427702 - endloop - endfacet - - facet normal 0.941413999 -0.30913201 -0.13482298 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.88625693 0.190698996 0.800119996 - vertex -1.89834702 0.165911004 0.772539973 - endloop - endfacet - - facet normal 0.967765391 -0.234683871 -0.0913969502 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.87719107 0.209290996 0.848384023 - vertex -1.88625693 0.190698996 0.800119996 - endloop - endfacet - - facet normal 0.919147134 -0.322406024 -0.22632502 - outer loop - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.859056 0.246472001 0.869068027 - vertex -1.87719107 0.209290996 0.848384023 - endloop - endfacet - - facet normal 0.629824102 -0.378435016 -0.678313076 - outer loop - vertex -1.859056 0.246472001 0.869068027 - vertex -1.89073491 0.131956995 0.903541982 - vertex -1.77611899 0.322712004 0.903541982 - endloop - endfacet - - facet normal 0.655910254 -0.434390157 -0.617322266 - outer loop - vertex -1.77611899 0.322712004 0.903541982 - vertex -1.84091997 0.283654988 0.862173021 - vertex -1.859056 0.246472001 0.869068027 - endloop - endfacet - - facet normal 0.635727286 -0.691575289 -0.342891186 - outer loop - vertex -1.77611899 0.322712004 0.903541982 - vertex -1.82883 0.30844301 0.834594011 - vertex -1.84091997 0.283654988 0.862173021 - endloop - endfacet - - facet normal 0.669934034 -0.402535051 -0.623822033 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.95466805 0.150288999 0.655328989 - vertex -1.862077 0.240274996 0.69669801 - endloop - endfacet - - facet normal 0.919927955 -0.341761976 -0.192174986 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.862077 0.240274996 0.69669801 - vertex -1.83185291 0.302246004 0.731172025 - endloop - endfacet - - facet normal 0.970269501 -0.227404878 -0.082849957 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.83185291 0.302246004 0.731172025 - vertex -1.82278597 0.320836991 0.786329985 - endloop - endfacet - - facet normal 0.549644947 -0.795333922 -0.255605966 - outer loop - vertex -1.82883 0.30844301 0.834594011 - vertex -1.77611899 0.322712004 0.903541982 - vertex -1.82231998 0.370554 0.655328989 - endloop - endfacet - - facet normal -0.685612202 -0.679787159 -0.260433048 - outer loop - vertex -1.82231998 0.370554 0.655328989 - vertex -1.82883 0.30844301 0.834594011 - vertex -1.82278597 0.320836991 0.786329985 - endloop - endfacet - - facet normal 0.0977169722 0.666159749 0.739379823 - outer loop - vertex 0.0900690034 -0.167228997 -0.494951993 - vertex -0.233263001 -0.437810004 -0.208434999 - vertex -0.584930003 -0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.169718057 0.339002132 0.925350368 - outer loop - vertex 0.460438013 -0.389086008 -0.345746011 - vertex 0.0900690034 -0.167228997 -0.494951993 - vertex 0.457304001 0 -0.488862008 - endloop - endfacet - - facet normal 0.0998720229 0.664684117 0.740419149 - outer loop - vertex 0.460438013 -0.389086008 -0.345746011 - vertex -0.233263001 -0.437810004 -0.208434999 - vertex 0.0900690034 -0.167228997 -0.494951993 - endloop - endfacet - - facet normal 0.220944032 0.28046003 0.934091032 - outer loop - vertex -0.610705018 0 -0.379406005 - vertex 0.0900690034 -0.167228997 -0.494951993 - vertex -0.584930003 -0.284505993 -0.300080001 - endloop - endfacet - - facet normal 0.220944032 -0.28046003 0.934091032 - outer loop - vertex 0.0900690034 0.167228997 -0.494951993 - vertex -0.610705018 0 -0.379406005 - vertex -0.584930003 0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.0165820085 0 0.999862492 - outer loop - vertex 0.0900690034 -0.167228997 -0.494951993 - vertex 0.0900690034 0.167228997 -0.494951993 - vertex 0.457304001 0 -0.488862008 - endloop - endfacet - - facet normal 0.162686959 0 0.986677706 - outer loop - vertex 0.0900690034 0.167228997 -0.494951993 - vertex 0.0900690034 -0.167228997 -0.494951993 - vertex -0.610705018 0 -0.379406005 - endloop - endfacet - - facet normal -0.190478116 0.247609138 0.94995153 - outer loop - vertex -1.14137506 -0.292008013 -0.409700006 - vertex -0.610705018 0 -0.379406005 - vertex -0.584930003 -0.284505993 -0.300080001 - endloop - endfacet - - facet normal 0.699706972 0 0.714430034 - outer loop - vertex -1.14137506 0.292008013 -0.409700006 - vertex -1.14137506 -0.292008013 -0.409700006 - vertex -1.41845703 0 -0.138327003 - endloop - endfacet - - facet normal -0.190478116 -0.247609138 0.94995153 - outer loop - vertex -0.610705018 0 -0.379406005 - vertex -1.14137506 0.292008013 -0.409700006 - vertex -0.584930003 0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.0569919795 0 0.998374581 - outer loop - vertex -1.14137506 0.292008013 -0.409700006 - vertex -0.610705018 0 -0.379406005 - vertex -1.14137506 -0.292008013 -0.409700006 - endloop - endfacet - - facet normal 0.802316129 -0.263622016 0.535530031 - outer loop - vertex -1.33845997 0.472478002 -0.0255929995 - vertex -1.14137506 0.292008013 -0.409700006 - vertex -1.41845703 0 -0.138327003 - endloop - endfacet - - facet normal -0.193044886 -0.149941906 0.969665408 - outer loop - vertex -1.14137506 0.292008013 -0.409700006 - vertex -0.903297007 0.764486015 -0.289241999 - vertex -0.584930003 0.284505993 -0.300080001 - endloop - endfacet - - facet normal 0.667306721 -0.481181771 0.568476737 - outer loop - vertex -0.903297007 0.764486015 -0.289241999 - vertex -1.14137506 0.292008013 -0.409700006 - vertex -1.33845997 0.472478002 -0.0255929995 - endloop - endfacet - - facet normal 0.0977169722 -0.666159749 0.739379823 - outer loop - vertex -0.233263001 0.437810004 -0.208434999 - vertex 0.0900690034 0.167228997 -0.494951993 - vertex -0.584930003 0.284505993 -0.300080001 - endloop - endfacet - - facet normal -0.169718057 -0.339002132 0.925350368 - outer loop - vertex 0.0900690034 0.167228997 -0.494951993 - vertex 0.460438013 0.389086008 -0.345746011 - vertex 0.457304001 0 -0.488862008 - endloop - endfacet - - facet normal 0.0998720229 -0.664684117 0.740419149 - outer loop - vertex 0.460438013 0.389086008 -0.345746011 - vertex 0.0900690034 0.167228997 -0.494951993 - vertex -0.233263001 0.437810004 -0.208434999 - endloop - endfacet - - facet normal -0.193044886 0.149941906 0.969665408 - outer loop - vertex -0.903297007 -0.764486015 -0.289241999 - vertex -1.14137506 -0.292008013 -0.409700006 - vertex -0.584930003 -0.284505993 -0.300080001 - endloop - endfacet - - facet normal 0.802316129 0.263622016 0.535530031 - outer loop - vertex -1.14137506 -0.292008013 -0.409700006 - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -1.41845703 0 -0.138327003 - endloop - endfacet - - facet normal 0.667307138 0.481182069 0.568476081 - outer loop - vertex -1.33845997 -0.472478002 -0.0255929995 - vertex -1.14137506 -0.292008013 -0.409700006 - vertex -0.903297007 -0.764486015 -0.289241999 - endloop - endfacet - - facet normal -0.188931033 0.0582350083 -0.980262101 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.10224402 -0.107427001 1.10110295 - vertex -1.06898999 0.00046000001 1.10110295 - endloop - endfacet - - facet normal -0.184715971 0.0741749927 -0.979988813 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.21148205 -0.379460007 1.10110295 - vertex -1.10224402 -0.107427001 1.10110295 - endloop - endfacet - - facet normal -0.0691840202 0.258199126 0.963611364 - outer loop - vertex -1.51577306 0.00046000001 0.194362 - vertex -1.39166701 -0.214498997 0.26087001 - vertex -1.51577306 -0.247752994 0.26087001 - endloop - endfacet - - facet normal 0.0497390032 0.258499026 -0.964730144 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.51577306 -0.247752994 1.12070501 - vertex -1.21148205 -0.379460007 1.10110295 - endloop - endfacet - - facet normal 0.86519593 0.129780978 0.484347939 - outer loop - vertex -1.51577306 0.00046000001 0.194362 - vertex -1.51577306 -0.247752994 0.26087001 - vertex -1.59023798 -0.214498997 0.384977013 - endloop - endfacet - - facet normal 0.0691840202 0.258199126 -0.963611364 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.63987899 -0.214498997 1.12070501 - vertex -1.51577306 -0.247752994 1.12070501 - endloop - endfacet - - facet normal 0.202385992 0.60955894 0.766471028 - outer loop - vertex -1.51577306 0.00046000001 0.194362 - vertex -1.59023798 -0.214498997 0.384977013 - vertex -1.68109 -0.123646997 0.336712986 - endloop - endfacet - - facet normal 0.189015046 0.189015046 -0.963611245 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.73073196 -0.123646997 1.12070501 - vertex -1.63987899 -0.214498997 1.12070501 - endloop - endfacet - - facet normal 0.57565999 0.154247016 0.803008974 - outer loop - vertex -1.51577306 0.00046000001 0.194362 - vertex -1.68109 -0.123646997 0.336712986 - vertex -1.71434402 0.00046000001 0.336712986 - endloop - endfacet - - facet normal 0.258199096 0.069185026 -0.963611245 - outer loop - vertex -1.51577306 0.00046000001 1.18721402 - vertex -1.76398599 0.00046000001 1.12070501 - vertex -1.73073196 -0.123646997 1.12070501 - endloop - endfacet - - facet normal 0.202413991 0.788102925 0.581310928 - outer loop - vertex -1.16183996 -0.407552987 0.442575008 - vertex -1.30081499 -0.371859998 0.442575008 - vertex -1.39166701 -0.214498997 0.26087001 - endloop - endfacet - - facet normal -0.0857829452 0.731517494 0.676404655 - outer loop - vertex -1.39166701 -0.214498997 0.26087001 - vertex -1.30081499 -0.371859998 0.442575008 - vertex -1.51577306 -0.486321986 0.539102018 - endloop - endfacet - - facet normal -0.199329078 0.743908286 0.637862265 - outer loop - vertex -1.39166701 -0.214498997 0.26087001 - vertex -1.51577306 -0.486321986 0.539102018 - vertex -1.51577306 -0.247752994 0.26087001 - endloop - endfacet - - facet normal 0.818344295 0.436300159 0.374105155 - outer loop - vertex -1.51577306 -0.247752994 0.26087001 - vertex -1.51577306 -0.486321986 0.539102018 - vertex -1.59023798 -0.214498997 0.384977013 - endloop - endfacet - - facet normal -0.151083976 0.455930918 0.877097785 - outer loop - vertex -1.51577306 -0.486321986 0.539102018 - vertex -1.73073196 -0.371859998 0.442575008 - vertex -1.59023798 -0.214498997 0.384977013 - endloop - endfacet - - facet normal 0.186527073 0.186527073 0.964580357 - outer loop - vertex -1.59023798 -0.214498997 0.384977013 - vertex -1.73073196 -0.371859998 0.442575008 - vertex -1.88809204 -0.214498997 0.442575008 - endloop - endfacet - - facet normal 0.154704019 0.579696059 0.800012052 - outer loop - vertex -1.59023798 -0.214498997 0.384977013 - vertex -1.88809204 -0.214498997 0.442575008 - vertex -1.68109 -0.123646997 0.336712986 - endloop - endfacet - - facet normal 0.413534015 0.110806011 0.903721035 - outer loop - vertex -1.68109 -0.123646997 0.336712986 - vertex -1.88809204 -0.214498997 0.442575008 - vertex -1.71434402 0.00046000001 0.336712986 - endloop - endfacet - - facet normal 0.30303511 0.212556094 0.928972363 - outer loop - vertex -1.88809204 -0.214498997 0.442575008 - vertex -1.93741703 0.00046000001 0.409480006 - vertex -1.71434402 0.00046000001 0.336712986 - endloop - endfacet - - facet normal -0.839146435 0.156273901 0.520971715 - outer loop - vertex -1.08585596 0.00046000001 0.442575008 - vertex -0.820776999 0.00046000001 0.869545996 - vertex -1.16183996 -0.407552987 0.442575008 - endloop - endfacet - - facet normal -0.844083071 0.17527701 0.506756067 - outer loop - vertex -0.820776999 0.00046000001 0.869545996 - vertex -0.905672014 -0.408369005 0.869545996 - vertex -1.16183996 -0.407552987 0.442575008 - endloop - endfacet - - facet normal -0.610179067 0.701910973 0.367426991 - outer loop - vertex -1.16183996 -0.407552987 0.442575008 - vertex -0.905672014 -0.408369005 0.869545996 - vertex -1.087376 -0.566326022 0.869545996 - endloop - endfacet - - facet normal 0.237148017 0.92334199 0.301994026 - outer loop - vertex -1.16183996 -0.407552987 0.442575008 - vertex -1.087376 -0.566326022 0.869545996 - vertex -1.30081499 -0.371859998 0.442575008 - endloop - endfacet - - facet normal -0.22484003 0.839457035 0.494731098 - outer loop - vertex -1.30081499 -0.371859998 0.442575008 - vertex -1.087376 -0.566326022 0.869545996 - vertex -1.51577306 -0.486321986 0.539102018 - endloop - endfacet - - facet normal 0.136153921 0.988691449 0.0628579706 - outer loop - vertex -1.087376 -0.566326022 0.869545996 - vertex -1.51577306 -0.495965987 0.690787971 - vertex -1.51577306 -0.486321986 0.539102018 - endloop - endfacet - - facet normal 0.379295141 0.923411429 0.0587080233 - outer loop - vertex -1.51577306 -0.486321986 0.539102018 - vertex -1.51577306 -0.495965987 0.690787971 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.40773806 0.899263144 0.158352017 - outer loop - vertex -1.51577306 -0.486321986 0.539102018 - vertex -1.82231998 -0.367796004 0.655328989 - vertex -1.73073196 -0.371859998 0.442575008 - endloop - endfacet - - facet normal 0.678963006 0.678963006 0.279318005 - outer loop - vertex -1.73073196 -0.371859998 0.442575008 - vertex -1.82231998 -0.367796004 0.655328989 - vertex -1.88809204 -0.214498997 0.442575008 - endloop - endfacet - - facet normal 0.852383077 0.512161076 0.105518013 - outer loop - vertex -1.82231998 -0.367796004 0.655328989 - vertex -1.95466805 -0.147531003 0.655328989 - vertex -1.88809204 -0.214498997 0.442575008 - endloop - endfacet - - facet normal 0.871156156 0.475356132 0.122977026 - outer loop - vertex -1.88809204 -0.214498997 0.442575008 - vertex -1.95466805 -0.147531003 0.655328989 - vertex -2.02874589 0.00046000001 0.608051002 - endloop - endfacet - - facet normal 0.876483917 0.263182968 0.403125972 - outer loop - vertex -1.88809204 -0.214498997 0.442575008 - vertex -2.02874589 0.00046000001 0.608051002 - vertex -1.93741703 0.00046000001 0.409480006 - endloop - endfacet - - facet normal -0.881306171 0.176261023 -0.438442081 - outer loop - vertex -0.820776999 0.00046000001 0.869545996 - vertex -0.887284994 0.00046000001 1.00323403 - vertex -0.963268995 -0.379460007 1.00323403 - endloop - endfacet - - facet normal -0.887549043 0.184303015 -0.422242999 - outer loop - vertex -0.820776999 0.00046000001 0.869545996 - vertex -0.963268995 -0.379460007 1.00323403 - vertex -0.905672014 -0.408369005 0.869545996 - endloop - endfacet - - facet normal -0.599210024 0.689293087 -0.407213032 - outer loop - vertex -0.905672014 -0.408369005 0.869545996 - vertex -0.963268995 -0.379460007 1.00323403 - vertex -1.087376 -0.566326022 0.869545996 - endloop - endfacet - - facet normal -0.59920913 0.689293206 -0.407214105 - outer loop - vertex -0.963268995 -0.379460007 1.00323403 - vertex -1.12063003 -0.516255975 1.00323403 - vertex -1.087376 -0.566326022 0.869545996 - endloop - endfacet - - facet normal 0.249578983 0.925593019 -0.284583956 - outer loop - vertex -1.087376 -0.566326022 0.869545996 - vertex -1.12063003 -0.516255975 1.00323403 - vertex -1.51577306 -0.429457009 0.939001024 - endloop - endfacet - - facet normal 0.257640928 0.933316827 -0.250081927 - outer loop - vertex -1.087376 -0.566326022 0.869545996 - vertex -1.51577306 -0.429457009 0.939001024 - vertex -1.51577306 -0.495965987 0.690787971 - endloop - endfacet - - facet normal 0.397967786 0.886139572 -0.237440884 - outer loop - vertex -1.51577306 -0.495965987 0.690787971 - vertex -1.51577306 -0.429457009 0.939001024 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.404057056 0.881292224 -0.245075062 - outer loop - vertex -1.51577306 -0.429457009 0.939001024 - vertex -1.77611899 -0.319954008 0.903541982 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.894504726 0.365525872 -0.25739491 - outer loop - vertex -1.95466805 -0.147531003 0.655328989 - vertex -1.89073491 -0.129198998 0.903541982 - vertex -2.02874589 0.00046000001 0.608051002 - endloop - endfacet - - facet normal 0.875202715 0.431018859 -0.219642922 - outer loop - vertex -1.89073491 -0.129198998 0.903541982 - vertex -1.94569099 0.00046000001 0.939001024 - vertex -2.02874589 0.00046000001 0.608051002 - endloop - endfacet - - facet normal -0.472085088 0.0944170132 -0.876482189 - outer loop - vertex -0.887284994 0.00046000001 1.00323403 - vertex -1.06898999 0.00046000001 1.10110295 - vertex -0.963268995 -0.379460007 1.00323403 - endloop - endfacet - - facet normal -0.399085015 0.123011015 -0.908625066 - outer loop - vertex -1.06898999 0.00046000001 1.10110295 - vertex -1.10224402 -0.107427001 1.10110295 - vertex -0.963268995 -0.379460007 1.00323403 - endloop - endfacet - - facet normal -0.362892926 0.145723984 -0.92036581 - outer loop - vertex -0.963268995 -0.379460007 1.00323403 - vertex -1.10224402 -0.107427001 1.10110295 - vertex -1.21148205 -0.379460007 1.10110295 - endloop - endfacet - - facet normal -0.337954879 0.388761878 -0.857117712 - outer loop - vertex -0.963268995 -0.379460007 1.00323403 - vertex -1.21148205 -0.379460007 1.10110295 - vertex -1.12063003 -0.516255975 1.00323403 - endloop - endfacet - - facet normal 0.260202944 0.670137882 -0.695132792 - outer loop - vertex -1.12063003 -0.516255975 1.00323403 - vertex -1.21148205 -0.379460007 1.10110295 - vertex -1.51577306 -0.429457009 0.939001024 - endloop - endfacet - - facet normal 0.25209403 0.68426919 -0.68426919 - outer loop - vertex -1.21148205 -0.379460007 1.10110295 - vertex -1.51577306 -0.247752994 1.12070501 - vertex -1.51577306 -0.429457009 0.939001024 - endloop - endfacet - - facet normal 0.186156049 0.694746196 -0.69474715 - outer loop - vertex -1.51577306 -0.429457009 0.939001024 - vertex -1.51577306 -0.247752994 1.12070501 - vertex -1.63987899 -0.214498997 1.12070501 - endloop - endfacet - - facet normal 0.380661011 0.715228021 -0.586127996 - outer loop - vertex -1.51577306 -0.429457009 0.939001024 - vertex -1.63987899 -0.214498997 1.12070501 - vertex -1.77611899 -0.319954008 0.903541982 - endloop - endfacet - - facet normal 0.673306763 0.404560834 -0.618860781 - outer loop - vertex -1.77611899 -0.319954008 0.903541982 - vertex -1.63987899 -0.214498997 1.12070501 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.622429729 0.622429729 -0.474512786 - outer loop - vertex -1.63987899 -0.214498997 1.12070501 - vertex -1.73073196 -0.123646997 1.12070501 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.784513354 0.210211098 -0.583395302 - outer loop - vertex -1.89073491 -0.129198998 0.903541982 - vertex -1.73073196 -0.123646997 1.12070501 - vertex -1.76398599 0.00046000001 1.12070501 - endloop - endfacet - - facet normal 0.634200931 0.442243934 -0.634199917 - outer loop - vertex -1.89073491 -0.129198998 0.903541982 - vertex -1.76398599 0.00046000001 1.12070501 - vertex -1.94569099 0.00046000001 0.939001024 - endloop - endfacet - - facet normal -0.521937132 -0.820093155 0.234582052 - outer loop - vertex -1.90136802 -0.156956002 0.72427702 - vertex -1.861866 -0.179064006 0.734879017 - vertex -1.86046696 -0.183946997 0.72092402 - endloop - endfacet - - facet normal 0.561335981 -0.0371459983 -0.826753974 - outer loop - vertex -1.95466805 -0.147531003 0.655328989 - vertex -1.88625693 -0.187941998 0.703593016 - vertex -1.86046696 -0.183946997 0.72092402 - endloop - endfacet - - facet normal 0.511620224 0.810681403 -0.284676135 - outer loop - vertex -1.86046696 -0.183946997 0.72092402 - vertex -1.90136802 -0.156956002 0.72427702 - vertex -1.95466805 -0.147531003 0.655328989 - endloop - endfacet - - facet normal 0.67524904 0.414225072 -0.610292137 - outer loop - vertex -1.862077 -0.237517998 0.69669801 - vertex -1.88625693 -0.187941998 0.703593016 - vertex -1.95466805 -0.147531003 0.655328989 - endloop - endfacet - - facet normal 0.672120929 0.413266957 -0.614380956 - outer loop - vertex -1.88625693 -0.187941998 0.703593016 - vertex -1.862077 -0.237517998 0.69669801 - vertex -1.84992504 -0.220708996 0.721297979 - endloop - endfacet - - facet normal 0.536240935 0.14531 -0.831462979 - outer loop - vertex -1.84992504 -0.220708996 0.721297979 - vertex -1.86046696 -0.183946997 0.72092402 - vertex -1.88625693 -0.187941998 0.703593016 - endloop - endfacet - - facet normal 0.895058095 0.00553400069 -0.445915073 - outer loop - vertex -1.83589005 -0.269659013 0.748862982 - vertex -1.84992504 -0.220708996 0.721297979 - vertex -1.862077 -0.237517998 0.69669801 - endloop - endfacet - - facet normal 0.914935708 0.290189922 -0.280503899 - outer loop - vertex -1.862077 -0.237517998 0.69669801 - vertex -1.83185291 -0.299488008 0.731172025 - vertex -1.83589005 -0.269659013 0.748862982 - endloop - endfacet - - facet normal 0.968834102 0.246923044 -0.019739002 - outer loop - vertex -1.82824898 -0.296305001 0.790558994 - vertex -1.83589005 -0.269659013 0.748862982 - vertex -1.82278597 -0.318078995 0.786329985 - endloop - endfacet - - facet normal 0.977088094 0.189592034 -0.0967150182 - outer loop - vertex -1.83185291 -0.299488008 0.731172025 - vertex -1.82278597 -0.318078995 0.786329985 - vertex -1.83589005 -0.269659013 0.748862982 - endloop - endfacet - - facet normal 0.997900426 0.0593979657 0.0258139856 - outer loop - vertex -1.82945108 -0.292113006 0.827350974 - vertex -1.82824898 -0.296305001 0.790558994 - vertex -1.82883 -0.305685014 0.834594011 - endloop - endfacet - - facet normal 0.970842183 0.231530026 0.0621240065 - outer loop - vertex -1.82824898 -0.296305001 0.790558994 - vertex -1.82278597 -0.318078995 0.786329985 - vertex -1.82883 -0.305685014 0.834594011 - endloop - endfacet - - facet normal 0.980895877 0.124576986 0.149411991 - outer loop - vertex -1.82883 -0.305685014 0.834594011 - vertex -1.83534694 -0.271548003 0.848914027 - vertex -1.82945108 -0.292113006 0.827350974 - endloop - endfacet - - facet normal 0.919196248 0.0103330025 0.393664122 - outer loop - vertex -1.82883 -0.305685014 0.834594011 - vertex -1.84091997 -0.280896991 0.862173021 - vertex -1.83534694 -0.271548003 0.848914027 - endloop - endfacet - - facet normal 0.793512464 0.287575155 0.536319315 - outer loop - vertex -1.84091997 -0.280896991 0.862173021 - vertex -1.859056 -0.243714005 0.869068027 - vertex -1.83534694 -0.271548003 0.848914027 - endloop - endfacet - - facet normal 0.804794014 0.326705992 0.495550007 - outer loop - vertex -1.84234202 -0.247156993 0.844193995 - vertex -1.83534694 -0.271548003 0.848914027 - vertex -1.859056 -0.243714005 0.869068027 - endloop - endfacet - - facet normal 0.715218186 0.572144151 0.401390105 - outer loop - vertex -1.859056 -0.243714005 0.869068027 - vertex -1.87719107 -0.206533 0.848384023 - vertex -1.84234202 -0.247156993 0.844193995 - endloop - endfacet - - facet normal 0.653584957 0.502278864 0.566164911 - outer loop - vertex -1.84963393 -0.221723005 0.830048978 - vertex -1.84234202 -0.247156993 0.844193995 - vertex -1.87719107 -0.206533 0.848384023 - endloop - endfacet - - facet normal 0.55377394 0.818229973 0.154382989 - outer loop - vertex -1.851632 -0.214763001 0.800320983 - vertex -1.84963393 -0.221723005 0.830048978 - vertex -1.87719107 -0.206533 0.848384023 - endloop - endfacet - - facet normal 0.600952983 0.777222991 0.186493993 - outer loop - vertex -1.87719107 -0.206533 0.848384023 - vertex -1.88625693 -0.187941998 0.800119996 - vertex -1.851632 -0.214763001 0.800320983 - endloop - endfacet - - facet normal 0.597518981 0.772989929 0.21320799 - outer loop - vertex -1.85507607 -0.202750996 0.766424 - vertex -1.851632 -0.214763001 0.800320983 - vertex -1.88625693 -0.187941998 0.800119996 - endloop - endfacet - - facet normal 0.664247036 0.676876068 0.317198038 - outer loop - vertex -1.88625693 -0.187941998 0.800119996 - vertex -1.89834702 -0.163152993 0.772539973 - vertex -1.85507607 -0.202750996 0.766424 - endloop - endfacet - - facet normal 0.657633364 0.663550377 0.356678218 - outer loop - vertex -1.861866 -0.179064006 0.734879017 - vertex -1.85507607 -0.202750996 0.766424 - vertex -1.89834702 -0.163152993 0.772539973 - endloop - endfacet - - facet normal 0.469525933 0.87896502 0.0834619924 - outer loop - vertex -1.89834702 -0.163152993 0.772539973 - vertex -1.90136802 -0.156956002 0.72427702 - vertex -1.861866 -0.179064006 0.734879017 - endloop - endfacet - - facet normal 0.373062909 0.913278759 -0.163541958 - outer loop - vertex -1.90136802 -0.156956002 0.72427702 - vertex -1.89073491 -0.129198998 0.903541982 - vertex -1.95466805 -0.147531003 0.655328989 - endloop - endfacet - - facet normal 0.998070359 0.0116050038 -0.0609980263 - outer loop - vertex -1.90136802 -0.156956002 0.72427702 - vertex -1.89834702 -0.163152993 0.772539973 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.941414237 0.309131056 -0.134823024 - outer loop - vertex -1.89834702 -0.163152993 0.772539973 - vertex -1.88625693 -0.187941998 0.800119996 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.967765391 0.234684095 -0.0913970396 - outer loop - vertex -1.88625693 -0.187941998 0.800119996 - vertex -1.87719107 -0.206533 0.848384023 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.919146776 0.322406918 -0.226324946 - outer loop - vertex -1.87719107 -0.206533 0.848384023 - vertex -1.859056 -0.243714005 0.869068027 - vertex -1.89073491 -0.129198998 0.903541982 - endloop - endfacet - - facet normal 0.629824638 0.378434747 -0.6783126 - outer loop - vertex -1.77611899 -0.319954008 0.903541982 - vertex -1.89073491 -0.129198998 0.903541982 - vertex -1.859056 -0.243714005 0.869068027 - endloop - endfacet - - facet normal 0.655910134 0.434389085 -0.617323101 - outer loop - vertex -1.859056 -0.243714005 0.869068027 - vertex -1.84091997 -0.280896991 0.862173021 - vertex -1.77611899 -0.319954008 0.903541982 - endloop - endfacet - - facet normal 0.635726869 0.691575825 -0.342890948 - outer loop - vertex -1.84091997 -0.280896991 0.862173021 - vertex -1.82883 -0.305685014 0.834594011 - vertex -1.77611899 -0.319954008 0.903541982 - endloop - endfacet - - facet normal 0.669934034 0.402535051 -0.623822033 - outer loop - vertex -1.862077 -0.237517998 0.69669801 - vertex -1.95466805 -0.147531003 0.655328989 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.919927955 0.341761976 -0.192174986 - outer loop - vertex -1.83185291 -0.299488008 0.731172025 - vertex -1.862077 -0.237517998 0.69669801 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.970269859 0.227403969 -0.0828489959 - outer loop - vertex -1.82278597 -0.318078995 0.786329985 - vertex -1.83185291 -0.299488008 0.731172025 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0.549644947 0.795333922 -0.255605966 - outer loop - vertex -1.82231998 -0.367796004 0.655328989 - vertex -1.77611899 -0.319954008 0.903541982 - vertex -1.82883 -0.305685014 0.834594011 - endloop - endfacet - - facet normal -0.685613155 0.679786205 -0.260433048 - outer loop - vertex -1.82278597 -0.318078995 0.786329985 - vertex -1.82883 -0.305685014 0.834594011 - vertex -1.82231998 -0.367796004 0.655328989 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.891945779 -0.305186927 -0.333606929 - outer loop - vertex -1.81837392 -0.186278999 0.356357992 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.81634998 -0.275851995 0.432888001 - endloop - endfacet - - facet normal -0.885285795 0.462163895 0.0517069884 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -1.92074704 -0.268263996 0.245554 - vertex -1.95693707 -0.340858012 0.274801999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -1.95693707 -0.340858012 0.274801999 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.782590985 0.524955928 0.334623009 - outer loop - vertex -1.92074704 -0.268263996 0.245554 - vertex -1.81837392 -0.186278999 0.356357992 - vertex -1.95693707 -0.340858012 0.274801999 - endloop - endfacet - - facet normal -0.758138955 0.413597971 0.504144967 - outer loop - vertex -1.81837392 -0.186278999 0.356357992 - vertex -1.81634998 -0.275851995 0.432888001 - vertex -1.95693707 -0.340858012 0.274801999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.89194268 -0.305170923 -0.333629906 - outer loop - vertex -1.81634998 -0.275851995 0.432888001 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.86227798 -0.282516986 0.561774015 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -1.95693707 -0.340858012 0.274801999 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.239093035 0.967433095 -0.0831130072 - outer loop - vertex -1.95693707 -0.340858012 0.274801999 - vertex -2.051718 -0.363382012 0.285284013 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.347357035 0.934693158 -0.0754440054 - outer loop - vertex -1.95693707 -0.340858012 0.274801999 - vertex -1.81634998 -0.275851995 0.432888001 - vertex -1.86227798 -0.282516986 0.561774015 - endloop - endfacet - - facet normal -0.241774037 0.963362098 -0.116099015 - outer loop - vertex -1.95693707 -0.340858012 0.274801999 - vertex -1.86227798 -0.282516986 0.561774015 - vertex -2.051718 -0.363382012 0.285284013 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.89195025 -0.305165082 -0.333615094 - outer loop - vertex -1.86227798 -0.282516986 0.561774015 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.92157102 -0.201254994 0.645965993 - endloop - endfacet - - facet normal 0.485254169 0.872347355 -0.059485022 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.051718 -0.363382012 0.285284013 - vertex -2.13371491 -0.318872988 0.269109011 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.13371491 -0.318872988 0.269109011 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal 0.482345134 0.694665194 -0.533651114 - outer loop - vertex -2.051718 -0.363382012 0.285284013 - vertex -1.86227798 -0.282516986 0.561774015 - vertex -2.13371491 -0.318872988 0.269109011 - endloop - endfacet - - facet normal 0.403897047 0.78366518 -0.47194913 - outer loop - vertex -1.86227798 -0.282516986 0.561774015 - vertex -1.92157102 -0.201254994 0.645965993 - vertex -2.13371491 -0.318872988 0.269109011 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.891946554 -0.305174887 -0.333615839 - outer loop - vertex -1.92157102 -0.201254994 0.645965993 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.94958198 -0.0932570025 0.622065008 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.13371491 -0.318872988 0.269109011 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal 0.98234576 0.14196597 0.121829979 - outer loop - vertex -2.13371491 -0.318872988 0.269109011 - vertex -2.1411891 -0.240848005 0.238456994 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal 0.851677418 0.107381061 -0.512947261 - outer loop - vertex -2.13371491 -0.318872988 0.269109011 - vertex -1.92157102 -0.201254994 0.645965993 - vertex -1.94958198 -0.0932570025 0.622065008 - endloop - endfacet - - facet normal 0.903621852 -0.0788339823 -0.421013921 - outer loop - vertex -2.13371491 -0.318872988 0.269109011 - vertex -1.94958198 -0.0932570025 0.622065008 - vertex -2.1411891 -0.240848005 0.238456994 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.89194572 -0.305181921 -0.333611906 - outer loop - vertex -1.94958198 -0.0932570025 0.622065008 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.92521799 -0.0398489982 0.508068025 - endloop - endfacet - - facet normal 0.618494272 -0.724668384 0.303843141 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.1411891 -0.240848005 0.238456994 - vertex -2.0685091 -0.188061997 0.216406003 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.0685091 -0.188061997 0.216406003 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal 0.590630949 -0.806794941 0.0153989978 - outer loop - vertex -2.1411891 -0.240848005 0.238456994 - vertex -1.94958198 -0.0932570025 0.622065008 - vertex -2.0685091 -0.188061997 0.216406003 - endloop - endfacet - - facet normal 0.806724012 -0.582334995 -0.100410998 - outer loop - vertex -1.94958198 -0.0932570025 0.622065008 - vertex -1.92521799 -0.0398489982 0.508068025 - vertex -2.0685091 -0.188061997 0.216406003 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.891949534 -0.305183858 -0.333599836 - outer loop - vertex -1.92521799 -0.0398489982 0.508068025 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.86682701 -0.0812470019 0.389818996 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.0685091 -0.188061997 0.216406003 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.126801014 -0.93091315 0.342523098 - outer loop - vertex -2.0685091 -0.188061997 0.216406003 - vertex -1.970402 -0.200262994 0.219567001 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal 0.145876989 -0.909062028 0.390289962 - outer loop - vertex -2.0685091 -0.188061997 0.216406003 - vertex -1.92521799 -0.0398489982 0.508068025 - vertex -1.86682701 -0.0812470019 0.389818996 - endloop - endfacet - - facet normal -0.116740949 -0.779241621 0.615754724 - outer loop - vertex -2.0685091 -0.188061997 0.216406003 - vertex -1.86682701 -0.0812470019 0.389818996 - vertex -1.970402 -0.200262994 0.219567001 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.891944349 -0.305192113 -0.333606124 - outer loop - vertex -1.86682701 -0.0812470019 0.389818996 - vertex -1.88002801 -0.165750995 0.502418995 - vertex -1.81837392 -0.186278999 0.356357992 - endloop - endfacet - - facet normal -0.824144065 -0.500415027 0.265276015 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -1.970402 -0.200262994 0.219567001 - vertex -1.92074704 -0.268263996 0.245554 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.03665495 -0.418327987 -0.397619992 - vertex -1.92074704 -0.268263996 0.245554 - vertex -2.03665495 -0.418327987 -0.397619992 - endloop - endfacet - - facet normal -0.71909833 -0.282447189 0.634918332 - outer loop - vertex -1.970402 -0.200262994 0.219567001 - vertex -1.86682701 -0.0812470019 0.389818996 - vertex -1.92074704 -0.268263996 0.245554 - endloop - endfacet - - facet normal -0.460383147 -0.455179155 0.762141228 - outer loop - vertex -1.86682701 -0.0812470019 0.389818996 - vertex -1.81837392 -0.186278999 0.356357992 - vertex -1.92074704 -0.268263996 0.245554 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417207867 -0.680008829 -0.602930844 - outer loop - vertex -1.69004607 -0.233094007 0.600108027 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.57823491 -0.235411003 0.525350988 - endloop - endfacet - - facet normal 0.39095211 -0.768585265 0.506392181 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.75114 -0.435550988 0.437038004 - vertex -1.67776895 -0.439565986 0.37429899 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.67776895 -0.439565986 0.37429899 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal 0.482775718 -0.633069634 0.605103672 - outer loop - vertex -1.75114 -0.435550988 0.437038004 - vertex -1.69004607 -0.233094007 0.600108027 - vertex -1.67776895 -0.439565986 0.37429899 - endloop - endfacet - - facet normal 0.40646106 -0.663174093 0.628482044 - outer loop - vertex -1.69004607 -0.233094007 0.600108027 - vertex -1.57823491 -0.235411003 0.525350988 - vertex -1.67776895 -0.439565986 0.37429899 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417207867 -0.680008829 -0.602930844 - outer loop - vertex -1.57823491 -0.235411003 0.525350988 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.45939696 -0.306618005 0.523428977 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.67776895 -0.439565986 0.37429899 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.141780034 -0.442905128 0.885287166 - outer loop - vertex -1.67776895 -0.439565986 0.37429899 - vertex -1.61079192 -0.497384012 0.35609901 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.275092959 -0.481556952 0.832121909 - outer loop - vertex -1.67776895 -0.439565986 0.37429899 - vertex -1.57823491 -0.235411003 0.525350988 - vertex -1.45939696 -0.306618005 0.523428977 - endloop - endfacet - - facet normal -0.234952107 -0.528877199 0.815528333 - outer loop - vertex -1.67776895 -0.439565986 0.37429899 - vertex -1.45939696 -0.306618005 0.523428977 - vertex -1.61079192 -0.497384012 0.35609901 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417209029 -0.680007041 -0.602932036 - outer loop - vertex -1.45939696 -0.306618005 0.523428977 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.42301798 -0.393096 0.595789015 - endloop - endfacet - - facet normal -0.577504694 0.348285824 0.738366604 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.61079192 -0.497384012 0.35609901 - vertex -1.60065103 -0.565468013 0.396145999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.60065103 -0.565468013 0.396145999 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.825805068 0.189439997 0.531185985 - outer loop - vertex -1.61079192 -0.497384012 0.35609901 - vertex -1.45939696 -0.306618005 0.523428977 - vertex -1.60065103 -0.565468013 0.396145999 - endloop - endfacet - - facet normal -0.799487293 0.150301054 0.581575215 - outer loop - vertex -1.45939696 -0.306618005 0.523428977 - vertex -1.42301798 -0.393096 0.595789015 - vertex -1.60065103 -0.565468013 0.396145999 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417208076 -0.680003166 -0.602937102 - outer loop - vertex -1.42301798 -0.393096 0.595789015 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.49649501 -0.429726005 0.687943995 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.60065103 -0.565468013 0.396145999 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.432327896 0.901612759 0.0136719961 - outer loop - vertex -1.60065103 -0.565468013 0.396145999 - vertex -1.65497303 -0.592549026 0.464280993 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.591237903 0.791075826 -0.156960949 - outer loop - vertex -1.60065103 -0.565468013 0.396145999 - vertex -1.42301798 -0.393096 0.595789015 - vertex -1.49649501 -0.429726005 0.687943995 - endloop - endfacet - - facet normal -0.591241062 0.791074038 -0.156958029 - outer loop - vertex -1.60065103 -0.565468013 0.396145999 - vertex -1.49649501 -0.429726005 0.687943995 - vertex -1.65497303 -0.592549026 0.464280993 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417216957 -0.680004954 -0.602928936 - outer loop - vertex -1.49649501 -0.429726005 0.687943995 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.62449408 -0.388922006 0.730498016 - endloop - endfacet - - facet normal 0.0537480377 0.836287558 -0.545650363 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.65497303 -0.592549026 0.464280993 - vertex -1.73286009 -0.558236003 0.50919801 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.73286009 -0.558236003 0.50919801 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal 0.011833 0.804398 -0.593973041 - outer loop - vertex -1.65497303 -0.592549026 0.464280993 - vertex -1.49649501 -0.429726005 0.687943995 - vertex -1.73286009 -0.558236003 0.50919801 - endloop - endfacet - - facet normal 0.043387007 0.783097148 -0.620384037 - outer loop - vertex -1.49649501 -0.429726005 0.687943995 - vertex -1.62449408 -0.388922006 0.730498016 - vertex -1.73286009 -0.558236003 0.50919801 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417210042 -0.680010021 -0.602928042 - outer loop - vertex -1.62449408 -0.388922006 0.730498016 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.71063101 -0.301414013 0.691406012 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.73286009 -0.558236003 0.50919801 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal 0.644526064 0.270723015 -0.715049088 - outer loop - vertex -1.73286009 -0.558236003 0.50919801 - vertex -1.77565801 -0.488364011 0.497074008 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal 0.676753223 0.386138141 -0.626819253 - outer loop - vertex -1.73286009 -0.558236003 0.50919801 - vertex -1.62449408 -0.388922006 0.730498016 - vertex -1.71063101 -0.301414013 0.691406012 - endloop - endfacet - - facet normal 0.734698236 0.349097162 -0.581678212 - outer loop - vertex -1.73286009 -0.558236003 0.50919801 - vertex -1.71063101 -0.301414013 0.691406012 - vertex -1.77565801 -0.488364011 0.497074008 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal -0.417209774 -0.680009604 -0.602928638 - outer loop - vertex -1.71063101 -0.301414013 0.691406012 - vertex -1.56890297 -0.326896995 0.622075021 - vertex -1.69004607 -0.233094007 0.600108027 - endloop - endfacet - - facet normal 0.811764777 -0.561054826 -0.162034959 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.77565801 -0.488364011 0.497074008 - vertex -1.75114 -0.435550988 0.437038004 - endloop - endfacet - - facet normal 0 0 0 - outer loop - vertex -2.04218507 -0.77343601 0.148902997 - vertex -1.75114 -0.435550988 0.437038004 - vertex -2.04218507 -0.77343601 0.148902997 - endloop - endfacet - - facet normal 0.926234186 -0.373678088 0.0495470129 - outer loop - vertex -1.77565801 -0.488364011 0.497074008 - vertex -1.71063101 -0.301414013 0.691406012 - vertex -1.75114 -0.435550988 0.437038004 - endloop - endfacet - - facet normal 0.957405746 -0.28874594 -0.000203999953 - outer loop - vertex -1.71063101 -0.301414013 0.691406012 - vertex -1.69004607 -0.233094007 0.600108027 - vertex -1.75114 -0.435550988 0.437038004 - endloop - endfacet - - facet normal -0.416388899 -0.719635844 -0.55564785 - outer loop - vertex -1.74193907 0.30865401 0.859300017 - vertex -1.71201098 0.319709986 0.822552979 - vertex -1.75035691 0.337029994 0.828857005 - endloop - endfacet - - facet normal 0.0543019809 -0.722881734 -0.688834786 - outer loop - vertex -1.79036307 0.316971004 0.846754014 - vertex -1.74193907 0.30865401 0.859300017 - vertex -1.75035691 0.337029994 0.828857005 - endloop - endfacet - - facet normal 0.418186873 -0.411096871 -0.810011804 - outer loop - vertex -1.78778303 0.271717012 0.87105298 - vertex -1.79036307 0.316971004 0.846754014 - vertex -1.82835197 0.274188995 0.848854005 - endloop - endfacet - - facet normal 0.147420973 -0.461364925 -0.874876797 - outer loop - vertex -1.78778303 0.271717012 0.87105298 - vertex -1.74193907 0.30865401 0.859300017 - vertex -1.79036307 0.316971004 0.846754014 - endloop - endfacet - - facet normal 0.471917987 -0.110359997 -0.874708056 - outer loop - vertex -1.83203197 0.223009005 0.853326023 - vertex -1.78778303 0.271717012 0.87105298 - vertex -1.82835197 0.274188995 0.848854005 - endloop - endfacet - - facet normal 0.488865733 0.668644667 -0.560289621 - outer loop - vertex -1.85778403 0.181133002 0.812886 - vertex -1.82527602 0.146935999 0.800439 - vertex -1.82124805 0.177171007 0.840036988 - endloop - endfacet - - facet normal 0.901277065 0.41694206 -0.117724016 - outer loop - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.85778403 0.181133002 0.812886 - vertex -1.87216401 0.202947006 0.780054986 - endloop - endfacet - - facet normal 0.416387886 0.908436775 0.0369279943 - outer loop - vertex -1.82527602 0.146935999 0.800439 - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.81685805 0.144767001 0.758879006 - endloop - endfacet - - facet normal 0.654929042 0.713351011 -0.249396011 - outer loop - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.82527602 0.146935999 0.800439 - vertex -1.85778403 0.181133002 0.812886 - endloop - endfacet - - facet normal 0.901276946 0.243723989 0.358187973 - outer loop - vertex -1.85778403 0.207340002 0.740882993 - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.87216401 0.202947006 0.780054986 - endloop - endfacet - - facet normal 0.488877177 0.152067065 0.858996332 - outer loop - vertex -1.82527602 0.173142999 0.72843498 - vertex -1.85778403 0.207340002 0.740882993 - vertex -1.82124805 0.221757993 0.717536986 - endloop - endfacet - - facet normal 0.416390866 0.719640791 0.555639863 - outer loop - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.82527602 0.173142999 0.72843498 - vertex -1.81685805 0.144767001 0.758879006 - endloop - endfacet - - facet normal 0.654934824 0.386147916 0.649576843 - outer loop - vertex -1.82527602 0.173142999 0.72843498 - vertex -1.85520399 0.162085995 0.765182972 - vertex -1.85778403 0.207340002 0.740882993 - endloop - endfacet - - facet normal 0.289381891 -0.326072842 0.899963617 - outer loop - vertex -1.83203197 0.265412986 0.736820996 - vertex -1.78360796 0.267105997 0.721863985 - vertex -1.82124805 0.221757993 0.717536986 - endloop - endfacet - - facet normal 0.471929044 -0.646786034 0.599125087 - outer loop - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.83203197 0.265412986 0.736820996 - vertex -1.82835197 0.301744998 0.77314502 - endloop - endfacet - - facet normal 0.00501300022 -0.570511997 0.821273983 - outer loop - vertex -1.78360796 0.267105997 0.721863985 - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.74596691 0.304625988 0.747698009 - endloop - endfacet - - facet normal 0.266493112 -0.534111202 0.802313328 - outer loop - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.78360796 0.267105997 0.721863985 - vertex -1.83203197 0.265412986 0.736820996 - endloop - endfacet - - facet normal 0.418194056 -0.835585117 0.356246054 - outer loop - vertex -1.79036307 0.333168 0.802253008 - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.82835197 0.301744998 0.77314502 - endloop - endfacet - - facet normal 0.0543040037 -0.996534169 0.0630150065 - outer loop - vertex -1.74193907 0.33486101 0.787295997 - vertex -1.79036307 0.333168 0.802253008 - vertex -1.75035691 0.337029994 0.828857005 - endloop - endfacet - - facet normal -0.0790780187 -0.788413107 0.610042095 - outer loop - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.74193907 0.33486101 0.787295997 - vertex -1.74596691 0.304625988 0.747698009 - endloop - endfacet - - facet normal 0.147421986 -0.915789962 0.37362498 - outer loop - vertex -1.74193907 0.33486101 0.787295997 - vertex -1.78778303 0.314121008 0.75454998 - vertex -1.79036307 0.333168 0.802253008 - endloop - endfacet - - facet normal -0.416385919 -0.908437848 -0.036924988 - outer loop - vertex -1.71201098 0.319709986 0.822552979 - vertex -1.74193907 0.33486101 0.787295997 - vertex -1.75035691 0.337029994 0.828857005 - endloop - endfacet - - facet normal 0.629848003 -0.584398985 -0.511633992 - outer loop - vertex -1.79036307 0.316971004 0.846754014 - vertex -1.83620691 0.296231002 0.814006984 - vertex -1.82835197 0.274188995 0.848854005 - endloop - endfacet - - facet normal 0.303186983 -0.895461917 -0.325922996 - outer loop - vertex -1.79036307 0.333168 0.802253008 - vertex -1.79036307 0.316971004 0.846754014 - vertex -1.75035691 0.337029994 0.828857005 - endloop - endfacet - - facet normal 0.629847765 -0.77654773 0.0162899923 - outer loop - vertex -1.83620691 0.296231002 0.814006984 - vertex -1.79036307 0.333168 0.802253008 - vertex -1.82835197 0.301744998 0.77314502 - endloop - endfacet - - facet normal 0.556288183 -0.780874252 -0.284216076 - outer loop - vertex -1.79036307 0.333168 0.802253008 - vertex -1.83620691 0.296231002 0.814006984 - vertex -1.79036307 0.316971004 0.846754014 - endloop - endfacet - - facet normal 0.813501 -0.390870959 -0.430622935 - outer loop - vertex -1.83620691 0.296231002 0.814006984 - vertex -1.86195993 0.238159001 0.818068981 - vertex -1.82835197 0.274188995 0.848854005 - endloop - endfacet - - facet normal 0.813501239 -0.576223135 0.0786300153 - outer loop - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.83620691 0.296231002 0.814006984 - vertex -1.82835197 0.301744998 0.77314502 - endloop - endfacet - - facet normal 0.976355553 -0.203133896 -0.0739349648 - outer loop - vertex -1.86195993 0.238159001 0.818068981 - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.87216401 0.202947006 0.780054986 - endloop - endfacet - - facet normal 0.900026679 -0.409550846 -0.14906396 - outer loop - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.86195993 0.238159001 0.818068981 - vertex -1.83620691 0.296231002 0.814006984 - endloop - endfacet - - facet normal 0.733524799 -0.111328974 -0.670482814 - outer loop - vertex -1.86195993 0.238159001 0.818068981 - vertex -1.83203197 0.223009005 0.853326023 - vertex -1.82835197 0.274188995 0.848854005 - endloop - endfacet - - facet normal 0.934058905 0.0995580032 -0.342960984 - outer loop - vertex -1.85778403 0.181133002 0.812886 - vertex -1.86195993 0.238159001 0.818068981 - vertex -1.87216401 0.202947006 0.780054986 - endloop - endfacet - - facet normal 0.582925737 0.34976086 -0.733392715 - outer loop - vertex -1.83203197 0.223009005 0.853326023 - vertex -1.85778403 0.181133002 0.812886 - vertex -1.82124805 0.177171007 0.840036988 - endloop - endfacet - - facet normal 0.78092432 0.113006048 -0.614318252 - outer loop - vertex -1.85778403 0.181133002 0.812886 - vertex -1.83203197 0.223009005 0.853326023 - vertex -1.86195993 0.238159001 0.818068981 - endloop - endfacet - - facet normal 0.582937837 -0.203489929 0.786622763 - outer loop - vertex -1.85778403 0.207340002 0.740882993 - vertex -1.83203197 0.265412986 0.736820996 - vertex -1.82124805 0.221757993 0.717536986 - endloop - endfacet - - facet normal 0.934058607 -0.144184947 0.326718837 - outer loop - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.85778403 0.207340002 0.740882993 - vertex -1.87216401 0.202947006 0.780054986 - endloop - endfacet - - facet normal 0.733523011 -0.516260922 0.442061961 - outer loop - vertex -1.83203197 0.265412986 0.736820996 - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.82835197 0.301744998 0.77314502 - endloop - endfacet - - facet normal 0.780922234 -0.308308095 0.54323715 - outer loop - vertex -1.86195993 0.254355997 0.773567975 - vertex -1.83203197 0.265412986 0.736820996 - vertex -1.85778403 0.207340002 0.740882993 - endloop - endfacet - - facet normal -0.416389078 0.719636202 -0.555647135 - outer loop - vertex -1.75035691 -0.325998992 0.817825019 - vertex -1.71201098 -0.308679014 0.811520994 - vertex -1.74193907 -0.297621995 0.848267972 - endloop - endfacet - - facet normal 0.0543030165 0.722881198 -0.688835204 - outer loop - vertex -1.75035691 -0.325998992 0.817825019 - vertex -1.74193907 -0.297621995 0.848267972 - vertex -1.79036307 -0.305938989 0.835722029 - endloop - endfacet - - facet normal 0.418186873 0.411096871 -0.810011804 - outer loop - vertex -1.82835197 -0.263157994 0.83782202 - vertex -1.79036307 -0.305938989 0.835722029 - vertex -1.78778303 -0.260684997 0.860022008 - endloop - endfacet - - facet normal 0.147422016 0.461364061 -0.874877095 - outer loop - vertex -1.79036307 -0.305938989 0.835722029 - vertex -1.74193907 -0.297621995 0.848267972 - vertex -1.78778303 -0.260684997 0.860022008 - endloop - endfacet - - facet normal 0.471917987 0.110359997 -0.874708056 - outer loop - vertex -1.82835197 -0.263157994 0.83782202 - vertex -1.78778303 -0.260684997 0.860022008 - vertex -1.83203197 -0.211977005 0.842293978 - endloop - endfacet - - facet normal 0.488864958 -0.668645024 -0.560289919 - outer loop - vertex -1.82124805 -0.166140005 0.829005003 - vertex -1.82527602 -0.135903999 0.789408028 - vertex -1.85778403 -0.170101002 0.801854014 - endloop - endfacet - - facet normal 0.901277483 -0.416941255 -0.117724068 - outer loop - vertex -1.87216401 -0.191915005 0.769023001 - vertex -1.85778403 -0.170101002 0.801854014 - vertex -1.85520399 -0.151054993 0.754150987 - endloop - endfacet - - facet normal 0.416387081 -0.908437192 0.0369280092 - outer loop - vertex -1.81685805 -0.133735001 0.747847021 - vertex -1.85520399 -0.151054993 0.754150987 - vertex -1.82527602 -0.135903999 0.789408028 - endloop - endfacet - - facet normal 0.654929042 -0.713351011 -0.249396011 - outer loop - vertex -1.85778403 -0.170101002 0.801854014 - vertex -1.82527602 -0.135903999 0.789408028 - vertex -1.85520399 -0.151054993 0.754150987 - endloop - endfacet - - facet normal 0.901276588 -0.243724898 0.358187854 - outer loop - vertex -1.87216401 -0.191915005 0.769023001 - vertex -1.85520399 -0.151054993 0.754150987 - vertex -1.85778403 -0.196308002 0.729851007 - endloop - endfacet - - facet normal 0.488875985 -0.152067006 0.858997047 - outer loop - vertex -1.82124805 -0.210725993 0.706505001 - vertex -1.85778403 -0.196308002 0.729851007 - vertex -1.82527602 -0.162110999 0.717404008 - endloop - endfacet - - facet normal 0.416390151 -0.719640255 0.555641174 - outer loop - vertex -1.81685805 -0.133735001 0.747847021 - vertex -1.82527602 -0.162110999 0.717404008 - vertex -1.85520399 -0.151054993 0.754150987 - endloop - endfacet - - facet normal 0.65493387 -0.386147916 0.649577796 - outer loop - vertex -1.85778403 -0.196308002 0.729851007 - vertex -1.85520399 -0.151054993 0.754150987 - vertex -1.82527602 -0.162110999 0.717404008 - endloop - endfacet - - facet normal 0.289381891 0.326072842 0.899963617 - outer loop - vertex -1.82124805 -0.210725993 0.706505001 - vertex -1.78360796 -0.256074011 0.710832 - vertex -1.83203197 -0.254381001 0.725790024 - endloop - endfacet - - facet normal 0.471929044 0.646786034 0.599125087 - outer loop - vertex -1.82835197 -0.290713996 0.762113988 - vertex -1.83203197 -0.254381001 0.725790024 - vertex -1.78778303 -0.303088993 0.743517995 - endloop - endfacet - - facet normal 0.00501300115 0.570513129 0.821273208 - outer loop - vertex -1.74596691 -0.293594003 0.736666024 - vertex -1.78778303 -0.303088993 0.743517995 - vertex -1.78360796 -0.256074011 0.710832 - endloop - endfacet - - facet normal 0.266492993 0.534111917 0.80231297 - outer loop - vertex -1.83203197 -0.254381001 0.725790024 - vertex -1.78360796 -0.256074011 0.710832 - vertex -1.78778303 -0.303088993 0.743517995 - endloop - endfacet - - facet normal 0.418193072 0.835586071 0.356245041 - outer loop - vertex -1.82835197 -0.290713996 0.762113988 - vertex -1.78778303 -0.303088993 0.743517995 - vertex -1.79036307 -0.322136015 0.791221976 - endloop - endfacet - - facet normal 0.0543069914 0.996533871 0.06301599 - outer loop - vertex -1.75035691 -0.325998992 0.817825019 - vertex -1.79036307 -0.322136015 0.791221976 - vertex -1.74193907 -0.323828995 0.776265025 - endloop - endfacet - - facet normal -0.0790780187 0.788413107 0.610042095 - outer loop - vertex -1.74596691 -0.293594003 0.736666024 - vertex -1.74193907 -0.323828995 0.776265025 - vertex -1.78778303 -0.303088993 0.743517995 - endloop - endfacet - - facet normal 0.14742294 0.915790558 0.373622864 - outer loop - vertex -1.79036307 -0.322136015 0.791221976 - vertex -1.78778303 -0.303088993 0.743517995 - vertex -1.74193907 -0.323828995 0.776265025 - endloop - endfacet - - facet normal -0.416385919 0.908437848 -0.036924988 - outer loop - vertex -1.75035691 -0.325998992 0.817825019 - vertex -1.74193907 -0.323828995 0.776265025 - vertex -1.71201098 -0.308679014 0.811520994 - endloop - endfacet - - facet normal 0.629849017 0.584397912 -0.511633933 - outer loop - vertex -1.82835197 -0.263157994 0.83782202 - vertex -1.83620691 -0.285198987 0.802974999 - vertex -1.79036307 -0.305938989 0.835722029 - endloop - endfacet - - facet normal 0.30318898 0.895461917 -0.325920969 - outer loop - vertex -1.75035691 -0.325998992 0.817825019 - vertex -1.79036307 -0.305938989 0.835722029 - vertex -1.79036307 -0.322136015 0.791221976 - endloop - endfacet - - facet normal 0.629846632 0.776548624 0.016288992 - outer loop - vertex -1.82835197 -0.290713996 0.762113988 - vertex -1.79036307 -0.322136015 0.791221976 - vertex -1.83620691 -0.285198987 0.802974999 - endloop - endfacet - - facet normal 0.556288064 0.780875146 -0.28421402 - outer loop - vertex -1.79036307 -0.305938989 0.835722029 - vertex -1.83620691 -0.285198987 0.802974999 - vertex -1.79036307 -0.322136015 0.791221976 - endloop - endfacet - - facet normal 0.813500583 0.390871763 -0.430622727 - outer loop - vertex -1.82835197 -0.263157994 0.83782202 - vertex -1.86195993 -0.227127001 0.807036996 - vertex -1.83620691 -0.285198987 0.802974999 - endloop - endfacet - - facet normal 0.813501239 0.576223135 0.0786290169 - outer loop - vertex -1.82835197 -0.290713996 0.762113988 - vertex -1.83620691 -0.285198987 0.802974999 - vertex -1.86195993 -0.243323997 0.762535989 - endloop - endfacet - - facet normal 0.976355791 0.203132957 -0.0739349872 - outer loop - vertex -1.87216401 -0.191915005 0.769023001 - vertex -1.86195993 -0.243323997 0.762535989 - vertex -1.86195993 -0.227127001 0.807036996 - endloop - endfacet - - facet normal 0.900026679 0.409550846 -0.14906396 - outer loop - vertex -1.83620691 -0.285198987 0.802974999 - vertex -1.86195993 -0.227127001 0.807036996 - vertex -1.86195993 -0.243323997 0.762535989 - endloop - endfacet - - facet normal 0.733524799 0.111328974 -0.670482814 - outer loop - vertex -1.82835197 -0.263157994 0.83782202 - vertex -1.83203197 -0.211977005 0.842293978 - vertex -1.86195993 -0.227127001 0.807036996 - endloop - endfacet - - facet normal 0.934059024 -0.0995570049 -0.342961013 - outer loop - vertex -1.87216401 -0.191915005 0.769023001 - vertex -1.86195993 -0.227127001 0.807036996 - vertex -1.85778403 -0.170101002 0.801854014 - endloop - endfacet - - facet normal 0.582925141 -0.349761069 -0.733393192 - outer loop - vertex -1.82124805 -0.166140005 0.829005003 - vertex -1.85778403 -0.170101002 0.801854014 - vertex -1.83203197 -0.211977005 0.842293978 - endloop - endfacet - - facet normal 0.78092432 -0.113006048 -0.614318252 - outer loop - vertex -1.86195993 -0.227127001 0.807036996 - vertex -1.83203197 -0.211977005 0.842293978 - vertex -1.85778403 -0.170101002 0.801854014 - endloop - endfacet - - facet normal 0.582937121 0.203490049 0.78662318 - outer loop - vertex -1.82124805 -0.210725993 0.706505001 - vertex -1.83203197 -0.254381001 0.725790024 - vertex -1.85778403 -0.196308002 0.729851007 - endloop - endfacet - - facet normal 0.934058905 0.144184992 0.326718003 - outer loop - vertex -1.87216401 -0.191915005 0.769023001 - vertex -1.85778403 -0.196308002 0.729851007 - vertex -1.86195993 -0.243323997 0.762535989 - endloop - endfacet - - facet normal 0.733523011 0.516260922 0.442061961 - outer loop - vertex -1.82835197 -0.290713996 0.762113988 - vertex -1.86195993 -0.243323997 0.762535989 - vertex -1.83203197 -0.254381001 0.725790024 - endloop - endfacet - - facet normal 0.780922592 0.308307827 0.543236673 - outer loop - vertex -1.85778403 -0.196308002 0.729851007 - vertex -1.83203197 -0.254381001 0.725790024 - vertex -1.86195993 -0.243323997 0.762535989 - endloop - endfacet - -endsolid AssimpScene From 067993d60772da35c97facab6a9c138225d2c645 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:11:20 +0200 Subject: [PATCH 60/99] Delete dae.dae --- test/dae.dae | 80 ---------------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 test/dae.dae diff --git a/test/dae.dae b/test/dae.dae deleted file mode 100644 index f8db45d6d..000000000 --- a/test/dae.dae +++ /dev/null @@ -1,80 +0,0 @@ - - - - - Assimp - Assimp Exporter - - 2021-05-05T14:41:31 - 2021-05-05T14:41:31 - - Y_UP - - - - - - - - - - 1 0 0 1 - - - 0.0373546556 - - - - - - - - - - - - - - - - 1 0 0 0 1 0 0 0 1 - - - - - - - - - - - - - - 3 -

0 1 2

-
-
-
-
- - - - - - 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 - - - - - - - - - - - - - - -
From 3f5c3eb38c6181134f690a6d19f4208b94bdf888 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 5 May 2021 15:11:36 +0200 Subject: [PATCH 61/99] Delete dna.txt --- test/dna.txt | 8008 -------------------------------------------------- 1 file changed, 8008 deletions(-) delete mode 100644 test/dna.txt diff --git a/test/dna.txt b/test/dna.txt deleted file mode 100644 index b89d0db4b..000000000 --- a/test/dna.txt +++ /dev/null @@ -1,8008 +0,0 @@ -Field format: type name offset size -Structure format: name size -Link 16 - - Link *next 0 8 - Link *prev 8 8 - -LinkData 24 - - LinkData *next 0 8 - LinkData *prev 8 8 - void *data 16 8 - -ListBase 16 - - void *first 0 8 - void *last 8 8 - -vec2s 4 - - short x 0 2 - short y 2 2 - -vec2f 8 - - float x 0 4 - float y 4 4 - -vec3f 12 - - float x 0 4 - float y 4 4 - float z 8 4 - -rcti 16 - - int xmin 0 4 - int xmax 4 4 - int ymin 8 4 - int ymax 12 4 - -rctf 16 - - float xmin 0 4 - float xmax 4 4 - float ymin 8 4 - float ymax 12 4 - -IDPropertyData 32 - - void *pointer 0 8 - ListBase group 8 16 - int val 24 4 - int val2 28 4 - -IDProperty 128 - - IDProperty *next 0 8 - IDProperty *prev 8 8 - char type 16 1 - char subtype 17 1 - short flag 18 2 - char name 20 64 - int saved 84 4 - IDPropertyData data 88 32 - int len 120 4 - int totallen 124 4 - -ID 120 - - void *next 0 8 - void *prev 8 8 - ID *newid 16 8 - Library *lib 24 8 - char name 32 66 - short pad 98 2 - short us 100 2 - short flag 102 2 - int icon_id 104 4 - int pad2 108 4 - IDProperty *properties 112 8 - -Library 2200 - - ID id 0 120 - ID *idblock 120 8 - FileData *filedata 128 8 - char name 136 1024 - char filepath 1160 1024 - Library *parent 2184 8 - PackedFile *packedfile 2192 8 - -PreviewImage 56 - - int w 0 8 - int h 8 8 - short changed 16 4 - short changed_timestamp 20 4 - int *rect 24 16 - GPUTexture *gputexture 40 16 - -IpoDriver 144 - - Object *ob 0 8 - short blocktype 8 2 - short adrcode 10 2 - short type 12 2 - short flag 14 2 - char name 16 128 - -IpoCurve 112 - - IpoCurve *next 0 8 - IpoCurve *prev 8 8 - BPoint *bp 16 8 - BezTriple *bezt 24 8 - rctf maxrct 32 16 - rctf totrct 48 16 - short blocktype 64 2 - short adrcode 66 2 - short vartype 68 2 - short totvert 70 2 - short ipo 72 2 - short extrap 74 2 - short flag 76 2 - short rt 78 2 - float ymin 80 4 - float ymax 84 4 - int bitmask 88 4 - float slide_min 92 4 - float slide_max 96 4 - float curval 100 4 - IpoDriver *driver 104 8 - -Ipo 160 - - ID id 0 120 - ListBase curve 120 16 - rctf cur 136 16 - short blocktype 152 2 - short showkey 154 2 - short muteipo 156 2 - short pad 158 2 - -KeyBlock 184 - - KeyBlock *next 0 8 - KeyBlock *prev 8 8 - float pos 16 4 - float curval 20 4 - short type 24 2 - short pad1 26 2 - short relative 28 2 - short flag 30 2 - int totelem 32 4 - int uid 36 4 - void *data 40 8 - char name 48 64 - char vgroup 112 64 - float slidermin 176 4 - float slidermax 180 4 - -Key 224 - - ID id 0 120 - AnimData *adt 120 8 - KeyBlock *refkey 128 8 - char elemstr 136 32 - int elemsize 168 4 - int pad 172 4 - ListBase block 176 16 - Ipo *ipo 192 8 - ID *from 200 8 - short type 208 2 - short totkey 210 2 - short slurph 212 2 - short flag 214 2 - float ctime 216 4 - int uidgen 220 4 - -TextLine 40 - - TextLine *next 0 8 - TextLine *prev 8 8 - char *line 16 8 - char *format 24 8 - int len 32 4 - int blen 36 4 - -Text 208 - - ID id 0 120 - char *name 120 8 - int flags 128 4 - int nlines 132 4 - ListBase lines 136 16 - TextLine *curl 152 8 - TextLine *sell 160 8 - int curc 168 4 - int selc 172 4 - char *undo_buf 176 8 - int undo_pos 184 4 - int undo_len 188 4 - void *compiled 192 8 - double mtime 200 8 - -PackedFile 16 - - int size 0 4 - int seek 4 4 - void *data 8 8 - -Camera 200 - - ID id 0 120 - AnimData *adt 120 8 - char type 128 1 - char dtx 129 1 - short flag 130 2 - float passepartalpha 132 4 - float clipsta 136 4 - float clipend 140 4 - float lens 144 4 - float ortho_scale 148 4 - float drawsize 152 4 - float sensor_x 156 4 - float sensor_y 160 4 - float shiftx 164 4 - float shifty 168 4 - float YF_dofdist 172 4 - Ipo *ipo 176 8 - Object *dof_ob 184 8 - char sensor_fit 192 1 - char pad 193 7 - -ImageUser 40 - - Scene *scene 0 8 - int framenr 8 4 - int frames 12 4 - int offset 16 4 - int sfra 20 4 - char fie_ima 24 1 - char cycl 25 1 - char ok 26 1 - char pad 27 1 - short multi_index 28 2 - short layer 30 2 - short pass 32 2 - short flag 34 2 - int pad2 36 4 - -Image 1408 - - ID id 0 120 - char name 120 1024 - ListBase ibufs 1144 16 - GPUTexture *gputexture 1160 8 - anim *anim 1168 8 - RenderResult *rr 1176 8 - RenderResult *renders 1184 64 - short render_slot 1248 2 - short last_render_slot 1250 2 - short ok 1252 2 - short flag 1254 2 - short source 1256 2 - short type 1258 2 - int lastframe 1260 4 - short tpageflag 1264 2 - short totbind 1266 2 - short xrep 1268 2 - short yrep 1270 2 - short twsta 1272 2 - short twend 1274 2 - int bindcode 1276 4 - int *repbind 1280 8 - PackedFile *packedfile 1288 8 - PreviewImage *preview 1296 8 - float lastupdate 1304 4 - int lastused 1308 4 - short animspeed 1312 2 - short pad2 1314 2 - int gen_x 1316 4 - int gen_y 1320 4 - char gen_type 1324 1 - char gen_flag 1325 1 - short gen_depth 1326 2 - float aspx 1328 4 - float aspy 1332 4 - ColorManagedColorspaceSettings colorspace_settings 1336 64 - char alpha_mode 1400 1 - char pad 1401 7 - -MTex 312 - - short texco 0 2 - short mapto 2 2 - short maptoneg 4 2 - short blendtype 6 2 - Object *object 8 8 - Tex *tex 16 8 - char uvname 24 64 - char projx 88 1 - char projy 89 1 - char projz 90 1 - char mapping 91 1 - float ofs 92 12 - float size 104 12 - float rot 116 4 - short texflag 120 2 - short colormodel 122 2 - short pmapto 124 2 - short pmaptoneg 126 2 - short normapspace 128 2 - short which_output 130 2 - char brush_map_mode 132 1 - char pad 133 7 - float r 140 4 - float g 144 4 - float b 148 4 - float k 152 4 - float def_var 156 4 - float rt 160 4 - float colfac 164 4 - float varfac 168 4 - float norfac 172 4 - float dispfac 176 4 - float warpfac 180 4 - float colspecfac 184 4 - float mirrfac 188 4 - float alphafac 192 4 - float difffac 196 4 - float specfac 200 4 - float emitfac 204 4 - float hardfac 208 4 - float raymirrfac 212 4 - float translfac 216 4 - float ambfac 220 4 - float colemitfac 224 4 - float colreflfac 228 4 - float coltransfac 232 4 - float densfac 236 4 - float scatterfac 240 4 - float reflfac 244 4 - float timefac 248 4 - float lengthfac 252 4 - float clumpfac 256 4 - float dampfac 260 4 - float kinkfac 264 4 - float roughfac 268 4 - float padensfac 272 4 - float gravityfac 276 4 - float lifefac 280 4 - float sizefac 284 4 - float ivelfac 288 4 - float fieldfac 292 4 - float shadowfac 296 4 - float zenupfac 300 4 - float zendownfac 304 4 - float blendfac 308 4 - -CBData 24 - - float r 0 4 - float g 4 4 - float b 8 4 - float a 12 4 - float pos 16 4 - int cur 20 4 - -ColorBand 776 - - short flag 0 2 - short tot 2 2 - short cur 4 2 - short ipotype 6 2 - CBData data 8 768 - -EnvMap 200 - - Object *object 0 8 - Image *ima 8 8 - ImBuf *cube 16 48 - float imat 64 64 - float obimat 128 36 - short type 164 2 - short stype 166 2 - float clipsta 168 4 - float clipend 172 4 - float viewscale 176 4 - int notlay 180 4 - short cuberes 184 2 - short depth 186 2 - int ok 188 4 - int lastframe 192 4 - short recalc 196 2 - short lastsize 198 2 - -PointDensity 104 - - short flag 0 2 - short falloff_type 2 2 - float falloff_softness 4 4 - float radius 8 4 - short source 12 2 - short color_source 14 2 - int totpoints 16 4 - int pdpad 20 4 - Object *object 24 8 - int psys 32 4 - short psys_cache_space 36 2 - short ob_cache_space 38 2 - void *point_tree 40 8 - float *point_data 48 8 - float noise_size 56 4 - short noise_depth 60 2 - short noise_influence 62 2 - short noise_basis 64 2 - short pdpad3 66 6 - float noise_fac 72 4 - float speed_scale 76 4 - float falloff_speed_scale 80 4 - float pdpad2 84 4 - ColorBand *coba 88 8 - CurveMapping *falloff_curve 96 8 - -VoxelData 1088 - - int resol 0 12 - int interp_type 12 4 - short file_format 16 2 - short flag 18 2 - short extend 20 2 - short smoked_type 22 2 - short data_type 24 2 - short pad 26 2 - int _pad 28 4 - Object *object 32 8 - float int_multiplier 40 4 - int still_frame 44 4 - char source_path 48 1024 - float *dataset 1072 8 - int cachedframe 1080 4 - int ok 1084 4 - -OceanTex 80 - - Object *object 0 8 - char oceanmod 8 64 - int output 72 4 - int pad 76 4 - -Tex 416 - - ID id 0 120 - AnimData *adt 120 8 - float noisesize 128 4 - float turbul 132 4 - float bright 136 4 - float contrast 140 4 - float saturation 144 4 - float rfac 148 4 - float gfac 152 4 - float bfac 156 4 - float filtersize 160 4 - float pad2 164 4 - float mg_H 168 4 - float mg_lacunarity 172 4 - float mg_octaves 176 4 - float mg_offset 180 4 - float mg_gain 184 4 - float dist_amount 188 4 - float ns_outscale 192 4 - float vn_w1 196 4 - float vn_w2 200 4 - float vn_w3 204 4 - float vn_w4 208 4 - float vn_mexp 212 4 - short vn_distm 216 2 - short vn_coltype 218 2 - short noisedepth 220 2 - short noisetype 222 2 - short noisebasis 224 2 - short noisebasis2 226 2 - short imaflag 228 2 - short flag 230 2 - short type 232 2 - short stype 234 2 - float cropxmin 236 4 - float cropymin 240 4 - float cropxmax 244 4 - float cropymax 248 4 - int texfilter 252 4 - int afmax 256 4 - short xrepeat 260 2 - short yrepeat 262 2 - short extend 264 2 - short fie_ima 266 2 - int len 268 4 - int frames 272 4 - int offset 276 4 - int sfra 280 4 - float checkerdist 284 4 - float nabla 288 4 - float pad1 292 4 - ImageUser iuser 296 40 - bNodeTree *nodetree 336 8 - Ipo *ipo 344 8 - Image *ima 352 8 - ColorBand *coba 360 8 - EnvMap *env 368 8 - PreviewImage *preview 376 8 - PointDensity *pd 384 8 - VoxelData *vd 392 8 - OceanTex *ot 400 8 - char use_nodes 408 1 - char pad 409 7 - -TexMapping 144 - - float loc 0 12 - float rot 12 12 - float size 24 12 - int flag 36 4 - char projx 40 1 - char projy 41 1 - char projz 42 1 - char mapping 43 1 - int type 44 4 - float mat 48 64 - float min 112 12 - float max 124 12 - Object *ob 136 8 - -ColorMapping 824 - - ColorBand coba 0 776 - float bright 776 4 - float contrast 780 4 - float saturation 784 4 - int flag 788 4 - float blend_color 792 12 - float blend_factor 804 4 - int blend_type 808 4 - int pad 812 12 - -Lamp 528 - - ID id 0 120 - AnimData *adt 120 8 - short type 128 2 - short flag 130 2 - int mode 132 4 - short colormodel 136 2 - short totex 138 2 - float r 140 4 - float g 144 4 - float b 148 4 - float k 152 4 - float shdwr 156 4 - float shdwg 160 4 - float shdwb 164 4 - float shdwpad 168 4 - float energy 172 4 - float dist 176 4 - float spotsize 180 4 - float spotblend 184 4 - float haint 188 4 - float att1 192 4 - float att2 196 4 - CurveMapping *curfalloff 200 8 - short falloff_type 208 2 - short pad2 210 2 - float clipsta 212 4 - float clipend 216 4 - float shadspotsize 220 4 - float bias 224 4 - float soft 228 4 - float compressthresh 232 4 - float bleedbias 236 4 - float pad5 240 8 - short bufsize 248 2 - short samp 250 2 - short buffers 252 2 - short filtertype 254 2 - char bufflag 256 1 - char buftype 257 1 - short ray_samp 258 2 - short ray_sampy 260 2 - short ray_sampz 262 2 - short ray_samp_type 264 2 - short area_shape 266 2 - float area_size 268 4 - float area_sizey 272 4 - float area_sizez 276 4 - float adapt_thresh 280 4 - short ray_samp_method 284 2 - short shadowmap_type 286 2 - short texact 288 2 - short shadhalostep 290 2 - short sun_effect_type 292 2 - short skyblendtype 294 2 - float horizon_brightness 296 4 - float spread 300 4 - float sun_brightness 304 4 - float sun_size 308 4 - float backscattered_light 312 4 - float sun_intensity 316 4 - float atm_turbidity 320 4 - float atm_inscattering_factor 324 4 - float atm_extinction_factor 328 4 - float atm_distance_factor 332 4 - float skyblendfac 336 4 - float sky_exposure 340 4 - float shadow_frustum_size 344 4 - short sky_colorspace 348 2 - char pad4 350 2 - Ipo *ipo 352 8 - MTex *mtex 360 144 - short pr_texture 504 2 - short use_nodes 506 2 - char pad6 508 4 - PreviewImage *preview 512 8 - bNodeTree *nodetree 520 8 - -VolumeSettings 88 - - float density 0 4 - float emission 4 4 - float scattering 8 4 - float reflection 12 4 - float emission_col 16 12 - float transmission_col 28 12 - float reflection_col 40 12 - float density_scale 52 4 - float depth_cutoff 56 4 - float asymmetry 60 4 - short stepsize_type 64 2 - short shadeflag 66 2 - short shade_type 68 2 - short precache_resolution 70 2 - float stepsize 72 4 - float ms_diff 76 4 - float ms_intensity 80 4 - float ms_spread 84 4 - -GameSettings 16 - - int flag 0 4 - int alpha_blend 4 4 - int face_orientation 8 4 - int pad1 12 4 - -Material 904 - - ID id 0 120 - AnimData *adt 120 8 - short material_type 128 2 - short flag 130 2 - float r 132 4 - float g 136 4 - float b 140 4 - float specr 144 4 - float specg 148 4 - float specb 152 4 - float mirr 156 4 - float mirg 160 4 - float mirb 164 4 - float ambr 168 4 - float ambb 172 4 - float ambg 176 4 - float amb 180 4 - float emit 184 4 - float ang 188 4 - float spectra 192 4 - float ray_mirror 196 4 - float alpha 200 4 - float ref 204 4 - float spec 208 4 - float zoffs 212 4 - float add 216 4 - float translucency 220 4 - VolumeSettings vol 224 88 - GameSettings game 312 16 - float fresnel_mir 328 4 - float fresnel_mir_i 332 4 - float fresnel_tra 336 4 - float fresnel_tra_i 340 4 - float filter 344 4 - float tx_limit 348 4 - float tx_falloff 352 4 - short ray_depth 356 2 - short ray_depth_tra 358 2 - short har 360 2 - char seed1 362 1 - char seed2 363 1 - float gloss_mir 364 4 - float gloss_tra 368 4 - short samp_gloss_mir 372 2 - short samp_gloss_tra 374 2 - float adapt_thresh_mir 376 4 - float adapt_thresh_tra 380 4 - float aniso_gloss_mir 384 4 - float dist_mir 388 4 - short fadeto_mir 392 2 - short shade_flag 394 2 - int mode 396 4 - int mode_l 400 4 - short flarec 404 2 - short starc 406 2 - short linec 408 2 - short ringc 410 2 - float hasize 412 4 - float flaresize 416 4 - float subsize 420 4 - float flareboost 424 4 - float strand_sta 428 4 - float strand_end 432 4 - float strand_ease 436 4 - float strand_surfnor 440 4 - float strand_min 444 4 - float strand_widthfade 448 4 - char strand_uvname 452 64 - float sbias 516 4 - float lbias 520 4 - float shad_alpha 524 4 - int septex 528 4 - char rgbsel 532 1 - char texact 533 1 - char pr_type 534 1 - char use_nodes 535 1 - short pr_lamp 536 2 - short pr_texture 538 2 - short ml_flag 540 2 - char mapflag 542 1 - char pad 543 1 - short diff_shader 544 2 - short spec_shader 546 2 - float roughness 548 4 - float refrac 552 4 - float param 556 16 - float rms 572 4 - float darkness 576 4 - short texco 580 2 - short mapto 582 2 - ColorBand *ramp_col 584 8 - ColorBand *ramp_spec 592 8 - char rampin_col 600 1 - char rampin_spec 601 1 - char rampblend_col 602 1 - char rampblend_spec 603 1 - short ramp_show 604 2 - short pad3 606 2 - float rampfac_col 608 4 - float rampfac_spec 612 4 - MTex *mtex 616 144 - bNodeTree *nodetree 760 8 - Ipo *ipo 768 8 - Group *group 776 8 - PreviewImage *preview 784 8 - float friction 792 4 - float fh 796 4 - float reflect 800 4 - float fhdist 804 4 - float xyfrict 808 4 - short dynamode 812 2 - short pad2 814 2 - float sss_radius 816 12 - float sss_col 828 12 - float sss_error 840 4 - float sss_scale 844 4 - float sss_ior 848 4 - float sss_colfac 852 4 - float sss_texfac 856 4 - float sss_front 860 4 - float sss_back 864 4 - short sss_flag 868 2 - short sss_preset 870 2 - int mapto_textured 872 4 - short shadowonly_flag 876 2 - short index 878 2 - short vcol_alpha 880 2 - short pad4 882 6 - ListBase gpumaterial 888 16 - -VFont 1168 - - ID id 0 120 - char name 120 1024 - VFontData *data 1144 8 - PackedFile *packedfile 1152 8 - PackedFile *temp_pf 1160 8 - -MetaElem 104 - - MetaElem *next 0 8 - MetaElem *prev 8 8 - BoundBox *bb 16 8 - short type 24 2 - short flag 26 2 - short selcol1 28 2 - short selcol2 30 2 - float x 32 4 - float y 36 4 - float z 40 4 - float quat 44 16 - float expx 60 4 - float expy 64 4 - float expz 68 4 - float rad 72 4 - float rad2 76 4 - float s 80 4 - float len 84 4 - float *mat 88 8 - float *imat 96 8 - -MetaBall 248 - - ID id 0 120 - AnimData *adt 120 8 - ListBase elems 128 16 - ListBase disp 144 16 - ListBase *editelems 160 8 - Ipo *ipo 168 8 - Material **mat 176 8 - char flag 184 1 - char flag2 185 1 - short totcol 186 2 - short texflag 188 2 - short pad 190 2 - float loc 192 12 - float size 204 12 - float rot 216 12 - float wiresize 228 4 - float rendersize 232 4 - float thresh 236 4 - MetaElem *lastelem 240 8 - -BezTriple 56 - - float vec 0 36 - float alfa 36 4 - float weight 40 4 - float radius 44 4 - short ipo 48 2 - char h1 50 1 - char h2 51 1 - char f1 52 1 - char f2 53 1 - char f3 54 1 - char hide 55 1 - -BPoint 36 - - float vec 0 16 - float alfa 16 4 - float weight 20 4 - short f1 24 2 - short hide 26 2 - float radius 28 4 - float pad 32 4 - -Nurb 80 - - Nurb *next 0 8 - Nurb *prev 8 8 - short type 16 2 - short mat_nr 18 2 - short hide 20 2 - short flag 22 2 - short pntsu 24 2 - short pntsv 26 2 - short resolu 28 2 - short resolv 30 2 - short orderu 32 2 - short orderv 34 2 - short flagu 36 2 - short flagv 38 2 - float *knotsu 40 8 - float *knotsv 48 8 - BPoint *bp 56 8 - BezTriple *bezt 64 8 - short tilt_interp 72 2 - short radius_interp 74 2 - int charidx 76 4 - -CharInfo 8 - - short kern 0 2 - short mat_nr 2 2 - char flag 4 1 - char pad 5 1 - short pad2 6 2 - -TextBox 16 - - float x 0 4 - float y 4 4 - float w 8 4 - float h 12 4 - -EditNurb 32 - - ListBase nurbs 0 16 - GHash *keyindex 16 8 - int shapenr 24 4 - char pad 28 4 - -Curve 504 - - ID id 0 120 - AnimData *adt 120 8 - BoundBox *bb 128 8 - ListBase nurb 136 16 - ListBase disp 152 16 - EditNurb *editnurb 168 8 - Object *bevobj 176 8 - Object *taperobj 184 8 - Object *textoncurve 192 8 - Ipo *ipo 200 8 - Key *key 208 8 - Material **mat 216 8 - float loc 224 12 - float size 236 12 - float rot 248 12 - short type 260 2 - short texflag 262 2 - short drawflag 264 2 - short twist_mode 266 2 - float twist_smooth 268 4 - float smallcaps_scale 272 4 - int pathlen 276 4 - short bevresol 280 2 - short totcol 282 2 - int flag 284 4 - float width 288 4 - float ext1 292 4 - float ext2 296 4 - short resolu 300 2 - short resolv 302 2 - short resolu_ren 304 2 - short resolv_ren 306 2 - int actnu 308 4 - void *lastsel 312 8 - short len 320 2 - short lines 322 2 - short pos 324 2 - short spacemode 326 2 - float spacing 328 4 - float linedist 332 4 - float shear 336 4 - float fsize 340 4 - float wordspace 344 4 - float ulpos 348 4 - float ulheight 352 4 - float xof 356 4 - float yof 360 4 - float linewidth 364 4 - char *str 368 8 - SelBox *selboxes 376 8 - EditFont *editfont 384 8 - char family 392 24 - VFont *vfont 416 8 - VFont *vfontb 424 8 - VFont *vfonti 432 8 - VFont *vfontbi 440 8 - int sepchar 448 4 - float ctime 452 4 - int totbox 456 4 - int actbox 460 4 - TextBox *tb 464 8 - int selstart 472 4 - int selend 476 4 - CharInfo *strinfo 480 8 - CharInfo curinfo 488 8 - float bevfac1 496 4 - float bevfac2 500 4 - -Mesh 1336 - - ID id 0 120 - AnimData *adt 120 8 - BoundBox *bb 128 8 - Ipo *ipo 136 8 - Key *key 144 8 - Material **mat 152 8 - MSelect *mselect 160 8 - MPoly *mpoly 168 8 - MTexPoly *mtpoly 176 8 - MLoop *mloop 184 8 - MLoopUV *mloopuv 192 8 - MLoopCol *mloopcol 200 8 - MFace *mface 208 8 - MTFace *mtface 216 8 - TFace *tface 224 8 - MVert *mvert 232 8 - MEdge *medge 240 8 - MDeformVert *dvert 248 8 - MCol *mcol 256 8 - Mesh *texcomesh 264 8 - BMEditMesh *edit_btmesh 272 8 - CustomData vdata 280 192 - CustomData edata 472 192 - CustomData fdata 664 192 - CustomData pdata 856 192 - CustomData ldata 1048 192 - int totvert 1240 4 - int totedge 1244 4 - int totface 1248 4 - int totselect 1252 4 - int totpoly 1256 4 - int totloop 1260 4 - int act_face 1264 4 - float loc 1268 12 - float size 1280 12 - float rot 1292 12 - int drawflag 1304 4 - short texflag 1308 2 - short pad2 1310 6 - short smoothresh 1316 2 - short flag 1318 2 - char cd_flag 1320 1 - char pad 1321 1 - char subdiv 1322 1 - char subdivr 1323 1 - char subsurftype 1324 1 - char editflag 1325 1 - short totcol 1326 2 - Multires *mr 1328 8 - -TFace 64 - - void *tpage 0 8 - float uv 8 32 - int col 40 16 - char flag 56 1 - char transp 57 1 - short mode 58 2 - short tile 60 2 - short unwrap 62 2 - -MFace 20 - - int v1 0 4 - int v2 4 4 - int v3 8 4 - int v4 12 4 - short mat_nr 16 2 - char edcode 18 1 - char flag 19 1 - -MEdge 12 - - int v1 0 4 - int v2 4 4 - char crease 8 1 - char bweight 9 1 - short flag 10 2 - -MDeformWeight 8 - - int def_nr 0 4 - float weight 4 4 - -MDeformVert 16 - - MDeformWeight *dw 0 8 - int totweight 8 4 - int flag 12 4 - -MVert 20 - - float co 0 12 - short no 12 6 - char flag 18 1 - char bweight 19 1 - -MCol 4 - - char a 0 1 - char r 1 1 - char g 2 1 - char b 3 1 - -MPoly 12 - - int loopstart 0 4 - int totloop 4 4 - short mat_nr 8 2 - char flag 10 1 - char pad 11 1 - -MLoop 8 - - int v 0 4 - int e 4 4 - -MTexPoly 16 - - Image *tpage 0 8 - char flag 8 1 - char transp 9 1 - short mode 10 2 - short tile 12 2 - short pad 14 2 - -MLoopUV 12 - - float uv 0 8 - int flag 8 4 - -MLoopCol 4 - - char r 0 1 - char g 1 1 - char b 2 1 - char a 3 1 - -MSelect 8 - - int index 0 4 - int type 4 4 - -MTFace 48 - - float uv 0 32 - Image *tpage 32 8 - char flag 40 1 - char transp 41 1 - short mode 42 2 - short tile 44 2 - short unwrap 46 2 - -MFloatProperty 4 - - float f 0 4 - -MIntProperty 4 - - int i 0 4 - -MStringProperty 256 - - char s 0 255 - char s_len 255 1 - -OrigSpaceFace 32 - - float uv 0 32 - -OrigSpaceLoop 8 - - float uv 0 8 - -MDisps 20 - - int totdisp 0 4 - int level 4 4 - float (*disps)() 8 4 - int *hidden 12 8 - -MultiresCol 16 - - float a 0 4 - float r 4 4 - float g 8 4 - float b 12 4 - -MultiresColFace 64 - - MultiresCol col 0 64 - -MultiresFace 24 - - int v 0 16 - int mid 16 4 - char flag 20 1 - char mat_nr 21 1 - char pad 22 2 - -MultiresEdge 12 - - int v 0 8 - int mid 8 4 - -MultiresLevel 64 - - MultiresLevel *next 0 8 - MultiresLevel *prev 8 8 - MultiresFace *faces 16 8 - MultiresColFace *colfaces 24 8 - MultiresEdge *edges 32 8 - int totvert 40 4 - int totface 44 4 - int totedge 48 4 - int pad 52 4 - MVert *verts 56 8 - -Multires 432 - - ListBase levels 0 16 - MVert *verts 16 8 - char level_count 24 1 - char current 25 1 - char newlvl 26 1 - char edgelvl 27 1 - char pinlvl 28 1 - char renderlvl 29 1 - char use_col 30 1 - char flag 31 1 - CustomData vdata 32 192 - CustomData fdata 224 192 - short *edge_flags 416 8 - char *edge_creases 424 8 - -MRecast 4 - - int i 0 4 - -GridPaintMask 16 - - float *data 0 8 - int level 8 4 - int pad 12 4 - -MVertSkin 16 - - float radius 0 12 - int flag 12 4 - -FreestyleEdge 4 - - char flag 0 1 - char pad 1 3 - -FreestyleFace 4 - - char flag 0 1 - char pad 1 3 - -ModifierData 112 - - ModifierData *next 0 8 - ModifierData *prev 8 8 - int type 16 4 - int mode 20 4 - int stackindex 24 4 - int pad 28 4 - char name 32 64 - Scene *scene 96 8 - char *error 104 8 - -MappingInfoModifierData 200 - - ModifierData modifier 0 112 - Tex *texture 112 8 - Object *map_object 120 8 - char uvlayer_name 128 64 - int uvlayer_tmp 192 4 - int texmapping 196 4 - -SubsurfModifierData 136 - - ModifierData modifier 0 112 - short subdivType 112 2 - short levels 114 2 - short renderLevels 116 2 - short flags 118 2 - void *emCache 120 8 - void *mCache 128 8 - -LatticeModifierData 192 - - ModifierData modifier 0 112 - Object *object 112 8 - char name 120 64 - float strength 184 4 - char pad 188 4 - -CurveModifierData 192 - - ModifierData modifier 0 112 - Object *object 112 8 - char name 120 64 - short defaxis 184 2 - char pad 186 6 - -BuildModifierData 128 - - ModifierData modifier 0 112 - float start 112 4 - float length 116 4 - int randomize 120 4 - int seed 124 4 - -MaskModifierData 192 - - ModifierData modifier 0 112 - Object *ob_arm 112 8 - char vgroup 120 64 - int mode 184 4 - int flag 188 4 - -ArrayModifierData 192 - - ModifierData modifier 0 112 - Object *start_cap 112 8 - Object *end_cap 120 8 - Object *curve_ob 128 8 - Object *offset_ob 136 8 - float offset 144 12 - float scale 156 12 - float length 168 4 - float merge_dist 172 4 - int fit_type 176 4 - int offset_type 180 4 - int flags 184 4 - int count 188 4 - -MirrorModifierData 128 - - ModifierData modifier 0 112 - short axis 112 2 - short flag 114 2 - float tolerance 116 4 - Object *mirror_ob 120 8 - -EdgeSplitModifierData 120 - - ModifierData modifier 0 112 - float split_angle 112 4 - int flags 116 4 - -BevelModifierData 200 - - ModifierData modifier 0 112 - float value 112 4 - int res 116 4 - int pad 120 4 - short flags 124 2 - short val_flags 126 2 - short lim_flags 128 2 - short e_flags 130 2 - float bevel_angle 132 4 - char defgrp_name 136 64 - -SmokeModifierData 144 - - ModifierData modifier 0 112 - SmokeDomainSettings *domain 112 8 - SmokeFlowSettings *flow 120 8 - SmokeCollSettings *coll 128 8 - float time 136 4 - int type 140 4 - -DisplaceModifierData 280 - - ModifierData modifier 0 112 - Tex *texture 112 8 - Object *map_object 120 8 - char uvlayer_name 128 64 - int uvlayer_tmp 192 4 - int texmapping 196 4 - float strength 200 4 - int direction 204 4 - char defgrp_name 208 64 - float midlevel 272 4 - int pad 276 4 - -UVProjectModifierData 296 - - ModifierData modifier 0 112 - Object *projectors 112 80 - Image *image 192 8 - int flags 200 4 - int num_projectors 204 4 - float aspectx 208 4 - float aspecty 212 4 - float scalex 216 4 - float scaley 220 4 - char uvlayer_name 224 64 - int uvlayer_tmp 288 4 - int pad 292 4 - -DecimateModifierData 200 - - ModifierData modifier 0 112 - float percent 112 4 - short iter 116 2 - char delimit 118 1 - char pad 119 1 - float angle 120 4 - char defgrp_name 124 64 - short flag 188 2 - short mode 190 2 - int face_count 192 4 - int pad2 196 4 - -SmoothModifierData 184 - - ModifierData modifier 0 112 - float fac 112 4 - char defgrp_name 116 64 - short flag 180 2 - short repeat 182 2 - -CastModifierData 200 - - ModifierData modifier 0 112 - Object *object 112 8 - float fac 120 4 - float radius 124 4 - float size 128 4 - char defgrp_name 132 64 - short flag 196 2 - short type 198 2 - -WaveModifierData 320 - - ModifierData modifier 0 112 - Tex *texture 112 8 - Object *map_object 120 8 - char uvlayer_name 128 64 - int uvlayer_tmp 192 4 - int texmapping 196 4 - Object *objectcenter 200 8 - char defgrp_name 208 64 - short flag 272 2 - short pad 274 2 - float startx 276 4 - float starty 280 4 - float height 284 4 - float width 288 4 - float narrow 292 4 - float speed 296 4 - float damp 300 4 - float falloff 304 4 - float timeoffs 308 4 - float lifetime 312 4 - float pad1 316 4 - -ArmatureModifierData 200 - - ModifierData modifier 0 112 - short deformflag 112 2 - short multi 114 2 - int pad2 116 4 - Object *object 120 8 - float *prevCos 128 8 - char defgrp_name 136 64 - -HookModifierData 344 - - ModifierData modifier 0 112 - Object *object 112 8 - char subtarget 120 64 - float parentinv 184 64 - float cent 248 12 - float falloff 260 4 - int *indexar 264 8 - int totindex 272 4 - float force 276 4 - char name 280 64 - -SoftbodyModifierData 112 - - ModifierData modifier 0 112 - -ClothModifierData 168 - - ModifierData modifier 0 112 - Scene *scene 112 8 - Cloth *clothObject 120 8 - ClothSimSettings *sim_parms 128 8 - ClothCollSettings *coll_parms 136 8 - PointCache *point_cache 144 8 - ListBase ptcaches 152 16 - -CollisionModifierData 192 - - ModifierData modifier 0 112 - MVert *x 112 8 - MVert *xnew 120 8 - MVert *xold 128 8 - MVert *current_xnew 136 8 - MVert *current_x 144 8 - MVert *current_v 152 8 - MFace *mfaces 160 8 - int numverts 168 4 - int numfaces 172 4 - float time_x 176 4 - float time_xnew 180 4 - BVHTree *bvhtree 184 8 - -SurfaceModifierData 152 - - ModifierData modifier 0 112 - MVert *x 112 8 - MVert *v 120 8 - DerivedMesh *dm 128 8 - BVHTreeFromMesh *bvhtree 136 8 - int cfra 144 4 - int numverts 148 4 - -BooleanModifierData 128 - - ModifierData modifier 0 112 - Object *object 112 8 - int operation 120 4 - int pad 124 4 - -MDefInfluence 8 - - int vertex 0 4 - float weight 4 4 - -MDefCell 8 - - int offset 0 4 - int totinfluence 4 4 - -MeshDeformModifierData 360 - - ModifierData modifier 0 112 - Object *object 112 8 - char defgrp_name 120 64 - short gridsize 184 2 - short flag 186 2 - short mode 188 2 - short pad 190 2 - MDefInfluence *bindinfluences 192 8 - int *bindoffsets 200 8 - float *bindcagecos 208 8 - int totvert 216 4 - int totcagevert 220 4 - MDefCell *dyngrid 224 8 - MDefInfluence *dyninfluences 232 8 - int *dynverts 240 8 - int *pad2 248 8 - int dyngridsize 256 4 - int totinfluence 260 4 - float dyncellmin 264 12 - float dyncellwidth 276 4 - float bindmat 280 64 - float *bindweights 344 8 - float *bindcos 352 8 - void (*bindfunc)() 360 0 - -ParticleSystemModifierData 144 - - ModifierData modifier 0 112 - ParticleSystem *psys 112 8 - DerivedMesh *dm 120 8 - int totdmvert 128 4 - int totdmedge 132 4 - int totdmface 136 4 - short flag 140 2 - short rt 142 2 - -ParticleInstanceModifierData 136 - - ModifierData modifier 0 112 - Object *ob 112 8 - short psys 120 2 - short flag 122 2 - short axis 124 2 - short rt 126 2 - float position 128 4 - float random_position 132 4 - -ExplodeModifierData 192 - - ModifierData modifier 0 112 - int *facepa 112 8 - short flag 120 2 - short vgroup 122 2 - float protect 124 4 - char uvname 128 64 - -MultiresModifierData 120 - - ModifierData modifier 0 112 - char lvl 112 1 - char sculptlvl 113 1 - char renderlvl 114 1 - char totlvl 115 1 - char simple 116 1 - char flags 117 1 - char pad 118 2 - -FluidsimModifierData 128 - - ModifierData modifier 0 112 - FluidsimSettings *fss 112 8 - PointCache *point_cache 120 8 - -ShrinkwrapModifierData 208 - - ModifierData modifier 0 112 - Object *target 112 8 - Object *auxTarget 120 8 - char vgroup_name 128 64 - float keepDist 192 4 - short shrinkType 196 2 - short shrinkOpts 198 2 - float projLimit 200 4 - char projAxis 204 1 - char subsurfLevels 205 1 - char pad 206 2 - -SimpleDeformModifierData 200 - - ModifierData modifier 0 112 - Object *origin 112 8 - char vgroup_name 120 64 - float factor 184 4 - float limit 188 8 - char mode 196 1 - char axis 197 1 - char pad 198 2 - -ShapeKeyModifierData 112 - - ModifierData modifier 0 112 - -SolidifyModifierData 216 - - ModifierData modifier 0 112 - char defgrp_name 112 64 - float offset 176 4 - float offset_fac 180 4 - float offset_fac_vg 184 4 - float offset_clamp 188 4 - float pad 192 4 - float crease_inner 196 4 - float crease_outer 200 4 - float crease_rim 204 4 - int flag 208 4 - short mat_ofs 212 2 - short mat_ofs_rim 214 2 - -ScrewModifierData 144 - - ModifierData modifier 0 112 - Object *ob_axis 112 8 - int steps 120 4 - int render_steps 124 4 - int iter 128 4 - float screw_ofs 132 4 - float angle 136 4 - short axis 140 2 - short flag 142 2 - -OceanModifierData 1296 - - ModifierData modifier 0 112 - Ocean *ocean 112 8 - OceanCache *oceancache 120 8 - int resolution 128 4 - int spatial_size 132 4 - float wind_velocity 136 4 - float damp 140 4 - float smallest_wave 144 4 - float depth 148 4 - float wave_alignment 152 4 - float wave_direction 156 4 - float wave_scale 160 4 - float chop_amount 164 4 - float foam_coverage 168 4 - float time 172 4 - int bakestart 176 4 - int bakeend 180 4 - char cachepath 184 1024 - char foamlayername 1208 64 - char cached 1272 1 - char geometry_mode 1273 1 - char flag 1274 1 - char refresh 1275 1 - short repeat_x 1276 2 - short repeat_y 1278 2 - int seed 1280 4 - float size 1284 4 - float foam_fade 1288 4 - int pad 1292 4 - -WarpModifierData 304 - - ModifierData modifier 0 112 - Tex *texture 112 8 - Object *map_object 120 8 - char uvlayer_name 128 64 - int uvlayer_tmp 192 4 - int texmapping 196 4 - Object *object_from 200 8 - Object *object_to 208 8 - CurveMapping *curfalloff 216 8 - char defgrp_name 224 64 - float strength 288 4 - float falloff_radius 292 4 - char flag 296 1 - char falloff_type 297 1 - char pad 298 6 - -WeightVGEditModifierData 360 - - ModifierData modifier 0 112 - char defgrp_name 112 64 - short edit_flags 176 2 - short falloff_type 178 2 - float default_weight 180 4 - CurveMapping *cmap_curve 184 8 - float add_threshold 192 4 - float rem_threshold 196 4 - float mask_constant 200 4 - char mask_defgrp_name 204 64 - int mask_tex_use_channel 268 4 - Tex *mask_texture 272 8 - Object *mask_tex_map_obj 280 8 - int mask_tex_mapping 288 4 - char mask_tex_uvlayer_name 292 64 - int pad_i1 356 4 - -WeightVGMixModifierData 416 - - ModifierData modifier 0 112 - char defgrp_name_a 112 64 - char defgrp_name_b 176 64 - float default_weight_a 240 4 - float default_weight_b 244 4 - char mix_mode 248 1 - char mix_set 249 1 - char pad_c1 250 6 - float mask_constant 256 4 - char mask_defgrp_name 260 64 - int mask_tex_use_channel 324 4 - Tex *mask_texture 328 8 - Object *mask_tex_map_obj 336 8 - int mask_tex_mapping 344 4 - char mask_tex_uvlayer_name 348 64 - int pad_i1 412 4 - -WeightVGProximityModifierData 360 - - ModifierData modifier 0 112 - char defgrp_name 112 64 - int proximity_mode 176 4 - int proximity_flags 180 4 - Object *proximity_ob_target 184 8 - float mask_constant 192 4 - char mask_defgrp_name 196 64 - int mask_tex_use_channel 260 4 - Tex *mask_texture 264 8 - Object *mask_tex_map_obj 272 8 - int mask_tex_mapping 280 4 - char mask_tex_uvlayer_name 284 64 - float min_dist 348 4 - float max_dist 352 4 - short falloff_type 356 2 - short pad_s1 358 2 - -DynamicPaintModifierData 136 - - ModifierData modifier 0 112 - DynamicPaintCanvasSettings *canvas 112 8 - DynamicPaintBrushSettings *brush 120 8 - int type 128 4 - int pad 132 4 - -RemeshModifierData 128 - - ModifierData modifier 0 112 - float threshold 112 4 - float scale 116 4 - float hermite_num 120 4 - char depth 124 1 - char flag 125 1 - char mode 126 1 - char pad 127 1 - -SkinModifierData 120 - - ModifierData modifier 0 112 - float branch_smoothing 112 4 - char flag 116 1 - char symmetry_axes 117 1 - char pad 118 2 - -TriangulateModifierData 120 - - ModifierData modifier 0 112 - int flag 112 4 - int pad 116 4 - -LaplacianSmoothModifierData 192 - - ModifierData modifier 0 112 - float lambda 112 4 - float lambda_border 116 4 - float pad1 120 4 - char defgrp_name 124 64 - short flag 188 2 - short repeat 190 2 - -UVWarpModifierData 400 - - ModifierData modifier 0 112 - char axis_u 112 1 - char axis_v 113 1 - char pad 114 6 - float center 120 8 - Object *object_src 128 8 - char bone_src 136 64 - Object *object_dst 200 8 - char bone_dst 208 64 - char vgroup_name 272 64 - char uvlayer_name 336 64 - -MeshCacheModifierData 1176 - - ModifierData modifier 0 112 - char flag 112 1 - char type 113 1 - char time_mode 114 1 - char play_mode 115 1 - char forward_axis 116 1 - char up_axis 117 1 - char flip_axis 118 1 - char interp 119 1 - float factor 120 4 - char deform_mode 124 1 - char pad 125 7 - float frame_start 132 4 - float frame_scale 136 4 - float eval_frame 140 4 - float eval_time 144 4 - float eval_factor 148 4 - char filepath 152 1024 - -EditLatt 16 - - Lattice *latt 0 8 - int shapenr 8 4 - char pad 12 4 - -Lattice 280 - - ID id 0 120 - AnimData *adt 120 8 - short pntsu 128 2 - short pntsv 130 2 - short pntsw 132 2 - short flag 134 2 - short opntsu 136 2 - short opntsv 138 2 - short opntsw 140 2 - short pad2 142 2 - char typeu 144 1 - char typev 145 1 - char typew 146 1 - char pad3 147 1 - int actbp 148 4 - float fu 152 4 - float fv 156 4 - float fw 160 4 - float du 164 4 - float dv 168 4 - float dw 172 4 - BPoint *def 176 8 - Ipo *ipo 184 8 - Key *key 192 8 - MDeformVert *dvert 200 8 - char vgroup 208 64 - EditLatt *editlatt 272 8 - -bDeformGroup 88 - - bDeformGroup *next 0 8 - bDeformGroup *prev 8 8 - char name 16 64 - char flag 80 1 - char pad 81 7 - -BoundBox 104 - - float vec 0 96 - int flag 96 4 - int pad 100 4 - -Object 1416 - - ID id 0 120 - AnimData *adt 120 8 - SculptSession *sculpt 128 8 - short type 136 2 - short partype 138 2 - int par1 140 4 - int par2 144 4 - int par3 148 4 - char parsubstr 152 64 - Object *parent 216 8 - Object *track 224 8 - Object *proxy 232 8 - Object *proxy_group 240 8 - Object *proxy_from 248 8 - Ipo *ipo 256 8 - BoundBox *bb 264 8 - bAction *action 272 8 - bAction *poselib 280 8 - bPose *pose 288 8 - void *data 296 8 - bGPdata *gpd 304 8 - bAnimVizSettings avs 312 48 - bMotionPath *mpath 360 8 - ListBase constraintChannels 368 16 - ListBase effect 384 16 - ListBase defbase 400 16 - ListBase modifiers 416 16 - int mode 432 4 - int restore_mode 436 4 - Material **mat 440 8 - char *matbits 448 8 - int totcol 456 4 - int actcol 460 4 - float loc 464 12 - float dloc 476 12 - float orig 488 12 - float size 500 12 - float dsize 512 12 - float dscale 524 12 - float rot 536 12 - float drot 548 12 - float quat 560 16 - float dquat 576 16 - float rotAxis 592 12 - float drotAxis 604 12 - float rotAngle 616 4 - float drotAngle 620 4 - float obmat 624 64 - float parentinv 688 64 - float constinv 752 64 - float imat 816 64 - float imat_ren 880 64 - int lay 944 4 - float sf 948 4 - short flag 952 2 - short colbits 954 2 - short transflag 956 2 - short protectflag 958 2 - short trackflag 960 2 - short upflag 962 2 - short nlaflag 964 2 - short ipoflag 966 2 - short scaflag 968 2 - char scavisflag 970 1 - char depsflag 971 1 - int dupon 972 4 - int dupoff 976 4 - int dupsta 980 4 - int dupend 984 4 - float mass 988 4 - float damping 992 4 - float inertia 996 4 - float formfactor 1000 4 - float rdamping 1004 4 - float sizefac 1008 4 - float margin 1012 4 - float max_vel 1016 4 - float min_vel 1020 4 - float m_contactProcessingThreshold 1024 4 - float obstacleRad 1028 4 - float step_height 1032 4 - float jump_speed 1036 4 - float fall_speed 1040 4 - short col_group 1044 2 - short col_mask 1046 2 - short rotmode 1048 2 - char boundtype 1050 1 - char collision_boundtype 1051 1 - short dtx 1052 2 - char dt 1054 1 - char empty_drawtype 1055 1 - float empty_drawsize 1056 4 - float dupfacesca 1060 4 - ListBase prop 1064 16 - ListBase sensors 1080 16 - ListBase controllers 1096 16 - ListBase actuators 1112 16 - float bbsize 1128 12 - short index 1140 2 - short actdef 1142 2 - float col 1144 16 - int gameflag 1160 4 - int gameflag2 1164 4 - BulletSoftBody *bsoft 1168 8 - char restrictflag 1176 1 - char recalc 1177 1 - short softflag 1178 2 - float anisotropicFriction 1180 12 - ListBase constraints 1192 16 - ListBase nlastrips 1208 16 - ListBase hooks 1224 16 - ListBase particlesystem 1240 16 - PartDeflect *pd 1256 8 - SoftBody *soft 1264 8 - Group *dup_group 1272 8 - char body_type 1280 1 - char shapeflag 1281 1 - short shapenr 1282 2 - float smoothresh 1284 4 - FluidsimSettings *fluidsimSettings 1288 8 - DerivedMesh *derivedDeform 1296 8 - DerivedMesh *derivedFinal 1304 8 - int *pad 1312 8 - uint64_t lastDataMask 1320 8 - uint64_t customdata_mask 1328 8 - int state 1336 4 - int init_state 1340 4 - ListBase gpulamp 1344 16 - ListBase pc_ids 1360 16 - ListBase *duplilist 1376 8 - RigidBodyOb *rigidbody_object 1384 8 - RigidBodyCon *rigidbody_constraint 1392 8 - float ima_ofs 1400 8 - CurveCache *curve_cache 1408 8 - -ObHook 256 - - ObHook *next 0 8 - ObHook *prev 8 8 - Object *parent 16 8 - float parentinv 24 64 - float mat 88 64 - float cent 152 12 - float falloff 164 4 - char name 168 64 - int *indexar 232 8 - int totindex 240 4 - int curindex 244 4 - short type 248 2 - short active 250 2 - float force 252 4 - -DupliObject 224 - - DupliObject *next 0 8 - DupliObject *prev 8 8 - Object *ob 16 8 - int origlay 24 4 - int pad 28 4 - float mat 32 64 - float omat 96 64 - float orco 160 12 - float uv 172 8 - short type 180 2 - char no_draw 182 1 - char animated 183 1 - int persistent_id 184 32 - ParticleSystem *particle_system 216 8 - -PartDeflect 160 - - int flag 0 4 - short deflect 4 2 - short forcefield 6 2 - short falloff 8 2 - short shape 10 2 - short tex_mode 12 2 - short kink 14 2 - short kink_axis 16 2 - short zdir 18 2 - float f_strength 20 4 - float f_damp 24 4 - float f_flow 28 4 - float f_size 32 4 - float f_power 36 4 - float maxdist 40 4 - float mindist 44 4 - float f_power_r 48 4 - float maxrad 52 4 - float minrad 56 4 - float pdef_damp 60 4 - float pdef_rdamp 64 4 - float pdef_perm 68 4 - float pdef_frict 72 4 - float pdef_rfrict 76 4 - float pdef_stickness 80 4 - float absorption 84 4 - float pdef_sbdamp 88 4 - float pdef_sbift 92 4 - float pdef_sboft 96 4 - float clump_fac 100 4 - float clump_pow 104 4 - float kink_freq 108 4 - float kink_shape 112 4 - float kink_amp 116 4 - float free_end 120 4 - float tex_nabla 124 4 - Tex *tex 128 8 - RNG *rng 136 8 - float f_noise 144 4 - int seed 148 4 - Object *f_source 152 8 - -EffectorWeights 80 - - Group *group 0 8 - float weight 8 56 - float global_gravity 64 4 - short flag 68 2 - short rt 70 6 - int pad 76 4 - -PTCacheExtra 32 - - PTCacheExtra *next 0 8 - PTCacheExtra *prev 8 8 - int type 16 4 - int totdata 20 4 - void *data 24 8 - -PTCacheMem 176 - - PTCacheMem *next 0 8 - PTCacheMem *prev 8 8 - int frame 16 4 - int totpoint 20 4 - int data_types 24 4 - int flag 28 4 - void *data 32 64 - void *cur 96 64 - ListBase extradata 160 16 - -PointCache 1312 - - PointCache *next 0 8 - PointCache *prev 8 8 - int flag 16 4 - int step 20 4 - int simframe 24 4 - int startframe 28 4 - int endframe 32 4 - int editframe 36 4 - int last_exact 40 4 - int last_valid 44 4 - int pad 48 4 - int totpoint 52 4 - int index 56 4 - short compression 60 2 - short rt 62 2 - char name 64 64 - char prev_name 128 64 - char info 192 64 - char path 256 1024 - char *cached_frames 1280 8 - ListBase mem_cache 1288 16 - PTCacheEdit *edit 1304 8 - void (*free_edit)() 1312 0 - -SBVertex 16 - - float vec 0 16 - -BulletSoftBody 120 - - int flag 0 4 - float linStiff 4 4 - float angStiff 8 4 - float volume 12 4 - int viterations 16 4 - int piterations 20 4 - int diterations 24 4 - int citerations 28 4 - float kSRHR_CL 32 4 - float kSKHR_CL 36 4 - float kSSHR_CL 40 4 - float kSR_SPLT_CL 44 4 - float kSK_SPLT_CL 48 4 - float kSS_SPLT_CL 52 4 - float kVCF 56 4 - float kDP 60 4 - float kDG 64 4 - float kLF 68 4 - float kPR 72 4 - float kVC 76 4 - float kDF 80 4 - float kMT 84 4 - float kCHR 88 4 - float kKHR 92 4 - float kSHR 96 4 - float kAHR 100 4 - int collisionflags 104 4 - int numclusteriterations 108 4 - float welding 112 4 - float margin 116 4 - -SoftBody 472 - - int totpoint 0 4 - int totspring 4 4 - BodyPoint *bpoint 8 8 - BodySpring *bspring 16 8 - char pad 24 1 - char msg_lock 25 1 - short msg_value 26 2 - float nodemass 28 4 - char namedVG_Mass 32 64 - float grav 96 4 - float mediafrict 100 4 - float rklimit 104 4 - float physics_speed 108 4 - float goalspring 112 4 - float goalfrict 116 4 - float mingoal 120 4 - float maxgoal 124 4 - float defgoal 128 4 - short vertgroup 132 2 - char namedVG_Softgoal 134 64 - short fuzzyness 198 2 - float inspring 200 4 - float infrict 204 4 - char namedVG_Spring_K 208 64 - int sfra 272 4 - int efra 276 4 - int interval 280 4 - short local 284 2 - short solverflags 286 2 - SBVertex **keys 288 8 - int totpointkey 296 4 - int totkey 300 4 - float secondspring 304 4 - float colball 308 4 - float balldamp 312 4 - float ballstiff 316 4 - short sbc_mode 320 2 - short aeroedge 322 2 - short minloops 324 2 - short maxloops 326 2 - short choke 328 2 - short solver_ID 330 2 - short plastic 332 2 - short springpreload 334 2 - SBScratch *scratch 336 8 - float shearstiff 344 4 - float inpush 348 4 - PointCache *pointcache 352 8 - ListBase ptcaches 360 16 - EffectorWeights *effector_weights 376 8 - float lcom 384 12 - float lrot 396 36 - float lscale 432 36 - int last_frame 468 4 - -FluidVertexVelocity 12 - - float vel 0 12 - -FluidsimSettings 1256 - - FluidsimModifierData *fmd 0 8 - int threads 8 4 - int pad1 12 4 - short type 16 2 - short show_advancedoptions 18 2 - short resolutionxyz 20 2 - short previewresxyz 22 2 - float realsize 24 4 - short guiDisplayMode 28 2 - short renderDisplayMode 30 2 - float viscosityValue 32 4 - short viscosityMode 36 2 - short viscosityExponent 38 2 - float grav 40 12 - float animStart 52 4 - float animEnd 56 4 - int bakeStart 60 4 - int bakeEnd 64 4 - int frameOffset 68 4 - int pad2 72 4 - float gstar 76 4 - int maxRefine 80 4 - float iniVelx 84 4 - float iniVely 88 4 - float iniVelz 92 4 - Mesh *orgMesh 96 8 - Mesh *meshBB 104 8 - char surfdataPath 112 1024 - float bbStart 1136 12 - float bbSize 1148 12 - Ipo *ipo 1160 8 - short typeFlags 1168 2 - char domainNovecgen 1170 1 - char volumeInitType 1171 1 - float partSlipValue 1172 4 - int generateTracers 1176 4 - float generateParticles 1180 4 - float surfaceSmoothing 1184 4 - int surfaceSubdivs 1188 4 - int flag 1192 4 - float particleInfSize 1196 4 - float particleInfAlpha 1200 4 - float farFieldSize 1204 4 - FluidVertexVelocity *meshVelocities 1208 8 - int totvert 1216 4 - float cpsTimeStart 1220 4 - float cpsTimeEnd 1224 4 - float cpsQuality 1228 4 - float attractforceStrength 1232 4 - float attractforceRadius 1236 4 - float velocityforceStrength 1240 4 - float velocityforceRadius 1244 4 - int lastgoodframe 1248 4 - float animRate 1252 4 - -World 528 - - ID id 0 120 - AnimData *adt 120 8 - short colormodel 128 2 - short totex 130 2 - short texact 132 2 - short mistype 134 2 - float horr 136 4 - float horg 140 4 - float horb 144 4 - float zenr 148 4 - float zeng 152 4 - float zenb 156 4 - float ambr 160 4 - float ambg 164 4 - float ambb 168 4 - float exposure 172 4 - float exp 176 4 - float range 180 4 - float linfac 184 4 - float logfac 188 4 - float gravity 192 4 - float activityBoxRadius 196 4 - short skytype 200 2 - short mode 202 2 - short occlusionRes 204 2 - short physicsEngine 206 2 - short ticrate 208 2 - short maxlogicstep 210 2 - short physubstep 212 2 - short maxphystep 214 2 - float misi 216 4 - float miststa 220 4 - float mistdist 224 4 - float misthi 228 4 - float starr 232 4 - float starg 236 4 - float starb 240 4 - float stark 244 4 - float starsize 248 4 - float starmindist 252 4 - float stardist 256 4 - float starcolnoise 260 4 - short dofsta 264 2 - short dofend 266 2 - short dofmin 268 2 - short dofmax 270 2 - float aodist 272 4 - float aodistfac 276 4 - float aoenergy 280 4 - float aobias 284 4 - short aomode 288 2 - short aosamp 290 2 - short aomix 292 2 - short aocolor 294 2 - float ao_adapt_thresh 296 4 - float ao_adapt_speed_fac 300 4 - float ao_approx_error 304 4 - float ao_approx_correction 308 4 - float ao_indirect_energy 312 4 - float ao_env_energy 316 4 - float ao_pad2 320 4 - short ao_indirect_bounces 324 2 - short ao_pad 326 2 - short ao_samp_method 328 2 - short ao_gather_method 330 2 - short ao_approx_passes 332 2 - short flag 334 2 - float *aosphere 336 8 - float *aotables 344 8 - Ipo *ipo 352 8 - MTex *mtex 360 144 - short pr_texture 504 2 - short use_nodes 506 2 - short pad 508 4 - PreviewImage *preview 512 8 - bNodeTree *nodetree 520 8 - -Base 40 - - Base *next 0 8 - Base *prev 8 8 - int lay 16 4 - int selcol 20 4 - int flag 24 4 - short sx 28 2 - short sy 30 2 - Object *object 32 8 - -AviCodecData 184 - - void *lpFormat 0 8 - void *lpParms 8 8 - int cbFormat 16 4 - int cbParms 20 4 - int fccType 24 4 - int fccHandler 28 4 - int dwKeyFrameEvery 32 4 - int dwQuality 36 4 - int dwBytesPerSecond 40 4 - int dwFlags 44 4 - int dwInterleaveEvery 48 4 - int pad 52 4 - char avicodecname 56 128 - -QuicktimeCodecData 152 - - void *cdParms 0 8 - void *pad 8 8 - int cdSize 16 4 - int pad2 20 4 - char qtcodecname 24 128 - -QuicktimeCodecSettings 64 - - int codecType 0 4 - int codecSpatialQuality 4 4 - int codec 8 4 - int codecFlags 12 4 - int colorDepth 16 4 - int codecTemporalQuality 20 4 - int minSpatialQuality 24 4 - int minTemporalQuality 28 4 - int keyFrameRate 32 4 - int bitRate 36 4 - int audiocodecType 40 4 - int audioSampleRate 44 4 - short audioBitDepth 48 2 - short audioChannels 50 2 - int audioCodecFlags 52 4 - int audioBitRate 56 4 - int pad1 60 4 - -FFMpegCodecData 72 - - int type 0 4 - int codec 4 4 - int audio_codec 8 4 - int video_bitrate 12 4 - int audio_bitrate 16 4 - int audio_mixrate 20 4 - int audio_channels 24 4 - int audio_pad 28 4 - float audio_volume 32 4 - int gop_size 36 4 - int flags 40 4 - int rc_min_rate 44 4 - int rc_max_rate 48 4 - int rc_buffer_size 52 4 - int mux_packet_size 56 4 - int mux_rate 60 4 - IDProperty *properties 64 8 - -AudioData 32 - - int mixrate 0 4 - float main 4 4 - float speed_of_sound 8 4 - float doppler_factor 12 4 - int distance_model 16 4 - short flag 20 2 - short pad 22 2 - float volume 24 4 - float pad2 28 4 - -SceneRenderLayer 184 - - SceneRenderLayer *next 0 8 - SceneRenderLayer *prev 8 8 - char name 16 64 - Material *mat_override 80 8 - Group *light_override 88 8 - int lay 96 4 - int lay_zmask 100 4 - int lay_exclude 104 4 - int layflag 108 4 - int passflag 112 4 - int pass_xor 116 4 - int samples 120 4 - int pad 124 4 - FreestyleConfig freestyleConfig 128 56 - -ImageFormatData 248 - - char imtype 0 1 - char depth 1 1 - char planes 2 1 - char flag 3 1 - char quality 4 1 - char compress 5 1 - char exr_codec 6 1 - char cineon_flag 7 1 - short cineon_white 8 2 - short cineon_black 10 2 - float cineon_gamma 12 4 - char jp2_flag 16 1 - char jp2_codec 17 1 - char pad 18 6 - ColorManagedViewSettings view_settings 24 160 - ColorManagedDisplaySettings display_settings 184 64 - -RenderData 2608 - - ImageFormatData im_format 0 248 - AviCodecData *avicodecdata 248 8 - QuicktimeCodecData *qtcodecdata 256 8 - QuicktimeCodecSettings qtcodecsettings 264 64 - FFMpegCodecData ffcodecdata 328 72 - int cfra 400 4 - int sfra 404 4 - int efra 408 4 - float subframe 412 4 - int psfra 416 4 - int pefra 420 4 - int images 424 4 - int framapto 428 4 - short flag 432 2 - short threads 434 2 - float framelen 436 4 - float blurfac 440 4 - float edgeR 444 4 - float edgeG 448 4 - float edgeB 452 4 - short fullscreen 456 2 - short xplay 458 2 - short yplay 460 2 - short freqplay 462 2 - short depth 464 2 - short attrib 466 2 - int frame_step 468 4 - short stereomode 472 2 - short dimensionspreset 474 2 - short filtertype 476 2 - short size 478 2 - short maximsize 480 2 - short pad6 482 2 - int xsch 484 4 - int ysch 488 4 - short xparts 492 2 - short yparts 494 2 - int tilex 496 4 - int tiley 500 4 - short planes 504 2 - short imtype 506 2 - short subimtype 508 2 - short quality 510 2 - short displaymode 512 2 - short pad7 514 2 - int scemode 516 4 - int mode 520 4 - int raytrace_options 524 4 - short raytrace_structure 528 2 - short pad1 530 2 - short ocres 532 2 - short pad4 534 2 - short alphamode 536 2 - short osa 538 2 - short frs_sec 540 2 - short edgeint 542 2 - rctf safety 544 16 - rctf border 560 16 - rcti disprect 576 16 - ListBase layers 592 16 - short actlay 608 2 - short mblur_samples 610 2 - float xasp 612 4 - float yasp 616 4 - float frs_sec_base 620 4 - float gauss 624 4 - int color_mgt_flag 628 4 - float postgamma 632 4 - float posthue 636 4 - float postsat 640 4 - float dither_intensity 644 4 - short bake_osa 648 2 - short bake_filter 650 2 - short bake_mode 652 2 - short bake_flag 654 2 - short bake_normal_space 656 2 - short bake_quad_split 658 2 - float bake_maxdist 660 4 - float bake_biasdist 664 4 - short bake_samples 668 2 - short bake_pad 670 2 - char pic 672 1024 - int stamp 1696 4 - short stamp_font_id 1700 2 - short pad3 1702 2 - char stamp_udata 1704 768 - float fg_stamp 2472 16 - float bg_stamp 2488 16 - char seq_prev_type 2504 1 - char seq_rend_type 2505 1 - char seq_flag 2506 1 - char pad5 2507 5 - int simplify_flag 2512 4 - short simplify_subsurf 2516 2 - short simplify_shadowsamples 2518 2 - float simplify_particles 2520 4 - float simplify_aosss 2524 4 - short cineonwhite 2528 2 - short cineonblack 2530 2 - float cineongamma 2532 4 - short jp2_preset 2536 2 - short jp2_depth 2538 2 - int rpad3 2540 4 - short domeres 2544 2 - short domemode 2546 2 - short domeangle 2548 2 - short dometilt 2550 2 - float domeresbuf 2552 4 - float pad2 2556 4 - Text *dometext 2560 8 - int line_thickness_mode 2568 4 - float unit_line_thickness 2572 4 - char engine 2576 32 - -RenderProfile 64 - - RenderProfile *next 0 8 - RenderProfile *prev 8 8 - char name 16 32 - short particle_perc 48 2 - short subsurf_max 50 2 - short shadbufsample_max 52 2 - short pad1 54 2 - float ao_error 56 4 - float pad2 60 4 - -GameDome 24 - - short res 0 2 - short mode 2 2 - short angle 4 2 - short tilt 6 2 - float resbuf 8 4 - float pad2 12 4 - Text *warptext 16 8 - -GameFraming 16 - - float col 0 12 - char type 12 1 - char pad1 13 1 - char pad2 14 1 - char pad3 15 1 - -RecastData 56 - - float cellsize 0 4 - float cellheight 4 4 - float agentmaxslope 8 4 - float agentmaxclimb 12 4 - float agentheight 16 4 - float agentradius 20 4 - float edgemaxlen 24 4 - float edgemaxerror 28 4 - float regionminsize 32 4 - float regionmergesize 36 4 - int vertsperpoly 40 4 - float detailsampledist 44 4 - float detailsamplemaxerror 48 4 - short pad1 52 2 - short pad2 54 2 - -GameData 184 - - GameFraming framing 0 16 - short playerflag 16 2 - short xplay 18 2 - short yplay 20 2 - short freqplay 22 2 - short depth 24 2 - short attrib 26 2 - short rt1 28 2 - short rt2 30 2 - short aasamples 32 2 - short pad4 34 6 - GameDome dome 40 24 - short stereoflag 64 2 - short stereomode 66 2 - float eyeseparation 68 4 - RecastData recastData 72 56 - float gravity 128 4 - float activityBoxRadius 132 4 - int flag 136 4 - short mode 140 2 - short matmode 142 2 - short occlusionRes 144 2 - short physicsEngine 146 2 - short exitkey 148 2 - short vsync 150 2 - short ticrate 152 2 - short maxlogicstep 154 2 - short physubstep 156 2 - short maxphystep 158 2 - short obstacleSimulation 160 2 - short raster_storage 162 2 - float levelHeight 164 4 - float deactivationtime 168 4 - float lineardeactthreshold 172 4 - float angulardeactthreshold 176 4 - float pad2 180 4 - -TimeMarker 96 - - TimeMarker *next 0 8 - TimeMarker *prev 8 8 - int frame 16 4 - char name 20 64 - int flag 84 4 - Object *camera 88 8 - -Paint 32 - - Brush *brush 0 8 - void *paint_cursor 8 8 - char paint_cursor_col 16 4 - int flags 20 4 - int num_input_samples 24 4 - int pad 28 4 - -ImagePaintSettings 56 - - Paint paint 0 32 - short flag 32 2 - short pad 34 2 - short seam_bleed 36 2 - short normal_angle 38 2 - short screen_grab_size 40 4 - int pad1 44 4 - void *paintcursor 48 8 - -ParticleBrushData 16 - - short size 0 2 - short step 2 2 - short invert 4 2 - short count 6 2 - int flag 8 4 - float strength 12 4 - -ParticleEditSettings 168 - - short flag 0 2 - short totrekey 2 2 - short totaddkey 4 2 - short brushtype 6 2 - ParticleBrushData brush 8 112 - void *paintcursor 120 8 - float emitterdist 128 4 - float rt 132 4 - int selectmode 136 4 - int edittype 140 4 - int draw_step 144 4 - int fade_frames 148 4 - Scene *scene 152 8 - Object *object 160 8 - -Sculpt 56 - - Paint paint 0 32 - int flags 32 4 - int radial_symm 36 12 - int detail_size 48 4 - int symmetrize_direction 52 4 - -UvSculpt 32 - - Paint paint 0 32 - -VPaint 64 - - Paint paint 0 32 - short flag 32 2 - short pad 34 2 - int tot 36 4 - int *vpaint_prev 40 8 - MDeformVert *wpaint_prev 48 8 - void *paintcursor 56 8 - -TransformOrientation 120 - - TransformOrientation *next 0 8 - TransformOrientation *prev 8 8 - char name 16 64 - float mat 80 36 - int pad 116 4 - -UnifiedPaintSettings 80 - - int size 0 4 - float unprojected_radius 4 4 - float alpha 8 4 - float weight 12 4 - int flag 16 4 - float last_rake 20 8 - int pad 28 4 - float brush_rotation 32 4 - int draw_anchored 36 4 - int anchored_size 40 4 - float anchored_initial_mouse 44 8 - int draw_pressure 52 4 - float pressure_value 56 4 - float tex_mouse 60 8 - float mask_tex_mouse 68 8 - float pixel_radius 76 4 - -MeshStatVis 40 - - char type 0 1 - char _pad1 1 2 - char overhang_axis 3 1 - float overhang_min 4 4 - float overhang_max 8 4 - float thickness_min 12 4 - float thickness_max 16 4 - char thickness_samples 20 1 - char _pad2 21 3 - float distort_min 24 4 - float distort_max 28 4 - float sharp_min 32 4 - float sharp_max 36 4 - -ToolSettings 600 - - VPaint *vpaint 0 8 - VPaint *wpaint 8 8 - Sculpt *sculpt 16 8 - UvSculpt *uvsculpt 24 8 - float vgroup_weight 32 4 - short cornertype 36 2 - short pad1 38 2 - float jointrilimit 40 4 - float degr 44 4 - short step 48 2 - short turn 50 2 - float extr_offs 52 4 - float doublimit 56 4 - float normalsize 60 4 - short automerge 64 2 - short selectmode 66 2 - short segments 68 2 - short rings 70 2 - short vertices 72 2 - short unwrapper 74 2 - float uvcalc_radius 76 4 - float uvcalc_cubesize 80 4 - float uvcalc_margin 84 4 - short uvcalc_mapdir 88 2 - short uvcalc_mapalign 90 2 - short uvcalc_flag 92 2 - short uv_flag 94 2 - short uv_selectmode 96 2 - short pad2 98 2 - short gpencil_flags 100 2 - short autoik_chainlen 102 2 - ImagePaintSettings imapaint 104 56 - ParticleEditSettings particle 160 168 - float proportional_size 328 4 - float select_thresh 332 4 - float clean_thresh 336 4 - short autokey_mode 340 2 - short autokey_flag 342 2 - char multires_subdiv_type 344 1 - char pad3 345 5 - short skgen_resolution 350 2 - float skgen_threshold_internal 352 4 - float skgen_threshold_external 356 4 - float skgen_length_ratio 360 4 - float skgen_length_limit 364 4 - float skgen_angle_limit 368 4 - float skgen_correlation_limit 372 4 - float skgen_symmetry_limit 376 4 - float skgen_retarget_angle_weight 380 4 - float skgen_retarget_length_weight 384 4 - float skgen_retarget_distance_weight 388 4 - short skgen_options 392 2 - char skgen_postpro 394 1 - char skgen_postpro_passes 395 1 - char skgen_subdivisions 396 3 - char skgen_multi_level 399 1 - Object *skgen_template 400 8 - char bone_sketching 408 1 - char bone_sketching_convert 409 1 - char skgen_subdivision_number 410 1 - char skgen_retarget_options 411 1 - char skgen_retarget_roll 412 1 - char skgen_side_string 413 8 - char skgen_num_string 421 8 - char edge_mode 429 1 - char edge_mode_live_unwrap 430 1 - char snap_mode 431 1 - char snap_node_mode 432 1 - char snap_uv_mode 433 1 - short snap_flag 434 2 - short snap_target 436 2 - short proportional 438 2 - short prop_mode 440 2 - char proportional_objects 442 1 - char proportional_mask 443 1 - char auto_normalize 444 1 - char multipaint 445 1 - char weightuser 446 1 - char vgroupsubset 447 1 - int use_uv_sculpt 448 4 - int uv_sculpt_settings 452 4 - int uv_sculpt_tool 456 4 - int uv_relax_method 460 4 - short sculpt_paint_settings 464 2 - short pad5 466 2 - int sculpt_paint_unified_size 468 4 - float sculpt_paint_unified_unprojected_radius 472 4 - float sculpt_paint_unified_alpha 476 4 - UnifiedPaintSettings unified_paint_settings 480 80 - MeshStatVis statvis 560 40 - -bStats 32 - - int totobj 0 4 - int totlamp 4 4 - int totobjsel 8 4 - int totcurve 12 4 - int totmesh 16 4 - int totarmature 20 4 - int totvert 24 4 - int totface 28 4 - -UnitSettings 8 - - float scale_length 0 4 - char system 4 1 - char system_rotation 5 1 - short flag 6 2 - -PhysicsSettings 24 - - float gravity 0 12 - int flag 12 4 - int quick_cache_step 16 4 - int rt 20 4 - -Scene 3584 - - ID id 0 120 - AnimData *adt 120 8 - Object *camera 128 8 - World *world 136 8 - Scene *set 144 8 - ListBase base 152 16 - Base *basact 168 8 - Object *obedit 176 8 - float cursor 184 12 - float twcent 196 12 - float twmin 208 12 - float twmax 220 12 - int lay 232 4 - int layact 236 4 - int lay_updated 240 4 - short flag 244 2 - short use_nodes 246 2 - bNodeTree *nodetree 248 8 - Editing *ed 256 8 - ToolSettings *toolsettings 264 8 - SceneStats *stats 272 8 - RenderData r 280 2608 - AudioData audio 2888 32 - ListBase markers 2920 16 - ListBase transform_spaces 2936 16 - void *sound_scene 2952 8 - void *sound_scene_handle 2960 8 - void *sound_scrub_handle 2968 8 - void *speaker_handles 2976 8 - void *fps_info 2984 8 - DagForest *theDag 2992 8 - short dagflags 3000 2 - short recalc 3002 2 - int active_keyingset 3004 4 - ListBase keyingsets 3008 16 - GameFraming framing 3024 16 - GameData gm 3040 184 - UnitSettings unit 3224 8 - bGPdata *gpd 3232 8 - PhysicsSettings physics_settings 3240 24 - MovieClip *clip 3264 8 - uint64_t customdata_mask 3272 8 - uint64_t customdata_mask_modal 3280 8 - ColorManagedViewSettings view_settings 3288 160 - ColorManagedDisplaySettings display_settings 3448 64 - ColorManagedColorspaceSettings sequencer_colorspace_settings 3512 64 - RigidBodyWorld *rigidbody_world 3576 8 - -BGpic 104 - - BGpic *next 0 8 - BGpic *prev 8 8 - Image *ima 16 8 - ImageUser iuser 24 40 - MovieClip *clip 64 8 - MovieClipUser cuser 72 8 - float xof 80 4 - float yof 84 4 - float size 88 4 - float blend 92 4 - short view 96 2 - short flag 98 2 - short source 100 2 - short pad 102 2 - -RegionView3D 896 - - float winmat 0 64 - float viewmat 64 64 - float viewinv 128 64 - float persmat 192 64 - float persinv 256 64 - float viewmatob 320 64 - float persmatob 384 64 - float clip 448 96 - float clip_local 544 96 - BoundBox *clipbb 640 8 - bGPdata *gpd 648 8 - RegionView3D *localvd 656 8 - RenderInfo *ri 664 8 - RenderEngine *render_engine 672 8 - ViewDepths *depths 680 8 - void *gpuoffscreen 688 8 - SmoothView3DStore *sms 696 8 - wmTimer *smooth_timer 704 8 - float twmat 712 64 - float viewquat 776 16 - float dist 792 4 - float camdx 796 4 - float camdy 800 4 - float pixsize 804 4 - float ofs 808 12 - float camzoom 820 4 - char is_persp 824 1 - char persp 825 1 - char view 826 1 - char viewlock 827 1 - char viewlock_quad 828 1 - char pad 829 3 - float ofs_lock 832 8 - short twdrawflag 840 2 - short rflag 842 2 - float lviewquat 844 16 - short lpersp 860 2 - short lview 862 2 - float gridview 864 4 - float twangle 868 12 - float rot_angle 880 4 - float rot_axis 884 12 - -View3D 376 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - float viewquat 56 16 - float dist 72 4 - float bundle_size 76 4 - char bundle_drawtype 80 1 - char pad 81 3 - int lay_prev 84 4 - int lay_used 88 4 - short persp 92 2 - short view 94 2 - Object *camera 96 8 - Object *ob_centre 104 8 - rctf render_border 112 16 - ListBase bgpicbase 128 16 - BGpic *bgpic 144 8 - View3D *localvd 152 8 - char ob_centre_bone 160 64 - int lay 224 4 - int layact 228 4 - short drawtype 232 2 - short ob_centre_cursor 234 2 - short scenelock 236 2 - short around 238 2 - short flag 240 2 - short flag2 242 2 - float lens 244 4 - float grid 248 4 - float near 252 4 - float far 256 4 - float ofs 260 12 - float cursor 272 12 - short matcap_icon 284 2 - short gridlines 286 2 - short gridsubdiv 288 2 - char gridflag 290 1 - char twtype 291 1 - char twmode 292 1 - char twflag 293 1 - char pad2 294 2 - ListBase afterdraw_transp 296 16 - ListBase afterdraw_xray 312 16 - ListBase afterdraw_xraytransp 328 16 - char zbuf 344 1 - char transp 345 1 - char xray 346 1 - char pad3 347 5 - void *properties_storage 352 8 - Material *defmaterial 360 8 - bGPdata *gpd 368 8 - -View2D 160 - - rctf tot 0 16 - rctf cur 16 16 - rcti vert 32 16 - rcti hor 48 16 - rcti mask 64 16 - float min 80 8 - float max 88 8 - float minzoom 96 4 - float maxzoom 100 4 - short scroll 104 2 - short scroll_ui 106 2 - short keeptot 108 2 - short keepzoom 110 2 - short keepofs 112 2 - short flag 114 2 - short align 116 2 - short winx 118 2 - short winy 120 2 - short oldwinx 122 2 - short oldwiny 124 2 - short around 126 2 - float *tab_offset 128 8 - int tab_num 136 4 - int tab_cur 140 4 - SmoothView2DStore *sms 144 8 - wmTimer *smooth_timer 152 8 - -SpaceLink 56 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - -SpaceInfo 64 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - char rpt_mask 56 1 - char pad 57 7 - -SpaceButs 272 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - short mainb 216 2 - short mainbo 218 2 - short mainbuser 220 2 - short re_align 222 2 - short align 224 2 - short preview 226 2 - short texture_context 228 2 - short texture_context_prev 230 2 - char flag 232 1 - char pad 233 7 - void *path 240 8 - int pathflag 248 4 - int dataicon 252 4 - ID *pinid 256 8 - void *texuser 264 8 - -SpaceOops 304 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - ListBase tree 216 16 - BLI_mempool *treestore 232 8 - char search_string 240 32 - TreeStoreElem search_tse 272 16 - short flag 288 2 - short outlinevis 290 2 - short storeflag 292 2 - short search_flags 294 2 - void *treehash 296 8 - -SpaceIpo 256 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - bDopeSheet *ads 216 8 - ListBase ghostCurves 224 16 - short mode 240 2 - short autosnap 242 2 - int flag 244 4 - float cursorVal 248 4 - int around 252 4 - -SpaceNla 232 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - short autosnap 56 2 - short flag 58 2 - int pad 60 4 - bDopeSheet *ads 64 8 - View2D v2d 72 160 - -SpaceTimeCache 24 - - SpaceTimeCache *next 0 8 - SpaceTimeCache *prev 8 8 - float *array 16 8 - -SpaceTime 224 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - View2D v2d 40 160 - ListBase caches 200 16 - int cache_display 216 4 - int flag 220 4 - -SpaceSeq 304 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - float xof 216 4 - float yof 220 4 - short mainb 224 2 - short render_size 226 2 - short chanshown 228 2 - short zebra 230 2 - int flag 232 4 - float zoom 236 4 - int view 240 4 - int overlay_type 244 4 - bGPdata *gpd 248 8 - SequencerScopes scopes 256 48 - -MaskSpaceInfo 16 - - Mask *mask 0 8 - char draw_flag 8 1 - char draw_type 9 1 - char pad3 10 6 - -FileSelectParams 2016 - - char title 0 96 - char dir 96 1056 - char file 1152 256 - char renamefile 1408 256 - char renameedit 1664 256 - char filter_glob 1920 64 - int active_file 1984 4 - int sel_first 1988 4 - int sel_last 1992 4 - short type 1996 2 - short flag 1998 2 - short sort 2000 2 - short display 2002 2 - short filter 2004 2 - short f_fp 2006 2 - char fp_str 2008 8 - -SpaceFile 104 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - int scroll_offset 36 4 - FileSelectParams *params 40 8 - FileList *files 48 8 - ListBase *folders_prev 56 8 - ListBase *folders_next 64 8 - wmOperator *op 72 8 - wmTimer *smoothscroll_timer 80 8 - FileLayout *layout 88 8 - short recentnr 96 2 - short bookmarknr 98 2 - short systemnr 100 2 - short pad2 102 2 - -SpaceImage 10584 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - int flag 36 4 - Image *image 40 8 - ImageUser iuser 48 40 - CurveMapping *cumap 88 8 - Scopes scopes 96 5264 - Histogram sample_line_hist 5360 5160 - bGPdata *gpd 10520 8 - float cursor 10528 8 - float xof 10536 4 - float yof 10540 4 - float zoom 10544 4 - float centx 10548 4 - float centy 10552 4 - char mode 10556 1 - char pin 10557 1 - short pad 10558 2 - short curtile 10560 2 - short lock 10562 2 - char dt_uv 10564 1 - char sticky 10565 1 - char dt_uvstretch 10566 1 - char around 10567 1 - MaskSpaceInfo mask_info 10568 16 - -SpaceText 672 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - Text *text 56 8 - int top 64 4 - int viewlines 68 4 - short flags 72 2 - short menunr 74 2 - short lheight 76 2 - char cwidth 78 1 - char linenrs_tot 79 1 - int left 80 4 - int showlinenrs 84 4 - int tabnumber 88 4 - short showsyntax 92 2 - short line_hlight 94 2 - short overwrite 96 2 - short live_edit 98 2 - float pix_per_line 100 4 - rcti txtscroll 104 16 - rcti txtbar 120 16 - int wordwrap 136 4 - int doplugins 140 4 - char findstr 144 256 - char replacestr 400 256 - short margin_column 656 2 - short lheight_dpi 658 2 - char pad 660 4 - void *drawcache 664 8 - -Script 1448 - - ID id 0 120 - void *py_draw 120 8 - void *py_event 128 8 - void *py_button 136 8 - void *py_browsercallback 144 8 - void *py_globaldict 152 8 - int flags 160 4 - int lastspace 164 4 - char scriptname 168 1024 - char scriptarg 1192 256 - -SpaceScript 64 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - Script *script 40 8 - short flags 48 2 - short menunr 50 2 - int pad1 52 4 - void *but_refs 56 8 - -bNodeTreePath 104 - - bNodeTreePath *next 0 8 - bNodeTreePath *prev 8 8 - bNodeTree *nodetree 16 8 - bNodeInstanceKey parent_key 24 4 - int pad 28 4 - float view_center 32 8 - char node_name 40 64 - -SpaceNode 400 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - ID *id 216 8 - ID *from 224 8 - short flag 232 2 - short pad1 234 2 - float aspect 236 4 - float pad2 240 4 - float xof 244 4 - float yof 248 4 - float zoom 252 4 - float cursor 256 8 - ListBase treepath 264 16 - bNodeTree *nodetree 280 8 - bNodeTree *edittree 288 8 - char tree_idname 296 64 - int treetype 360 4 - int pad3 364 4 - short texfrom 368 2 - short shaderfrom 370 2 - short recalc 372 2 - short pad4 374 2 - ListBase linkdrag 376 16 - bGPdata *gpd 392 8 - -SpaceLogic 72 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - short flag 56 2 - short scaflag 58 2 - int pad 60 4 - bGPdata *gpd 64 8 - -ConsoleLine 40 - - ConsoleLine *next 0 8 - ConsoleLine *prev 8 8 - int len_alloc 16 4 - int len 20 4 - char *line 24 8 - int cursor 32 4 - int type 36 4 - -SpaceConsole 392 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - int lheight 56 4 - int pad 60 4 - ListBase scrollback 64 16 - ListBase history 80 16 - char prompt 96 256 - char language 352 32 - int sel_start 384 4 - int sel_end 388 4 - -SpaceUserPref 104 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - char pad 36 3 - char filter_type 39 1 - char filter 40 64 - -SpaceClip 408 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float xof 36 4 - float yof 40 4 - float xlockof 44 4 - float ylockof 48 4 - float zoom 52 4 - MovieClipUser user 56 8 - MovieClip *clip 64 8 - MovieClipScopes scopes 72 136 - int flag 208 4 - short mode 212 2 - short view 214 2 - int path_length 216 4 - float loc 220 8 - float scale 228 4 - float angle 232 4 - int pad 236 4 - float stabmat 240 64 - float unistabmat 304 64 - int postproc_flag 368 4 - short gpencil_src 372 2 - short pad2 374 2 - int around 376 4 - int pad4 380 4 - float cursor 384 8 - MaskSpaceInfo mask_info 392 16 - -uiFont 1048 - - uiFont *next 0 8 - uiFont *prev 8 8 - char filename 16 1024 - short blf_id 1040 2 - short uifont_id 1042 2 - short r_to_l 1044 2 - short hinting 1046 2 - -uiFontStyle 32 - - short uifont_id 0 2 - short points 2 2 - short kerning 4 2 - char pad 6 6 - short italic 12 2 - short bold 14 2 - short shadow 16 2 - short shadx 18 2 - short shady 20 2 - short align 22 2 - float shadowalpha 24 4 - float shadowcolor 28 4 - -uiStyle 232 - - uiStyle *next 0 8 - uiStyle *prev 8 8 - char name 16 64 - uiFontStyle paneltitle 80 32 - uiFontStyle grouplabel 112 32 - uiFontStyle widgetlabel 144 32 - uiFontStyle widget 176 32 - float panelzoom 208 4 - short minlabelchars 212 2 - short minwidgetchars 214 2 - short columnspace 216 2 - short templatespace 218 2 - short boxspace 220 2 - short buttonspacex 222 2 - short buttonspacey 224 2 - short panelspace 226 2 - short panelouter 228 2 - short pad 230 2 - -uiWidgetColors 32 - - char outline 0 4 - char inner 4 4 - char inner_sel 8 4 - char item 12 4 - char text 16 4 - char text_sel 20 4 - short shaded 24 2 - short shadetop 26 2 - short shadedown 28 2 - short alpha_check 30 2 - -uiWidgetStateColors 32 - - char inner_anim 0 4 - char inner_anim_sel 4 4 - char inner_key 8 4 - char inner_key_sel 12 4 - char inner_driven 16 4 - char inner_driven_sel 20 4 - float blend 24 4 - float pad 28 4 - -uiPanelColors 16 - - char header 0 4 - char back 4 4 - short show_header 8 2 - short show_back 10 2 - int pad 12 4 - -uiGradientColors 16 - - char gradient 0 4 - char high_gradient 4 4 - int show_grad 8 4 - int pad2 12 4 - -ThemeUI 872 - - uiWidgetColors wcol_regular 0 32 - uiWidgetColors wcol_tool 32 32 - uiWidgetColors wcol_text 64 32 - uiWidgetColors wcol_radio 96 32 - uiWidgetColors wcol_option 128 32 - uiWidgetColors wcol_toggle 160 32 - uiWidgetColors wcol_num 192 32 - uiWidgetColors wcol_numslider 224 32 - uiWidgetColors wcol_menu 256 32 - uiWidgetColors wcol_pulldown 288 32 - uiWidgetColors wcol_menu_back 320 32 - uiWidgetColors wcol_menu_item 352 32 - uiWidgetColors wcol_tooltip 384 32 - uiWidgetColors wcol_box 416 32 - uiWidgetColors wcol_scroll 448 32 - uiWidgetColors wcol_progress 480 32 - uiWidgetColors wcol_list_item 512 32 - uiWidgetStateColors wcol_state 544 32 - uiPanelColors panel 576 16 - float menu_shadow_fac 592 4 - short menu_shadow_width 596 2 - short pad 598 2 - char iconfile 600 256 - float icon_alpha 856 4 - char xaxis 860 4 - char yaxis 864 4 - char zaxis 868 4 - -ThemeSpace 584 - - char back 0 4 - char title 4 4 - char text 8 4 - char text_hi 12 4 - char header 16 4 - char header_title 20 4 - char header_text 24 4 - char header_text_hi 28 4 - char button 32 4 - char button_title 36 4 - char button_text 40 4 - char button_text_hi 44 4 - char list 48 4 - char list_title 52 4 - char list_text 56 4 - char list_text_hi 60 4 - uiPanelColors panelcolors 64 16 - uiGradientColors gradients 80 16 - char shade1 96 4 - char shade2 100 4 - char hilite 104 4 - char grid 108 4 - char wire 112 4 - char wire_edit 116 4 - char select 120 4 - char lamp 124 4 - char speaker 128 4 - char empty 132 4 - char camera 136 4 - char pad 140 4 - char active 144 4 - char group 148 4 - char group_active 152 4 - char transform 156 4 - char vertex 160 4 - char vertex_select 164 4 - char vertex_unreferenced 168 4 - char edge 172 4 - char edge_select 176 4 - char edge_seam 180 4 - char edge_sharp 184 4 - char edge_facesel 188 4 - char edge_crease 192 4 - char face 196 4 - char face_select 200 4 - char face_dot 204 4 - char extra_edge_len 208 4 - char extra_edge_angle 212 4 - char extra_face_angle 216 4 - char extra_face_area 220 4 - char normal 224 4 - char vertex_normal 228 4 - char bone_solid 232 4 - char bone_pose 236 4 - char bone_pose_active 240 4 - char strip 244 4 - char strip_select 248 4 - char cframe 252 4 - char freestyle_edge_mark 256 4 - char freestyle_face_mark 260 4 - char nurb_uline 264 4 - char nurb_vline 268 4 - char act_spline 272 4 - char nurb_sel_uline 276 4 - char nurb_sel_vline 280 4 - char lastsel_point 284 4 - char handle_free 288 4 - char handle_auto 292 4 - char handle_vect 296 4 - char handle_align 300 4 - char handle_auto_clamped 304 4 - char handle_sel_free 308 4 - char handle_sel_auto 312 4 - char handle_sel_vect 316 4 - char handle_sel_align 320 4 - char handle_sel_auto_clamped 324 4 - char ds_channel 328 4 - char ds_subchannel 332 4 - char console_output 336 4 - char console_input 340 4 - char console_info 344 4 - char console_error 348 4 - char console_cursor 352 4 - char console_select 356 4 - char pad1 360 4 - char vertex_size 364 1 - char outline_width 365 1 - char facedot_size 366 1 - char noodle_curving 367 1 - char syntaxl 368 4 - char syntaxs 372 4 - char syntaxb 376 4 - char syntaxn 380 4 - char syntaxv 384 4 - char syntaxc 388 4 - char syntaxd 392 4 - char syntaxr 396 4 - char movie 400 4 - char movieclip 404 4 - char mask 408 4 - char image 412 4 - char scene 416 4 - char audio 420 4 - char effect 424 4 - char transition 428 4 - char meta 432 4 - char editmesh_active 436 4 - char handle_vertex 440 4 - char handle_vertex_select 444 4 - char pad2 448 4 - char handle_vertex_size 452 1 - char marker_outline 453 4 - char marker 457 4 - char act_marker 461 4 - char sel_marker 465 4 - char dis_marker 469 4 - char lock_marker 473 4 - char bundle_solid 477 4 - char path_before 481 4 - char path_after 485 4 - char camera_path 489 4 - char hpad 493 3 - char preview_back 496 4 - char preview_stitch_face 500 4 - char preview_stitch_edge 504 4 - char preview_stitch_vert 508 4 - char preview_stitch_stitchable 512 4 - char preview_stitch_unstitchable 516 4 - char preview_stitch_active 520 4 - char uv_shadow 524 4 - char uv_others 528 4 - char match 532 4 - char selected_highlight 536 4 - char skin_root 540 4 - char anim_active 544 4 - char anim_non_active 548 4 - char nla_tweaking 552 4 - char nla_tweakdupli 556 4 - char nla_transition 560 4 - char nla_transition_sel 564 4 - char nla_meta 568 4 - char nla_meta_sel 572 4 - char nla_sound 576 4 - char nla_sound_sel 580 4 - -ThemeWireColor 16 - - char solid 0 4 - char select 4 4 - char active 8 4 - short flag 12 2 - short pad 14 2 - -bTheme 11176 - - bTheme *next 0 8 - bTheme *prev 8 8 - char name 16 32 - ThemeUI tui 48 872 - ThemeSpace tbuts 920 584 - ThemeSpace tv3d 1504 584 - ThemeSpace tfile 2088 584 - ThemeSpace tipo 2672 584 - ThemeSpace tinfo 3256 584 - ThemeSpace tact 3840 584 - ThemeSpace tnla 4424 584 - ThemeSpace tseq 5008 584 - ThemeSpace tima 5592 584 - ThemeSpace text 6176 584 - ThemeSpace toops 6760 584 - ThemeSpace ttime 7344 584 - ThemeSpace tnode 7928 584 - ThemeSpace tlogic 8512 584 - ThemeSpace tuserpref 9096 584 - ThemeSpace tconsole 9680 584 - ThemeSpace tclip 10264 584 - ThemeWireColor tarm 10848 320 - int active_theme_area 11168 4 - int pad 11172 4 - -bAddon 88 - - bAddon *next 0 8 - bAddon *prev 8 8 - char module 16 64 - IDProperty *prop 80 8 - -bPathCompare 792 - - bPathCompare *next 0 8 - bPathCompare *prev 8 8 - char path 16 768 - char flag 784 1 - char pad 785 7 - -SolidLight 56 - - int flag 0 4 - int pad 4 4 - float col 8 16 - float spec 24 16 - float vec 40 16 - -UserDef 9104 - - int versionfile 0 4 - int subversionfile 4 4 - int flag 8 4 - int dupflag 12 4 - int savetime 16 4 - char tempdir 20 768 - char fontdir 788 768 - char renderdir 1556 1024 - char textudir 2580 768 - char pythondir 3348 768 - char sounddir 4116 768 - char i18ndir 4884 768 - char image_editor 5652 1024 - char anim_player 6676 1024 - int anim_player_preset 7700 4 - short v2d_min_gridsize 7704 2 - short timecode_style 7706 2 - short versions 7708 2 - short dbl_click_time 7710 2 - short gameflags 7712 2 - short wheellinescroll 7714 2 - int uiflag 7716 4 - int uiflag2 7720 4 - int language 7724 4 - short userpref 7728 2 - short viewzoom 7730 2 - int mixbufsize 7732 4 - int audiodevice 7736 4 - int audiorate 7740 4 - int audioformat 7744 4 - int audiochannels 7748 4 - int scrollback 7752 4 - int dpi 7756 4 - short encoding 7760 2 - short transopts 7762 2 - short menuthreshold1 7764 2 - short menuthreshold2 7766 2 - ListBase themes 7768 16 - ListBase uifonts 7784 16 - ListBase uistyles 7800 16 - ListBase keymaps 7816 16 - ListBase user_keymaps 7832 16 - ListBase addons 7848 16 - ListBase autoexec_paths 7864 16 - char keyconfigstr 7880 64 - short undosteps 7944 2 - short undomemory 7946 2 - short gp_manhattendist 7948 2 - short gp_euclideandist 7950 2 - short gp_eraser 7952 2 - short gp_settings 7954 2 - short tb_leftmouse 7956 2 - short tb_rightmouse 7958 2 - SolidLight light 7960 168 - short tw_hotspot 8128 2 - short tw_flag 8130 2 - short tw_handlesize 8132 2 - short tw_size 8134 2 - short textimeout 8136 2 - short texcollectrate 8138 2 - short wmdrawmethod 8140 2 - short dragthreshold 8142 2 - int memcachelimit 8144 4 - int prefetchframes 8148 4 - short frameserverport 8152 2 - short pad_rot_angle 8154 2 - short obcenter_dia 8156 2 - short rvisize 8158 2 - short rvibright 8160 2 - short recent_files 8162 2 - short smooth_viewtx 8164 2 - short glreslimit 8166 2 - short curssize 8168 2 - short color_picker_type 8170 2 - short ipo_new 8172 2 - short keyhandles_new 8174 2 - short scrcastfps 8176 2 - short scrcastwait 8178 2 - short widget_unit 8180 2 - short anisotropic_filter 8182 2 - short use_16bit_textures 8184 2 - short use_gpu_mipmap 8186 2 - float ndof_sensitivity 8188 4 - float ndof_orbit_sensitivity 8192 4 - int ndof_flag 8196 4 - short ogl_multisamples 8200 2 - short image_draw_method 8202 2 - float glalphaclip 8204 4 - short autokey_mode 8208 2 - short autokey_flag 8210 2 - short text_render 8212 2 - short pad9 8214 2 - ColorBand coba_weight 8216 776 - float sculpt_paint_overlay_col 8992 12 - short tweak_threshold 9004 2 - short pad3 9006 2 - char author 9008 80 - int compute_device_type 9088 4 - int compute_device_id 9092 4 - float fcu_inactive_alpha 9096 4 - float pixelsize 9100 4 - -bScreen 248 - - ID id 0 120 - ListBase vertbase 120 16 - ListBase edgebase 136 16 - ListBase areabase 152 16 - ListBase regionbase 168 16 - Scene *scene 184 8 - Scene *newscene 192 8 - int redraws_flag 200 4 - int pad1 204 4 - short full 208 2 - short temp 210 2 - short winid 212 2 - short do_draw 214 2 - short do_refresh 216 2 - short do_draw_gesture 218 2 - short do_draw_paintcursor 220 2 - short do_draw_drag 222 2 - short swap 224 2 - short mainwin 226 2 - short subwinactive 228 2 - short pad 230 2 - wmTimer *animtimer 232 8 - void *context 240 8 - -ScrVert 32 - - ScrVert *next 0 8 - ScrVert *prev 8 8 - ScrVert *newv 16 8 - vec2s vec 24 4 - short flag 28 2 - short editflag 30 2 - -ScrEdge 40 - - ScrEdge *next 0 8 - ScrEdge *prev 8 8 - ScrVert *v1 16 8 - ScrVert *v2 24 8 - short border 32 2 - short flag 34 2 - int pad 36 4 - -Panel 272 - - Panel *next 0 8 - Panel *prev 8 8 - PanelType *type 16 8 - uiLayout *layout 24 8 - char panelname 32 64 - char tabname 96 64 - char drawname 160 64 - int ofsx 224 4 - int ofsy 228 4 - int sizex 232 4 - int sizey 236 4 - short labelofs 240 2 - short pad 242 2 - short flag 244 2 - short runtime_flag 246 2 - short control 248 2 - short snap 250 2 - int sortorder 252 4 - Panel *paneltab 256 8 - void *activedata 264 8 - -uiList 200 - - uiList *next 0 8 - uiList *prev 8 8 - uiListType *type 16 8 - char list_id 24 64 - int layout_type 88 4 - int flag 92 4 - int list_scroll 96 4 - int list_grip 100 4 - int list_last_len 104 4 - int padi1 108 4 - char filter_byname 112 64 - int filter_flag 176 4 - int filter_sort_flag 180 4 - IDProperty *properties 184 8 - uiListDyn *dyn_data 192 8 - -ScrArea 160 - - ScrArea *next 0 8 - ScrArea *prev 8 8 - ScrVert *v1 16 8 - ScrVert *v2 24 8 - ScrVert *v3 32 8 - ScrVert *v4 40 8 - bScreen *full 48 8 - rcti totrct 56 16 - char spacetype 72 1 - char butspacetype 73 1 - short winx 74 2 - short winy 76 2 - short headertype 78 2 - short do_refresh 80 2 - short flag 82 2 - short region_active_win 84 2 - short pad 86 2 - SpaceType *type 88 8 - ListBase spacedata 96 16 - ListBase regionbase 112 16 - ListBase handlers 128 16 - ListBase actionzones 144 16 - -ARegion 336 - - ARegion *next 0 8 - ARegion *prev 8 8 - View2D v2d 16 160 - rcti winrct 176 16 - rcti drawrct 192 16 - short winx 208 2 - short winy 210 2 - short swinid 212 2 - short regiontype 214 2 - short alignment 216 2 - short flag 218 2 - float fsize 220 4 - short sizex 224 2 - short sizey 226 2 - short do_draw 228 2 - short do_draw_overlay 230 2 - short swap 232 2 - short overlap 234 2 - short pad 236 4 - ARegionType *type 240 8 - ListBase uiblocks 248 16 - ListBase panels 264 16 - ListBase ui_lists 280 16 - ListBase handlers 296 16 - wmTimer *regiontimer 312 8 - char *headerstr 320 8 - void *regiondata 328 8 - -FileGlobal 1072 - - char subvstr 0 4 - short subversion 4 2 - short pads 6 2 - short minversion 8 2 - short minsubversion 10 2 - short displaymode 12 2 - short winpos 14 2 - bScreen *curscreen 16 8 - Scene *curscene 24 8 - int fileflags 32 4 - int globalf 36 4 - int revision 40 4 - int pad 44 4 - char filename 48 1024 - -StripElem 264 - - char name 0 256 - int orig_width 256 4 - int orig_height 260 4 - -StripCrop 16 - - int top 0 4 - int bottom 4 4 - int left 8 4 - int right 12 4 - -StripTransform 8 - - int xofs 0 4 - int yofs 4 4 - -StripColorBalance 44 - - float lift 0 12 - float gamma 12 12 - float gain 24 12 - int flag 36 4 - int pad 40 4 - -StripProxy 1040 - - char dir 0 768 - char file 768 256 - anim *anim 1024 8 - short tc 1032 2 - short quality 1034 2 - short build_size_flags 1036 2 - short build_tc_flags 1038 2 - -Strip 904 - - Strip *next 0 8 - Strip *prev 8 8 - int us 16 4 - int done 20 4 - int startstill 24 4 - int endstill 28 4 - StripElem *stripdata 32 8 - char dir 40 768 - StripProxy *proxy 808 8 - StripCrop *crop 816 8 - StripTransform *transform 824 8 - StripColorBalance *color_balance 832 8 - ColorManagedColorspaceSettings colorspace_settings 840 64 - -Sequence 352 - - Sequence *next 0 8 - Sequence *prev 8 8 - void *tmp 16 8 - void *lib 24 8 - char name 32 64 - int flag 96 4 - int type 100 4 - int len 104 4 - int start 108 4 - int startofs 112 4 - int endofs 116 4 - int startstill 120 4 - int endstill 124 4 - int machine 128 4 - int depth 132 4 - int startdisp 136 4 - int enddisp 140 4 - float sat 144 4 - float mul 148 4 - float handsize 152 4 - short anim_preseek 156 2 - short streamindex 158 2 - int multicam_source 160 4 - int clip_flag 164 4 - Strip *strip 168 8 - Ipo *ipo 176 8 - Scene *scene 184 8 - Object *scene_camera 192 8 - MovieClip *clip 200 8 - Mask *mask 208 8 - anim *anim 216 8 - float effect_fader 224 4 - float speed_fader 228 4 - Sequence *seq1 232 8 - Sequence *seq2 240 8 - Sequence *seq3 248 8 - ListBase seqbase 256 16 - bSound *sound 272 8 - void *scene_sound 280 8 - float volume 288 4 - float pitch 292 4 - float pan 296 4 - float strobe 300 4 - void *effectdata 304 8 - int anim_startofs 312 4 - int anim_endofs 316 4 - int blend_mode 320 4 - float blend_opacity 324 4 - int sfra 328 4 - char alpha_mode 332 1 - char pad 333 3 - ListBase modifiers 336 16 - -MetaStack 32 - - MetaStack *next 0 8 - MetaStack *prev 8 8 - ListBase *oldbasep 16 8 - Sequence *parseq 24 8 - -Editing 2128 - - ListBase *seqbasep 0 8 - ListBase seqbase 8 16 - ListBase metastack 24 16 - Sequence *act_seq 40 8 - char act_imagedir 48 1024 - char act_sounddir 1072 1024 - int over_ofs 2096 4 - int over_cfra 2100 4 - int over_flag 2104 4 - int pad 2108 4 - rctf over_border 2112 16 - -WipeVars 12 - - float edgeWidth 0 4 - float angle 4 4 - short forward 8 2 - short wipetype 10 2 - -GlowVars 24 - - float fMini 0 4 - float fClamp 4 4 - float fBoost 8 4 - float dDist 12 4 - int dQuality 16 4 - int bNoComp 20 4 - -TransformVars 32 - - float ScalexIni 0 4 - float ScaleyIni 4 4 - float xIni 8 4 - float yIni 12 4 - float rotIni 16 4 - int percent 20 4 - int interpolation 24 4 - int uniform_scale 28 4 - -SolidColorVars 16 - - float col 0 12 - float pad 12 4 - -SpeedControlVars 24 - - float *frameMap 0 8 - float globalSpeed 8 4 - int flags 12 4 - int length 16 4 - int lastValidFrame 20 4 - -SequenceModifierData 112 - - SequenceModifierData *next 0 8 - SequenceModifierData *prev 8 8 - int type 16 4 - int flag 20 4 - char name 24 64 - int mask_input_type 88 4 - int pad 92 4 - Sequence *mask_sequence 96 8 - Mask *mask_id 104 8 - -ColorBalanceModifierData 160 - - SequenceModifierData modifier 0 112 - StripColorBalance color_balance 112 44 - float color_multiply 156 4 - -CurvesModifierData 432 - - SequenceModifierData modifier 0 112 - CurveMapping curve_mapping 112 320 - -HueCorrectModifierData 432 - - SequenceModifierData modifier 0 112 - CurveMapping curve_mapping 112 320 - -BrightContrastModifierData 120 - - SequenceModifierData modifier 0 112 - float bright 112 4 - float contrast 116 4 - -SequencerMaskModifierData 112 - - SequenceModifierData modifier 0 112 - -SequencerScopes 48 - - ImBuf *reference_ibuf 0 8 - ImBuf *zebra_ibuf 8 8 - ImBuf *waveform_ibuf 16 8 - ImBuf *sep_waveform_ibuf 24 8 - ImBuf *vector_ibuf 32 8 - ImBuf *histogram_ibuf 40 8 - -Effect 24 - - Effect *next 0 8 - Effect *prev 8 8 - short type 16 2 - short flag 18 2 - short buttype 20 2 - short rt 22 2 - -BuildEff 32 - - BuildEff *next 0 8 - BuildEff *prev 8 8 - short type 16 2 - short flag 18 2 - short buttype 20 2 - short rt 22 2 - float len 24 4 - float sfra 28 4 - -PartEff 392 - - PartEff *next 0 8 - PartEff *prev 8 8 - short type 16 2 - short flag 18 2 - short buttype 20 2 - short stype 22 2 - short vertgroup 24 2 - short userjit 26 2 - float sta 28 4 - float end 32 4 - float lifetime 36 4 - int totpart 40 4 - int totkey 44 4 - int seed 48 4 - float normfac 52 4 - float obfac 56 4 - float randfac 60 4 - float texfac 64 4 - float randlife 68 4 - float force 72 12 - float damp 84 4 - float nabla 88 4 - float vectsize 92 4 - float maxlen 96 4 - float pad 100 4 - float defvec 104 12 - float mult 116 16 - float life 132 16 - short child 148 8 - short mat 156 8 - short texmap 164 2 - short curmult 166 2 - short staticstep 168 2 - short omat 170 2 - short timetex 172 2 - short speedtex 174 2 - short flag2 176 2 - short flag2neg 178 2 - short disp 180 2 - short vertgroup_v 182 2 - char vgroupname 184 64 - char vgroupname_v 248 64 - float imat 312 64 - Particle *keys 376 8 - Group *group 384 8 - -WaveEff 64 - - WaveEff *next 0 8 - WaveEff *prev 8 8 - short type 16 2 - short flag 18 2 - short buttype 20 2 - short stype 22 2 - float startx 24 4 - float starty 28 4 - float height 32 4 - float width 36 4 - float narrow 40 4 - float speed 44 4 - float minfac 48 4 - float damp 52 4 - float timeoffs 56 4 - float lifetime 60 4 - -TreeStoreElem 16 - - short type 0 2 - short nr 2 2 - short flag 4 2 - short used 6 2 - ID *id 8 8 - -TreeStore 16 - - int totelem 0 4 - int usedelem 4 4 - TreeStoreElem *data 8 8 - -bProperty 96 - - bProperty *next 0 8 - bProperty *prev 8 8 - char name 16 64 - short type 80 2 - short flag 82 2 - int data 84 4 - void *poin 88 8 - -bNearSensor 80 - - char name 0 64 - float dist 64 4 - float resetdist 68 4 - int lastval 72 4 - int pad 76 4 - -bMouseSensor 8 - - short type 0 2 - short flag 2 2 - short pad1 4 2 - short pad2 6 2 - -bTouchSensor 80 - - char name 0 64 - Material *ma 64 8 - float dist 72 4 - float pad 76 4 - -bKeyboardSensor 136 - - short key 0 2 - short qual 2 2 - short type 4 2 - short qual2 6 2 - char targetName 8 64 - char toggleName 72 64 - -bPropertySensor 200 - - int type 0 4 - int pad 4 4 - char name 8 64 - char value 72 64 - char maxvalue 136 64 - -bActuatorSensor 72 - - int type 0 4 - int pad 4 4 - char name 8 64 - -bDelaySensor 8 - - short delay 0 2 - short duration 2 2 - short flag 4 2 - short pad 6 2 - -bCollisionSensor 136 - - char name 0 64 - char materialName 64 64 - short damptimer 128 2 - short damp 130 2 - short mode 132 2 - short pad2 134 2 - -bRadarSensor 76 - - char name 0 64 - float angle 64 4 - float range 68 4 - short flag 72 2 - short axis 74 2 - -bRandomSensor 72 - - char name 0 64 - int seed 64 4 - int delay 68 4 - -bRaySensor 204 - - char name 0 64 - float range 64 4 - char propname 68 64 - char matname 132 64 - short mode 196 2 - short pad1 198 2 - int axisflag 200 4 - -bArmatureSensor 136 - - char posechannel 0 64 - char constraint 64 64 - int type 128 4 - float value 132 4 - -bMessageSensor 136 - - Object *fromObject 0 8 - char subject 8 64 - char body 72 64 - -bSensor 128 - - bSensor *next 0 8 - bSensor *prev 8 8 - short type 16 2 - short otype 18 2 - short flag 20 2 - short pulse 22 2 - short freq 24 2 - short totlinks 26 2 - short pad1 28 2 - short pad2 30 2 - char name 32 64 - void *data 96 8 - bController **links 104 8 - Object *ob 112 8 - short invert 120 2 - short level 122 2 - short tap 124 2 - short pad 126 2 - -bJoystickSensor 92 - - char name 0 64 - char type 64 1 - char joyindex 65 1 - short flag 66 2 - short axis 68 2 - short axis_single 70 2 - int axisf 72 4 - int button 76 4 - int hat 80 4 - int hatf 84 4 - int precision 88 4 - -bExpressionCont 128 - - char str 0 128 - -bPythonCont 80 - - Text *text 0 8 - char module 8 64 - int mode 72 4 - int flag 76 4 - -bController 136 - - bController *next 0 8 - bController *prev 8 8 - bController *mynew 16 8 - short type 24 2 - short flag 26 2 - short inputs 28 2 - short totlinks 30 2 - short otype 32 2 - short totslinks 34 2 - short pad2 36 2 - short pad3 38 2 - char name 40 64 - void *data 104 8 - bActuator **links 112 8 - bSensor **slinks 120 8 - short val 128 2 - short valo 130 2 - int state_mask 132 4 - -bAddObjectActuator 16 - - int time 0 4 - int pad 4 4 - Object *ob 8 8 - -bActionActuator 168 - - bAction *act 0 8 - short type 8 2 - short flag 10 2 - float sta 12 4 - float end 16 4 - char name 20 64 - char frameProp 84 64 - short blendin 148 2 - short priority 150 2 - short layer 152 2 - short end_reset 154 2 - short strideaxis 156 2 - short blend_mode 158 2 - float stridelength 160 4 - float layer_weight 164 4 - -Sound3D 32 - - float min_gain 0 4 - float max_gain 4 4 - float reference_distance 8 4 - float max_distance 12 4 - float rolloff_factor 16 4 - float cone_inner_angle 20 4 - float cone_outer_angle 24 4 - float cone_outer_gain 28 4 - -bSoundActuator 72 - - short flag 0 2 - short sndnr 2 2 - int pad1 4 4 - int pad2 8 4 - short pad3 12 4 - float volume 16 4 - float pitch 20 4 - bSound *sound 24 8 - Sound3D sound3D 32 32 - short type 64 2 - short pad4 66 2 - short pad5 68 2 - short pad6 70 2 - -bEditObjectActuator 120 - - int time 0 4 - short type 4 2 - short flag 6 2 - Object *ob 8 8 - Mesh *me 16 8 - char name 24 64 - float linVelocity 88 12 - float angVelocity 100 12 - float mass 112 4 - short localflag 116 2 - short dyn_operation 118 2 - -bSceneActuator 24 - - short type 0 2 - short pad1 2 2 - int pad 4 4 - Scene *scene 8 8 - Object *camera 16 8 - -bPropertyActuator 144 - - int pad 0 4 - int type 4 4 - char name 8 64 - char value 72 64 - Object *ob 136 8 - -bObjectActuator 112 - - short flag 0 2 - short type 2 2 - short otype 4 2 - short damping 6 2 - float forceloc 8 12 - float forcerot 20 12 - float pad 32 12 - float pad1 44 12 - float dloc 56 12 - float drot 68 12 - float linearvelocity 80 12 - float angularvelocity 92 12 - Object *reference 104 8 - -bIpoActuator 148 - - short flag 0 2 - short type 2 2 - float sta 4 4 - float end 8 4 - char name 12 64 - char frameProp 76 64 - short pad1 140 2 - short pad2 142 2 - short pad3 144 2 - short pad4 146 2 - -bCameraActuator 32 - - Object *ob 0 8 - float height 8 4 - float min 12 4 - float max 16 4 - float damping 20 4 - short pad1 24 2 - short axis 26 2 - float pad2 28 4 - -bConstraintActuator 128 - - short type 0 2 - short mode 2 2 - short flag 4 2 - short damp 6 2 - short time 8 2 - short rotdamp 10 2 - int pad 12 4 - float minloc 16 12 - float maxloc 28 12 - float minrot 40 12 - float maxrot 52 12 - char matprop 64 64 - -bGroupActuator 88 - - short flag 0 2 - short type 2 2 - int sta 4 4 - int end 8 4 - char name 12 64 - short pad 76 6 - short cur 82 2 - short butsta 84 2 - short butend 86 2 - -bRandomActuator 88 - - int seed 0 4 - int distribution 4 4 - int int_arg_1 8 4 - int int_arg_2 12 4 - float float_arg_1 16 4 - float float_arg_2 20 4 - char propname 24 64 - -bMessageActuator 208 - - char toPropName 0 64 - Object *toObject 64 8 - char subject 72 64 - short bodyType 136 2 - short pad1 138 2 - int pad2 140 4 - char body 144 64 - -bGameActuator 140 - - short flag 0 2 - short type 2 2 - int sta 4 4 - int end 8 4 - char filename 12 64 - char loadaniname 76 64 - -bVisibilityActuator 4 - - int flag 0 4 - -bTwoDFilterActuator 24 - - char pad 0 4 - short type 4 2 - short flag 6 2 - int int_arg 8 4 - float float_arg 12 4 - Text *text 16 8 - -bParentActuator 16 - - char pad 0 2 - short flag 2 2 - int type 4 4 - Object *ob 8 8 - -bStateActuator 8 - - int type 0 4 - int mask 4 4 - -bArmatureActuator 160 - - char posechannel 0 64 - char constraint 64 64 - int type 128 4 - float weight 132 4 - float influence 136 4 - float pad 140 4 - Object *target 144 8 - Object *subtarget 152 8 - -bSteeringActuator 48 - - char pad 0 5 - char flag 5 1 - short facingaxis 6 2 - int type 8 4 - float dist 12 4 - float velocity 16 4 - float acceleration 20 4 - float turnspeed 24 4 - int updateTime 28 4 - Object *target 32 8 - Object *navmesh 40 8 - -bActuator 112 - - bActuator *next 0 8 - bActuator *prev 8 8 - bActuator *mynew 16 8 - short type 24 2 - short flag 26 2 - short otype 28 2 - short go 30 2 - char name 32 64 - void *data 96 8 - Object *ob 104 8 - -bSound 1232 - - ID id 0 120 - char name 120 1024 - PackedFile *packedfile 1144 8 - void *handle 1152 8 - PackedFile *newpackedfile 1160 8 - Ipo *ipo 1168 8 - float volume 1176 4 - float attenuation 1180 4 - float pitch 1184 4 - float min_gain 1188 4 - float max_gain 1192 4 - float distance 1196 4 - int flags 1200 4 - int pad 1204 4 - void *cache 1208 8 - void *waveform 1216 8 - void *playback_handle 1224 8 - -GroupObject 40 - - GroupObject *next 0 8 - GroupObject *prev 8 8 - Object *ob 16 8 - void *lampren 24 8 - short recalc 32 2 - char pad 34 6 - -Group 152 - - ID id 0 120 - ListBase gobject 120 16 - int layer 136 4 - float dupli_ofs 140 12 - -Bone 328 - - Bone *next 0 8 - Bone *prev 8 8 - IDProperty *prop 16 8 - Bone *parent 24 8 - ListBase childbase 32 16 - char name 48 64 - float roll 112 4 - float head 116 12 - float tail 128 12 - float bone_mat 140 36 - int flag 176 4 - float arm_head 180 12 - float arm_tail 192 12 - float arm_mat 204 64 - float arm_roll 268 4 - float dist 272 4 - float weight 276 4 - float xwidth 280 4 - float length 284 4 - float zwidth 288 4 - float ease1 292 4 - float ease2 296 4 - float rad_head 300 4 - float rad_tail 304 4 - float size 308 12 - int layer 320 4 - short segments 324 2 - short pad 326 2 - -bArmature 256 - - ID id 0 120 - AnimData *adt 120 8 - ListBase bonebase 128 16 - ListBase chainbase 144 16 - ListBase *edbo 160 8 - Bone *act_bone 168 8 - EditBone *act_edbone 176 8 - void *sketch 184 8 - int flag 192 4 - int drawtype 196 4 - int gevertdeformer 200 4 - int pad 204 4 - short deformflag 208 2 - short pathflag 210 2 - int layer_used 212 4 - int layer 216 4 - int layer_protected 220 4 - short ghostep 224 2 - short ghostsize 226 2 - short ghosttype 228 2 - short pathsize 230 2 - int ghostsf 232 4 - int ghostef 236 4 - int pathsf 240 4 - int pathef 244 4 - int pathbc 248 4 - int pathac 252 4 - -bMotionPathVert 16 - - float co 0 12 - int flag 12 4 - -bMotionPath 24 - - bMotionPathVert *points 0 8 - int length 8 4 - int start_frame 12 4 - int end_frame 16 4 - int flag 20 4 - -bAnimVizSettings 48 - - int ghost_sf 0 4 - int ghost_ef 4 4 - int ghost_bc 8 4 - int ghost_ac 12 4 - short ghost_type 16 2 - short ghost_step 18 2 - short ghost_flag 20 2 - short recalc 22 2 - short path_type 24 2 - short path_step 26 2 - short path_viewflag 28 2 - short path_bakeflag 30 2 - int path_sf 32 4 - int path_ef 36 4 - int path_bc 40 4 - int path_ac 44 4 - -bPoseChannel 544 - - bPoseChannel *next 0 8 - bPoseChannel *prev 8 8 - IDProperty *prop 16 8 - ListBase constraints 24 16 - char name 40 64 - short flag 104 2 - short ikflag 106 2 - short protectflag 108 2 - short agrp_index 110 2 - char constflag 112 1 - char selectflag 113 1 - char pad0 114 6 - Bone *bone 120 8 - bPoseChannel *parent 128 8 - bPoseChannel *child 136 8 - ListBase iktree 144 16 - ListBase siktree 160 16 - bMotionPath *mpath 176 8 - Object *custom 184 8 - bPoseChannel *custom_tx 192 8 - float loc 200 12 - float size 212 12 - float eul 224 12 - float quat 236 16 - float rotAxis 252 12 - float rotAngle 264 4 - short rotmode 268 2 - short pad 270 2 - float chan_mat 272 64 - float pose_mat 336 64 - float constinv 400 64 - float pose_head 464 12 - float pose_tail 476 12 - float limitmin 488 12 - float limitmax 500 12 - float stiffness 512 12 - float ikstretch 524 4 - float ikrotweight 528 4 - float iklinweight 532 4 - void *temp 536 8 - -bPose 216 - - ListBase chanbase 0 16 - GHash *chanhash 16 8 - short flag 24 2 - short pad 26 2 - int proxy_layer 28 4 - int pad1 32 4 - float ctime 36 4 - float stride_offset 40 12 - float cyclic_offset 52 12 - ListBase agroups 64 16 - int active_group 80 4 - int iksolver 84 4 - void *ikdata 88 8 - void *ikparam 96 8 - bAnimVizSettings avs 104 48 - char proxy_act_bone 152 64 - -bIKParam 4 - - int iksolver 0 4 - -bItasc 40 - - int iksolver 0 4 - float precision 4 4 - short numiter 8 2 - short numstep 10 2 - float minstep 12 4 - float maxstep 16 4 - short solver 20 2 - short flag 22 2 - float feedback 24 4 - float maxvel 28 4 - float dampmax 32 4 - float dampeps 36 4 - -bActionGroup 120 - - bActionGroup *next 0 8 - bActionGroup *prev 8 8 - ListBase channels 16 16 - int flag 32 4 - int customCol 36 4 - char name 40 64 - ThemeWireColor cs 104 16 - -bAction 200 - - ID id 0 120 - ListBase curves 120 16 - ListBase chanbase 136 16 - ListBase groups 152 16 - ListBase markers 168 16 - int flag 184 4 - int active_marker 188 4 - int idroot 192 4 - int pad 196 4 - -bDopeSheet 112 - - ID *source 0 8 - ListBase chanbase 8 16 - Group *filter_grp 24 8 - char searchstr 32 64 - int filterflag 96 4 - int flag 100 4 - int renameIndex 104 4 - int pad 108 4 - -SpaceAction 344 - - SpaceLink *next 0 8 - SpaceLink *prev 8 8 - ListBase regionbase 16 16 - int spacetype 32 4 - float blockscale 36 4 - short blockhandler 40 16 - View2D v2d 56 160 - bAction *action 216 8 - bDopeSheet ads 224 112 - char mode 336 1 - char autosnap 337 1 - short flag 338 2 - float timeslide 340 4 - -bActionChannel 120 - - bActionChannel *next 0 8 - bActionChannel *prev 8 8 - bActionGroup *grp 16 8 - Ipo *ipo 24 8 - ListBase constraintChannels 32 16 - int flag 48 4 - char name 52 64 - int temp 116 4 - -bConstraintChannel 56 - - bConstraintChannel *next 0 8 - bConstraintChannel *prev 8 8 - Ipo *ipo 16 8 - short flag 24 2 - char name 26 30 - -bConstraint 120 - - bConstraint *next 0 8 - bConstraint *prev 8 8 - void *data 16 8 - short type 24 2 - short flag 26 2 - char ownspace 28 1 - char tarspace 29 1 - char name 30 64 - short pad 94 2 - float enforce 96 4 - float headtail 100 4 - Ipo *ipo 104 8 - float lin_error 112 4 - float rot_error 116 4 - -bConstraintTarget 160 - - bConstraintTarget *next 0 8 - bConstraintTarget *prev 8 8 - Object *tar 16 8 - char subtarget 24 64 - float matrix 88 64 - short space 152 2 - short flag 154 2 - short type 156 2 - short rotOrder 158 2 - -bPythonConstraint 112 - - Text *text 0 8 - IDProperty *prop 8 8 - int flag 16 4 - int tarnum 20 4 - ListBase targets 24 16 - Object *tar 40 8 - char subtarget 48 64 - -bKinematicConstraint 184 - - Object *tar 0 8 - short iterations 8 2 - short flag 10 2 - short rootbone 12 2 - short max_rootbone 14 2 - char subtarget 16 64 - Object *poletar 80 8 - char polesubtarget 88 64 - float poleangle 152 4 - float weight 156 4 - float orientweight 160 4 - float grabtarget 164 12 - short type 176 2 - short mode 178 2 - float dist 180 4 - -bSplineIKConstraint 24 - - Object *tar 0 8 - float *points 8 8 - short numpoints 16 2 - short chainlen 18 2 - short flag 20 2 - short xzScaleMode 22 2 - -bTrackToConstraint 88 - - Object *tar 0 8 - int reserved1 8 4 - int reserved2 12 4 - int flags 16 4 - int pad 20 4 - char subtarget 24 64 - -bRotateLikeConstraint 80 - - Object *tar 0 8 - int flag 8 4 - int reserved1 12 4 - char subtarget 16 64 - -bLocateLikeConstraint 80 - - Object *tar 0 8 - int flag 8 4 - int reserved1 12 4 - char subtarget 16 64 - -bSizeLikeConstraint 80 - - Object *tar 0 8 - int flag 8 4 - int reserved1 12 4 - char subtarget 16 64 - -bSameVolumeConstraint 8 - - int flag 0 4 - float volume 4 4 - -bTransLikeConstraint 72 - - Object *tar 0 8 - char subtarget 8 64 - -bMinMaxConstraint 104 - - Object *tar 0 8 - int minmaxflag 8 4 - float offset 12 4 - int flag 16 4 - short sticky 20 2 - short stuck 22 2 - short pad1 24 2 - short pad2 26 2 - float cache 28 12 - char subtarget 40 64 - -bActionConstraint 104 - - Object *tar 0 8 - short type 8 2 - short local 10 2 - int start 12 4 - int end 16 4 - float min 20 4 - float max 24 4 - int flag 28 4 - bAction *act 32 8 - char subtarget 40 64 - -bLockTrackConstraint 80 - - Object *tar 0 8 - int trackflag 8 4 - int lockflag 12 4 - char subtarget 16 64 - -bDampTrackConstraint 80 - - Object *tar 0 8 - int trackflag 8 4 - int pad 12 4 - char subtarget 16 64 - -bFollowPathConstraint 24 - - Object *tar 0 8 - float offset 8 4 - float offset_fac 12 4 - int followflag 16 4 - short trackflag 20 2 - short upflag 22 2 - -bStretchToConstraint 88 - - Object *tar 0 8 - int volmode 8 4 - int plane 12 4 - float orglength 16 4 - float bulge 20 4 - char subtarget 24 64 - -bRigidBodyJointConstraint 104 - - Object *tar 0 8 - Object *child 8 8 - int type 16 4 - float pivX 20 4 - float pivY 24 4 - float pivZ 28 4 - float axX 32 4 - float axY 36 4 - float axZ 40 4 - float minLimit 44 24 - float maxLimit 68 24 - float extraFz 92 4 - short flag 96 2 - short pad 98 2 - short pad1 100 2 - short pad2 102 2 - -bClampToConstraint 16 - - Object *tar 0 8 - int flag 8 4 - int flag2 12 4 - -bChildOfConstraint 144 - - Object *tar 0 8 - int flag 8 4 - int pad 12 4 - float invmat 16 64 - char subtarget 80 64 - -bTransformConstraint 128 - - Object *tar 0 8 - char subtarget 8 64 - short from 72 2 - short to 74 2 - char map 76 3 - char expo 79 1 - float from_min 80 12 - float from_max 92 12 - float to_min 104 12 - float to_max 116 12 - -bPivotConstraint 88 - - Object *tar 0 8 - char subtarget 8 64 - float offset 72 12 - short rotAxis 84 2 - short flag 86 2 - -bLocLimitConstraint 28 - - float xmin 0 4 - float xmax 4 4 - float ymin 8 4 - float ymax 12 4 - float zmin 16 4 - float zmax 20 4 - short flag 24 2 - short flag2 26 2 - -bRotLimitConstraint 28 - - float xmin 0 4 - float xmax 4 4 - float ymin 8 4 - float ymax 12 4 - float zmin 16 4 - float zmax 20 4 - short flag 24 2 - short flag2 26 2 - -bSizeLimitConstraint 28 - - float xmin 0 4 - float xmax 4 4 - float ymin 8 4 - float ymax 12 4 - float zmin 16 4 - float zmax 20 4 - short flag 24 2 - short flag2 26 2 - -bDistLimitConstraint 88 - - Object *tar 0 8 - char subtarget 8 64 - float dist 72 4 - float soft 76 4 - short flag 80 2 - short mode 82 2 - int pad 84 4 - -bShrinkwrapConstraint 24 - - Object *target 0 8 - float dist 8 4 - short shrinkType 12 2 - char projAxis 14 1 - char projAxisSpace 15 1 - float projLimit 16 4 - char pad 20 4 - -bFollowTrackConstraint 160 - - MovieClip *clip 0 8 - char track 8 64 - int flag 72 4 - int frame_method 76 4 - char object 80 64 - Object *camera 144 8 - Object *depth_ob 152 8 - -bCameraSolverConstraint 16 - - MovieClip *clip 0 8 - int flag 8 4 - int pad 12 4 - -bObjectSolverConstraint 152 - - MovieClip *clip 0 8 - int flag 8 4 - int pad 12 4 - char object 16 64 - float invmat 80 64 - Object *camera 144 8 - -bActionModifier 72 - - bActionModifier *next 0 8 - bActionModifier *prev 8 8 - short type 16 2 - short flag 18 2 - char channel 20 32 - float noisesize 52 4 - float turbul 56 4 - short channels 60 2 - short no_rot_axis 62 2 - Object *ob 64 8 - -bActionStrip 168 - - bActionStrip *next 0 8 - bActionStrip *prev 8 8 - short flag 16 2 - short mode 18 2 - short stride_axis 20 2 - short curmod 22 2 - Ipo *ipo 24 8 - bAction *act 32 8 - Object *object 40 8 - float start 48 4 - float end 52 4 - float actstart 56 4 - float actend 60 4 - float actoffs 64 4 - float stridelen 68 4 - float repeat 72 4 - float scale 76 4 - float blendin 80 4 - float blendout 84 4 - char stridechannel 88 32 - char offs_bone 120 32 - ListBase modifiers 152 16 - -bNodeStack 48 - - float vec 0 16 - float min 16 4 - float max 20 4 - void *data 24 8 - short hasinput 32 2 - short hasoutput 34 2 - short datatype 36 2 - short sockettype 38 2 - short is_copy 40 2 - short external 42 2 - short pad 44 4 - -bNodeSocket 352 - - bNodeSocket *next 0 8 - bNodeSocket *prev 8 8 - bNodeSocket *new_sock 16 8 - IDProperty *prop 24 8 - char identifier 32 64 - char name 96 64 - void *storage 160 8 - short type 168 2 - short flag 170 2 - short limit 172 2 - short in_out 174 2 - bNodeSocketType *typeinfo 176 8 - char idname 184 64 - float locx 248 4 - float locy 252 4 - void *default_value 256 8 - short stack_index 264 2 - short stack_type 266 2 - int resizemode 268 4 - void *cache 272 8 - int own_index 280 4 - int to_index 284 4 - bNodeSocket *groupsock 288 8 - bNodeLink *link 296 8 - bNodeStack ns 304 48 - -bNode 464 - - bNode *next 0 8 - bNode *prev 8 8 - bNode *new_node 16 8 - IDProperty *prop 24 8 - bNodeType *typeinfo 32 8 - char idname 40 64 - char name 104 64 - int flag 168 4 - short type 172 2 - short pad 174 2 - short done 176 2 - short level 178 2 - short lasty 180 2 - short menunr 182 2 - short stack_index 184 2 - short nr 186 2 - float color 188 12 - ListBase inputs 200 16 - ListBase outputs 216 16 - bNode *parent 232 8 - ID *id 240 8 - void *storage 248 8 - bNode *original 256 8 - ListBase internal_links 264 16 - float locx 280 4 - float locy 284 4 - float width 288 4 - float height 292 4 - float miniwidth 296 4 - float offsetx 300 4 - float offsety 304 4 - int update 308 4 - char label 312 64 - short custom1 376 2 - short custom2 378 2 - float custom3 380 4 - float custom4 384 4 - short need_exec 388 2 - short exec 390 2 - void *threaddata 392 8 - rctf totr 400 16 - rctf butr 416 16 - rctf prvr 432 16 - short preview_xsize 448 2 - short preview_ysize 450 2 - int pad2 452 4 - uiBlock *block 456 8 - -bNodeInstanceKey 4 - - int value 0 4 - -bNodeInstanceHashEntry 8 - - bNodeInstanceKey key 0 4 - short tag 4 2 - short pad 6 2 - -bNodePreview 24 - - bNodeInstanceHashEntry hash_entry 0 8 - char *rect 8 8 - short xsize 16 2 - short ysize 18 2 - int pad 20 4 - -bNodeLink 56 - - bNodeLink *next 0 8 - bNodeLink *prev 8 8 - bNode *fromnode 16 8 - bNode *tonode 24 8 - bNodeSocket *fromsock 32 8 - bNodeSocket *tosock 40 8 - int flag 48 4 - int pad 52 4 - -bNodeTree 404 - - ID id 0 120 - AnimData *adt 120 8 - bNodeTreeType *typeinfo 128 8 - char idname 136 64 - StructRNA *interface_type 200 8 - bGPdata *gpd 208 8 - float view_center 216 8 - ListBase nodes 224 16 - ListBase links 240 16 - int type 256 4 - int init 260 4 - int cur_index 264 4 - int flag 268 4 - int update 272 4 - short is_updating 276 2 - short done 278 2 - int pad2 280 4 - int nodetype 284 4 - short edit_quality 288 2 - short render_quality 290 2 - int chunksize 292 4 - rctf viewer_border 296 16 - ListBase inputs 312 16 - ListBase outputs 328 16 - bNodeInstanceHash *previews 344 8 - bNodeInstanceKey active_viewer_key 352 4 - int pad 356 4 - bNodeTreeExec *execdata 360 8 - void (*progress)() 368 0 - void (*stats_draw)() 368 0 - int (*test_break)() 368 4 - void (*update_draw)() 372 0 - void *tbh 372 8 - void *prh 380 8 - void *sdh 388 8 - void *udh 396 8 - -bNodeSocketValueInt 16 - - int subtype 0 4 - int value 4 4 - int min 8 4 - int max 12 4 - -bNodeSocketValueFloat 16 - - int subtype 0 4 - float value 4 4 - float min 8 4 - float max 12 4 - -bNodeSocketValueBoolean 4 - - char value 0 1 - char pad 1 3 - -bNodeSocketValueVector 24 - - int subtype 0 4 - float value 4 12 - float min 16 4 - float max 20 4 - -bNodeSocketValueRGBA 16 - - float value 0 16 - -bNodeSocketValueString 1032 - - int subtype 0 4 - int pad 4 4 - char value 8 1024 - -NodeFrame 4 - - short flag 0 2 - short label_size 2 2 - -NodeImageAnim 16 - - int frames 0 4 - int sfra 4 4 - int nr 8 4 - char cyclic 12 1 - char movie 13 1 - short pad 14 2 - -ColorCorrectionData 24 - - float saturation 0 4 - float contrast 4 4 - float gamma 8 4 - float gain 12 4 - float lift 16 4 - int pad 20 4 - -NodeColorCorrection 104 - - ColorCorrectionData master 0 24 - ColorCorrectionData shadows 24 24 - ColorCorrectionData midtones 48 24 - ColorCorrectionData highlights 72 24 - float startmidtones 96 4 - float endmidtones 100 4 - -NodeBokehImage 20 - - float angle 0 4 - int flaps 4 4 - float rounding 8 4 - float catadioptric 12 4 - float lensshift 16 4 - -NodeBoxMask 24 - - float x 0 4 - float y 4 4 - float rotation 8 4 - float height 12 4 - float width 16 4 - int pad 20 4 - -NodeEllipseMask 24 - - float x 0 4 - float y 4 4 - float rotation 8 4 - float height 12 4 - float width 16 4 - int pad 20 4 - -NodeImageLayer 8 - - int pass_index 0 4 - int pass_flag 4 4 - -NodeBlurData 40 - - short sizex 0 2 - short sizey 2 2 - short samples 4 2 - short maxspeed 6 2 - short minspeed 8 2 - short relative 10 2 - short aspect 12 2 - short curved 14 2 - float fac 16 4 - float percentx 20 4 - float percenty 24 4 - short filtertype 28 2 - char bokeh 30 1 - char gamma 31 1 - int image_in_width 32 4 - int image_in_height 36 4 - -NodeDBlurData 28 - - float center_x 0 4 - float center_y 4 4 - float distance 8 4 - float angle 12 4 - float spin 16 4 - float zoom 20 4 - short iter 24 2 - char wrap 26 1 - char pad 27 1 - -NodeBilateralBlurData 12 - - float sigma_color 0 4 - float sigma_space 4 4 - short iter 8 2 - short pad 10 2 - -NodeHueSat 12 - - float hue 0 4 - float sat 4 4 - float val 8 4 - -NodeImageFile 1280 - - char name 0 1024 - ImageFormatData im_format 1024 248 - int sfra 1272 4 - int efra 1276 4 - -NodeImageMultiFile 1288 - - char base_path 0 1024 - ImageFormatData format 1024 248 - int sfra 1272 4 - int efra 1276 4 - int active_input 1280 4 - int pad 1284 4 - -NodeImageMultiFileSocket 1312 - - short use_render_format 0 2 - short use_node_format 2 2 - int pad1 4 4 - char path 8 1024 - ImageFormatData format 1032 248 - char layer 1280 30 - char pad2 1310 2 - -NodeChroma 44 - - float t1 0 4 - float t2 4 4 - float t3 8 4 - float fsize 12 4 - float fstrength 16 4 - float falpha 20 4 - float key 24 16 - short algorithm 40 2 - short channel 42 2 - -NodeTwoXYs 24 - - short x1 0 2 - short x2 2 2 - short y1 4 2 - short y2 6 2 - float fac_x1 8 4 - float fac_x2 12 4 - float fac_y1 16 4 - float fac_y2 20 4 - -NodeTwoFloats 8 - - float x 0 4 - float y 4 4 - -NodeGeometry 128 - - char uvname 0 64 - char colname 64 64 - -NodeVertexCol 64 - - char name 0 64 - -NodeDefocus 32 - - char bktype 0 1 - char pad_c1 1 1 - char preview 2 1 - char gamco 3 1 - short samples 4 2 - short no_zbuf 6 2 - float fstop 8 4 - float maxblur 12 4 - float bthresh 16 4 - float scale 20 4 - float rotation 24 4 - float pad_f1 28 4 - -NodeScriptDict 16 - - void *dict 0 8 - void *node 8 8 - -NodeGlare 32 - - char quality 0 1 - char type 1 1 - char iter 2 1 - char angle 3 1 - char pad_c1 4 1 - char size 5 1 - char pad 6 2 - float colmod 8 4 - float mix 12 4 - float threshold 16 4 - float fade 20 4 - float angle_ofs 24 4 - float pad_f1 28 4 - -NodeTonemap 32 - - float key 0 4 - float offset 4 4 - float gamma 8 4 - float f 12 4 - float m 16 4 - float a 20 4 - float c 24 4 - int type 28 4 - -NodeLensDist 8 - - short jit 0 2 - short proj 2 2 - short fit 4 2 - short pad 6 2 - -NodeColorBalance 96 - - float slope 0 12 - float offset 12 12 - float power 24 12 - float lift 36 12 - float gamma 48 12 - float gain 60 12 - float lift_lgg 72 12 - float gamma_inv 84 12 - -NodeColorspill 20 - - short limchan 0 2 - short unspill 2 2 - float limscale 4 4 - float uspillr 8 4 - float uspillg 12 4 - float uspillb 16 4 - -NodeDilateErode 8 - - char falloff 0 1 - char pad 1 7 - -NodeMask 8 - - int size_x 0 4 - int size_y 4 4 - -NodeTexBase 968 - - TexMapping tex_mapping 0 144 - ColorMapping color_mapping 144 824 - -NodeTexSky 992 - - NodeTexBase base 0 968 - int sky_model 968 4 - float sun_direction 972 12 - float turbidity 984 4 - float ground_albedo 988 4 - -NodeTexImage 1024 - - NodeTexBase base 0 968 - ImageUser iuser 968 40 - int color_space 1008 4 - int projection 1012 4 - float projection_blend 1016 4 - int pad 1020 4 - -NodeTexChecker 968 - - NodeTexBase base 0 968 - -NodeTexBrick 984 - - NodeTexBase base 0 968 - int offset_freq 968 4 - int squash_freq 972 4 - float offset 976 4 - float squash 980 4 - -NodeTexEnvironment 1016 - - NodeTexBase base 0 968 - ImageUser iuser 968 40 - int color_space 1008 4 - int projection 1012 4 - -NodeTexGradient 976 - - NodeTexBase base 0 968 - int gradient_type 968 4 - int pad 972 4 - -NodeTexNoise 968 - - NodeTexBase base 0 968 - -NodeTexVoronoi 976 - - NodeTexBase base 0 968 - int coloring 968 4 - int pad 972 4 - -NodeTexMusgrave 976 - - NodeTexBase base 0 968 - int musgrave_type 968 4 - int pad 972 4 - -NodeTexWave 976 - - NodeTexBase base 0 968 - int wave_type 968 4 - int pad 972 4 - -NodeTexMagic 976 - - NodeTexBase base 0 968 - int depth 968 4 - int pad 972 4 - -NodeShaderAttribute 64 - - char name 0 64 - -NodeShaderVectTransform 16 - - int type 0 4 - int convert_from 4 4 - int convert_to 8 4 - int pad 12 4 - -TexNodeOutput 64 - - char name 0 64 - -NodeKeyingScreenData 64 - - char tracking_object 0 64 - -NodeKeyingData 48 - - float screen_balance 0 4 - float despill_factor 4 4 - float despill_balance 8 4 - int edge_kernel_radius 12 4 - float edge_kernel_tolerance 16 4 - float clip_black 20 4 - float clip_white 24 4 - int dilate_distance 28 4 - int feather_distance 32 4 - int feather_falloff 36 4 - int blur_pre 40 4 - int blur_post 44 4 - -NodeTrackPosData 128 - - char tracking_object 0 64 - char track_name 64 64 - -NodeTranslateData 8 - - char wrap_axis 0 1 - char relative 1 1 - char pad 2 6 - -NodePlaneTrackDeformData 128 - - char tracking_object 0 64 - char plane_track_name 64 64 - -NodeShaderScript 1104 - - int mode 0 4 - int flag 4 4 - char filepath 8 1024 - char bytecode_hash 1032 64 - char *bytecode 1096 8 - -NodeShaderTangent 72 - - int direction_type 0 4 - int axis 4 4 - char uv_map 8 64 - -NodeShaderNormalMap 68 - - int space 0 4 - char uv_map 4 64 - -CurveMapPoint 12 - - float x 0 4 - float y 4 4 - short flag 8 2 - short shorty 10 2 - -CurveMap 56 - - short totpoint 0 2 - short flag 2 2 - float range 4 4 - float mintable 8 4 - float maxtable 12 4 - float ext_in 16 8 - float ext_out 24 8 - CurveMapPoint *curve 32 8 - CurveMapPoint *table 40 8 - CurveMapPoint *premultable 48 8 - -CurveMapping 320 - - int flag 0 4 - int cur 4 4 - int preset 8 4 - int changed_timestamp 12 4 - rctf curr 16 16 - rctf clipr 32 16 - CurveMap cm 48 224 - float black 272 12 - float white 284 12 - float bwmul 296 12 - float sample 308 12 - -Histogram 5160 - - int channels 0 4 - int x_resolution 4 4 - float data_luma 8 1024 - float data_r 1032 1024 - float data_g 2056 1024 - float data_b 3080 1024 - float data_a 4104 1024 - float xmax 5128 4 - float ymax 5132 4 - short mode 5136 2 - short flag 5138 2 - int height 5140 4 - float co 5144 16 - -Scopes 5264 - - int ok 0 4 - int sample_full 4 4 - int sample_lines 8 4 - float accuracy 12 4 - int wavefrm_mode 16 4 - float wavefrm_alpha 20 4 - float wavefrm_yfac 24 4 - int wavefrm_height 28 4 - float vecscope_alpha 32 4 - int vecscope_height 36 4 - float minmax 40 24 - Histogram hist 64 5160 - float *waveform_1 5224 8 - float *waveform_2 5232 8 - float *waveform_3 5240 8 - float *vecscope 5248 8 - int waveform_tot 5256 4 - int pad 5260 4 - -ColorManagedViewSettings 160 - - int flag 0 4 - int pad 4 4 - char look 8 64 - char view_transform 72 64 - float exposure 136 4 - float gamma 140 4 - CurveMapping *curve_mapping 144 8 - void *pad2 152 8 - -ColorManagedDisplaySettings 64 - - char display_device 0 64 - -ColorManagedColorspaceSettings 64 - - char name 0 64 - -BrushClone 24 - - Image *image 0 8 - float offset 8 8 - float alpha 16 4 - float pad 20 4 - -Brush 1992 - - ID id 0 120 - BrushClone clone 120 24 - CurveMapping *curve 144 8 - MTex mtex 152 312 - MTex mask_mtex 464 312 - Brush *toggle_brush 776 8 - ImBuf *icon_imbuf 784 8 - PreviewImage *preview 792 8 - char icon_filepath 800 1024 - float normal_weight 1824 4 - short blend 1828 2 - short ob_mode 1830 2 - float weight 1832 4 - int size 1836 4 - int flag 1840 4 - float jitter 1844 4 - int jitter_absolute 1848 4 - int overlay_flags 1852 4 - int spacing 1856 4 - int smooth_stroke_radius 1860 4 - float smooth_stroke_factor 1864 4 - float rate 1868 4 - float rgb 1872 12 - float alpha 1884 4 - int sculpt_plane 1888 4 - float plane_offset 1892 4 - char sculpt_tool 1896 1 - char vertexpaint_tool 1897 1 - char imagepaint_tool 1898 1 - char mask_tool 1899 1 - float autosmooth_factor 1900 4 - float crease_pinch_factor 1904 4 - float plane_trim 1908 4 - float height 1912 4 - float texture_sample_bias 1916 4 - int texture_overlay_alpha 1920 4 - int mask_overlay_alpha 1924 4 - int cursor_overlay_alpha 1928 4 - float unprojected_radius 1932 4 - float add_col 1936 12 - float sub_col 1948 12 - float stencil_pos 1960 8 - float stencil_dimension 1968 8 - float mask_stencil_pos 1976 8 - float mask_stencil_dimension 1984 8 - -CustomDataLayer 104 - - int type 0 4 - int offset 4 4 - int flag 8 4 - int active 12 4 - int active_rnd 16 4 - int active_clone 20 4 - int active_mask 24 4 - int uid 28 4 - char name 32 64 - void *data 96 8 - -CustomDataExternal 1024 - - char filename 0 1024 - -CustomData 192 - - CustomDataLayer *layers 0 8 - int typemap 8 156 - int totlayer 164 4 - int maxlayer 168 4 - int totsize 172 4 - void *pool 176 8 - CustomDataExternal *external 184 8 - -HairKey 24 - - float co 0 12 - float time 12 4 - float weight 16 4 - short editflag 20 2 - short pad 22 2 - -ParticleKey 56 - - float co 0 12 - float vel 12 12 - float rot 24 16 - float ave 40 12 - float time 52 4 - -BoidParticle 56 - - Object *ground 0 8 - BoidData data 8 20 - float gravity 28 12 - float wander 40 12 - float rt 52 4 - -ParticleSpring 16 - - float rest_length 0 4 - int particle_index 4 8 - int delete_flag 12 4 - -ChildParticle 64 - - int num 0 4 - int parent 4 4 - int pa 8 16 - float w 24 16 - float fuv 40 16 - float foffset 56 4 - float rt 60 4 - -ParticleTarget 40 - - ParticleTarget *next 0 8 - ParticleTarget *prev 8 8 - Object *ob 16 8 - int psys 24 4 - short flag 28 2 - short mode 30 2 - float time 32 4 - float duration 36 4 - -ParticleDupliWeight 32 - - ParticleDupliWeight *next 0 8 - ParticleDupliWeight *prev 8 8 - Object *ob 16 8 - short count 24 2 - short flag 26 2 - short index 28 2 - short rt 30 2 - -ParticleData 200 - - ParticleKey state 0 56 - ParticleKey prev_state 56 56 - HairKey *hair 112 8 - ParticleKey *keys 120 8 - BoidParticle *boid 128 8 - int totkey 136 4 - float time 140 4 - float lifetime 144 4 - float dietime 148 4 - int num 152 4 - int num_dmcache 156 4 - float fuv 160 16 - float foffset 176 4 - float size 180 4 - float sphdensity 184 4 - int pad 188 4 - int hair_index 192 4 - short flag 196 2 - short alive 198 2 - -SPHFluidSettings 68 - - float radius 0 4 - float spring_k 4 4 - float rest_length 8 4 - float plasticity_constant 12 4 - float yield_ratio 16 4 - float plasticity_balance 20 4 - float yield_balance 24 4 - float viscosity_omega 28 4 - float viscosity_beta 32 4 - float stiffness_k 36 4 - float stiffness_knear 40 4 - float rest_density 44 4 - float buoyancy 48 4 - int flag 52 4 - int spring_frames 56 4 - short solver 60 2 - short pad 62 6 - -ParticleSettings 800 - - ID id 0 120 - AnimData *adt 120 8 - BoidSettings *boids 128 8 - SPHFluidSettings *fluid 136 8 - EffectorWeights *effector_weights 144 8 - int flag 152 4 - int rt 156 4 - short type 160 2 - short from 162 2 - short distr 164 2 - short texact 166 2 - short phystype 168 2 - short rotmode 170 2 - short avemode 172 2 - short reactevent 174 2 - int draw 176 4 - int pad1 180 4 - short draw_as 184 2 - short draw_size 186 2 - short childtype 188 2 - short pad2 190 2 - short ren_as 192 2 - short subframes 194 2 - short draw_col 196 2 - short draw_step 198 2 - short ren_step 200 2 - short hair_step 202 2 - short keys_step 204 2 - short adapt_angle 206 2 - short adapt_pix 208 2 - short disp 210 2 - short omat 212 2 - short interpolation 214 2 - short integrator 216 2 - short rotfrom 218 2 - short kink 220 2 - short kink_axis 222 2 - short bb_align 224 2 - short bb_uv_split 226 2 - short bb_anim 228 2 - short bb_split_offset 230 2 - float bb_tilt 232 4 - float bb_rand_tilt 236 4 - float bb_offset 240 8 - float bb_size 248 8 - float bb_vel_head 256 4 - float bb_vel_tail 260 4 - float color_vec_max 264 4 - short simplify_flag 268 2 - short simplify_refsize 270 2 - float simplify_rate 272 4 - float simplify_transition 276 4 - float simplify_viewport 280 4 - float sta 284 4 - float end 288 4 - float lifetime 292 4 - float randlife 296 4 - float timetweak 300 4 - float courant_target 304 4 - float jitfac 308 4 - float eff_hair 312 4 - float grid_rand 316 4 - float ps_offset 320 4 - int totpart 324 4 - int userjit 328 4 - int grid_res 332 4 - int effector_amount 336 4 - short time_flag 340 2 - short time_pad 342 6 - float normfac 348 4 - float obfac 352 4 - float randfac 356 4 - float partfac 360 4 - float tanfac 364 4 - float tanphase 368 4 - float reactfac 372 4 - float ob_vel 376 12 - float avefac 388 4 - float phasefac 392 4 - float randrotfac 396 4 - float randphasefac 400 4 - float mass 404 4 - float size 408 4 - float randsize 412 4 - float acc 416 12 - float dragfac 428 4 - float brownfac 432 4 - float dampfac 436 4 - float randlength 440 4 - int child_nbr 444 4 - int ren_child_nbr 448 4 - float parents 452 4 - float childsize 456 4 - float childrandsize 460 4 - float childrad 464 4 - float childflat 468 4 - float clumpfac 472 4 - float clumppow 476 4 - float kink_amp 480 4 - float kink_freq 484 4 - float kink_shape 488 4 - float kink_flat 492 4 - float kink_amp_clump 496 4 - float rough1 500 4 - float rough1_size 504 4 - float rough2 508 4 - float rough2_size 512 4 - float rough2_thres 516 4 - float rough_end 520 4 - float rough_end_shape 524 4 - float clength 528 4 - float clength_thres 532 4 - float parting_fac 536 4 - float parting_min 540 4 - float parting_max 544 4 - float branch_thres 548 4 - float draw_line 552 8 - float path_start 560 4 - float path_end 564 4 - int trail_count 568 4 - int keyed_loops 572 4 - MTex *mtex 576 144 - Group *dup_group 720 8 - ListBase dupliweights 728 16 - Group *eff_group 744 8 - Object *dup_ob 752 8 - Object *bb_ob 760 8 - Ipo *ipo 768 8 - PartDeflect *pd 776 8 - PartDeflect *pd2 784 8 - short use_modifier_stack 792 2 - short pad 794 6 - -ParticleSystem 656 - - ParticleSystem *next 0 8 - ParticleSystem *prev 8 8 - ParticleSettings *part 16 8 - ParticleData *particles 24 8 - ChildParticle *child 32 8 - PTCacheEdit *edit 40 8 - void (*free_edit)() 48 0 - ParticleCacheKey **pathcache 48 8 - ParticleCacheKey **childcache 56 8 - ListBase pathcachebufs 64 16 - ListBase childcachebufs 80 16 - ClothModifierData *clmd 96 8 - DerivedMesh *hair_in_dm 104 8 - DerivedMesh *hair_out_dm 112 8 - Object *target_ob 120 8 - LatticeDeformData *lattice_deform_data 128 8 - Object *parent 136 8 - ListBase targets 144 16 - char name 160 64 - float imat 224 64 - float cfra 288 4 - float tree_frame 292 4 - float bvhtree_frame 296 4 - int seed 300 4 - int child_seed 304 4 - int flag 308 4 - int totpart 312 4 - int totunexist 316 4 - int totchild 320 4 - int totcached 324 4 - int totchildcache 328 4 - short recalc 332 2 - short target_psys 334 2 - short totkeyed 336 2 - short bakespace 338 2 - char bb_uvname 340 192 - short vgroup 532 24 - short vg_neg 556 2 - short rt3 558 2 - void *renderdata 560 8 - PointCache *pointcache 568 8 - ListBase ptcaches 576 16 - ListBase *effectors 592 8 - ParticleSpring *fluid_springs 600 8 - int tot_fluidsprings 608 4 - int alloc_fluidsprings 612 4 - KDTree *tree 616 8 - BVHTree *bvhtree 624 8 - ParticleDrawData *pdd 632 8 - float *frand 640 8 - float dt_frac 648 4 - float _pad 652 4 - -ClothSimSettings 152 - - LinkNode *cache 0 8 - float mingoal 8 4 - float Cdis 12 4 - float Cvi 16 4 - float gravity 20 12 - float dt 32 4 - float mass 36 4 - float structural 40 4 - float shear 44 4 - float bending 48 4 - float max_bend 52 4 - float max_struct 56 4 - float max_shear 60 4 - float avg_spring_len 64 4 - float timescale 68 4 - float maxgoal 72 4 - float eff_force_scale 76 4 - float eff_wind_scale 80 4 - float sim_time_old 84 4 - float defgoal 88 4 - float goalspring 92 4 - float goalfrict 96 4 - float velocity_smooth 100 4 - float collider_friction 104 4 - float vel_damping 108 4 - int stepsPerFrame 112 4 - int flags 116 4 - int preroll 120 4 - int maxspringlen 124 4 - short solver_type 128 2 - short vgroup_bend 130 2 - short vgroup_mass 132 2 - short vgroup_struct 134 2 - short shapekey_rest 136 2 - short presets 138 2 - short reset 140 2 - short pad 142 2 - EffectorWeights *effector_weights 144 8 - -ClothCollSettings 56 - - LinkNode *collision_list 0 8 - float epsilon 8 4 - float self_friction 12 4 - float friction 16 4 - float selfepsilon 20 4 - float repel_force 24 4 - float distance_repel 28 4 - int flags 32 4 - short self_loop_count 36 2 - short loop_count 38 2 - Group *group 40 8 - short vgroup_selfcol 48 2 - short pad 50 2 - int pad2 52 4 - -bGPDspoint 20 - - float x 0 4 - float y 4 4 - float z 8 4 - float pressure 12 4 - float time 16 4 - -bGPDstroke 48 - - bGPDstroke *next 0 8 - bGPDstroke *prev 8 8 - bGPDspoint *points 16 8 - void *pad 24 8 - int totpoints 32 4 - short thickness 36 2 - short flag 38 2 - double inittime 40 8 - -bGPDframe 40 - - bGPDframe *next 0 8 - bGPDframe *prev 8 8 - ListBase strokes 16 16 - int framenum 32 4 - int flag 36 4 - -bGPDlayer 192 - - bGPDlayer *next 0 8 - bGPDlayer *prev 8 8 - ListBase frames 16 16 - bGPDframe *actframe 32 8 - int flag 40 4 - short thickness 44 2 - short gstep 46 2 - float color 48 16 - char info 64 128 - -bGPdata 152 - - ID id 0 120 - ListBase layers 120 16 - int flag 136 4 - short sbuffer_size 140 2 - short sbuffer_sflag 142 2 - void *sbuffer 144 8 - -ReportList 40 - - ListBase list 0 16 - int printlevel 16 4 - int storelevel 20 4 - int flag 24 4 - int pad 28 4 - wmTimer *reporttimer 32 8 - -wmWindowManager 344 - - ID id 0 120 - wmWindow *windrawable 120 8 - wmWindow *winactive 128 8 - ListBase windows 136 16 - int initialized 152 4 - short file_saved 156 2 - short op_undo_depth 158 2 - ListBase operators 160 16 - ListBase queue 176 16 - ReportList reports 192 40 - ListBase jobs 232 16 - ListBase paintcursors 248 16 - ListBase drags 264 16 - ListBase keyconfigs 280 16 - wmKeyConfig *defaultconf 296 8 - wmKeyConfig *addonconf 304 8 - wmKeyConfig *userconf 312 8 - ListBase timers 320 16 - wmTimer *autosavetimer 336 8 - -wmWindow 256 - - wmWindow *next 0 8 - wmWindow *prev 8 8 - void *ghostwin 16 8 - int winid 24 4 - short grabcursor 28 2 - short pad 30 2 - bScreen *screen 32 8 - bScreen *newscreen 40 8 - char screenname 48 64 - short posx 112 2 - short posy 114 2 - short sizex 116 2 - short sizey 118 2 - short windowstate 120 2 - short monitor 122 2 - short active 124 2 - short cursor 126 2 - short lastcursor 128 2 - short modalcursor 130 2 - short addmousemove 132 2 - short pad2 134 2 - wmEvent *eventstate 136 8 - wmSubWindow *curswin 144 8 - wmGesture *tweak 152 8 - int drawmethod 160 4 - int drawfail 164 4 - void *drawdata 168 8 - ListBase queue 176 16 - ListBase handlers 192 16 - ListBase modalhandlers 208 16 - ListBase subwindows 224 16 - ListBase gesture 240 16 - -wmKeyMapItem 184 - - wmKeyMapItem *next 0 8 - wmKeyMapItem *prev 8 8 - char idname 16 64 - IDProperty *properties 80 8 - char propvalue_str 88 64 - short propvalue 152 2 - short type 154 2 - short val 156 2 - short shift 158 2 - short ctrl 160 2 - short alt 162 2 - short oskey 164 2 - short keymodifier 166 2 - short flag 168 2 - short maptype 170 2 - short id 172 2 - short pad 174 2 - PointerRNA *ptr 176 8 - -wmKeyMapDiffItem 32 - - wmKeyMapDiffItem *next 0 8 - wmKeyMapDiffItem *prev 8 8 - wmKeyMapItem *remove_item 16 8 - wmKeyMapItem *add_item 24 8 - -wmKeyMap 132 - - wmKeyMap *next 0 8 - wmKeyMap *prev 8 8 - ListBase items 16 16 - ListBase diff_items 32 16 - char idname 48 64 - short spaceid 112 2 - short regionid 114 2 - short flag 116 2 - short kmi_id 118 2 - int (*poll)() 120 4 - void *modal_items 124 8 - -wmKeyConfig 168 - - wmKeyConfig *next 0 8 - wmKeyConfig *prev 8 8 - char idname 16 64 - char basename 80 64 - ListBase keymaps 144 16 - int actkeymap 160 4 - int flag 164 4 - -wmOperator 168 - - wmOperator *next 0 8 - wmOperator *prev 8 8 - char idname 16 64 - IDProperty *properties 80 8 - wmOperatorType *type 88 8 - void *customdata 96 8 - void *py_instance 104 8 - PointerRNA *ptr 112 8 - ReportList *reports 120 8 - ListBase macro 128 16 - wmOperator *opm 144 8 - uiLayout *layout 152 8 - short flag 160 2 - short pad 162 6 - -FModifier 120 - - FModifier *next 0 8 - FModifier *prev 8 8 - void *data 16 8 - void *edata 24 8 - char name 32 64 - short type 96 2 - short flag 98 2 - float influence 100 4 - float sfra 104 4 - float efra 108 4 - float blendin 112 4 - float blendout 116 4 - -FMod_Generator 24 - - float *coefficients 0 8 - int arraysize 8 4 - int poly_order 12 4 - int mode 16 4 - int flag 20 4 - -FMod_FunctionGenerator 24 - - float amplitude 0 4 - float phase_multiplier 4 4 - float phase_offset 8 4 - float value_offset 12 4 - int type 16 4 - int flag 20 4 - -FCM_EnvelopeData 16 - - float min 0 4 - float max 4 4 - float time 8 4 - short f1 12 2 - short f2 14 2 - -FMod_Envelope 24 - - FCM_EnvelopeData *data 0 8 - int totvert 8 4 - float midval 12 4 - float min 16 4 - float max 20 4 - -FMod_Cycles 8 - - short before_mode 0 2 - short after_mode 2 2 - short before_cycles 4 2 - short after_cycles 6 2 - -FMod_Python 16 - - Text *script 0 8 - IDProperty *prop 8 8 - -FMod_Limits 24 - - rctf rect 0 16 - int flag 16 4 - int pad 20 4 - -FMod_Noise 20 - - float size 0 4 - float strength 4 4 - float phase 8 4 - float pad 12 4 - short depth 16 2 - short modification 18 2 - -FMod_Stepped 20 - - float step_size 0 4 - float offset 4 4 - float start_frame 8 4 - float end_frame 12 4 - int flag 16 4 - -DriverTarget 56 - - ID *id 0 8 - char *rna_path 8 8 - char pchan_name 16 32 - short transChan 48 2 - short flag 50 2 - int idtype 52 4 - -DriverVar 536 - - DriverVar *next 0 8 - DriverVar *prev 8 8 - char name 16 64 - DriverTarget targets 80 448 - short num_targets 528 2 - short type 530 2 - float curval 532 4 - -ChannelDriver 296 - - ListBase variables 0 16 - char expression 16 256 - void *expr_comp 272 8 - float curval 280 4 - float influence 284 4 - int type 288 4 - int flag 292 4 - -FPoint 16 - - float vec 0 8 - int flag 8 4 - int pad 12 4 - -FCurve 104 - - FCurve *next 0 8 - FCurve *prev 8 8 - bActionGroup *grp 16 8 - ChannelDriver *driver 24 8 - ListBase modifiers 32 16 - BezTriple *bezt 48 8 - FPoint *fpt 56 8 - int totvert 64 4 - float curval 68 4 - short flag 72 2 - short extend 74 2 - int array_index 76 4 - char *rna_path 80 8 - int color_mode 88 4 - float color 92 12 - -AnimMapPair 256 - - char from 0 128 - char to 128 128 - -AnimMapper 40 - - AnimMapper *next 0 8 - AnimMapper *prev 8 8 - bAction *target 16 8 - ListBase mappings 24 16 - -NlaStrip 208 - - NlaStrip *next 0 8 - NlaStrip *prev 8 8 - ListBase strips 16 16 - bAction *act 32 8 - AnimMapper *remap 40 8 - ListBase fcurves 48 16 - ListBase modifiers 64 16 - char name 80 64 - float influence 144 4 - float strip_time 148 4 - float start 152 4 - float end 156 4 - float actstart 160 4 - float actend 164 4 - float repeat 168 4 - float scale 172 4 - float blendin 176 4 - float blendout 180 4 - short blendmode 184 2 - short extendmode 186 2 - short pad1 188 2 - short type 190 2 - void *speaker_handle 192 8 - int flag 200 4 - int pad2 204 4 - -NlaTrack 104 - - NlaTrack *next 0 8 - NlaTrack *prev 8 8 - ListBase strips 16 16 - int flag 32 4 - int index 36 4 - char name 40 64 - -KS_Path 112 - - KS_Path *next 0 8 - KS_Path *prev 8 8 - ID *id 16 8 - char group 24 64 - int idtype 88 4 - short groupmode 92 2 - short pad 94 2 - char *rna_path 96 8 - int array_index 104 4 - short flag 108 2 - short keyingflag 110 2 - -KeyingSet 472 - - KeyingSet *next 0 8 - KeyingSet *prev 8 8 - ListBase paths 16 16 - char idname 32 64 - char name 96 64 - char description 160 240 - char typeinfo 400 64 - short flag 464 2 - short keyingflag 466 2 - int active_path 468 4 - -AnimOverride 32 - - AnimOverride *next 0 8 - AnimOverride *prev 8 8 - char *rna_path 16 8 - int array_index 24 4 - float value 28 4 - -AnimData 96 - - bAction *action 0 8 - bAction *tmpact 8 8 - AnimMapper *remap 16 8 - ListBase nla_tracks 24 16 - NlaStrip *actstrip 40 8 - ListBase drivers 48 16 - ListBase overrides 64 16 - int flag 80 4 - int recalc 84 4 - short act_blendmode 88 2 - short act_extendmode 90 2 - float act_influence 92 4 - -IdAdtTemplate 128 - - ID id 0 120 - AnimData *adt 120 8 - -BoidRule 56 - - BoidRule *next 0 8 - BoidRule *prev 8 8 - int type 16 4 - int flag 20 4 - char name 24 32 - -BoidRuleGoalAvoid 80 - - BoidRule rule 0 56 - Object *ob 56 8 - int options 64 4 - float fear_factor 68 4 - int signal_id 72 4 - int channels 76 4 - -BoidRuleAvoidCollision 64 - - BoidRule rule 0 56 - int options 56 4 - float look_ahead 60 4 - -BoidRuleFollowLeader 104 - - BoidRule rule 0 56 - Object *ob 56 8 - float loc 64 12 - float oloc 76 12 - float cfra 88 4 - float distance 92 4 - int options 96 4 - int queue_size 100 4 - -BoidRuleAverageSpeed 72 - - BoidRule rule 0 56 - float wander 56 4 - float level 60 4 - float speed 64 4 - float rt 68 4 - -BoidRuleFight 64 - - BoidRule rule 0 56 - float distance 56 4 - float flee_distance 60 4 - -BoidData 20 - - float health 0 4 - float acc 4 12 - short state_id 16 2 - short mode 18 2 - -BoidState 128 - - BoidState *next 0 8 - BoidState *prev 8 8 - ListBase rules 16 16 - ListBase conditions 32 16 - ListBase actions 48 16 - char name 64 32 - int id 96 4 - int flag 100 4 - int ruleset_type 104 4 - float rule_fuzziness 108 4 - int signal_id 112 4 - int channels 116 4 - float volume 120 4 - float falloff 124 4 - -BoidSettings 104 - - int options 0 4 - int last_state_id 4 4 - float landing_smoothness 8 4 - float height 12 4 - float banking 16 4 - float pitch 20 4 - float health 24 4 - float aggression 28 4 - float strength 32 4 - float accuracy 36 4 - float range 40 4 - float air_min_speed 44 4 - float air_max_speed 48 4 - float air_max_acc 52 4 - float air_max_ave 56 4 - float air_personal_space 60 4 - float land_jump_speed 64 4 - float land_max_speed 68 4 - float land_max_acc 72 4 - float land_max_ave 76 4 - float land_personal_space 80 4 - float land_stick_force 84 4 - ListBase states 88 16 - -SmokeDomainSettings 584 - - SmokeModifierData *smd 0 8 - FLUID_3D *fluid 8 8 - void *fluid_mutex 16 8 - Group *fluid_group 24 8 - Group *eff_group 32 8 - Group *coll_group 40 8 - WTURBULENCE *wt 48 8 - GPUTexture *tex 56 8 - GPUTexture *tex_wt 64 8 - GPUTexture *tex_shadow 72 8 - GPUTexture *tex_flame 80 8 - float *shadow 88 8 - float p0 96 12 - float p1 108 12 - float dp0 120 12 - float cell_size 132 12 - float global_size 144 12 - float prev_loc 156 12 - int shift 168 12 - float shift_f 180 12 - float obj_shift_f 192 12 - float imat 204 64 - float obmat 268 64 - int base_res 332 12 - int res_min 344 12 - int res_max 356 12 - int res 368 12 - int total_cells 380 4 - float dx 384 4 - float scale 388 4 - int adapt_margin 392 4 - int adapt_res 396 4 - float adapt_threshold 400 4 - float alpha 404 4 - float beta 408 4 - int amplify 412 4 - int maxres 416 4 - int flags 420 4 - int viewsettings 424 4 - short noise 428 2 - short diss_percent 430 2 - int diss_speed 432 4 - float strength 436 4 - int res_wt 440 12 - float dx_wt 452 4 - int cache_comp 456 4 - int cache_high_comp 460 4 - PointCache *point_cache 464 16 - ListBase ptcaches 480 32 - EffectorWeights *effector_weights 512 8 - int border_collisions 520 4 - float time_scale 524 4 - float vorticity 528 4 - int active_fields 532 4 - float active_color 536 12 - int highres_sampling 548 4 - float burning_rate 552 4 - float flame_smoke 556 4 - float flame_vorticity 560 4 - float flame_ignition 564 4 - float flame_max_temp 568 4 - float flame_smoke_color 572 12 - -SmokeFlowSettings 184 - - SmokeModifierData *smd 0 8 - DerivedMesh *dm 8 8 - ParticleSystem *psys 16 8 - Tex *noise_texture 24 8 - float *verts_old 32 8 - int numverts 40 4 - float vel_multi 44 4 - float vel_normal 48 4 - float vel_random 52 4 - float density 56 4 - float color 60 12 - float fuel_amount 72 4 - float temp 76 4 - float volume_density 80 4 - float surface_distance 84 4 - float particle_size 88 4 - int subframes 92 4 - float texture_size 96 4 - float texture_offset 100 4 - int pad 104 4 - char uvlayer_name 108 64 - short vgroup_density 172 2 - short type 174 2 - short source 176 2 - short texture_type 178 2 - int flags 180 4 - -SmokeCollSettings 32 - - SmokeModifierData *smd 0 8 - DerivedMesh *dm 8 8 - float *verts_old 16 8 - int numverts 24 4 - short type 28 2 - short pad 30 2 - -Speaker 184 - - ID id 0 120 - AnimData *adt 120 8 - bSound *sound 128 8 - float volume_max 136 4 - float volume_min 140 4 - float distance_max 144 4 - float distance_reference 148 4 - float attenuation 152 4 - float cone_angle_outer 156 4 - float cone_angle_inner 160 4 - float cone_volume_outer 164 4 - float volume 168 4 - float pitch 172 4 - short flag 176 2 - short pad1 178 6 - -MovieClipUser 8 - - int framenr 0 4 - short render_size 4 2 - short render_flag 6 2 - -MovieClipProxy 776 - - char dir 0 768 - short tc 768 2 - short quality 770 2 - short build_size_flag 772 2 - short build_tc_flag 774 2 - -MovieClip 2384 - - ID id 0 120 - AnimData *adt 120 8 - char name 128 1024 - int source 1152 4 - int lastframe 1156 4 - int lastsize 1160 8 - float aspx 1168 4 - float aspy 1172 4 - anim *anim 1176 8 - MovieClipCache *cache 1184 8 - bGPdata *gpd 1192 8 - MovieTracking tracking 1200 320 - void *tracking_context 1520 8 - MovieClipProxy proxy 1528 776 - int flag 2304 4 - int len 2308 4 - int start_frame 2312 4 - int frame_offset 2316 4 - ColorManagedColorspaceSettings colorspace_settings 2320 64 - -MovieClipScopes 136 - - short ok 0 2 - short use_track_mask 2 2 - int track_preview_height 4 4 - int frame_width 8 4 - int frame_height 12 4 - MovieTrackingMarker undist_marker 16 64 - ImBuf *track_search 80 8 - ImBuf *track_preview 88 8 - float track_pos 96 8 - short track_disabled 104 2 - short track_locked 106 2 - int framenr 108 4 - MovieTrackingTrack *track 112 8 - MovieTrackingMarker *marker 120 8 - float slide_scale 128 8 - -MovieReconstructedCamera 72 - - int framenr 0 4 - float error 4 4 - float mat 8 64 - -MovieTrackingCamera 48 - - void *intrinsics 0 8 - float sensor_width 8 4 - float pixel_aspect 12 4 - float pad 16 4 - float focal 20 4 - short units 24 2 - short pad1 26 2 - float principal 28 8 - float k1 36 4 - float k2 40 4 - float k3 44 4 - -MovieTrackingMarker 64 - - float pos 0 8 - float pattern_corners 8 32 - float search_min 40 8 - float search_max 48 8 - int framenr 56 4 - int flag 60 4 - -MovieTrackingTrack 200 - - MovieTrackingTrack *next 0 8 - MovieTrackingTrack *prev 8 8 - char name 16 64 - float pat_min 80 8 - float pat_max 88 8 - float search_min 96 8 - float search_max 104 8 - float offset 112 8 - int markersnr 120 4 - int last_marker 124 4 - MovieTrackingMarker *markers 128 8 - float bundle_pos 136 12 - float error 148 4 - int flag 152 4 - int pat_flag 156 4 - int search_flag 160 4 - float color 164 12 - short frames_limit 176 2 - short margin 178 2 - short pattern_match 180 2 - short motion_model 182 2 - int algorithm_flag 184 4 - float minimum_correlation 188 4 - bGPdata *gpd 192 8 - -MovieTrackingPlaneMarker 40 - - float corners 0 32 - int framenr 32 4 - int flag 36 4 - -MovieTrackingPlaneTrack 120 - - MovieTrackingPlaneTrack *next 0 8 - MovieTrackingPlaneTrack *prev 8 8 - char name 16 64 - MovieTrackingTrack **point_tracks 80 8 - int point_tracksnr 88 4 - int pad 92 4 - MovieTrackingPlaneMarker *markers 96 8 - int markersnr 104 4 - int flag 108 4 - int last_marker 112 4 - int pad2 116 4 - -MovieTrackingSettings 72 - - int flag 0 4 - short default_motion_model 4 2 - short default_algorithm_flag 6 2 - float default_minimum_correlation 8 4 - short default_pattern_size 12 2 - short default_search_size 14 2 - short default_frames_limit 16 2 - short default_margin 18 2 - short default_pattern_match 20 2 - short default_flag 22 2 - short motion_flag 24 2 - short speed 26 2 - int keyframe1 28 4 - int keyframe2 32 4 - float reconstruction_success_threshold 36 4 - int reconstruction_flag 40 4 - short refine_camera_intrinsics 44 2 - short pad2 46 2 - float dist 48 4 - int clean_frames 52 4 - int clean_action 56 4 - float clean_error 60 4 - float object_distance 64 4 - int pad3 68 4 - -MovieTrackingStabilization 48 - - int flag 0 4 - int tot_track 4 4 - int act_track 8 4 - float maxscale 12 4 - MovieTrackingTrack *rot_track 16 8 - float locinf 24 4 - float scaleinf 28 4 - float rotinf 32 4 - int filter 36 4 - int ok 40 4 - float scale 44 4 - -MovieTrackingReconstruction 24 - - int flag 0 4 - float error 4 4 - int last_camera 8 4 - int camnr 12 4 - MovieReconstructedCamera *cameras 16 8 - -MovieTrackingObject 152 - - MovieTrackingObject *next 0 8 - MovieTrackingObject *prev 8 8 - char name 16 64 - int flag 80 4 - float scale 84 4 - ListBase tracks 88 16 - ListBase plane_tracks 104 16 - MovieTrackingReconstruction reconstruction 120 24 - int keyframe1 144 4 - int keyframe2 148 4 - -MovieTrackingStats 256 - - char message 0 256 - -MovieTrackingDopesheetChannel 112 - - MovieTrackingDopesheetChannel *next 0 8 - MovieTrackingDopesheetChannel *prev 8 8 - MovieTrackingTrack *track 16 8 - int pad 24 4 - char name 28 64 - int tot_segment 92 4 - int *segments 96 8 - int max_segment 104 4 - int total_frames 108 4 - -MovieTrackingDopesheetCoverageSegment 32 - - MovieTrackingDopesheetCoverageSegment *next 0 8 - MovieTrackingDopesheetCoverageSegment *prev 8 8 - int coverage 16 4 - int start_frame 20 4 - int end_frame 24 4 - int pad 28 4 - -MovieTrackingDopesheet 48 - - int ok 0 4 - short sort_method 4 2 - short flag 6 2 - ListBase coverage_segments 8 16 - ListBase channels 24 16 - int tot_channel 40 4 - int pad 44 4 - -MovieTracking 320 - - MovieTrackingSettings settings 0 72 - MovieTrackingCamera camera 72 48 - ListBase tracks 120 16 - ListBase plane_tracks 136 16 - MovieTrackingReconstruction reconstruction 152 24 - MovieTrackingStabilization stabilization 176 48 - MovieTrackingTrack *act_track 224 8 - MovieTrackingPlaneTrack *act_plane_track 232 8 - ListBase objects 240 16 - int objectnr 256 4 - int tot_object 260 4 - MovieTrackingStats *stats 264 8 - MovieTrackingDopesheet dopesheet 272 48 - -DynamicPaintSurface 1560 - - DynamicPaintSurface *next 0 8 - DynamicPaintSurface *prev 8 8 - DynamicPaintCanvasSettings *canvas 16 8 - PaintSurfaceData *data 24 8 - Group *brush_group 32 8 - EffectorWeights *effector_weights 40 8 - PointCache *pointcache 48 8 - ListBase ptcaches 56 16 - int current_frame 72 4 - char name 76 64 - short format 140 2 - short type 142 2 - short disp_type 144 2 - short image_fileformat 146 2 - short effect_ui 148 2 - short preview_id 150 2 - short init_color_type 152 2 - short pad_s 154 2 - int flags 156 4 - int effect 160 4 - int image_resolution 164 4 - int substeps 168 4 - int start_frame 172 4 - int end_frame 176 4 - int pad 180 4 - float init_color 184 16 - Tex *init_texture 200 8 - char init_layername 208 64 - int dry_speed 272 4 - int diss_speed 276 4 - float color_dry_threshold 280 4 - float depth_clamp 284 4 - float disp_factor 288 4 - float spread_speed 292 4 - float color_spread_speed 296 4 - float shrink_speed 300 4 - float drip_vel 304 4 - float drip_acc 308 4 - float influence_scale 312 4 - float radius_scale 316 4 - float wave_damping 320 4 - float wave_speed 324 4 - float wave_timescale 328 4 - float wave_spring 332 4 - float wave_smoothness 336 4 - int pad2 340 4 - char uvlayer_name 344 64 - char image_output_path 408 1024 - char output_name 1432 64 - char output_name2 1496 64 - -DynamicPaintCanvasSettings 104 - - DynamicPaintModifierData *pmd 0 8 - DerivedMesh *dm 8 8 - ListBase surfaces 16 16 - short active_sur 32 2 - short flags 34 2 - int pad 36 4 - char error 40 64 - -DynamicPaintBrushSettings 112 - - DynamicPaintModifierData *pmd 0 8 - DerivedMesh *dm 8 8 - ParticleSystem *psys 16 8 - Material *mat 24 8 - int flags 32 4 - int collision 36 4 - float r 40 4 - float g 44 4 - float b 48 4 - float alpha 52 4 - float wetness 56 4 - float particle_radius 60 4 - float particle_smooth 64 4 - float paint_distance 68 4 - ColorBand *paint_ramp 72 8 - ColorBand *vel_ramp 80 8 - short proximity_falloff 88 2 - short wave_type 90 2 - short ray_dir 92 2 - short pad 94 2 - float wave_factor 96 4 - float wave_clamp 100 4 - float max_velocity 104 4 - float smudge_strength 108 4 - -Mask 168 - - ID id 0 120 - AnimData *adt 120 8 - ListBase masklayers 128 16 - int masklay_act 144 4 - int masklay_tot 148 4 - int sfra 152 4 - int efra 156 4 - int flag 160 4 - int pad 164 4 - -MaskParent 184 - - int id_type 0 4 - int type 4 4 - ID *id 8 8 - char parent 16 64 - char sub_parent 80 64 - float parent_orig 144 8 - float parent_corners_orig 152 32 - -MaskSplinePointUW 12 - - float u 0 4 - float w 4 4 - int flag 8 4 - -MaskSplinePoint 256 - - BezTriple bezt 0 56 - int pad 56 4 - int tot_uw 60 4 - MaskSplinePointUW *uw 64 8 - MaskParent parent 72 184 - -MaskSpline 224 - - MaskSpline *next 0 8 - MaskSpline *prev 8 8 - short flag 16 2 - char offset_mode 18 1 - char weight_interp 19 1 - int tot_point 20 4 - MaskSplinePoint *points 24 8 - MaskParent parent 32 184 - MaskSplinePoint *points_deform 216 8 - -MaskLayerShape 40 - - MaskLayerShape *next 0 8 - MaskLayerShape *prev 8 8 - float *data 16 8 - int tot_vert 24 4 - int frame 28 4 - char flag 32 1 - char pad 33 7 - -MaskLayer 144 - - MaskLayer *next 0 8 - MaskLayer *prev 8 8 - char name 16 64 - ListBase splines 80 16 - ListBase splines_shapes 96 16 - MaskSpline *act_spline 112 8 - MaskSplinePoint *act_point 120 8 - float alpha 128 4 - char blend 132 1 - char blend_flag 133 1 - char falloff 134 1 - char pad 135 7 - char flag 142 1 - char restrictflag 143 1 - -RigidBodyWorld 88 - - EffectorWeights *effector_weights 0 8 - Group *group 8 8 - Object **objects 16 8 - Group *constraints 24 8 - int pad 32 4 - float ltime 36 4 - PointCache *pointcache 40 8 - ListBase ptcaches 48 16 - int numbodies 64 4 - short steps_per_second 68 2 - short num_solver_iterations 70 2 - int flag 72 4 - float time_scale 76 4 - void *physics_world 80 8 - -RigidBodyOb 96 - - void *physics_object 0 8 - void *physics_shape 8 8 - short type 16 2 - short shape 18 2 - int flag 20 4 - int col_groups 24 4 - int pad 28 4 - float mass 32 4 - float friction 36 4 - float restitution 40 4 - float margin 44 4 - float lin_damping 48 4 - float ang_damping 52 4 - float lin_sleep_thresh 56 4 - float ang_sleep_thresh 60 4 - float orn 64 16 - float pos 80 12 - float pad1 92 4 - -RigidBodyCon 128 - - Object *ob1 0 8 - Object *ob2 8 8 - short type 16 2 - short num_solver_iterations 18 2 - int flag 20 4 - float breaking_threshold 24 4 - float pad 28 4 - float limit_lin_x_lower 32 4 - float limit_lin_x_upper 36 4 - float limit_lin_y_lower 40 4 - float limit_lin_y_upper 44 4 - float limit_lin_z_lower 48 4 - float limit_lin_z_upper 52 4 - float limit_ang_x_lower 56 4 - float limit_ang_x_upper 60 4 - float limit_ang_y_lower 64 4 - float limit_ang_y_upper 68 4 - float limit_ang_z_lower 72 4 - float limit_ang_z_upper 76 4 - float spring_stiffness_x 80 4 - float spring_stiffness_y 84 4 - float spring_stiffness_z 88 4 - float spring_damping_x 92 4 - float spring_damping_y 96 4 - float spring_damping_z 100 4 - float motor_lin_target_velocity 104 4 - float motor_ang_target_velocity 108 4 - float motor_lin_max_impulse 112 4 - float motor_ang_max_impulse 116 4 - void *physics_constraint 120 8 - -FreestyleLineSet 128 - - FreestyleLineSet *next 0 8 - FreestyleLineSet *prev 8 8 - char name 16 64 - int flags 80 4 - int selection 84 4 - short qi 88 2 - short pad1 90 2 - int qi_start 92 4 - int qi_end 96 4 - int edge_types 100 4 - int exclude_edge_types 104 4 - int pad2 108 4 - Group *group 112 8 - FreestyleLineStyle *linestyle 120 8 - -FreestyleModuleConfig 32 - - FreestyleModuleConfig *next 0 8 - FreestyleModuleConfig *prev 8 8 - Text *script 16 8 - short is_displayed 24 2 - short pad 26 6 - -FreestyleConfig 56 - - ListBase modules 0 16 - int mode 16 4 - int raycasting_algorithm 20 4 - int flags 24 4 - float sphere_radius 28 4 - float dkr_epsilon 32 4 - float crease_angle 36 4 - ListBase linesets 40 16 - -LineStyleModifier 96 - - LineStyleModifier *next 0 8 - LineStyleModifier *prev 8 8 - char name 16 64 - int type 80 4 - float influence 84 4 - int flags 88 4 - int blend 92 4 - -LineStyleColorModifier_AlongStroke 104 - - LineStyleModifier modifier 0 96 - ColorBand *color_ramp 96 8 - -LineStyleAlphaModifier_AlongStroke 112 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - int pad 108 4 - -LineStyleThicknessModifier_AlongStroke 120 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - float value_min 108 4 - float value_max 112 4 - int pad 116 4 - -LineStyleColorModifier_DistanceFromCamera 112 - - LineStyleModifier modifier 0 96 - ColorBand *color_ramp 96 8 - float range_min 104 4 - float range_max 108 4 - -LineStyleAlphaModifier_DistanceFromCamera 120 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - float range_min 108 4 - float range_max 112 4 - int pad 116 4 - -LineStyleThicknessModifier_DistanceFromCamera 128 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - float range_min 108 4 - float range_max 112 4 - float value_min 116 4 - float value_max 120 4 - int pad 124 4 - -LineStyleColorModifier_DistanceFromObject 120 - - LineStyleModifier modifier 0 96 - Object *target 96 8 - ColorBand *color_ramp 104 8 - float range_min 112 4 - float range_max 116 4 - -LineStyleAlphaModifier_DistanceFromObject 128 - - LineStyleModifier modifier 0 96 - Object *target 96 8 - CurveMapping *curve 104 8 - int flags 112 4 - float range_min 116 4 - float range_max 120 4 - int pad 124 4 - -LineStyleThicknessModifier_DistanceFromObject 136 - - LineStyleModifier modifier 0 96 - Object *target 96 8 - CurveMapping *curve 104 8 - int flags 112 4 - float range_min 116 4 - float range_max 120 4 - float value_min 124 4 - float value_max 128 4 - int pad 132 4 - -LineStyleColorModifier_Material 112 - - LineStyleModifier modifier 0 96 - ColorBand *color_ramp 96 8 - int flags 104 4 - int mat_attr 108 4 - -LineStyleAlphaModifier_Material 112 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - int mat_attr 108 4 - -LineStyleThicknessModifier_Material 120 - - LineStyleModifier modifier 0 96 - CurveMapping *curve 96 8 - int flags 104 4 - float value_min 108 4 - float value_max 112 4 - int mat_attr 116 4 - -LineStyleGeometryModifier_Sampling 104 - - LineStyleModifier modifier 0 96 - float sampling 96 4 - int pad 100 4 - -LineStyleGeometryModifier_BezierCurve 104 - - LineStyleModifier modifier 0 96 - float error 96 4 - int pad 100 4 - -LineStyleGeometryModifier_SinusDisplacement 112 - - LineStyleModifier modifier 0 96 - float wavelength 96 4 - float amplitude 100 4 - float phase 104 4 - int pad 108 4 - -LineStyleGeometryModifier_SpatialNoise 112 - - LineStyleModifier modifier 0 96 - float amplitude 96 4 - float scale 100 4 - int octaves 104 4 - int flags 108 4 - -LineStyleGeometryModifier_PerlinNoise1D 120 - - LineStyleModifier modifier 0 96 - float frequency 96 4 - float amplitude 100 4 - float angle 104 4 - int octaves 108 4 - int seed 112 4 - int pad1 116 4 - -LineStyleGeometryModifier_PerlinNoise2D 120 - - LineStyleModifier modifier 0 96 - float frequency 96 4 - float amplitude 100 4 - float angle 104 4 - int octaves 108 4 - int seed 112 4 - int pad1 116 4 - -LineStyleGeometryModifier_BackboneStretcher 104 - - LineStyleModifier modifier 0 96 - float backbone_length 96 4 - int pad 100 4 - -LineStyleGeometryModifier_TipRemover 104 - - LineStyleModifier modifier 0 96 - float tip_length 96 4 - int pad 100 4 - -LineStyleGeometryModifier_Polygonalization 104 - - LineStyleModifier modifier 0 96 - float error 96 4 - int pad 100 4 - -LineStyleGeometryModifier_GuidingLines 104 - - LineStyleModifier modifier 0 96 - float offset 96 4 - int pad 100 4 - -LineStyleGeometryModifier_Blueprint 120 - - LineStyleModifier modifier 0 96 - int flags 96 4 - int rounds 100 4 - float backbone_length 104 4 - int random_radius 108 4 - int random_center 112 4 - int random_backbone 116 4 - -LineStyleGeometryModifier_2DOffset 112 - - LineStyleModifier modifier 0 96 - float start 96 4 - float end 100 4 - float x 104 4 - float y 108 4 - -LineStyleGeometryModifier_2DTransform 128 - - LineStyleModifier modifier 0 96 - int pivot 96 4 - float scale_x 100 4 - float scale_y 104 4 - float angle 108 4 - float pivot_u 112 4 - float pivot_x 116 4 - float pivot_y 120 4 - int pad 124 4 - -LineStyleThicknessModifier_Calligraphy 112 - - LineStyleModifier modifier 0 96 - float min_thickness 96 4 - float max_thickness 100 4 - float orientation 104 4 - int pad 108 4 - -FreestyleLineStyle 288 - - ID id 0 120 - AnimData *adt 120 8 - float r 128 4 - float g 132 4 - float b 136 4 - float alpha 140 4 - float thickness 144 4 - int thickness_position 148 4 - float thickness_ratio 152 4 - int flag 156 4 - int caps 160 4 - int chaining 164 4 - int rounds 168 4 - float split_length 172 4 - float min_angle 176 4 - float max_angle 180 4 - float min_length 184 4 - float max_length 188 4 - short split_dash1 192 2 - short split_gap1 194 2 - short split_dash2 196 2 - short split_gap2 198 2 - short split_dash3 200 2 - short split_gap3 202 2 - int pad 204 4 - short dash1 208 2 - short gap1 210 2 - short dash2 212 2 - short gap2 214 2 - short dash3 216 2 - short gap3 218 2 - int panel 220 4 - ListBase color_modifiers 224 16 - ListBase alpha_modifiers 240 16 - ListBase thickness_modifiers 256 16 - ListBase geometry_modifiers 272 16 - From 785cca1bb43f9e6047cb566a910fcd0e3d49951f Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:13:10 -0400 Subject: [PATCH 62/99] [amf] Fix crash when file could not be parsed. Fix double free of mXmlParser (deleted but not reset in ParseFile, then deleted again in ~AMFImporter). Should probably use a smart pointer instead, though. Partially addresses https://github.com/assimp/assimp/issues/3888. --- code/AssetLib/AMF/AMFImporter.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index 1a3efba9a..add1cdb57 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -268,6 +268,7 @@ void AMFImporter::ParseFile(const std::string &pFile, IOSystem *pIOHandler) { mXmlParser = new XmlParser(); if (!mXmlParser->parse(file.get())) { delete mXmlParser; + mXmlParser = nullptr; throw DeadlyImportError("Failed to create XML reader for file" + pFile + "."); } From 116ebf6e10c39fdb2c88b31445b68d51fdfb5c5a Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:30:05 -0400 Subject: [PATCH 63/99] [3ds] Fix assertion failure when file could not be opened Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/3DS/3DSLoader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/3DS/3DSLoader.cpp b/code/AssetLib/3DS/3DSLoader.cpp index a25355ccc..92fe72bbf 100644 --- a/code/AssetLib/3DS/3DSLoader.cpp +++ b/code/AssetLib/3DS/3DSLoader.cpp @@ -143,7 +143,13 @@ void Discreet3DSImporter::SetupProperties(const Importer * /*pImp*/) { // Imports the given file into the given scene structure. void Discreet3DSImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) { - StreamReaderLE theStream(pIOHandler->Open(pFile, "rb")); + + auto theFile = pIOHandler->Open(pFile, "rb"); + if (!theFile) { + throw DeadlyImportError("3DS: Could not open ", pFile); + } + + StreamReaderLE theStream(theFile); // We should have at least one chunk if (theStream.GetRemainingSize() < 16) { From 7f13387487d9650f4212489b86e9a8be4beb2a0f Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:30:29 -0400 Subject: [PATCH 64/99] [cob] Fix assertion failure when file could not be opened. Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/COB/COBLoader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/COB/COBLoader.cpp b/code/AssetLib/COB/COBLoader.cpp index efe7fc446..a6e9d4218 100644 --- a/code/AssetLib/COB/COBLoader.cpp +++ b/code/AssetLib/COB/COBLoader.cpp @@ -137,7 +137,13 @@ void COBImporter::SetupProperties(const Importer * /*pImp*/) { // Imports the given file into the given scene structure. void COBImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) { COB::Scene scene; - std::unique_ptr stream(new StreamReaderLE(pIOHandler->Open(pFile, "rb"))); + + auto file = pIOHandler->Open(pFile, "rb"); + if (!file) { + ThrowException("Could not open " + pFile); + } + + std::unique_ptr stream(new StreamReaderLE(file)); // check header char head[32]; From 1cd3752ec6b64d584ebce84c0a6d0ae437a6e5c4 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:31:06 -0400 Subject: [PATCH 65/99] [ms3d] Fix assertion failure when file could not be opened. Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/MS3D/MS3DLoader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/MS3D/MS3DLoader.cpp b/code/AssetLib/MS3D/MS3DLoader.cpp index 192bcbe41..31cbca83b 100644 --- a/code/AssetLib/MS3D/MS3DLoader.cpp +++ b/code/AssetLib/MS3D/MS3DLoader.cpp @@ -215,7 +215,12 @@ void MS3DImporter :: CollectChildJoints(const std::vector& joints, ai void MS3DImporter::InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler) { - StreamReaderLE stream(pIOHandler->Open(pFile,"rb")); + + auto file = pIOHandler->Open(pFile, "rb"); + if (!file) + throw DeadlyImportError("MS3D: Could not open ", pFile); + + StreamReaderLE stream(file); // CanRead() should have done this already char head[10]; From e52c2972841afc1806d0f0a7a528cbe4af4fbbf3 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:31:24 -0400 Subject: [PATCH 66/99] [nendo] Fix assertion failure when file could not be opened. Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/NDO/NDOLoader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/NDO/NDOLoader.cpp b/code/AssetLib/NDO/NDOLoader.cpp index 77fe3e36c..df3a9b15d 100644 --- a/code/AssetLib/NDO/NDOLoader.cpp +++ b/code/AssetLib/NDO/NDOLoader.cpp @@ -116,7 +116,13 @@ void NDOImporter::SetupProperties(const Importer* /*pImp*/) void NDOImporter::InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler) { - StreamReaderBE reader(pIOHandler->Open( pFile, "rb")); + + auto file = pIOHandler->Open( pFile, "rb"); + if (!file) { + throw DeadlyImportError("Nendo: Could not open ", pFile); + } + + StreamReaderBE reader(file); // first 9 bytes are nendo file format ("nendo 1.n") const char* head = (const char*)reader.GetPtr(); From a80b3b25ebba38a04afc8a72ad46c66759b4a640 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:31:50 -0400 Subject: [PATCH 67/99] [quick3d] Fix assertion failure when file could not be opened. Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/Q3D/Q3DLoader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/Q3D/Q3DLoader.cpp b/code/AssetLib/Q3D/Q3DLoader.cpp index b52f86672..710dd52ac 100644 --- a/code/AssetLib/Q3D/Q3DLoader.cpp +++ b/code/AssetLib/Q3D/Q3DLoader.cpp @@ -106,7 +106,12 @@ const aiImporterDesc *Q3DImporter::GetInfo() const { // Imports the given file into the given scene structure. void Q3DImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) { - StreamReaderLE stream(pIOHandler->Open(pFile, "rb")); + + auto file = pIOHandler->Open(pFile, "rb"); + if (!file) + throw DeadlyImportError("Quick3D: Could not open ", pFile); + + StreamReaderLE stream(file); // The header is 22 bytes large if (stream.GetRemainingSize() < 22) From 0d3e8b52be6f6c1465fc1ff885fa16f7b221b7d2 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:32:10 -0400 Subject: [PATCH 68/99] [sib] Fix assertion failure when file could not be opened. Check result of IOSystem::Open before constructing stream. Partially addresses #3888. --- code/AssetLib/SIB/SIBImporter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp index 6898fb65c..825f20ee2 100644 --- a/code/AssetLib/SIB/SIBImporter.cpp +++ b/code/AssetLib/SIB/SIBImporter.cpp @@ -804,7 +804,12 @@ static void ReadScene(SIB *sib, StreamReaderLE *stream) { // Imports the given file into the given scene structure. void SIBImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) { - StreamReaderLE stream(pIOHandler->Open(pFile, "rb")); + + auto file = pIOHandler->Open(pFile, "rb"); + if (!file) + throw DeadlyImportError("SIB: Could not open ", pFile); + + StreamReaderLE stream(file); // We should have at least one chunk if (stream.GetRemainingSize() < 16) From 470913bf27e74a6fa6f6ef0f0d0fccd4ebd675de Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:46:24 -0400 Subject: [PATCH 69/99] [assbin] Fail if file could not be opened Fail instead of returning empty scene. Partially addresses #3888. --- code/AssetLib/Assbin/AssbinLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/Assbin/AssbinLoader.cpp b/code/AssetLib/Assbin/AssbinLoader.cpp index d94a9ed7d..d94407e03 100644 --- a/code/AssetLib/Assbin/AssbinLoader.cpp +++ b/code/AssetLib/Assbin/AssbinLoader.cpp @@ -671,7 +671,7 @@ void AssbinImporter::ReadBinaryScene(IOStream *stream, aiScene *scene) { void AssbinImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler) { IOStream *stream = pIOHandler->Open(pFile, "rb"); if (nullptr == stream) { - return; + throw DeadlyImportError("ASSBIN: Could not open ", pFile); } // signature From 98f586c8d443d46b14aa551baa00fbb03188903f Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:48:44 -0400 Subject: [PATCH 70/99] [irr] Fail if file could not be parsed. Fail instead of returning empty scene. Partially addresses #3888. TODO: Propagate XML error detail through exception (depends on #3881). --- code/AssetLib/Irr/IRRLoader.cpp | 4 ++-- code/AssetLib/Irr/IRRMeshLoader.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/AssetLib/Irr/IRRLoader.cpp b/code/AssetLib/Irr/IRRLoader.cpp index ed92c93bb..9ec0a9244 100644 --- a/code/AssetLib/Irr/IRRLoader.cpp +++ b/code/AssetLib/Irr/IRRLoader.cpp @@ -859,13 +859,13 @@ void IRRImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // Check whether we can read from the file if (file.get() == nullptr) { - throw DeadlyImportError("Failed to open IRR file " + pFile); + throw DeadlyImportError("Failed to open IRR file ", pFile); } // Construct the irrXML parser XmlParser st; if (!st.parse( file.get() )) { - return; + throw DeadlyImportError("XML parse error while loading IRR file ", pFile); } pugi::xml_node rootElement = st.getRootNode(); diff --git a/code/AssetLib/Irr/IRRMeshLoader.cpp b/code/AssetLib/Irr/IRRMeshLoader.cpp index edcff6c83..9350e07b8 100644 --- a/code/AssetLib/Irr/IRRMeshLoader.cpp +++ b/code/AssetLib/Irr/IRRMeshLoader.cpp @@ -135,12 +135,12 @@ void IRRMeshImporter::InternReadFile(const std::string &pFile, // Check whether we can read from the file if (file.get() == NULL) - throw DeadlyImportError("Failed to open IRRMESH file " + pFile); + throw DeadlyImportError("Failed to open IRRMESH file ", pFile); // Construct the irrXML parser XmlParser parser; if (!parser.parse( file.get() )) { - return; + throw DeadlyImportError("XML parse error while loading IRRMESH file ", pFile); } XmlNode root = parser.getRootNode(); From de5c8ece6f53f5d22ac1c872780cd7518bbb2bb8 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 17:49:10 -0400 Subject: [PATCH 71/99] [xgl] Fail if file could not be parsed. Fail instead of returning empty scene. Partially addresses #3888. TODO: Propagate XML error detail through exception (depends on #3881). --- code/AssetLib/XGL/XGLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/XGL/XGLLoader.cpp b/code/AssetLib/XGL/XGLLoader.cpp index 00e8bafb2..3b84d7ba9 100644 --- a/code/AssetLib/XGL/XGLLoader.cpp +++ b/code/AssetLib/XGL/XGLLoader.cpp @@ -200,7 +200,7 @@ void XGLImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // parse the XML file mXmlParser = new XmlParser; if (!mXmlParser->parse(stream.get())) { - return; + throw DeadlyImportError("XML parse error while loading XGL file ", pFile); } TempScope scope; From 7da9c42c81d9a15664c47e2281a84931bc36eb72 Mon Sep 17 00:00:00 2001 From: Jason C Date: Wed, 5 May 2021 19:30:29 -0400 Subject: [PATCH 72/99] [blender] Disable creation of "dna.txt" Developers who want to enable it can either: - *Temporarily* set ASSIMP_BUILD_BLENDER_DEBUG_DNA=1 in BlenderDNA.h, or - *Temporarily* define ASSIMP_BUILD_BLENDER_DEBUG_DNA=1 on the build command line. Addresses #3886. --- code/AssetLib/Blender/BlenderDNA.cpp | 6 +++--- code/AssetLib/Blender/BlenderDNA.h | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/AssetLib/Blender/BlenderDNA.cpp b/code/AssetLib/Blender/BlenderDNA.cpp index 4dcb3d654..c58041771 100644 --- a/code/AssetLib/Blender/BlenderDNA.cpp +++ b/code/AssetLib/Blender/BlenderDNA.cpp @@ -200,7 +200,7 @@ void DNAParser::Parse() { ASSIMP_LOG_DEBUG_F("BlenderDNA: Got ", dna.structures.size(), " structures with totally ", fields, " fields"); -#ifdef ASSIMP_BUILD_BLENDER_DEBUG +#if ASSIMP_BUILD_BLENDER_DEBUG_DNA dna.DumpToFile(); #endif @@ -208,7 +208,7 @@ void DNAParser::Parse() { dna.RegisterConverters(); } -#ifdef ASSIMP_BUILD_BLENDER_DEBUG +#if ASSIMP_BUILD_BLENDER_DEBUG_DNA #include // ------------------------------------------------------------------------------------------------ @@ -237,7 +237,7 @@ void DNA ::DumpToFile() { ASSIMP_LOG_INFO("BlenderDNA: Dumped dna to dna.txt"); } -#endif +#endif // ASSIMP_BUILD_BLENDER_DEBUG_DNA // ------------------------------------------------------------------------------------------------ /*static*/ void DNA ::ExtractArraySize( diff --git a/code/AssetLib/Blender/BlenderDNA.h b/code/AssetLib/Blender/BlenderDNA.h index 090d1be04..f566554b8 100644 --- a/code/AssetLib/Blender/BlenderDNA.h +++ b/code/AssetLib/Blender/BlenderDNA.h @@ -59,6 +59,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define ASSIMP_BUILD_BLENDER_DEBUG #endif +// set this to non-zero to dump BlenderDNA stuff to dna.txt. +// you could set it on the assimp build command line too without touching it here. +// !!! please make sure this is set to 0 in the repo !!! +#ifndef ASSIMP_BUILD_BLENDER_DEBUG_DNA +#define ASSIMP_BUILD_BLENDER_DEBUG_DNA 0 +#endif + // #define ASSIMP_BUILD_BLENDER_NO_STATS namespace Assimp { @@ -495,7 +502,7 @@ public: const Structure &structure, const FileDatabase &db) const; -#ifdef ASSIMP_BUILD_BLENDER_DEBUG +#if ASSIMP_BUILD_BLENDER_DEBUG_DNA // -------------------------------------------------------- /** Dump the DNA to a text file. This is for debugging purposes. * The output file is `dna.txt` in the current working folder*/ From 55056d11fd201484d141e4c80f1141c9cb1ac47c Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 6 May 2021 11:50:08 +0200 Subject: [PATCH 73/99] Add missing include --- include/assimp/XmlParser.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index f525d3549..91fb9907f 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -43,8 +43,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define INCLUDED_AI_IRRXML_WRAPPER #include +#include + #include "BaseImporter.h" #include "IOStream.hpp" + #include #include From e37e00c51fa48d459165ef57caf033e9fe73c3e6 Mon Sep 17 00:00:00 2001 From: Jason C Date: Fri, 7 May 2021 20:21:56 -0400 Subject: [PATCH 74/99] [assimp/fast_atof] Fixed garbage in exception messages. Also reduced 100 byte context output to 30 (which is still probably excessive, but not *as* excessive). --- include/assimp/fast_atof.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/assimp/fast_atof.h b/include/assimp/fast_atof.h index 9ea49c85c..441fe5652 100644 --- a/include/assimp/fast_atof.h +++ b/include/assimp/fast_atof.h @@ -29,6 +29,7 @@ #include "StringComparison.h" #include #include +#include #ifdef _MSC_VER # include @@ -193,7 +194,7 @@ uint64_t strtoul10_64( const char* in, const char** out=0, unsigned int* max_ino if ( *in < '0' || *in > '9' ) { // The string is known to be bad, so don't risk printing the whole thing. - throw ExceptionType("The string \"", std::string(in).substr(0, 100), "\" cannot be converted into a value." ); + throw ExceptionType("The string \"", ai_str_toprintable(in, 30), "\" cannot be converted into a value." ); } for ( ;; ) { @@ -293,7 +294,7 @@ const char* fast_atoreal_move(const char* c, Real& out, bool check_comma = true) if (!(c[0] >= '0' && c[0] <= '9') && !((c[0] == '.' || (check_comma && c[0] == ',')) && c[1] >= '0' && c[1] <= '9')) { // The string is known to be bad, so don't risk printing the whole thing. - throw ExceptionType("Cannot parse string \"", std::string(c).substr(0, 100), + throw ExceptionType("Cannot parse string \"", ai_str_toprintable(c, 30), "\" as a real number: does not start with digit " "or decimal point followed by digit."); } From 00b625a2ae75f344bafc85baf03a1b2ea73f8462 Mon Sep 17 00:00:00 2001 From: Jason C Date: Mon, 10 May 2021 19:01:15 -0400 Subject: [PATCH 75/99] [amf] Fix crash when file could not be parsed. Fix double free of mXmlParser (deleted but not reset in ParseFile, then deleted again in ~AMFImporter). Should probably use a smart pointer instead, though. --- This change was previously made in 785cca1bb43f9e6047cb566a910fcd0e3d49951f, as part of PR #3890, but was lost in a merge. --- code/AssetLib/AMF/AMFImporter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index e77b65f77..615882b6a 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -268,7 +268,8 @@ void AMFImporter::ParseFile(const std::string &pFile, IOSystem *pIOHandler) { mXmlParser = new XmlParser(); if (!mXmlParser->parse(file.get())) { delete mXmlParser; - throw DeadlyImportError("Failed to create XML reader for file" + pFile + "."); + mXmlParser = nullptr; + throw DeadlyImportError("Failed to create XML reader for file ", pFile, "."); } // Start reading, search for root tag From 632e4a20a989d2e2849b81d828ab22fba3b8d6da Mon Sep 17 00:00:00 2001 From: Salvage <29021710+Saalvage@users.noreply.github.com> Date: Tue, 11 May 2021 05:29:51 +0200 Subject: [PATCH 76/99] Utilize decltype for slightly improved syntax --- include/assimp/Bitmap.h | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/include/assimp/Bitmap.h b/include/assimp/Bitmap.h index d56bb4c73..a455e2ecf 100644 --- a/include/assimp/Bitmap.h +++ b/include/assimp/Bitmap.h @@ -75,13 +75,12 @@ protected: uint32_t offset; // We define the struct size because sizeof(Header) might return a wrong result because of structure padding. - // Moreover, we must use this ugly and error prone syntax because Visual Studio neither support constexpr or sizeof(name_of_field). - static const std::size_t header_size = - sizeof(uint16_t) + // type - sizeof(uint32_t) + // size - sizeof(uint16_t) + // reserved1 - sizeof(uint16_t) + // reserved2 - sizeof(uint32_t); // offset + static constexpr std::size_t header_size = + sizeof(decltype(type)) + + sizeof(decltype(size)) + + sizeof(decltype(reserved1)) + + sizeof(decltype(reserved2)) + + sizeof(decltype(offset)); }; struct DIB { @@ -98,22 +97,21 @@ protected: uint32_t nb_important_colors; // We define the struct size because sizeof(DIB) might return a wrong result because of structure padding. - // Moreover, we must use this ugly and error prone syntax because Visual Studio neither support constexpr or sizeof(name_of_field). - static const std::size_t dib_size = - sizeof(uint32_t) + // size - sizeof(int32_t) + // width - sizeof(int32_t) + // height - sizeof(uint16_t) + // planes - sizeof(uint16_t) + // bits_per_pixel - sizeof(uint32_t) + // compression - sizeof(uint32_t) + // image_size - sizeof(int32_t) + // x_resolution - sizeof(int32_t) + // y_resolution - sizeof(uint32_t) + // nb_colors - sizeof(uint32_t); // nb_important_colors + static constexpr std::size_t dib_size = + sizeof(decltype(size)) + + sizeof(decltype(width)) + + sizeof(decltype(height)) + + sizeof(decltype(planes)) + + sizeof(decltype(bits_per_pixel)) + + sizeof(decltype(compression)) + + sizeof(decltype(image_size)) + + sizeof(decltype(x_resolution)) + + sizeof(decltype(y_resolution)) + + sizeof(decltype(nb_colors)) + + sizeof(decltype(nb_important_colors)); }; - static const std::size_t mBytesPerPixel = 4; + static constexpr std::size_t mBytesPerPixel = 4; public: static void Save(aiTexture* texture, IOStream* file); From 8d20460ae43728b31d390a49a81b655cfe856ad9 Mon Sep 17 00:00:00 2001 From: Salvage <29021710+Saalvage@users.noreply.github.com> Date: Tue, 11 May 2021 19:06:21 +0200 Subject: [PATCH 77/99] Ditch decltype --- include/assimp/Bitmap.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/include/assimp/Bitmap.h b/include/assimp/Bitmap.h index a455e2ecf..e4ce194d9 100644 --- a/include/assimp/Bitmap.h +++ b/include/assimp/Bitmap.h @@ -76,11 +76,11 @@ protected: // We define the struct size because sizeof(Header) might return a wrong result because of structure padding. static constexpr std::size_t header_size = - sizeof(decltype(type)) + - sizeof(decltype(size)) + - sizeof(decltype(reserved1)) + - sizeof(decltype(reserved2)) + - sizeof(decltype(offset)); + sizeof(type) + + sizeof(size) + + sizeof(reserved1) + + sizeof(reserved2) + + sizeof(offset); }; struct DIB { @@ -98,17 +98,17 @@ protected: // We define the struct size because sizeof(DIB) might return a wrong result because of structure padding. static constexpr std::size_t dib_size = - sizeof(decltype(size)) + - sizeof(decltype(width)) + - sizeof(decltype(height)) + - sizeof(decltype(planes)) + - sizeof(decltype(bits_per_pixel)) + - sizeof(decltype(compression)) + - sizeof(decltype(image_size)) + - sizeof(decltype(x_resolution)) + - sizeof(decltype(y_resolution)) + - sizeof(decltype(nb_colors)) + - sizeof(decltype(nb_important_colors)); + sizeof(size) + + sizeof(width) + + sizeof(height) + + sizeof(planes) + + sizeof(bits_per_pixel) + + sizeof(compression) + + sizeof(image_size) + + sizeof(x_resolution) + + sizeof(y_resolution) + + sizeof(nb_colors) + + sizeof(nb_important_colors); }; static constexpr std::size_t mBytesPerPixel = 4; From 813d0aecdda2627d3bdd612332ce5efc2f5f0afa Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Wed, 12 May 2021 12:43:24 +0100 Subject: [PATCH 78/99] Adjust warn --- code/AssetLib/Ogre/OgreStructs.cpp | 4 ++-- code/AssetLib/SIB/SIBImporter.cpp | 2 +- code/Common/DefaultLogger.cpp | 9 +++++---- include/assimp/Logger.hpp | 22 +++++++++++++--------- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/code/AssetLib/Ogre/OgreStructs.cpp b/code/AssetLib/Ogre/OgreStructs.cpp index 90e2d4465..ce289c79c 100644 --- a/code/AssetLib/Ogre/OgreStructs.cpp +++ b/code/AssetLib/Ogre/OgreStructs.cpp @@ -545,7 +545,7 @@ aiMesh *SubMesh::ConvertToAssimpMesh(Mesh *parent) { dest->mNumUVComponents[0] = static_cast(uv1Element->ComponentCount()); dest->mTextureCoords[0] = new aiVector3D[dest->mNumVertices]; } else { - ASSIMP_LOG_WARN(Formatter::format() << "Ogre imported UV0 type " << uv1Element->TypeToString() << " is not compatible with Assimp. Ignoring UV."); + ASSIMP_LOG_WARN_F("Ogre imported UV0 type ", uv1Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); uv1 = 0; } } @@ -554,7 +554,7 @@ aiMesh *SubMesh::ConvertToAssimpMesh(Mesh *parent) { dest->mNumUVComponents[1] = static_cast(uv2Element->ComponentCount()); dest->mTextureCoords[1] = new aiVector3D[dest->mNumVertices]; } else { - ASSIMP_LOG_WARN(Formatter::format() << "Ogre imported UV0 type " << uv2Element->TypeToString() << " is not compatible with Assimp. Ignoring UV."); + ASSIMP_LOG_WARN_F("Ogre imported UV0 type ", uv2Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); uv2 = 0; } } diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp index 6c1e5950b..1426fb73c 100644 --- a/code/AssetLib/SIB/SIBImporter.cpp +++ b/code/AssetLib/SIB/SIBImporter.cpp @@ -174,7 +174,7 @@ static void UnknownChunk(StreamReaderLE * /*stream*/, const SIBChunk &chunk) { static_cast(chunk.Tag & 0xff) }; - ASSIMP_LOG_WARN((Formatter::format(), "SIB: Skipping unknown '", ai_str_toprintable(temp, 4), "' chunk.")); + ASSIMP_LOG_WARN_F("SIB: Skipping unknown '", ai_str_toprintable(temp, 4), "' chunk."); } // Reads a UTF-16LE string and returns it at UTF-8. diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index aa13ca5ce..d2e9a2caf 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -197,13 +197,14 @@ void Logger::info(const char *message) { } // ---------------------------------------------------------------------------------- -void Logger::warn(const char *message) { - +void Logger::warnInternal(Assimp::Formatter::format f) { + std::string message = f; + // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above - if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { + if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnWarn(message); + return OnWarn(message.c_str()); } // ---------------------------------------------------------------------------------- diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index ee6eab507..f68c951fd 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -119,8 +119,10 @@ public: // ---------------------------------------------------------------------- /** @brief Writes a warning message * @param message Warn message*/ - void warn(const char* message); - void warn(const std::string &message); + template + void warn(T&&... args) { + warnInternal(Assimp::Formatter::format(), std::forward(args)...); + } // ---------------------------------------------------------------------- /** @brief Writes an error message @@ -225,6 +227,14 @@ protected: */ virtual void OnError(const char* message) = 0; +protected: + void warnInternal(Assimp::Formatter::format f); + + template + void warnInternal(Assimp::Formatter::format f, U&& u, T&&... args) { + warnInternal(std::move(f << std::forward(u)), std::forward(args)...); + } + protected: LogSeverity m_Severity; }; @@ -283,12 +293,6 @@ void Logger::error(const std::string &message) { return error(message.c_str()); } -// ---------------------------------------------------------------------------------- -inline -void Logger::warn(const std::string &message) { - return warn(message.c_str()); -} - // ---------------------------------------------------------------------------------- inline void Logger::info(const std::string &message) { @@ -299,7 +303,7 @@ void Logger::info(const std::string &message) { // ------------------------------------------------------------------------------------------------ #define ASSIMP_LOG_WARN_F(string, ...) \ - Assimp::DefaultLogger::get()->warn((Assimp::Formatter::format(string), __VA_ARGS__)) + Assimp::DefaultLogger::get()->warn((string, __VA_ARGS__)) #define ASSIMP_LOG_ERROR_F(string, ...) \ Assimp::DefaultLogger::get()->error((Assimp::Formatter::format(string), __VA_ARGS__)) From 58bc4bcb63924ae10bd9c5a8a8f6639c681f5eea Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Wed, 12 May 2021 12:55:21 +0100 Subject: [PATCH 79/99] log info --- code/AssetLib/3DS/3DSLoader.cpp | 2 +- code/AssetLib/AC/ACLoader.cpp | 4 ++-- code/Common/DefaultLogger.cpp | 9 +++++---- include/assimp/Logger.hpp | 21 ++++++++++++--------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/code/AssetLib/3DS/3DSLoader.cpp b/code/AssetLib/3DS/3DSLoader.cpp index 92fe72bbf..2d77e0f66 100644 --- a/code/AssetLib/3DS/3DSLoader.cpp +++ b/code/AssetLib/3DS/3DSLoader.cpp @@ -305,7 +305,7 @@ void Discreet3DSImporter::ParseEditorChunk() { // print the version number char buff[10]; ASSIMP_itoa10(buff, stream->GetI2()); - ASSIMP_LOG_INFO_F(std::string("3DS file format version: "), buff); + ASSIMP_LOG_INFO_F("3DS file format version: ", buff); } break; }; ASSIMP_3DS_END_CHUNK(); diff --git a/code/AssetLib/AC/ACLoader.cpp b/code/AssetLib/AC/ACLoader.cpp index cba84e8b0..59cfc30dd 100644 --- a/code/AssetLib/AC/ACLoader.cpp +++ b/code/AssetLib/AC/ACLoader.cpp @@ -690,7 +690,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, if (object.subDiv) { if (configEvalSubdivision) { std::unique_ptr div(Subdivider::Create(Subdivider::CATMULL_CLARKE)); - ASSIMP_LOG_INFO("AC3D: Evaluating subdivision surface: " + object.name); + ASSIMP_LOG_INFO_F("AC3D: Evaluating subdivision surface: ", object.name); std::vector cpy(meshes.size() - oldm, nullptr); div->Subdivide(&meshes[oldm], cpy.size(), &cpy.front(), object.subDiv, true); @@ -698,7 +698,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, // previous meshes are deleted vy Subdivide(). } else { - ASSIMP_LOG_INFO("AC3D: Letting the subdivision surface untouched due to my configuration: " + object.name); + ASSIMP_LOG_INFO_F("AC3D: Letting the subdivision surface untouched due to my configuration: ", object.name); } } } diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index d2e9a2caf..a5c378e03 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -187,13 +187,14 @@ void Logger::verboseDebug(const char *message) { } // ---------------------------------------------------------------------------------- -void Logger::info(const char *message) { - +void Logger::infoInternal(Assimp::Formatter::format f) { + std::string message = f; + // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above - if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { + if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnInfo(message); + return OnInfo(message.c_str()); } // ---------------------------------------------------------------------------------- diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index f68c951fd..2c3ee1085 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -113,8 +113,10 @@ public: // ---------------------------------------------------------------------- /** @brief Writes a info message * @param message Info message*/ - void info(const char* message); - void info(const std::string &message); + template + void info(T&&... args) { + infoInternal(Assimp::Formatter::format(), std::forward(args)...); + } // ---------------------------------------------------------------------- /** @brief Writes a warning message @@ -235,6 +237,13 @@ protected: warnInternal(std::move(f << std::forward(u)), std::forward(args)...); } + void infoInternal(Assimp::Formatter::format f); + + template + void infoInternal(Assimp::Formatter::format f, U&& u, T&&... args) { + infoInternal(std::move(f << std::forward(u)), std::forward(args)...); + } + protected: LogSeverity m_Severity; }; @@ -293,12 +302,6 @@ void Logger::error(const std::string &message) { return error(message.c_str()); } -// ---------------------------------------------------------------------------------- -inline -void Logger::info(const std::string &message) { - return info(message.c_str()); -} - } // Namespace Assimp // ------------------------------------------------------------------------------------------------ @@ -315,7 +318,7 @@ void Logger::info(const std::string &message) { Assimp::DefaultLogger::get()->verboseDebug((Assimp::Formatter::format(string), __VA_ARGS__)) #define ASSIMP_LOG_INFO_F(string, ...) \ - Assimp::DefaultLogger::get()->info((Assimp::Formatter::format(string), __VA_ARGS__)) + Assimp::DefaultLogger::get()->info((string, __VA_ARGS__)) #define ASSIMP_LOG_WARN(string) \ Assimp::DefaultLogger::get()->warn(string) From 18beae988cb12cbc9db15d3fdce35b18187047af Mon Sep 17 00:00:00 2001 From: Chuck Claunch Date: Wed, 12 May 2021 21:57:24 +0000 Subject: [PATCH 80/99] Add support for arm 64 bit --- port/PyAssimp/pyassimp/helper.py | 1 + 1 file changed, 1 insertion(+) diff --git a/port/PyAssimp/pyassimp/helper.py b/port/PyAssimp/pyassimp/helper.py index 5c1aca827..7a4b2bdcb 100644 --- a/port/PyAssimp/pyassimp/helper.py +++ b/port/PyAssimp/pyassimp/helper.py @@ -27,6 +27,7 @@ if os.name=='posix': additional_dirs.append('./') additional_dirs.append('/usr/lib/') additional_dirs.append('/usr/lib/x86_64-linux-gnu/') + additional_dirs.append('/usr/lib/aarch64-linux-gnu/') additional_dirs.append('/usr/local/lib/') if 'LD_LIBRARY_PATH' in os.environ: From ca698c3e491a5681c1959a61e944a1a267158373 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 09:36:42 +0100 Subject: [PATCH 81/99] Log error --- code/Common/DefaultLogger.cpp | 9 ++++---- code/PostProcessing/CalcTangentsProcess.cpp | 2 +- include/assimp/Logger.hpp | 23 ++++++++++++--------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index a5c378e03..e468d72ca 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -176,7 +176,6 @@ void Logger::debug(const char *message) { // ---------------------------------------------------------------------------------- void Logger::verboseDebug(const char *message) { - // SECURITY FIX: otherwise it's easy to produce overruns since // sometimes importers will include data from the input file // (i.e. node names) in their messages. @@ -209,12 +208,14 @@ void Logger::warnInternal(Assimp::Formatter::format f) { } // ---------------------------------------------------------------------------------- -void Logger::error(const char *message) { +void Logger::errorInternal(Assimp::Formatter::format f) { + std::string message = f; + // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above - if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { + if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnError(message); + return OnError(message.c_str()); } // ---------------------------------------------------------------------------------- diff --git a/code/PostProcessing/CalcTangentsProcess.cpp b/code/PostProcessing/CalcTangentsProcess.cpp index cdafda3b6..721567857 100644 --- a/code/PostProcessing/CalcTangentsProcess.cpp +++ b/code/PostProcessing/CalcTangentsProcess.cpp @@ -129,7 +129,7 @@ bool CalcTangentsProcess::ProcessMesh(aiMesh *pMesh, unsigned int meshIndex) { return false; } if (configSourceUV >= AI_MAX_NUMBER_OF_TEXTURECOORDS || !pMesh->mTextureCoords[configSourceUV]) { - ASSIMP_LOG_ERROR((Formatter::format("Failed to compute tangents; need UV data in channel"), configSourceUV)); + ASSIMP_LOG_ERROR_F("Failed to compute tangents; need UV data in channel", configSourceUV); return false; } diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 2c3ee1085..07a26c053 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -128,9 +128,11 @@ public: // ---------------------------------------------------------------------- /** @brief Writes an error message - * @param message Error message*/ - void error(const char* message); - void error(const std::string &message); + * @param message Info message*/ + template + void error(T&&... args) { + errorInternal(Assimp::Formatter::format(), std::forward(args)...); + } // ---------------------------------------------------------------------- /** @brief Set a new log severity. @@ -244,6 +246,13 @@ protected: infoInternal(std::move(f << std::forward(u)), std::forward(args)...); } + void errorInternal(Assimp::Formatter::format f); + + template + void errorInternal(Assimp::Formatter::format f, U&& u, T&&... args) { + errorInternal(std::move(f << std::forward(u)), std::forward(args)...); + } + protected: LogSeverity m_Severity; }; @@ -296,12 +305,6 @@ inline void Logger::verboseDebug(const std::string &message) { return verboseDebug(message.c_str()); } -// ---------------------------------------------------------------------------------- -inline -void Logger::error(const std::string &message) { - return error(message.c_str()); -} - } // Namespace Assimp // ------------------------------------------------------------------------------------------------ @@ -309,7 +312,7 @@ void Logger::error(const std::string &message) { Assimp::DefaultLogger::get()->warn((string, __VA_ARGS__)) #define ASSIMP_LOG_ERROR_F(string, ...) \ - Assimp::DefaultLogger::get()->error((Assimp::Formatter::format(string), __VA_ARGS__)) + Assimp::DefaultLogger::get()->error((string, __VA_ARGS__)) #define ASSIMP_LOG_DEBUG_F(string, ...) \ Assimp::DefaultLogger::get()->debug((Assimp::Formatter::format(string), __VA_ARGS__)) From 89584c167aaf341a6d717083bb9a52a4c1b0ace1 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 09:56:42 +0100 Subject: [PATCH 82/99] Log debug --- code/AssetLib/STEPParser/STEPFileReader.cpp | 4 +-- code/Common/DefaultLogger.cpp | 13 ++++---- .../SplitByBoneCountProcess.cpp | 4 +-- include/assimp/Logger.hpp | 31 ++++++++++--------- include/assimp/Profiler.h | 4 +-- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/code/AssetLib/STEPParser/STEPFileReader.cpp b/code/AssetLib/STEPParser/STEPFileReader.cpp index cbf8c07c2..1ed5ab7d2 100644 --- a/code/AssetLib/STEPParser/STEPFileReader.cpp +++ b/code/AssetLib/STEPParser/STEPFileReader.cpp @@ -297,8 +297,8 @@ void STEP::ReadFile(DB& db,const EXPRESS::ConversionSchema& scheme, } if ( !DefaultLogger::isNullLogger()){ - ASSIMP_LOG_DEBUG((Formatter::format(),"STEP: got ",map.size()," object records with ", - db.GetRefs().size()," inverse index entries")); + ASSIMP_LOG_DEBUG_F("STEP: got ",map.size()," object records with ", + db.GetRefs().size()," inverse index entries"); } } diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index e468d72ca..03a0a80de 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -163,15 +163,14 @@ Logger *DefaultLogger::create(const char *name /*= "AssimpLog.txt"*/, } // ---------------------------------------------------------------------------------- -void Logger::debug(const char *message) { - - // SECURITY FIX: otherwise it's easy to produce overruns since - // sometimes importers will include data from the input file - // (i.e. node names) in their messages. - if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { +void Logger::debugInternal(Assimp::Formatter::format f) { + std::string message = f; + // TODO: Should limit sizes in the formatter. + // SECURITY FIX: see above + if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnDebug(message); + return OnDebug(message.c_str()); } // ---------------------------------------------------------------------------------- diff --git a/code/PostProcessing/SplitByBoneCountProcess.cpp b/code/PostProcessing/SplitByBoneCountProcess.cpp index 1f4170a6a..f7dffb8f2 100644 --- a/code/PostProcessing/SplitByBoneCountProcess.cpp +++ b/code/PostProcessing/SplitByBoneCountProcess.cpp @@ -103,7 +103,7 @@ void SplitByBoneCountProcess::Execute( aiScene* pScene) if( !isNecessary ) { - ASSIMP_LOG_DEBUG( format() << "SplitByBoneCountProcess early-out: no meshes with more than " << mMaxBoneCount << " bones." ); + ASSIMP_LOG_DEBUG_F("SplitByBoneCountProcess early-out: no meshes with more than ", mMaxBoneCount, " bones." ); return; } @@ -151,7 +151,7 @@ void SplitByBoneCountProcess::Execute( aiScene* pScene) // recurse through all nodes and translate the node's mesh indices to fit the new mesh array UpdateNode( pScene->mRootNode); - ASSIMP_LOG_DEBUG( format() << "SplitByBoneCountProcess end: split " << mSubMeshIndices.size() << " meshes into " << meshes.size() << " submeshes." ); + ASSIMP_LOG_DEBUG_F( "SplitByBoneCountProcess end: split ", mSubMeshIndices.size(), " meshes into ", meshes.size(), " submeshes." ); } // ------------------------------------------------------------------------------------------------ diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 07a26c053..475b19aa6 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -99,10 +99,12 @@ public: virtual ~Logger(); // ---------------------------------------------------------------------- - /** @brief Writes a debug message - * @param message Debug message*/ - void debug(const char* message); - void debug(const std::string &message); + /** @brief Writes a info message + * @param message Info message*/ + template + void debug(T&&... args) { + debugInternal(Assimp::Formatter::format(), std::forward(args)...); + } // ---------------------------------------------------------------------- /** @brief Writes a debug message @@ -232,22 +234,27 @@ protected: virtual void OnError(const char* message) = 0; protected: + + void debugInternal(Assimp::Formatter::format f); void warnInternal(Assimp::Formatter::format f); + void infoInternal(Assimp::Formatter::format f); + void errorInternal(Assimp::Formatter::format f); + + template + void debugInternal(Assimp::Formatter::format f, U&& u, T&&... args) { + warnInternal(std::move(f << std::forward(u)), std::forward(args)...); + } template void warnInternal(Assimp::Formatter::format f, U&& u, T&&... args) { warnInternal(std::move(f << std::forward(u)), std::forward(args)...); } - void infoInternal(Assimp::Formatter::format f); - template void infoInternal(Assimp::Formatter::format f, U&& u, T&&... args) { infoInternal(std::move(f << std::forward(u)), std::forward(args)...); } - void errorInternal(Assimp::Formatter::format f); - template void errorInternal(Assimp::Formatter::format f, U&& u, T&&... args) { errorInternal(std::move(f << std::forward(u)), std::forward(args)...); @@ -294,12 +301,6 @@ Logger::LogSeverity Logger::getLogSeverity() const { return m_Severity; } -// ---------------------------------------------------------------------------------- -inline -void Logger::debug(const std::string &message) { - return debug(message.c_str()); -} - // ---------------------------------------------------------------------------------- inline void Logger::verboseDebug(const std::string &message) { return verboseDebug(message.c_str()); @@ -315,7 +316,7 @@ inline void Logger::verboseDebug(const std::string &message) { Assimp::DefaultLogger::get()->error((string, __VA_ARGS__)) #define ASSIMP_LOG_DEBUG_F(string, ...) \ - Assimp::DefaultLogger::get()->debug((Assimp::Formatter::format(string), __VA_ARGS__)) + Assimp::DefaultLogger::get()->debug((string, __VA_ARGS__)) #define ASSIMP_LOG_VERBOSE_DEBUG_F(string, ...) \ Assimp::DefaultLogger::get()->verboseDebug((Assimp::Formatter::format(string), __VA_ARGS__)) diff --git a/include/assimp/Profiler.h b/include/assimp/Profiler.h index 5f9fa52aa..566ea84e1 100644 --- a/include/assimp/Profiler.h +++ b/include/assimp/Profiler.h @@ -76,7 +76,7 @@ public: /** Start a named timer */ void BeginRegion(const std::string& region) { regions[region] = std::chrono::system_clock::now(); - ASSIMP_LOG_DEBUG((format("START `"),region,"`")); + ASSIMP_LOG_DEBUG_F("START `",region,"`"); } @@ -88,7 +88,7 @@ public: } std::chrono::duration elapsedSeconds = std::chrono::system_clock::now() - regions[region]; - ASSIMP_LOG_DEBUG((format("END `"),region,"`, dt= ", elapsedSeconds.count()," s")); + ASSIMP_LOG_DEBUG_F("END `",region,"`, dt= ", elapsedSeconds.count()," s"); } private: From 78145f1425b0ad81f39c1a2c5c26e70fb9174749 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:08:59 +0100 Subject: [PATCH 83/99] log verboseDebug --- code/AssetLib/ASE/ASELoader.cpp | 2 +- code/AssetLib/COB/COBLoader.cpp | 3 +-- code/AssetLib/DXF/DXFHelper.h | 2 +- code/Common/DefaultLogger.cpp | 12 ++++++------ include/assimp/Logger.hpp | 21 ++++++++++++--------- 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/code/AssetLib/ASE/ASELoader.cpp b/code/AssetLib/ASE/ASELoader.cpp index e1b9c5b83..a05c3c5e9 100644 --- a/code/AssetLib/ASE/ASELoader.cpp +++ b/code/AssetLib/ASE/ASELoader.cpp @@ -614,7 +614,7 @@ void ASEImporter::AddNodes(const std::vector &nodes, node->mNumChildren++; // What we did is so great, it is at least worth a debug message - ASSIMP_LOG_VERBOSE_DEBUG("ASE: Generating separate target node (" + snode->mName + ")"); + ASSIMP_LOG_VERBOSE_DEBUG_F("ASE: Generating separate target node (", snode->mName, ")"); } } diff --git a/code/AssetLib/COB/COBLoader.cpp b/code/AssetLib/COB/COBLoader.cpp index a6e9d4218..29e8e9de1 100644 --- a/code/AssetLib/COB/COBLoader.cpp +++ b/code/AssetLib/COB/COBLoader.cpp @@ -301,8 +301,7 @@ aiNode *COBImporter::BuildNodes(const Node &root, const Scene &scin, aiScene *fi } std::unique_ptr defmat; if (!min) { - ASSIMP_LOG_VERBOSE_DEBUG(format() << "Could not resolve material index " - << reflist.first << " - creating default material for this slot"); + ASSIMP_LOG_VERBOSE_DEBUG_F("Could not resolve material index ", reflist.first, " - creating default material for this slot"); defmat.reset(min = new Material()); } diff --git a/code/AssetLib/DXF/DXFHelper.h b/code/AssetLib/DXF/DXFHelper.h index f7fc470e8..5099b43ee 100644 --- a/code/AssetLib/DXF/DXFHelper.h +++ b/code/AssetLib/DXF/DXFHelper.h @@ -135,7 +135,7 @@ public: for(;splitter->length() && splitter->at(0) != '}'; splitter++, cnt++); splitter++; - ASSIMP_LOG_VERBOSE_DEBUG((Formatter::format("DXF: skipped over control group ("),cnt," lines)")); + ASSIMP_LOG_VERBOSE_DEBUG_F("DXF: skipped over control group (",cnt," lines)"); } } catch(std::logic_error&) { ai_assert(!splitter); diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index 03a0a80de..e12276ea9 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -174,14 +174,14 @@ void Logger::debugInternal(Assimp::Formatter::format f) { } // ---------------------------------------------------------------------------------- -void Logger::verboseDebug(const char *message) { - // SECURITY FIX: otherwise it's easy to produce overruns since - // sometimes importers will include data from the input file - // (i.e. node names) in their messages. - if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { +void Logger::verboseDebugInternal(Assimp::Formatter::format f) { + std::string message = f; + // TODO: Should limit sizes in the formatter. + // SECURITY FIX: see above + if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnVerboseDebug(message); + return OnVerboseDebug(message.c_str()); } // ---------------------------------------------------------------------------------- diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 475b19aa6..3d1588f61 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -109,8 +109,10 @@ public: // ---------------------------------------------------------------------- /** @brief Writes a debug message * @param message Debug message*/ - void verboseDebug(const char *message); - void verboseDebug(const std::string &message); + template + void verboseDebug(T&&... args) { + verboseDebugInternal(Assimp::Formatter::format(), std::forward(args)...); + } // ---------------------------------------------------------------------- /** @brief Writes a info message @@ -236,13 +238,19 @@ protected: protected: void debugInternal(Assimp::Formatter::format f); + void verboseDebugInternal(Assimp::Formatter::format f); void warnInternal(Assimp::Formatter::format f); void infoInternal(Assimp::Formatter::format f); void errorInternal(Assimp::Formatter::format f); template void debugInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - warnInternal(std::move(f << std::forward(u)), std::forward(args)...); + debugInternal(std::move(f << std::forward(u)), std::forward(args)...); + } + + template + void verboseDebugInternal(Assimp::Formatter::format f, U&& u, T&&... args) { + verboseDebugInternal(std::move(f << std::forward(u)), std::forward(args)...); } template @@ -301,11 +309,6 @@ Logger::LogSeverity Logger::getLogSeverity() const { return m_Severity; } -// ---------------------------------------------------------------------------------- -inline void Logger::verboseDebug(const std::string &message) { - return verboseDebug(message.c_str()); -} - } // Namespace Assimp // ------------------------------------------------------------------------------------------------ @@ -319,7 +322,7 @@ inline void Logger::verboseDebug(const std::string &message) { Assimp::DefaultLogger::get()->debug((string, __VA_ARGS__)) #define ASSIMP_LOG_VERBOSE_DEBUG_F(string, ...) \ - Assimp::DefaultLogger::get()->verboseDebug((Assimp::Formatter::format(string), __VA_ARGS__)) + Assimp::DefaultLogger::get()->verboseDebug((string, __VA_ARGS__)) #define ASSIMP_LOG_INFO_F(string, ...) \ Assimp::DefaultLogger::get()->info((string, __VA_ARGS__)) From 6957d3473396c9f94f6fd7456a8718293da89831 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:14:24 +0100 Subject: [PATCH 84/99] Simplify the macros. --- include/assimp/Logger.hpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 3d1588f61..71f458731 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -312,20 +312,20 @@ Logger::LogSeverity Logger::getLogSeverity() const { } // Namespace Assimp // ------------------------------------------------------------------------------------------------ -#define ASSIMP_LOG_WARN_F(string, ...) \ - Assimp::DefaultLogger::get()->warn((string, __VA_ARGS__)) +#define ASSIMP_LOG_WARN_F(...) \ + Assimp::DefaultLogger::get()->warn(__VA_ARGS__) -#define ASSIMP_LOG_ERROR_F(string, ...) \ - Assimp::DefaultLogger::get()->error((string, __VA_ARGS__)) +#define ASSIMP_LOG_ERROR_F(...) \ + Assimp::DefaultLogger::get()->error(__VA_ARGS__) -#define ASSIMP_LOG_DEBUG_F(string, ...) \ - Assimp::DefaultLogger::get()->debug((string, __VA_ARGS__)) +#define ASSIMP_LOG_DEBUG_F(...) \ + Assimp::DefaultLogger::get()->debug(__VA_ARGS__) -#define ASSIMP_LOG_VERBOSE_DEBUG_F(string, ...) \ - Assimp::DefaultLogger::get()->verboseDebug((string, __VA_ARGS__)) +#define ASSIMP_LOG_VERBOSE_DEBUG_F(...) \ + Assimp::DefaultLogger::get()->verboseDebug(__VA_ARGS__) -#define ASSIMP_LOG_INFO_F(string, ...) \ - Assimp::DefaultLogger::get()->info((string, __VA_ARGS__)) +#define ASSIMP_LOG_INFO_F(...) \ + Assimp::DefaultLogger::get()->info(__VA_ARGS__) #define ASSIMP_LOG_WARN(string) \ Assimp::DefaultLogger::get()->warn(string) From 5cd3bdd5c22c1695174cd92639333ef5e5d30291 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:25:27 +0100 Subject: [PATCH 85/99] No need to distinguish formatting log functions. --- code/AssetLib/3DS/3DSLoader.cpp | 4 +-- code/AssetLib/3MF/D3MFOpcPackage.cpp | 4 +-- code/AssetLib/AC/ACLoader.cpp | 8 ++--- code/AssetLib/ASE/ASELoader.cpp | 2 +- code/AssetLib/ASE/ASEParser.cpp | 2 +- code/AssetLib/B3D/B3DImporter.cpp | 8 ++--- code/AssetLib/Blender/BlenderDNA.cpp | 2 +- code/AssetLib/Blender/BlenderDNA.inl | 2 +- code/AssetLib/Blender/BlenderLoader.cpp | 2 +- code/AssetLib/Blender/BlenderModifier.cpp | 12 +++---- code/AssetLib/Blender/BlenderModifier.h | 2 +- code/AssetLib/COB/COBLoader.cpp | 36 +++++++++---------- code/AssetLib/Collada/ColladaLoader.cpp | 16 ++++----- code/AssetLib/Collada/ColladaParser.cpp | 4 +-- code/AssetLib/DXF/DXFHelper.h | 2 +- code/AssetLib/DXF/DXFLoader.cpp | 14 ++++---- code/AssetLib/FBX/FBXBinaryTokenizer.cpp | 2 +- code/AssetLib/FBX/FBXConverter.cpp | 6 ++-- code/AssetLib/FBX/FBXDocument.cpp | 2 +- code/AssetLib/FBX/FBXDocumentUtil.cpp | 2 +- code/AssetLib/FBX/FBXMaterial.cpp | 2 +- code/AssetLib/LWO/LWOBLoader.cpp | 2 +- code/AssetLib/LWO/LWOLoader.cpp | 8 ++--- code/AssetLib/LWO/LWOMaterial.cpp | 2 +- code/AssetLib/M3D/M3DImporter.cpp | 14 ++++---- code/AssetLib/MD3/MD3Loader.cpp | 6 ++-- code/AssetLib/MS3D/MS3DLoader.cpp | 2 +- code/AssetLib/NDO/NDOLoader.cpp | 2 +- code/AssetLib/NFF/NFFLoader.cpp | 8 ++--- code/AssetLib/Ogre/OgreBinarySerializer.cpp | 28 +++++++-------- code/AssetLib/Ogre/OgreMaterial.cpp | 30 ++++++++-------- code/AssetLib/Ogre/OgreStructs.cpp | 4 +-- code/AssetLib/Ogre/OgreXmlSerializer.cpp | 22 ++++++------ code/AssetLib/OpenGEX/OpenGEXImporter.cpp | 2 +- code/AssetLib/Q3D/Q3DLoader.cpp | 2 +- code/AssetLib/SIB/SIBImporter.cpp | 2 +- code/AssetLib/STEPParser/STEPFileReader.cpp | 2 +- code/AssetLib/Unreal/UnrealLoader.cpp | 6 ++-- code/AssetLib/X/XFileImporter.cpp | 2 +- code/AssetLib/glTF/glTFExporter.cpp | 2 +- code/AssetLib/glTF2/glTF2Importer.cpp | 18 +++++----- code/Common/BaseImporter.cpp | 6 ++-- code/Common/DefaultIOSystem.cpp | 2 +- code/Common/Importer.cpp | 6 ++-- code/Common/SceneCombiner.cpp | 2 +- code/Common/Subdivision.cpp | 2 +- code/PostProcessing/ArmaturePopulate.cpp | 12 +++---- code/PostProcessing/CalcTangentsProcess.cpp | 2 +- code/PostProcessing/DeboneProcess.cpp | 2 +- code/PostProcessing/EmbedTexturesProcess.cpp | 6 ++-- code/PostProcessing/FindDegenerates.cpp | 2 +- code/PostProcessing/FindInstancesProcess.cpp | 2 +- .../PostProcessing/FindInvalidDataProcess.cpp | 2 +- code/PostProcessing/FixNormalsStep.cpp | 2 +- code/PostProcessing/ImproveCacheLocality.cpp | 4 +-- code/PostProcessing/JoinVerticesProcess.cpp | 4 +-- .../LimitBoneWeightsProcess.cpp | 2 +- code/PostProcessing/OptimizeGraph.cpp | 2 +- code/PostProcessing/OptimizeMeshes.cpp | 2 +- code/PostProcessing/PretransformVertices.cpp | 6 ++-- .../RemoveRedundantMaterials.cpp | 4 +-- .../SplitByBoneCountProcess.cpp | 4 +-- code/PostProcessing/TextureTransform.cpp | 6 ++-- include/assimp/LineSplitter.h | 2 +- include/assimp/Logger.hpp | 25 +++---------- include/assimp/Profiler.h | 4 +-- include/assimp/fast_atof.h | 2 +- 67 files changed, 199 insertions(+), 214 deletions(-) diff --git a/code/AssetLib/3DS/3DSLoader.cpp b/code/AssetLib/3DS/3DSLoader.cpp index 2d77e0f66..b5e6f749b 100644 --- a/code/AssetLib/3DS/3DSLoader.cpp +++ b/code/AssetLib/3DS/3DSLoader.cpp @@ -305,7 +305,7 @@ void Discreet3DSImporter::ParseEditorChunk() { // print the version number char buff[10]; ASSIMP_itoa10(buff, stream->GetI2()); - ASSIMP_LOG_INFO_F("3DS file format version: ", buff); + ASSIMP_LOG_INFO("3DS file format version: ", buff); } break; }; ASSIMP_3DS_END_CHUNK(); @@ -934,7 +934,7 @@ void Discreet3DSImporter::ParseFaceChunk() { } } if (0xcdcdcdcd == idx) { - ASSIMP_LOG_ERROR_F("3DS: Unknown material: ", sz); + ASSIMP_LOG_ERROR("3DS: Unknown material: ", sz); } // Now continue and read all material indices diff --git a/code/AssetLib/3MF/D3MFOpcPackage.cpp b/code/AssetLib/3MF/D3MFOpcPackage.cpp index d5bbcd618..dbf4f2e10 100644 --- a/code/AssetLib/3MF/D3MFOpcPackage.cpp +++ b/code/AssetLib/3MF/D3MFOpcPackage.cpp @@ -160,9 +160,9 @@ D3MFOpcPackage::D3MFOpcPackage(IOSystem *pIOHandler, const std::string &rFile) : } } else if (file == D3MF::XmlTag::CONTENT_TYPES_ARCHIVE) { - ASSIMP_LOG_WARN_F("Ignored file of unsupported type CONTENT_TYPES_ARCHIVES", file); + ASSIMP_LOG_WARN("Ignored file of unsupported type CONTENT_TYPES_ARCHIVES", file); } else { - ASSIMP_LOG_WARN_F("Ignored file of unknown type: ", file); + ASSIMP_LOG_WARN("Ignored file of unknown type: ", file); } } } diff --git a/code/AssetLib/AC/ACLoader.cpp b/code/AssetLib/AC/ACLoader.cpp index 59cfc30dd..974e77825 100644 --- a/code/AssetLib/AC/ACLoader.cpp +++ b/code/AssetLib/AC/ACLoader.cpp @@ -492,7 +492,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, default: // Coerce unknowns to a polygon and warn - ASSIMP_LOG_WARN_F("AC3D: The type flag of a surface is unknown: ", (*it).flags); + ASSIMP_LOG_WARN("AC3D: The type flag of a surface is unknown: ", (*it).flags); (*it).flags &= ~(Surface::Mask); // fallthrough @@ -690,7 +690,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, if (object.subDiv) { if (configEvalSubdivision) { std::unique_ptr div(Subdivider::Create(Subdivider::CATMULL_CLARKE)); - ASSIMP_LOG_INFO_F("AC3D: Evaluating subdivision surface: ", object.name); + ASSIMP_LOG_INFO("AC3D: Evaluating subdivision surface: ", object.name); std::vector cpy(meshes.size() - oldm, nullptr); div->Subdivide(&meshes[oldm], cpy.size(), &cpy.front(), object.subDiv, true); @@ -698,7 +698,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, // previous meshes are deleted vy Subdivide(). } else { - ASSIMP_LOG_INFO_F("AC3D: Letting the subdivision surface untouched due to my configuration: ", object.name); + ASSIMP_LOG_INFO("AC3D: Letting the subdivision surface untouched due to my configuration: ", object.name); } } } @@ -782,7 +782,7 @@ void AC3DImporter::InternReadFile(const std::string &pFile, unsigned int version = HexDigitToDecimal(buffer[4]); char msg[3]; ASSIMP_itoa10(msg, 3, version); - ASSIMP_LOG_INFO_F("AC3D file format version: ", msg); + ASSIMP_LOG_INFO("AC3D file format version: ", msg); std::vector materials; materials.reserve(5); diff --git a/code/AssetLib/ASE/ASELoader.cpp b/code/AssetLib/ASE/ASELoader.cpp index a05c3c5e9..1a42c2f52 100644 --- a/code/AssetLib/ASE/ASELoader.cpp +++ b/code/AssetLib/ASE/ASELoader.cpp @@ -614,7 +614,7 @@ void ASEImporter::AddNodes(const std::vector &nodes, node->mNumChildren++; // What we did is so great, it is at least worth a debug message - ASSIMP_LOG_VERBOSE_DEBUG_F("ASE: Generating separate target node (", snode->mName, ")"); + ASSIMP_LOG_VERBOSE_DEBUG("ASE: Generating separate target node (", snode->mName, ")"); } } diff --git a/code/AssetLib/ASE/ASEParser.cpp b/code/AssetLib/ASE/ASEParser.cpp index 00155805f..4e4af8ed8 100644 --- a/code/AssetLib/ASE/ASEParser.cpp +++ b/code/AssetLib/ASE/ASEParser.cpp @@ -677,7 +677,7 @@ void Parser::ParseLV3MapBlock(Texture &map) { if (!ParseString(temp, "*MAP_CLASS")) SkipToNextToken(); if (temp != "Bitmap" && temp != "Normal Bump") { - ASSIMP_LOG_WARN_F("ASE: Skipping unknown map type: ", temp); + ASSIMP_LOG_WARN("ASE: Skipping unknown map type: ", temp); parsePath = false; } continue; diff --git a/code/AssetLib/B3D/B3DImporter.cpp b/code/AssetLib/B3D/B3DImporter.cpp index bcdb286be..3d9a5075a 100644 --- a/code/AssetLib/B3D/B3DImporter.cpp +++ b/code/AssetLib/B3D/B3DImporter.cpp @@ -145,7 +145,7 @@ AI_WONT_RETURN void B3DImporter::Oops() { // ------------------------------------------------------------------------------------------------ AI_WONT_RETURN void B3DImporter::Fail(string str) { #ifdef DEBUG_B3D - ASSIMP_LOG_ERROR_F("Error in B3D file data: ", str); + ASSIMP_LOG_ERROR("Error in B3D file data: ", str); #endif throw DeadlyImportError("B3D Importer - error in B3D file data: ", str); } @@ -233,7 +233,7 @@ string B3DImporter::ReadChunk() { tag += char(ReadByte()); } #ifdef DEBUG_B3D - ASSIMP_LOG_DEBUG_F("ReadChunk: ", tag); + ASSIMP_LOG_DEBUG("ReadChunk: ", tag); #endif unsigned sz = (unsigned)ReadInt(); _stack.push_back(_pos + sz); @@ -397,7 +397,7 @@ void B3DImporter::ReadTRIS(int v0) { matid = 0; } else if (matid < 0 || matid >= (int)_materials.size()) { #ifdef DEBUG_B3D - ASSIMP_LOG_ERROR_F("material id=", matid); + ASSIMP_LOG_ERROR("material id=", matid); #endif Fail("Bad material id"); } @@ -417,7 +417,7 @@ void B3DImporter::ReadTRIS(int v0) { int i2 = ReadInt() + v0; if (i0 < 0 || i0 >= (int)_vertices.size() || i1 < 0 || i1 >= (int)_vertices.size() || i2 < 0 || i2 >= (int)_vertices.size()) { #ifdef DEBUG_B3D - ASSIMP_LOG_ERROR_F("Bad triangle index: i0=", i0, ", i1=", i1, ", i2=", i2); + ASSIMP_LOG_ERROR("Bad triangle index: i0=", i0, ", i1=", i1, ", i2=", i2); #endif Fail("Bad triangle index"); continue; diff --git a/code/AssetLib/Blender/BlenderDNA.cpp b/code/AssetLib/Blender/BlenderDNA.cpp index 4dcb3d654..99e9173aa 100644 --- a/code/AssetLib/Blender/BlenderDNA.cpp +++ b/code/AssetLib/Blender/BlenderDNA.cpp @@ -198,7 +198,7 @@ void DNAParser::Parse() { s.size = offset; } - ASSIMP_LOG_DEBUG_F("BlenderDNA: Got ", dna.structures.size(), " structures with totally ", fields, " fields"); + ASSIMP_LOG_DEBUG("BlenderDNA: Got ", dna.structures.size(), " structures with totally ", fields, " fields"); #ifdef ASSIMP_BUILD_BLENDER_DEBUG dna.DumpToFile(); diff --git a/code/AssetLib/Blender/BlenderDNA.inl b/code/AssetLib/Blender/BlenderDNA.inl index aebcefa84..a46532057 100644 --- a/code/AssetLib/Blender/BlenderDNA.inl +++ b/code/AssetLib/Blender/BlenderDNA.inl @@ -565,7 +565,7 @@ template <> bool Structure :: ResolvePointer(std::shar // this might happen if DNA::RegisterConverters hasn't been called so far // or if the target type is not contained in `our` DNA. out.reset(); - ASSIMP_LOG_WARN_F( "Failed to find a converter for the `",s.name,"` structure" ); + ASSIMP_LOG_WARN( "Failed to find a converter for the `",s.name,"` structure" ); return false; } diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index 56f4e985f..8cc0162f5 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -310,7 +310,7 @@ void BlenderImporter::ExtractScene(Scene &out, const FileDatabase &file) { ss.Convert(out, file); #ifndef ASSIMP_BUILD_BLENDER_NO_STATS - ASSIMP_LOG_INFO_F( + ASSIMP_LOG_INFO( "(Stats) Fields read: ", file.stats().fields_read, ", pointers resolved: ", file.stats().pointers_resolved, ", cache hits: ", file.stats().cache_hits, diff --git a/code/AssetLib/Blender/BlenderModifier.cpp b/code/AssetLib/Blender/BlenderModifier.cpp index 995e20b1c..bc5c8c2d9 100644 --- a/code/AssetLib/Blender/BlenderModifier.cpp +++ b/code/AssetLib/Blender/BlenderModifier.cpp @@ -90,7 +90,7 @@ void BlenderModifierShowcase::ApplyModifiers(aiNode &out, ConversionData &conv_d const Structure *s = conv_data.db.dna.Get(cur->dna_type); if (!s) { - ASSIMP_LOG_WARN_F("BlendModifier: could not resolve DNA name: ", cur->dna_type); + ASSIMP_LOG_WARN("BlendModifier: could not resolve DNA name: ", cur->dna_type); continue; } @@ -132,7 +132,7 @@ void BlenderModifierShowcase::ApplyModifiers(aiNode &out, ConversionData &conv_d } } if (curgod) { - ASSIMP_LOG_WARN_F("Couldn't find a handler for modifier: ", dat.name); + ASSIMP_LOG_WARN("Couldn't find a handler for modifier: ", dat.name); } } @@ -140,7 +140,7 @@ void BlenderModifierShowcase::ApplyModifiers(aiNode &out, ConversionData &conv_d // object, we still can't say whether our modifier implementations were // able to fully do their job. if (ful) { - ASSIMP_LOG_DEBUG_F("BlendModifier: found handlers for ", cnt, " of ", ful, " modifiers on `", orig_object.id.name, + ASSIMP_LOG_DEBUG("BlendModifier: found handlers for ", cnt, " of ", ful, " modifiers on `", orig_object.id.name, "`, check log messages above for errors"); } } @@ -248,7 +248,7 @@ void BlenderModifier_Mirror ::DoIt(aiNode &out, ConversionData &conv_data, const out.mMeshes = nind; out.mNumMeshes *= 2; - ASSIMP_LOG_INFO_F("BlendModifier: Applied the `Mirror` modifier to `", + ASSIMP_LOG_INFO("BlendModifier: Applied the `Mirror` modifier to `", orig_object.id.name, "`"); } @@ -277,7 +277,7 @@ void BlenderModifier_Subdivision ::DoIt(aiNode &out, ConversionData &conv_data, break; default: - ASSIMP_LOG_WARN_F("BlendModifier: Unrecognized subdivision algorithm: ", mir.subdivType); + ASSIMP_LOG_WARN("BlendModifier: Unrecognized subdivision algorithm: ", mir.subdivType); return; }; @@ -292,7 +292,7 @@ void BlenderModifier_Subdivision ::DoIt(aiNode &out, ConversionData &conv_data, subd->Subdivide(meshes, out.mNumMeshes, tempmeshes.get(), std::max(mir.renderLevels, mir.levels), true); std::copy(tempmeshes.get(), tempmeshes.get() + out.mNumMeshes, meshes); - ASSIMP_LOG_INFO_F("BlendModifier: Applied the `Subdivision` modifier to `", + ASSIMP_LOG_INFO("BlendModifier: Applied the `Subdivision` modifier to `", orig_object.id.name, "`"); } diff --git a/code/AssetLib/Blender/BlenderModifier.h b/code/AssetLib/Blender/BlenderModifier.h index 7d4096cde..daf120087 100644 --- a/code/AssetLib/Blender/BlenderModifier.h +++ b/code/AssetLib/Blender/BlenderModifier.h @@ -86,7 +86,7 @@ public: const Scene& /*in*/, const Object& /*orig_object*/ ) { - ASSIMP_LOG_INFO_F("This modifier is not supported, skipping: ",orig_modifier.dna_type ); + ASSIMP_LOG_INFO("This modifier is not supported, skipping: ",orig_modifier.dna_type ); return; } }; diff --git a/code/AssetLib/COB/COBLoader.cpp b/code/AssetLib/COB/COBLoader.cpp index 29e8e9de1..94327c683 100644 --- a/code/AssetLib/COB/COBLoader.cpp +++ b/code/AssetLib/COB/COBLoader.cpp @@ -152,7 +152,7 @@ void COBImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy ThrowException("Could not found magic id: `Caligari`"); } - ASSIMP_LOG_INFO_F("File format tag: ", std::string(head + 9, 6)); + ASSIMP_LOG_INFO("File format tag: ", std::string(head + 9, 6)); if (head[16] != 'L') { ThrowException("File is big-endian, which is not supported"); } @@ -301,7 +301,7 @@ aiNode *COBImporter::BuildNodes(const Node &root, const Scene &scin, aiScene *fi } std::unique_ptr defmat; if (!min) { - ASSIMP_LOG_VERBOSE_DEBUG_F("Could not resolve material index ", reflist.first, " - creating default material for this slot"); + ASSIMP_LOG_VERBOSE_DEBUG("Could not resolve material index ", reflist.first, " - creating default material for this slot"); defmat.reset(min = new Material()); } @@ -526,7 +526,7 @@ void COBImporter::ReadMat1_Ascii(Scene &out, LineSplitter &splitter, const Chunk ++splitter; if (!splitter.match_start("mat# ")) { - ASSIMP_LOG_WARN_F("Expected `mat#` line in `Mat1` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `mat#` line in `Mat1` chunk ", nfo.id); return; } @@ -538,7 +538,7 @@ void COBImporter::ReadMat1_Ascii(Scene &out, LineSplitter &splitter, const Chunk ++splitter; if (!splitter.match_start("shader: ")) { - ASSIMP_LOG_WARN_F("Expected `mat#` line in `Mat1` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `mat#` line in `Mat1` chunk ", nfo.id); return; } std::string shader = std::string(splitter[1]); @@ -549,12 +549,12 @@ void COBImporter::ReadMat1_Ascii(Scene &out, LineSplitter &splitter, const Chunk } else if (shader == "phong") { mat.shader = Material::PHONG; } else if (shader != "flat") { - ASSIMP_LOG_WARN_F("Unknown value for `shader` in `Mat1` chunk ", nfo.id); + ASSIMP_LOG_WARN("Unknown value for `shader` in `Mat1` chunk ", nfo.id); } ++splitter; if (!splitter.match_start("rgb ")) { - ASSIMP_LOG_WARN_F("Expected `rgb` line in `Mat1` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `rgb` line in `Mat1` chunk ", nfo.id); } const char *rgb = splitter[1]; @@ -562,7 +562,7 @@ void COBImporter::ReadMat1_Ascii(Scene &out, LineSplitter &splitter, const Chunk ++splitter; if (!splitter.match_start("alpha ")) { - ASSIMP_LOG_WARN_F("Expected `alpha` line in `Mat1` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `alpha` line in `Mat1` chunk ", nfo.id); } const char *tokens[10]; @@ -582,7 +582,7 @@ void COBImporter::ReadUnit_Ascii(Scene &out, LineSplitter &splitter, const Chunk } ++splitter; if (!splitter.match_start("Units ")) { - ASSIMP_LOG_WARN_F("Expected `Units` line in `Unit` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `Units` line in `Unit` chunk ", nfo.id); return; } @@ -593,12 +593,12 @@ void COBImporter::ReadUnit_Ascii(Scene &out, LineSplitter &splitter, const Chunk const unsigned int t = strtoul10(splitter[1]); nd->unit_scale = t >= sizeof(units) / sizeof(units[0]) ? ( - ASSIMP_LOG_WARN_F(t, " is not a valid value for `Units` attribute in `Unit chunk` ", nfo.id), 1.f) : + ASSIMP_LOG_WARN(t, " is not a valid value for `Units` attribute in `Unit chunk` ", nfo.id), 1.f) : units[t]; return; } } - ASSIMP_LOG_WARN_F("`Unit` chunk ", nfo.id, " is a child of ", nfo.parent_id, " which does not exist"); + ASSIMP_LOG_WARN("`Unit` chunk ", nfo.id, " is a child of ", nfo.parent_id, " which does not exist"); } // ------------------------------------------------------------------------------------------------ @@ -627,13 +627,13 @@ void COBImporter::ReadLght_Ascii(Scene &out, LineSplitter &splitter, const Chunk } else if (splitter.match_start("Spot ")) { msh.ltype = Light::SPOT; } else { - ASSIMP_LOG_WARN_F("Unknown kind of light source in `Lght` chunk ", nfo.id, " : ", *splitter); + ASSIMP_LOG_WARN("Unknown kind of light source in `Lght` chunk ", nfo.id, " : ", *splitter); msh.ltype = Light::SPOT; } ++splitter; if (!splitter.match_start("color ")) { - ASSIMP_LOG_WARN_F("Expected `color` line in `Lght` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `color` line in `Lght` chunk ", nfo.id); } const char *rgb = splitter[1]; @@ -641,14 +641,14 @@ void COBImporter::ReadLght_Ascii(Scene &out, LineSplitter &splitter, const Chunk SkipSpaces(&rgb); if (strncmp(rgb, "cone angle", 10) != 0) { - ASSIMP_LOG_WARN_F("Expected `cone angle` entity in `color` line in `Lght` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `cone angle` entity in `color` line in `Lght` chunk ", nfo.id); } SkipSpaces(rgb + 10, &rgb); msh.angle = fast_atof(&rgb); SkipSpaces(&rgb); if (strncmp(rgb, "inner angle", 11) != 0) { - ASSIMP_LOG_WARN_F("Expected `inner angle` entity in `color` line in `Lght` chunk ", nfo.id); + ASSIMP_LOG_WARN("Expected `inner angle` entity in `color` line in `Lght` chunk ", nfo.id); } SkipSpaces(rgb + 11, &rgb); msh.inner_angle = fast_atof(&rgb); @@ -1032,7 +1032,7 @@ void COBImporter::ReadMat1_Binary(COB::Scene &out, StreamReaderLE &reader, const mat.type = Material::METAL; break; default: - ASSIMP_LOG_ERROR_F("Unrecognized shader type in `Mat1` chunk with id ", nfo.id); + ASSIMP_LOG_ERROR("Unrecognized shader type in `Mat1` chunk with id ", nfo.id); mat.type = Material::FLAT; } @@ -1047,7 +1047,7 @@ void COBImporter::ReadMat1_Binary(COB::Scene &out, StreamReaderLE &reader, const mat.autofacet = Material::SMOOTH; break; default: - ASSIMP_LOG_ERROR_F("Unrecognized faceting mode in `Mat1` chunk with id ", nfo.id); + ASSIMP_LOG_ERROR("Unrecognized faceting mode in `Mat1` chunk with id ", nfo.id); mat.autofacet = Material::FACETED; } mat.autofacet_angle = static_cast(reader.GetI1()); @@ -1175,13 +1175,13 @@ void COBImporter::ReadUnit_Binary(COB::Scene &out, StreamReaderLE &reader, const if (nd->id == nfo.parent_id) { const unsigned int t = reader.GetI2(); nd->unit_scale = t >= sizeof(units) / sizeof(units[0]) ? ( - ASSIMP_LOG_WARN_F(t, " is not a valid value for `Units` attribute in `Unit chunk` ", nfo.id), 1.f) : + ASSIMP_LOG_WARN(t, " is not a valid value for `Units` attribute in `Unit chunk` ", nfo.id), 1.f) : units[t]; return; } } - ASSIMP_LOG_WARN_F("`Unit` chunk ", nfo.id, " is a child of ", nfo.parent_id, " which does not exist"); + ASSIMP_LOG_WARN("`Unit` chunk ", nfo.id, " is a child of ", nfo.parent_id, " which does not exist"); } #endif // ASSIMP_BUILD_NO_COB_IMPORTER diff --git a/code/AssetLib/Collada/ColladaLoader.cpp b/code/AssetLib/Collada/ColladaLoader.cpp index 736d20ce5..492e6971f 100644 --- a/code/AssetLib/Collada/ColladaLoader.cpp +++ b/code/AssetLib/Collada/ColladaLoader.cpp @@ -317,7 +317,7 @@ void ColladaLoader::ResolveNodeInstances(const ColladaParser &pParser, const Nod nd = FindNode(pParser.mRootNode, nodeInst.mNode); } if (nullptr == nd) { - ASSIMP_LOG_ERROR_F("Collada: Unable to resolve reference to instanced node ", nodeInst.mNode); + ASSIMP_LOG_ERROR("Collada: Unable to resolve reference to instanced node ", nodeInst.mNode); } else { // attach this node to the list of children resolved.push_back(nd); @@ -347,7 +347,7 @@ void ColladaLoader::BuildLightsForNode(const ColladaParser &pParser, const Node // find the referred light ColladaParser::LightLibrary::const_iterator srcLightIt = pParser.mLightLibrary.find(lid.mLight); if (srcLightIt == pParser.mLightLibrary.end()) { - ASSIMP_LOG_WARN_F("Collada: Unable to find light for ID \"", lid.mLight, "\". Skipping."); + ASSIMP_LOG_WARN("Collada: Unable to find light for ID \"", lid.mLight, "\". Skipping."); continue; } const Collada::Light *srcLight = &srcLightIt->second; @@ -412,7 +412,7 @@ void ColladaLoader::BuildCamerasForNode(const ColladaParser &pParser, const Node // find the referred light ColladaParser::CameraLibrary::const_iterator srcCameraIt = pParser.mCameraLibrary.find(cid.mCamera); if (srcCameraIt == pParser.mCameraLibrary.end()) { - ASSIMP_LOG_WARN_F("Collada: Unable to find camera for ID \"", cid.mCamera, "\". Skipping."); + ASSIMP_LOG_WARN("Collada: Unable to find camera for ID \"", cid.mCamera, "\". Skipping."); continue; } const Collada::Camera *srcCamera = &srcCameraIt->second; @@ -486,7 +486,7 @@ void ColladaLoader::BuildMeshesForNode(const ColladaParser &pParser, const Node } if (nullptr == srcMesh) { - ASSIMP_LOG_WARN_F("Collada: Unable to find geometry for ID \"", mid.mMeshOrController, "\". Skipping."); + ASSIMP_LOG_WARN("Collada: Unable to find geometry for ID \"", mid.mMeshOrController, "\". Skipping."); continue; } } else { @@ -511,7 +511,7 @@ void ColladaLoader::BuildMeshesForNode(const ColladaParser &pParser, const Node table = &meshMatIt->second; meshMaterial = table->mMatName; } else { - ASSIMP_LOG_WARN_F("Collada: No material specified for subgroup <", submesh.mMaterial, "> in geometry <", + ASSIMP_LOG_WARN("Collada: No material specified for subgroup <", submesh.mMaterial, "> in geometry <", mid.mMeshOrController, ">."); if (!mid.mMaterials.empty()) { meshMaterial = mid.mMaterials.begin()->second.mMatName; @@ -883,7 +883,7 @@ aiMesh *ColladaLoader::CreateMesh(const ColladaParser &pParser, const Mesh *pSrc if (nullptr != bnode) { bone->mName.Set(FindNameForNode(bnode)); } else { - ASSIMP_LOG_WARN_F("ColladaLoader::CreateMesh(): could not find corresponding node for joint \"", bone->mName.data, "\"."); + ASSIMP_LOG_WARN("ColladaLoader::CreateMesh(): could not find corresponding node for joint \"", bone->mName.data, "\"."); } // and insert bone @@ -1184,7 +1184,7 @@ void ColladaLoader::CreateAnimation(aiScene *pScene, const ColladaParser &pParse else if (subElement == "Z") entry.mSubElement = 2; else - ASSIMP_LOG_WARN_F("Unknown anim subelement <", subElement, ">. Ignoring"); + ASSIMP_LOG_WARN("Unknown anim subelement <", subElement, ">. Ignoring"); } else { // no sub-element following, transformId is remaining string entry.mTransformId = srcChannel.mTarget.substr(slashPos + 1); @@ -1711,7 +1711,7 @@ aiString ColladaLoader::FindFilenameForEffectTexture(const ColladaParser &pParse // find the image referred by this name in the image library of the scene ColladaParser::ImageLibrary::const_iterator imIt = pParser.mImageLibrary.find(name); if (imIt == pParser.mImageLibrary.end()) { - ASSIMP_LOG_WARN_F("Collada: Unable to resolve effect texture entry \"", pName, "\", ended up at ID \"", name, "\"."); + ASSIMP_LOG_WARN("Collada: Unable to resolve effect texture entry \"", pName, "\", ended up at ID \"", name, "\"."); //set default texture file name result.Set(name + ".jpg"); diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp index 1ef109f11..fc9a45802 100644 --- a/code/AssetLib/Collada/ColladaParser.cpp +++ b/code/AssetLib/Collada/ColladaParser.cpp @@ -71,7 +71,7 @@ static void ReportWarning(const char *msg, ...) { ai_assert(iLen > 0); va_end(args); - ASSIMP_LOG_WARN_F("Validation warning: ", std::string(szBuffer, iLen)); + ASSIMP_LOG_WARN("Validation warning: ", std::string(szBuffer, iLen)); } static bool FindCommonKey(const std::string &collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { @@ -2400,7 +2400,7 @@ Collada::InputType ColladaParser::GetTypeForSemantic(const std::string &semantic else if (semantic == "TANGENT" || semantic == "TEXTANGENT") return IT_Tangent; - ASSIMP_LOG_WARN_F("Unknown vertex input type \"", semantic, "\". Ignoring."); + ASSIMP_LOG_WARN("Unknown vertex input type \"", semantic, "\". Ignoring."); return IT_Invalid; } diff --git a/code/AssetLib/DXF/DXFHelper.h b/code/AssetLib/DXF/DXFHelper.h index 5099b43ee..c7e75c3b1 100644 --- a/code/AssetLib/DXF/DXFHelper.h +++ b/code/AssetLib/DXF/DXFHelper.h @@ -135,7 +135,7 @@ public: for(;splitter->length() && splitter->at(0) != '}'; splitter++, cnt++); splitter++; - ASSIMP_LOG_VERBOSE_DEBUG_F("DXF: skipped over control group (",cnt," lines)"); + ASSIMP_LOG_VERBOSE_DEBUG("DXF: skipped over control group (",cnt," lines)"); } } catch(std::logic_error&) { ai_assert(!splitter); diff --git a/code/AssetLib/DXF/DXFLoader.cpp b/code/AssetLib/DXF/DXFLoader.cpp index d4a6be4ad..09c229265 100644 --- a/code/AssetLib/DXF/DXFLoader.cpp +++ b/code/AssetLib/DXF/DXFLoader.cpp @@ -202,7 +202,7 @@ void DXFImporter::InternReadFile( const std::string& filename, aiScene* pScene, // comments else if (reader.Is(999)) { - ASSIMP_LOG_INFO_F("DXF Comment: ", reader.Value()); + ASSIMP_LOG_INFO("DXF Comment: ", reader.Value()); } // don't read past the official EOF sign @@ -241,7 +241,7 @@ void DXFImporter::ConvertMeshes(aiScene* pScene, DXF::FileData& output) { } } - ASSIMP_LOG_VERBOSE_DEBUG_F("DXF: Unexpanded polycount is ", icount, ", vertex count is ", vcount); + ASSIMP_LOG_VERBOSE_DEBUG("DXF: Unexpanded polycount is ", icount, ", vertex count is ", vcount); } if (! output.blocks.size() ) { @@ -372,7 +372,7 @@ void DXFImporter::ExpandBlockReferences(DXF::Block& bl,const DXF::BlockMap& bloc // first check if the referenced blocks exists ... const DXF::BlockMap::const_iterator it = blocks_by_name.find(insert.name); if (it == blocks_by_name.end()) { - ASSIMP_LOG_ERROR_F("DXF: Failed to resolve block reference: ", insert.name,"; skipping" ); + ASSIMP_LOG_ERROR("DXF: Failed to resolve block reference: ", insert.name,"; skipping" ); continue; } @@ -473,7 +473,7 @@ void DXFImporter::ParseBlocks(DXF::LineReader& reader, DXF::FileData& output) { ++reader; } - ASSIMP_LOG_VERBOSE_DEBUG_F("DXF: got ", output.blocks.size()," entries in BLOCKS" ); + ASSIMP_LOG_VERBOSE_DEBUG("DXF: got ", output.blocks.size()," entries in BLOCKS" ); } // ------------------------------------------------------------------------------------------------ @@ -549,7 +549,7 @@ void DXFImporter::ParseEntities(DXF::LineReader& reader, DXF::FileData& output) ++reader; } - ASSIMP_LOG_VERBOSE_DEBUG_F( "DXF: got ", block.lines.size()," polylines and ", block.insertions.size(), + ASSIMP_LOG_VERBOSE_DEBUG( "DXF: got ", block.lines.size()," polylines and ", block.insertions.size(), " inserted blocks in ENTITIES" ); } @@ -654,7 +654,7 @@ void DXFImporter::ParsePolyLine(DXF::LineReader& reader, DXF::FileData& output) //} if (vguess && line.positions.size() != vguess) { - ASSIMP_LOG_WARN_F("DXF: unexpected vertex count in polymesh: ", + ASSIMP_LOG_WARN("DXF: unexpected vertex count in polymesh: ", line.positions.size(),", expected ", vguess ); } @@ -670,7 +670,7 @@ void DXFImporter::ParsePolyLine(DXF::LineReader& reader, DXF::FileData& output) // to set the 71 and 72 fields, respectively, to valid values. // So just fire a warning. if (iguess && line.counts.size() != iguess) { - ASSIMP_LOG_WARN_F( "DXF: unexpected face count in polymesh: ", line.counts.size(),", expected ", iguess ); + ASSIMP_LOG_WARN( "DXF: unexpected face count in polymesh: ", line.counts.size(),", expected ", iguess ); } } else if (!line.indices.size() && !line.counts.size()) { diff --git a/code/AssetLib/FBX/FBXBinaryTokenizer.cpp b/code/AssetLib/FBX/FBXBinaryTokenizer.cpp index 800d0014d..348812054 100644 --- a/code/AssetLib/FBX/FBXBinaryTokenizer.cpp +++ b/code/AssetLib/FBX/FBXBinaryTokenizer.cpp @@ -459,7 +459,7 @@ void TokenizeBinary(TokenList& output_tokens, const char* input, size_t length) /*Result ignored*/ ReadByte(input, cursor, input + length); /*Result ignored*/ ReadByte(input, cursor, input + length); const uint32_t version = ReadWord(input, cursor, input + length); - ASSIMP_LOG_DEBUG_F("FBX version: ", version); + ASSIMP_LOG_DEBUG("FBX version: ", version); const bool is64bits = version >= 7500; const char *end = input + length; try diff --git a/code/AssetLib/FBX/FBXConverter.cpp b/code/AssetLib/FBX/FBXConverter.cpp index cb033a651..88d7ad626 100644 --- a/code/AssetLib/FBX/FBXConverter.cpp +++ b/code/AssetLib/FBX/FBXConverter.cpp @@ -1542,10 +1542,10 @@ void FBXConverter::ConvertCluster(std::vector &local_mesh_bones, const aiBone *bone = nullptr; if (bone_map.count(deformer_name)) { - ASSIMP_LOG_VERBOSE_DEBUG_F("retrieved bone from lookup ", bone_name.C_Str(), ". Deformer:", deformer_name); + ASSIMP_LOG_VERBOSE_DEBUG("retrieved bone from lookup ", bone_name.C_Str(), ". Deformer:", deformer_name); bone = bone_map[deformer_name]; } else { - ASSIMP_LOG_VERBOSE_DEBUG_F("created new bone ", bone_name.C_Str(), ". Deformer: ", deformer_name); + ASSIMP_LOG_VERBOSE_DEBUG("created new bone ", bone_name.C_Str(), ". Deformer: ", deformer_name); bone = new aiBone(); bone->mName = bone_name; @@ -1591,7 +1591,7 @@ void FBXConverter::ConvertCluster(std::vector &local_mesh_bones, const bone_map.insert(std::pair(deformer_name, bone)); } - ASSIMP_LOG_DEBUG_F("bone research: Indicies size: ", out_indices.size()); + ASSIMP_LOG_DEBUG("bone research: Indicies size: ", out_indices.size()); // lookup must be populated in case something goes wrong // this also allocates bones to mesh instance outside diff --git a/code/AssetLib/FBX/FBXDocument.cpp b/code/AssetLib/FBX/FBXDocument.cpp index a9eb3ad15..7adaadf6c 100644 --- a/code/AssetLib/FBX/FBXDocument.cpp +++ b/code/AssetLib/FBX/FBXDocument.cpp @@ -312,7 +312,7 @@ void Document::ReadHeader() { const Scope& shead = *ehead->Compound(); fbxVersion = ParseTokenAsInt(GetRequiredToken(GetRequiredElement(shead,"FBXVersion",ehead),0)); - ASSIMP_LOG_DEBUG_F("FBX Version: ", fbxVersion); + ASSIMP_LOG_DEBUG("FBX Version: ", fbxVersion); // While we may have some success with newer files, we don't support // the older 6.n fbx format diff --git a/code/AssetLib/FBX/FBXDocumentUtil.cpp b/code/AssetLib/FBX/FBXDocumentUtil.cpp index 6ba01aa47..77455198f 100644 --- a/code/AssetLib/FBX/FBXDocumentUtil.cpp +++ b/code/AssetLib/FBX/FBXDocumentUtil.cpp @@ -79,7 +79,7 @@ void DOMError(const std::string& message, const Element* element /*= nullptr*/) void DOMWarning(const std::string& message, const Token& token) { if(DefaultLogger::get()) { - ASSIMP_LOG_WARN_F("FBX-DOM", Util::GetTokenText(&token), message); + ASSIMP_LOG_WARN("FBX-DOM", Util::GetTokenText(&token), message); } } diff --git a/code/AssetLib/FBX/FBXMaterial.cpp b/code/AssetLib/FBX/FBXMaterial.cpp index 409d7304a..6ada9630b 100644 --- a/code/AssetLib/FBX/FBXMaterial.cpp +++ b/code/AssetLib/FBX/FBXMaterial.cpp @@ -352,7 +352,7 @@ Video::Video(uint64_t id, const Element& element, const Document& doc, const std } } catch (const runtime_error& runtimeError) { //we don't need the content data for contents that has already been loaded - ASSIMP_LOG_VERBOSE_DEBUG_F("Caught exception in FBXMaterial (likely because content was already loaded): ", + ASSIMP_LOG_VERBOSE_DEBUG("Caught exception in FBXMaterial (likely because content was already loaded): ", runtimeError.what()); } } diff --git a/code/AssetLib/LWO/LWOBLoader.cpp b/code/AssetLib/LWO/LWOBLoader.cpp index 2654eccf4..8ef40fc21 100644 --- a/code/AssetLib/LWO/LWOBLoader.cpp +++ b/code/AssetLib/LWO/LWOBLoader.cpp @@ -242,7 +242,7 @@ LWO::Texture* LWOImporter::SetupNewTextureLWOB(LWO::TextureList& list,unsigned i else { // procedural or gradient, not supported - ASSIMP_LOG_ERROR_F("LWOB: Unsupported legacy texture: ", type); + ASSIMP_LOG_ERROR("LWOB: Unsupported legacy texture: ", type); } return tex; diff --git a/code/AssetLib/LWO/LWOLoader.cpp b/code/AssetLib/LWO/LWOLoader.cpp index a9fa08f11..7a2916424 100644 --- a/code/AssetLib/LWO/LWOLoader.cpp +++ b/code/AssetLib/LWO/LWOLoader.cpp @@ -1006,7 +1006,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { if (name == "APS.Level") { // XXX handle this (seems to be subdivision-related). } - ASSIMP_LOG_WARN_F("LWO2: Skipping unknown VMAP/VMAD channel \'", name, "\'"); + ASSIMP_LOG_WARN("LWO2: Skipping unknown VMAP/VMAD channel \'", name, "\'"); return; }; base->Allocate((unsigned int)mCurLayer->mTempPoints.size()); @@ -1026,7 +1026,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { unsigned int idx = ReadVSizedIntLWO2(mFileBuffer) + mCurLayer->mPointIDXOfs; if (idx >= numPoints) { - ASSIMP_LOG_WARN_F("LWO2: Failure evaluating VMAP/VMAD entry \'", name, "\', vertex index is out of range"); + ASSIMP_LOG_WARN("LWO2: Failure evaluating VMAP/VMAD entry \'", name, "\', vertex index is out of range"); mFileBuffer += base->dims << 2u; continue; } @@ -1036,7 +1036,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { // we have already a VMAP entry for this vertex - thus // we need to duplicate the corresponding polygon. if (polyIdx >= numFaces) { - ASSIMP_LOG_WARN_F("LWO2: Failure evaluating VMAD entry \'", name, "\', polygon index is out of range"); + ASSIMP_LOG_WARN("LWO2: Failure evaluating VMAD entry \'", name, "\', polygon index is out of range"); mFileBuffer += base->dims << 2u; continue; } @@ -1076,7 +1076,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { CreateNewEntry(mCurLayer->mNormals, srcIdx); } if (!had) { - ASSIMP_LOG_WARN_F("LWO2: Failure evaluating VMAD entry \'", name, "\', vertex index wasn't found in that polygon"); + ASSIMP_LOG_WARN("LWO2: Failure evaluating VMAD entry \'", name, "\', vertex index wasn't found in that polygon"); ai_assert(had); } } diff --git a/code/AssetLib/LWO/LWOMaterial.cpp b/code/AssetLib/LWO/LWOMaterial.cpp index 9d51438d7..186aa8a42 100644 --- a/code/AssetLib/LWO/LWOMaterial.cpp +++ b/code/AssetLib/LWO/LWOMaterial.cpp @@ -335,7 +335,7 @@ void LWOImporter::ConvertMaterial(const LWO::Surface &surf, aiMaterial *pcMat) { m = aiShadingMode_Fresnel; break; } else { - ASSIMP_LOG_WARN_F("LWO2: Unknown surface shader: ", shader.functionName); + ASSIMP_LOG_WARN("LWO2: Unknown surface shader: ", shader.functionName); } } if (surf.mMaximumSmoothAngle <= 0.0) diff --git a/code/AssetLib/M3D/M3DImporter.cpp b/code/AssetLib/M3D/M3DImporter.cpp index 1fb21d73e..5485b1bff 100644 --- a/code/AssetLib/M3D/M3DImporter.cpp +++ b/code/AssetLib/M3D/M3DImporter.cpp @@ -193,7 +193,7 @@ void M3DImporter::InternReadFile(const std::string &file, aiScene *pScene, IOSys } //DefaultLogger::create("/dev/stderr", Logger::VERBOSE); - ASSIMP_LOG_DEBUG_F("M3D: loading ", file); + ASSIMP_LOG_DEBUG("M3D: loading ", file); // let the C SDK do the hard work for us M3DWrapper m3d(pIOHandler, buffer); @@ -239,7 +239,7 @@ void M3DImporter::importMaterials(const M3DWrapper &m3d) { mScene->mNumMaterials = m3d->nummaterial + 1; mScene->mMaterials = new aiMaterial *[mScene->mNumMaterials]; - ASSIMP_LOG_DEBUG_F("M3D: importMaterials ", mScene->mNumMaterials); + ASSIMP_LOG_DEBUG("M3D: importMaterials ", mScene->mNumMaterials); // add a default material as first aiMaterial *mat = new aiMaterial; @@ -334,7 +334,7 @@ void M3DImporter::importTextures(const M3DWrapper &m3d) { ai_assert(m3d); mScene->mNumTextures = m3d->numtexture; - ASSIMP_LOG_DEBUG_F("M3D: importTextures ", mScene->mNumTextures); + ASSIMP_LOG_DEBUG("M3D: importTextures ", mScene->mNumTextures); if (!m3d->numtexture || !m3d->texture) { return; @@ -389,7 +389,7 @@ void M3DImporter::importTextures(const M3DWrapper &m3d) { // individually. In assimp there're per mesh vertex and UV lists, and they must be // indexed simultaneously. void M3DImporter::importMeshes(const M3DWrapper &m3d) { - ASSIMP_LOG_DEBUG_F("M3D: importMeshes ", m3d->numface); + ASSIMP_LOG_DEBUG("M3D: importMeshes ", m3d->numface); if (!m3d->numface || !m3d->face || !m3d->numvertex || !m3d->vertex) { return; @@ -508,7 +508,7 @@ void M3DImporter::importBones(const M3DWrapper &m3d, unsigned int parentid, aiNo ai_assert(mScene != nullptr); ai_assert(m3d); - ASSIMP_LOG_DEBUG_F("M3D: importBones ", m3d->numbone, " parentid ", (int)parentid); + ASSIMP_LOG_DEBUG("M3D: importBones ", m3d->numbone, " parentid ", (int)parentid); if (!m3d->numbone || !m3d->bone) { return; @@ -549,7 +549,7 @@ void M3DImporter::importAnimations(const M3DWrapper &m3d) { mScene->mNumAnimations = m3d->numaction; - ASSIMP_LOG_DEBUG_F("M3D: importAnimations ", mScene->mNumAnimations); + ASSIMP_LOG_DEBUG("M3D: importAnimations ", mScene->mNumAnimations); if (!m3d->numaction || !m3d->action || !m3d->numbone || !m3d->bone || !m3d->vertex) { return; @@ -712,7 +712,7 @@ void M3DImporter::populateMesh(const M3DWrapper &m3d, aiMesh *pMesh, std::vector ai_assert(vertexids != nullptr); ai_assert(m3d); - ASSIMP_LOG_DEBUG_F("M3D: populateMesh numvertices ", vertices->size(), " numfaces ", faces->size(), + ASSIMP_LOG_DEBUG("M3D: populateMesh numvertices ", vertices->size(), " numfaces ", faces->size(), " numnormals ", normals->size(), " numtexcoord ", texcoords->size(), " numbones ", m3d->numbone); if (vertices->size() && faces->size()) { diff --git a/code/AssetLib/MD3/MD3Loader.cpp b/code/AssetLib/MD3/MD3Loader.cpp index 3002aff67..18c3d4228 100644 --- a/code/AssetLib/MD3/MD3Loader.cpp +++ b/code/AssetLib/MD3/MD3Loader.cpp @@ -112,7 +112,7 @@ bool Q3Shader::LoadShader(ShaderData &fill, const std::string &pFile, IOSystem * if (!file.get()) return false; // if we can't access the file, don't worry and return - ASSIMP_LOG_INFO_F("Loading Quake3 shader file ", pFile); + ASSIMP_LOG_INFO("Loading Quake3 shader file ", pFile); // read file in memory const size_t s = file->FileSize(); @@ -851,7 +851,7 @@ void MD3Importer::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy if (it != skins.textures.end()) { texture_name = &*(_texture_name = (*it).second).begin(); - ASSIMP_LOG_VERBOSE_DEBUG_F("MD3: Assigning skin texture ", (*it).second, " to surface ", pcSurfaces->NAME); + ASSIMP_LOG_VERBOSE_DEBUG("MD3: Assigning skin texture ", (*it).second, " to surface ", pcSurfaces->NAME); (*it).resolved = true; // mark entry as resolved } @@ -1000,7 +1000,7 @@ void MD3Importer::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy if (!DefaultLogger::isNullLogger()) { for (std::list::const_iterator it = skins.textures.begin(); it != skins.textures.end(); ++it) { if (!(*it).resolved) { - ASSIMP_LOG_ERROR_F("MD3: Failed to match skin ", (*it).first, " to surface ", (*it).second); + ASSIMP_LOG_ERROR("MD3: Failed to match skin ", (*it).first, " to surface ", (*it).second); } } } diff --git a/code/AssetLib/MS3D/MS3DLoader.cpp b/code/AssetLib/MS3D/MS3DLoader.cpp index 31cbca83b..e4057a43a 100644 --- a/code/AssetLib/MS3D/MS3DLoader.cpp +++ b/code/AssetLib/MS3D/MS3DLoader.cpp @@ -387,7 +387,7 @@ void MS3DImporter::InternReadFile( const std::string& pFile, } const std::string& s = std::string(reinterpret_cast(stream.GetPtr()),len); - ASSIMP_LOG_DEBUG_F("MS3D: Model comment: ", s); + ASSIMP_LOG_DEBUG("MS3D: Model comment: ", s); } if(stream.GetRemainingSize() > 4 && inrange((stream >> subversion,subversion),1u,3u)) { diff --git a/code/AssetLib/NDO/NDOLoader.cpp b/code/AssetLib/NDO/NDOLoader.cpp index df3a9b15d..0abc09dc8 100644 --- a/code/AssetLib/NDO/NDOLoader.cpp +++ b/code/AssetLib/NDO/NDOLoader.cpp @@ -147,7 +147,7 @@ void NDOImporter::InternReadFile( const std::string& pFile, ASSIMP_LOG_INFO("NDO file format is 1.2"); } else { - ASSIMP_LOG_WARN_F( "Unrecognized nendo file format version, continuing happily ... :", (head+6)); + ASSIMP_LOG_WARN( "Unrecognized nendo file format version, continuing happily ... :", (head+6)); } reader.IncPtr(2); /* skip flags */ diff --git a/code/AssetLib/NFF/NFFLoader.cpp b/code/AssetLib/NFF/NFFLoader.cpp index 11cce0990..65f2dc069 100644 --- a/code/AssetLib/NFF/NFFLoader.cpp +++ b/code/AssetLib/NFF/NFFLoader.cpp @@ -150,7 +150,7 @@ void NFFImporter::LoadNFF2MaterialTable(std::vector &output, // The file should start with the magic sequence "mat" if (!TokenMatch(buffer, "mat", 3)) { - ASSIMP_LOG_ERROR_F("NFF2: Not a valid material library ", path, "."); + ASSIMP_LOG_ERROR("NFF2: Not a valid material library ", path, "."); return; } @@ -164,7 +164,7 @@ void NFFImporter::LoadNFF2MaterialTable(std::vector &output, // 'version' defines the version of the file format if (TokenMatch(sz, "version", 7)) { - ASSIMP_LOG_INFO_F("NFF (Sense8) material library file format: ", std::string(sz)); + ASSIMP_LOG_INFO("NFF (Sense8) material library file format: ", std::string(sz)); } // 'matdef' starts a new material in the file else if (TokenMatch(sz, "matdef", 6)) { @@ -177,7 +177,7 @@ void NFFImporter::LoadNFF2MaterialTable(std::vector &output, // check whether we have an active material at the moment if (!IsLineEnd(*sz)) { if (!curShader) { - ASSIMP_LOG_ERROR_F("NFF2 material library: Found element ", sz, "but there is no active material"); + ASSIMP_LOG_ERROR("NFF2 material library: Found element ", sz, "but there is no active material"); continue; } } else @@ -277,7 +277,7 @@ void NFFImporter::InternReadFile(const std::string &pFile, while (GetNextLine(buffer, line)) { SkipSpaces(line, &sz); if (TokenMatch(sz, "version", 7)) { - ASSIMP_LOG_INFO_F("NFF (Sense8) file format: ", sz); + ASSIMP_LOG_INFO("NFF (Sense8) file format: ", sz); } else if (TokenMatch(sz, "viewpos", 7)) { AI_NFF_PARSE_TRIPLE(camPos); hasCam = true; diff --git a/code/AssetLib/Ogre/OgreBinarySerializer.cpp b/code/AssetLib/Ogre/OgreBinarySerializer.cpp index 0fc18feb9..b54316514 100644 --- a/code/AssetLib/Ogre/OgreBinarySerializer.cpp +++ b/code/AssetLib/Ogre/OgreBinarySerializer.cpp @@ -168,7 +168,7 @@ void OgreBinarySerializer::RollbackHeader() { void OgreBinarySerializer::SkipBytes(size_t numBytes) { #if (OGRE_BINARY_SERIALIZER_DEBUG == 1) - ASSIMP_LOG_VERBOSE_DEBUG_F("Skipping ", numBytes, " bytes"); + ASSIMP_LOG_VERBOSE_DEBUG("Skipping ", numBytes, " bytes"); #endif m_reader->IncPtr(numBytes); @@ -208,7 +208,7 @@ void OgreBinarySerializer::ReadMesh(Mesh *mesh) { mesh->hasSkeletalAnimations = Read(); ASSIMP_LOG_VERBOSE_DEBUG("Reading Mesh"); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Skeletal animations: ", mesh->hasSkeletalAnimations ? "true" : "false"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Skeletal animations: ", mesh->hasSkeletalAnimations ? "true" : "false"); if (!AtEnd()) { uint16_t id = ReadHeader(); @@ -364,9 +364,9 @@ void OgreBinarySerializer::ReadSubMesh(Mesh *mesh) { submesh->indexData->faceCount = static_cast(submesh->indexData->count / 3); submesh->indexData->is32bit = Read(); - ASSIMP_LOG_VERBOSE_DEBUG_F("Reading SubMesh ", mesh->subMeshes.size()); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Material: '", submesh->materialRef, "'"); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Uses shared geometry: ", submesh->usesSharedVertexData ? "true" : "false"); + ASSIMP_LOG_VERBOSE_DEBUG("Reading SubMesh ", mesh->subMeshes.size()); + ASSIMP_LOG_VERBOSE_DEBUG(" - Material: '", submesh->materialRef, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Uses shared geometry: ", submesh->usesSharedVertexData ? "true" : "false"); // Index buffer if (submesh->indexData->count > 0) { @@ -374,7 +374,7 @@ void OgreBinarySerializer::ReadSubMesh(Mesh *mesh) { uint8_t *indexBuffer = ReadBytes(numBytes); submesh->indexData->buffer = MemoryStreamPtr(new Assimp::MemoryIOStream(indexBuffer, numBytes, true)); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - ", submesh->indexData->faceCount, + ASSIMP_LOG_VERBOSE_DEBUG(" - ", submesh->indexData->faceCount, " faces from ", submesh->indexData->count, (submesh->indexData->is32bit ? " 32bit" : " 16bit"), " indexes of ", numBytes, " bytes"); } @@ -475,7 +475,7 @@ void OgreBinarySerializer::ReadSubMeshNames(Mesh *mesh) { } submesh->name = ReadLine(); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - SubMesh ", submesh->index, " name '", submesh->name, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" - SubMesh ", submesh->index, " name '", submesh->name, "'"); if (!AtEnd()) id = ReadHeader(); @@ -488,7 +488,7 @@ void OgreBinarySerializer::ReadSubMeshNames(Mesh *mesh) { void OgreBinarySerializer::ReadGeometry(VertexData *dest) { dest->count = Read(); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Reading geometry of ", dest->count, " vertices"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Reading geometry of ", dest->count, " vertices"); if (!AtEnd()) { uint16_t id = ReadHeader(); @@ -536,7 +536,7 @@ void OgreBinarySerializer::ReadGeometryVertexElement(VertexData *dest) { element.offset = Read(); element.index = Read(); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Vertex element ", element.SemanticToString(), " of type ", + ASSIMP_LOG_VERBOSE_DEBUG(" - Vertex element ", element.SemanticToString(), " of type ", element.TypeToString(), " index=", element.index, " source=", element.source); dest->vertexElements.push_back(element); @@ -557,7 +557,7 @@ void OgreBinarySerializer::ReadGeometryVertexBuffer(VertexData *dest) { uint8_t *vertexBuffer = ReadBytes(numBytes); dest->vertexBindings[bindIndex] = MemoryStreamPtr(new Assimp::MemoryIOStream(vertexBuffer, numBytes, true)); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Read vertex buffer for source ", bindIndex, " of ", numBytes, " bytes"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Read vertex buffer for source ", bindIndex, " of ", numBytes, " bytes"); } void OgreBinarySerializer::ReadEdgeList(Mesh * /*mesh*/) { @@ -777,12 +777,12 @@ bool OgreBinarySerializer::ImportSkeleton(Assimp::IOSystem *pIOHandler, MeshXml MemoryStreamReaderPtr OgreBinarySerializer::OpenReader(Assimp::IOSystem *pIOHandler, const std::string &filename) { if (!EndsWith(filename, ".skeleton", false)) { - ASSIMP_LOG_ERROR_F("Imported Mesh is referencing to unsupported '", filename, "' skeleton file."); + ASSIMP_LOG_ERROR("Imported Mesh is referencing to unsupported '", filename, "' skeleton file."); return MemoryStreamReaderPtr(); } if (!pIOHandler->Exists(filename)) { - ASSIMP_LOG_ERROR_F("Failed to find skeleton file '", filename, "' that is referenced by imported Mesh."); + ASSIMP_LOG_ERROR("Failed to find skeleton file '", filename, "' that is referenced by imported Mesh."); return MemoryStreamReaderPtr(); } @@ -874,7 +874,7 @@ void OgreBinarySerializer::ReadBone(Skeleton *skeleton) { throw DeadlyImportError("Ogre Skeleton bone indexes not contiguous. Error at bone index ", bone->id); } - ASSIMP_LOG_VERBOSE_DEBUG_F(" ", bone->id, " ", bone->name); + ASSIMP_LOG_VERBOSE_DEBUG(" ", bone->id, " ", bone->name); skeleton->bones.push_back(bone); } @@ -919,7 +919,7 @@ void OgreBinarySerializer::ReadSkeletonAnimation(Skeleton *skeleton) { skeleton->animations.push_back(anim); - ASSIMP_LOG_VERBOSE_DEBUG_F(" ", anim->name, " (", anim->length, " sec, ", anim->tracks.size(), " tracks)"); + ASSIMP_LOG_VERBOSE_DEBUG(" ", anim->name, " (", anim->length, " sec, ", anim->tracks.size(), " tracks)"); } void OgreBinarySerializer::ReadSkeletonAnimationTrack(Skeleton * /*skeleton*/, Animation *dest) { diff --git a/code/AssetLib/Ogre/OgreMaterial.cpp b/code/AssetLib/Ogre/OgreMaterial.cpp index eced651f6..cafdda795 100644 --- a/code/AssetLib/Ogre/OgreMaterial.cpp +++ b/code/AssetLib/Ogre/OgreMaterial.cpp @@ -160,16 +160,16 @@ aiMaterial *OgreImporter::ReadMaterial(const std::string &pFile, Assimp::IOSyste if (materialFile) { break; } - ASSIMP_LOG_VERBOSE_DEBUG_F("Source file for material '", materialName, "' ", potentialFiles[i], " does not exist"); + ASSIMP_LOG_VERBOSE_DEBUG("Source file for material '", materialName, "' ", potentialFiles[i], " does not exist"); } if (!materialFile) { - ASSIMP_LOG_ERROR_F("Failed to find source file for material '", materialName, "'"); + ASSIMP_LOG_ERROR("Failed to find source file for material '", materialName, "'"); return 0; } std::unique_ptr stream(materialFile); if (stream->FileSize() == 0) { - ASSIMP_LOG_WARN_F("Source file for material '", materialName, "' is empty (size is 0 bytes)"); + ASSIMP_LOG_WARN("Source file for material '", materialName, "' is empty (size is 0 bytes)"); return 0; } @@ -184,7 +184,7 @@ aiMaterial *OgreImporter::ReadMaterial(const std::string &pFile, Assimp::IOSyste ss << &data[0]; } - ASSIMP_LOG_VERBOSE_DEBUG_F("Reading material '", materialName, "'"); + ASSIMP_LOG_VERBOSE_DEBUG("Reading material '", materialName, "'"); aiMaterial *material = new aiMaterial(); m_textures.clear(); @@ -219,11 +219,11 @@ aiMaterial *OgreImporter::ReadMaterial(const std::string &pFile, Assimp::IOSyste NextAfterNewLine(ss, linePart); if (linePart != partBlockStart) { - ASSIMP_LOG_ERROR_F("Invalid material: block start missing near index ", ss.tellg()); + ASSIMP_LOG_ERROR("Invalid material: block start missing near index ", ss.tellg()); return material; } - ASSIMP_LOG_VERBOSE_DEBUG_F("material '", materialName, "'"); + ASSIMP_LOG_VERBOSE_DEBUG("material '", materialName, "'"); while (linePart != partBlockEnd) { // Proceed to the first technique @@ -303,11 +303,11 @@ bool OgreImporter::ReadTechnique(const std::string &techniqueName, stringstream ss >> linePart; if (linePart != partBlockStart) { - ASSIMP_LOG_ERROR_F("Invalid material: Technique block start missing near index ", ss.tellg()); + ASSIMP_LOG_ERROR("Invalid material: Technique block start missing near index ", ss.tellg()); return false; } - ASSIMP_LOG_VERBOSE_DEBUG_F(" technique '", techniqueName, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" technique '", techniqueName, "'"); const string partPass = "pass"; @@ -334,11 +334,11 @@ bool OgreImporter::ReadPass(const std::string &passName, stringstream &ss, aiMat ss >> linePart; if (linePart != partBlockStart) { - ASSIMP_LOG_ERROR_F("Invalid material: Pass block start missing near index ", ss.tellg()); + ASSIMP_LOG_ERROR("Invalid material: Pass block start missing near index ", ss.tellg()); return false; } - ASSIMP_LOG_VERBOSE_DEBUG_F(" pass '", passName, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" pass '", passName, "'"); const string partAmbient = "ambient"; const string partDiffuse = "diffuse"; @@ -362,7 +362,7 @@ bool OgreImporter::ReadPass(const std::string &passName, stringstream &ss, aiMat ss >> r >> g >> b; const aiColor3D color(r, g, b); - ASSIMP_LOG_VERBOSE_DEBUG_F(" ", linePart, " ", r, " ", g, " ", b); + ASSIMP_LOG_VERBOSE_DEBUG(" ", linePart, " ", r, " ", g, " ", b); if (linePart == partAmbient) { material->AddProperty(&color, 1, AI_MATKEY_COLOR_AMBIENT); @@ -386,11 +386,11 @@ bool OgreImporter::ReadTextureUnit(const std::string &textureUnitName, stringstr ss >> linePart; if (linePart != partBlockStart) { - ASSIMP_LOG_ERROR_F("Invalid material: Texture unit block start missing near index ", ss.tellg()); + ASSIMP_LOG_ERROR("Invalid material: Texture unit block start missing near index ", ss.tellg()); return false; } - ASSIMP_LOG_VERBOSE_DEBUG_F(" texture_unit '", textureUnitName, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" texture_unit '", textureUnitName, "'"); const string partTexture = "texture"; const string partTextCoordSet = "tex_coord_set"; @@ -420,7 +420,7 @@ bool OgreImporter::ReadTextureUnit(const std::string &textureUnitName, stringstr if (posSuffix != string::npos && posUnderscore != string::npos && posSuffix > posUnderscore) { string identifier = ai_tolower(textureRef.substr(posUnderscore, posSuffix - posUnderscore)); - ASSIMP_LOG_VERBOSE_DEBUG_F("Detecting texture type from filename postfix '", identifier, "'"); + ASSIMP_LOG_VERBOSE_DEBUG("Detecting texture type from filename postfix '", identifier, "'"); if (identifier == "_n" || identifier == "_nrm" || identifier == "_nrml" || identifier == "_normal" || identifier == "_normals" || identifier == "_normalmap") { textureType = aiTextureType_NORMALS; @@ -484,7 +484,7 @@ bool OgreImporter::ReadTextureUnit(const std::string &textureUnitName, stringstr unsigned int textureTypeIndex = m_textures[textureType]; m_textures[textureType]++; - ASSIMP_LOG_VERBOSE_DEBUG_F(" texture '", textureRef, "' type ", textureType, + ASSIMP_LOG_VERBOSE_DEBUG(" texture '", textureRef, "' type ", textureType, " index ", textureTypeIndex, " UV ", uvCoord); aiString assimpTextureRef(textureRef); diff --git a/code/AssetLib/Ogre/OgreStructs.cpp b/code/AssetLib/Ogre/OgreStructs.cpp index ce289c79c..a2d861172 100644 --- a/code/AssetLib/Ogre/OgreStructs.cpp +++ b/code/AssetLib/Ogre/OgreStructs.cpp @@ -545,7 +545,7 @@ aiMesh *SubMesh::ConvertToAssimpMesh(Mesh *parent) { dest->mNumUVComponents[0] = static_cast(uv1Element->ComponentCount()); dest->mTextureCoords[0] = new aiVector3D[dest->mNumVertices]; } else { - ASSIMP_LOG_WARN_F("Ogre imported UV0 type ", uv1Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); + ASSIMP_LOG_WARN("Ogre imported UV0 type ", uv1Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); uv1 = 0; } } @@ -554,7 +554,7 @@ aiMesh *SubMesh::ConvertToAssimpMesh(Mesh *parent) { dest->mNumUVComponents[1] = static_cast(uv2Element->ComponentCount()); dest->mTextureCoords[1] = new aiVector3D[dest->mNumVertices]; } else { - ASSIMP_LOG_WARN_F("Ogre imported UV0 type ", uv2Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); + ASSIMP_LOG_WARN("Ogre imported UV0 type ", uv2Element->TypeToString(), " is not compatible with Assimp. Ignoring UV."); uv2 = 0; } } diff --git a/code/AssetLib/Ogre/OgreXmlSerializer.cpp b/code/AssetLib/Ogre/OgreXmlSerializer.cpp index 938ae48f3..70671f251 100644 --- a/code/AssetLib/Ogre/OgreXmlSerializer.cpp +++ b/code/AssetLib/Ogre/OgreXmlSerializer.cpp @@ -256,7 +256,7 @@ void OgreXmlSerializer::ReadMesh(MeshXml *mesh) { void OgreXmlSerializer::ReadGeometry(XmlNode &node, VertexDataXml *dest) { dest->count = ReadAttribute(node, "vertexcount"); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Reading geometry of ", dest->count, " vertices"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Reading geometry of ", dest->count, " vertices"); for (XmlNode currentNode : node.children()) { const std::string ¤tName = currentNode.name(); @@ -290,7 +290,7 @@ void OgreXmlSerializer::ReadGeometryVertexBuffer(XmlNode &node, VertexDataXml *d dest->tangents.reserve(dest->count); } if (uvs > 0) { - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Contains ", uvs, " texture coords"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Contains ", uvs, " texture coords"); dest->uvs.resize(uvs); for (size_t i = 0, len = dest->uvs.size(); i < len; ++i) { dest->uvs[i].reserve(dest->count); @@ -365,9 +365,9 @@ void OgreXmlSerializer::ReadSubMesh(XmlNode &node, MeshXml *mesh) { submesh->usesSharedVertexData = ReadAttribute(node, anUseSharedVertices); } - ASSIMP_LOG_VERBOSE_DEBUG_F("Reading SubMesh ", mesh->subMeshes.size()); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Material: '", submesh->materialRef, "'"); - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Uses shared geometry: ", (submesh->usesSharedVertexData ? "true" : "false")); + ASSIMP_LOG_VERBOSE_DEBUG("Reading SubMesh ", mesh->subMeshes.size()); + ASSIMP_LOG_VERBOSE_DEBUG(" - Material: '", submesh->materialRef, "'"); + ASSIMP_LOG_VERBOSE_DEBUG(" - Uses shared geometry: ", (submesh->usesSharedVertexData ? "true" : "false")); // TODO: maybe we have always just 1 faces and 1 geometry and always in this order. this loop will only work correct, when the order // of faces and geometry changed, and not if we have more than one of one @@ -398,7 +398,7 @@ void OgreXmlSerializer::ReadSubMesh(XmlNode &node, MeshXml *mesh) { } } if (submesh->indexData->faces.size() == submesh->indexData->faceCount) { - ASSIMP_LOG_VERBOSE_DEBUG_F(" - Faces ", submesh->indexData->faceCount); + ASSIMP_LOG_VERBOSE_DEBUG(" - Faces ", submesh->indexData->faceCount); } else { throw DeadlyImportError("Read only ", submesh->indexData->faces.size(), " faces when should have read ", submesh->indexData->faceCount); } @@ -459,7 +459,7 @@ void OgreXmlSerializer::ReadBoneAssignments(XmlNode &node, VertexDataXml *dest) } } - ASSIMP_LOG_VERBOSE_DEBUG_F(" - ", dest->boneAssignments.size(), " bone assignments"); + ASSIMP_LOG_VERBOSE_DEBUG(" - ", dest->boneAssignments.size(), " bone assignments"); } // Skeleton @@ -515,12 +515,12 @@ bool OgreXmlSerializer::ImportSkeleton(Assimp::IOSystem *pIOHandler, Mesh *mesh) XmlParserPtr OgreXmlSerializer::OpenXmlParser(Assimp::IOSystem *pIOHandler, const std::string &filename) { if (!EndsWith(filename, ".skeleton.xml", false)) { - ASSIMP_LOG_ERROR_F("Imported Mesh is referencing to unsupported '", filename, "' skeleton file."); + ASSIMP_LOG_ERROR("Imported Mesh is referencing to unsupported '", filename, "' skeleton file."); return XmlParserPtr(); } if (!pIOHandler->Exists(filename)) { - ASSIMP_LOG_ERROR_F("Failed to find skeleton file '", filename, "' that is referenced by imported Mesh."); + ASSIMP_LOG_ERROR("Failed to find skeleton file '", filename, "' that is referenced by imported Mesh."); return XmlParserPtr(); } @@ -631,7 +631,7 @@ void OgreXmlSerializer::ReadAnimationKeyFrames(XmlNode &node, Animation *anim, V if (axis.Equal(zeroVec)) { axis.x = 1.0f; if (angle != 0) { - ASSIMP_LOG_WARN_F("Found invalid a key frame with a zero rotation axis in animation: ", anim->name); + ASSIMP_LOG_WARN("Found invalid a key frame with a zero rotation axis in animation: ", anim->name); } } keyframe.rotation = aiQuaternion(axis, angle); @@ -741,7 +741,7 @@ void OgreXmlSerializer::ReadBones(XmlNode &node, Skeleton *skeleton) { as per the Ogre skeleton spec. It might be more that other (later) code in this imported does not break. */ for (size_t i = 0, len = skeleton->bones.size(); i < len; ++i) { Bone *b = skeleton->bones[i]; - ASSIMP_LOG_VERBOSE_DEBUG_F(" ", b->id, " ", b->name); + ASSIMP_LOG_VERBOSE_DEBUG(" ", b->id, " ", b->name); if (b->id != static_cast(i)) { throw DeadlyImportError("Bone ids are not in sequence starting from 0. Missing index ", i); diff --git a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp index 44b0bbf7b..9baaa4a12 100644 --- a/code/AssetLib/OpenGEX/OpenGEXImporter.cpp +++ b/code/AssetLib/OpenGEX/OpenGEXImporter.cpp @@ -726,7 +726,7 @@ void OpenGEXImporter::handleMeshNode(ODDLParser::DDLNode *node, aiScene *pScene) } else if ("quads" == propKey) { m_currentMesh->mPrimitiveTypes |= aiPrimitiveType_POLYGON; } else { - ASSIMP_LOG_WARN_F(propKey, " is not supported primitive type."); + ASSIMP_LOG_WARN(propKey, " is not supported primitive type."); } } } diff --git a/code/AssetLib/Q3D/Q3DLoader.cpp b/code/AssetLib/Q3D/Q3DLoader.cpp index e96ec0f82..f81026547 100644 --- a/code/AssetLib/Q3D/Q3DLoader.cpp +++ b/code/AssetLib/Q3D/Q3DLoader.cpp @@ -125,7 +125,7 @@ void Q3DImporter::InternReadFile(const std::string &pFile, } // Print the file format version - ASSIMP_LOG_INFO_F("Quick3D File format version: ", + ASSIMP_LOG_INFO("Quick3D File format version: ", std::string(&((const char *)stream.GetPtr())[8], 2)); // ... an store it diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp index 1426fb73c..c62730cdd 100644 --- a/code/AssetLib/SIB/SIBImporter.cpp +++ b/code/AssetLib/SIB/SIBImporter.cpp @@ -174,7 +174,7 @@ static void UnknownChunk(StreamReaderLE * /*stream*/, const SIBChunk &chunk) { static_cast(chunk.Tag & 0xff) }; - ASSIMP_LOG_WARN_F("SIB: Skipping unknown '", ai_str_toprintable(temp, 4), "' chunk."); + ASSIMP_LOG_WARN("SIB: Skipping unknown '", ai_str_toprintable(temp, 4), "' chunk."); } // Reads a UTF-16LE string and returns it at UTF-8. diff --git a/code/AssetLib/STEPParser/STEPFileReader.cpp b/code/AssetLib/STEPParser/STEPFileReader.cpp index 1ed5ab7d2..e97ea1e28 100644 --- a/code/AssetLib/STEPParser/STEPFileReader.cpp +++ b/code/AssetLib/STEPParser/STEPFileReader.cpp @@ -297,7 +297,7 @@ void STEP::ReadFile(DB& db,const EXPRESS::ConversionSchema& scheme, } if ( !DefaultLogger::isNullLogger()){ - ASSIMP_LOG_DEBUG_F("STEP: got ",map.size()," object records with ", + ASSIMP_LOG_DEBUG("STEP: got ",map.size()," object records with ", db.GetRefs().size()," inverse index entries"); } } diff --git a/code/AssetLib/Unreal/UnrealLoader.cpp b/code/AssetLib/Unreal/UnrealLoader.cpp index 499b49c05..e3ebc05c3 100644 --- a/code/AssetLib/Unreal/UnrealLoader.cpp +++ b/code/AssetLib/Unreal/UnrealLoader.cpp @@ -228,9 +228,9 @@ void UnrealImporter::InternReadFile(const std::string &pFile, a_path = extension + "_a.3d"; uc_path = extension + ".uc"; - ASSIMP_LOG_DEBUG_F("UNREAL: data file is ", d_path); - ASSIMP_LOG_DEBUG_F("UNREAL: aniv file is ", a_path); - ASSIMP_LOG_DEBUG_F("UNREAL: uc file is ", uc_path); + ASSIMP_LOG_DEBUG("UNREAL: data file is ", d_path); + ASSIMP_LOG_DEBUG("UNREAL: aniv file is ", a_path); + ASSIMP_LOG_DEBUG("UNREAL: uc file is ", uc_path); // and open the files ... we can't live without them std::unique_ptr p(pIOHandler->Open(d_path)); diff --git a/code/AssetLib/X/XFileImporter.cpp b/code/AssetLib/X/XFileImporter.cpp index 1fcd6b3db..df1aba331 100644 --- a/code/AssetLib/X/XFileImporter.cpp +++ b/code/AssetLib/X/XFileImporter.cpp @@ -602,7 +602,7 @@ void XFileImporter::ConvertMaterials( aiScene* pScene, std::vector &embeddedTexIdxs, Asset &r, M void glTF2Importer::ImportMaterials(glTF2::Asset &r) { const unsigned int numImportedMaterials = unsigned(r.materials.Size()); - ASSIMP_LOG_DEBUG_F("Importing ", numImportedMaterials, " materials"); + ASSIMP_LOG_DEBUG("Importing ", numImportedMaterials, " materials"); Material defaultMaterial; mScene->mNumMaterials = numImportedMaterials + 1; @@ -402,7 +402,7 @@ aiColor4D* GetVertexColorsForType(glTF2::Ref input) { } void glTF2Importer::ImportMeshes(glTF2::Asset &r) { - ASSIMP_LOG_DEBUG_F("Importing ", r.meshes.Size(), " meshes"); + ASSIMP_LOG_DEBUG("Importing ", r.meshes.Size(), " meshes"); std::vector> meshes; unsigned int k = 0; @@ -539,7 +539,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { if (needPositions) { if (target.position[0]->count != aim->mNumVertices) { - ASSIMP_LOG_WARN_F("Positions of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); + ASSIMP_LOG_WARN("Positions of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); } else { aiVector3D *positionDiff = nullptr; target.position[0]->ExtractData(positionDiff); @@ -551,7 +551,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } if (needNormals) { if (target.normal[0]->count != aim->mNumVertices) { - ASSIMP_LOG_WARN_F("Normals of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); + ASSIMP_LOG_WARN("Normals of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); } else { aiVector3D *normalDiff = nullptr; target.normal[0]->ExtractData(normalDiff); @@ -563,7 +563,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } if (needTangents) { if (target.tangent[0]->count != aim->mNumVertices) { - ASSIMP_LOG_WARN_F("Tangents of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); + ASSIMP_LOG_WARN("Tangents of target ", i, " in mesh \"", mesh.name, "\" does not match the vertex count"); } else { Tangent *tangent = nullptr; attr.tangent[0]->ExtractData(tangent); @@ -785,7 +785,7 @@ void glTF2Importer::ImportCameras(glTF2::Asset &r) { if (!r.cameras.Size()) return; const unsigned int numCameras = r.cameras.Size(); - ASSIMP_LOG_DEBUG_F("Importing ", numCameras, " cameras"); + ASSIMP_LOG_DEBUG("Importing ", numCameras, " cameras"); mScene->mNumCameras = numCameras; mScene->mCameras = new aiCamera *[numCameras]; std::fill(mScene->mCameras, mScene->mCameras + numCameras, nullptr); @@ -822,7 +822,7 @@ void glTF2Importer::ImportLights(glTF2::Asset &r) { return; const unsigned int numLights = r.lights.Size(); - ASSIMP_LOG_DEBUG_F("Importing ", numLights, " lights"); + ASSIMP_LOG_DEBUG("Importing ", numLights, " lights"); mScene->mNumLights = numLights; mScene->mLights = new aiLight *[numLights]; std::fill(mScene->mLights, mScene->mLights + numLights, nullptr); @@ -1329,7 +1329,7 @@ void glTF2Importer::ImportAnimations(glTF2::Asset &r) { if (!r.scene) return; const unsigned numAnimations = r.animations.Size(); - ASSIMP_LOG_DEBUG_F("Importing ", numAnimations, " animations"); + ASSIMP_LOG_DEBUG("Importing ", numAnimations, " animations"); mScene->mNumAnimations = numAnimations; if (mScene->mNumAnimations == 0) { return; @@ -1445,7 +1445,7 @@ void glTF2Importer::ImportEmbeddedTextures(glTF2::Asset &r) { if (numEmbeddedTexs == 0) return; - ASSIMP_LOG_DEBUG_F("Importing ", numEmbeddedTexs, " embedded textures"); + ASSIMP_LOG_DEBUG("Importing ", numEmbeddedTexs, " embedded textures"); mScene->mTextures = new aiTexture *[numEmbeddedTexs]; std::fill(mScene->mTextures, mScene->mTextures + numEmbeddedTexs, nullptr); diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 02aa47326..0f41e9e65 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -83,7 +83,7 @@ void BaseImporter::UpdateImporterScale(Importer *pImp) { // Set active scaling pImp->SetPropertyFloat(AI_CONFIG_APP_SCALE_KEY, static_cast(activeScale)); - ASSIMP_LOG_DEBUG_F("UpdateImporterScale scale set: ", activeScale); + ASSIMP_LOG_DEBUG("UpdateImporterScale scale set: ", activeScale); } // ------------------------------------------------------------------------------------------------ @@ -215,7 +215,7 @@ void BaseImporter::GetExtensionList(std::set &extensions) { // We got a match, either we don't care where it is, or it happens to // be in the beginning of the file / line if (!tokensSol || r == buffer || r[-1] == '\r' || r[-1] == '\n') { - ASSIMP_LOG_DEBUG_F("Found positive match for header keyword: ", tokens[i]); + ASSIMP_LOG_DEBUG("Found positive match for header keyword: ", tokens[i]); return true; } } @@ -604,7 +604,7 @@ void BatchLoader::LoadAll() { if (!DefaultLogger::isNullLogger()) { ASSIMP_LOG_INFO("%%% BEGIN EXTERNAL FILE %%%"); - ASSIMP_LOG_INFO_F("File: ", (*it).file); + ASSIMP_LOG_INFO("File: ", (*it).file); } m_data->pImporter->ReadFile((*it).file, pp); (*it).scene = m_data->pImporter->GetOrphanedScene(); diff --git a/code/Common/DefaultIOSystem.cpp b/code/Common/DefaultIOSystem.cpp index ec7a311cf..98d51a17d 100644 --- a/code/Common/DefaultIOSystem.cpp +++ b/code/Common/DefaultIOSystem.cpp @@ -176,7 +176,7 @@ inline static std::string MakeAbsolutePath(const char *in) { if (!ret) { // preserve the input path, maybe someone else is able to fix // the path before it is accessed (e.g. our file system filter) - ASSIMP_LOG_WARN_F("Invalid path: ", std::string(in)); + ASSIMP_LOG_WARN("Invalid path: ", std::string(in)); out = in; } return out; diff --git a/code/Common/Importer.cpp b/code/Common/Importer.cpp index 8cea2cd09..61e5938f6 100644 --- a/code/Common/Importer.cpp +++ b/code/Common/Importer.cpp @@ -232,7 +232,7 @@ aiReturn Importer::RegisterLoader(BaseImporter* pImp) { #ifdef ASSIMP_BUILD_DEBUG if (IsExtensionSupported(*it)) { - ASSIMP_LOG_WARN_F("The file extension ", *it, " is already in use"); + ASSIMP_LOG_WARN("The file extension ", *it, " is already in use"); } #endif baked += *it; @@ -240,7 +240,7 @@ aiReturn Importer::RegisterLoader(BaseImporter* pImp) { // add the loader pimpl->mImporter.push_back(pImp); - ASSIMP_LOG_INFO_F("Registering custom importer for these file extensions: ", baked); + ASSIMP_LOG_INFO("Registering custom importer for these file extensions: ", baked); ASSIMP_END_EXCEPTION_REGION(aiReturn); return AI_SUCCESS; @@ -519,7 +519,7 @@ const aiScene* Importer::ReadFileFromMemory( const void* pBuffer, // ------------------------------------------------------------------------------------------------ void WriteLogOpening(const std::string& file) { - ASSIMP_LOG_INFO_F("Load ", file); + ASSIMP_LOG_INFO("Load ", file); // print a full version dump. This is nice because we don't // need to ask the authors of incoming bug reports for diff --git a/code/Common/SceneCombiner.cpp b/code/Common/SceneCombiner.cpp index fe00dfe1f..555d46b6a 100644 --- a/code/Common/SceneCombiner.cpp +++ b/code/Common/SceneCombiner.cpp @@ -612,7 +612,7 @@ void SceneCombiner::MergeScenes(aiScene **_dest, aiScene *master, std::vectormName.data, + ASSIMP_LOG_ERROR("SceneCombiner: Failed to resolve attachment ", (*it).node->mName.data, " ", (*it).attachToNode->mName.data); } } diff --git a/code/Common/Subdivision.cpp b/code/Common/Subdivision.cpp index 76fc83404..9e7577a04 100644 --- a/code/Common/Subdivision.cpp +++ b/code/Common/Subdivision.cpp @@ -336,7 +336,7 @@ void CatmullClarkSubdivider::InternSubdivide( // Report the number of bad edges. bad edges are referenced by less than two // faces in the mesh. They occur at outer model boundaries in non-closed // shapes. - ASSIMP_LOG_VERBOSE_DEBUG_F("Catmull-Clark Subdivider: got ", bad_cnt, " bad edges touching only one face (totally ", + ASSIMP_LOG_VERBOSE_DEBUG("Catmull-Clark Subdivider: got ", bad_cnt, " bad edges touching only one face (totally ", static_cast(edges.size()), " edges). "); } } diff --git a/code/PostProcessing/ArmaturePopulate.cpp b/code/PostProcessing/ArmaturePopulate.cpp index 88b0b2d7c..fdf7508d0 100644 --- a/code/PostProcessing/ArmaturePopulate.cpp +++ b/code/PostProcessing/ArmaturePopulate.cpp @@ -77,12 +77,12 @@ void ArmaturePopulate::Execute(aiScene *out) { BuildBoneStack(out->mRootNode, out->mRootNode, out, bones, bone_stack, nodes); - ASSIMP_LOG_DEBUG_F("Bone stack size: ", bone_stack.size()); + ASSIMP_LOG_DEBUG("Bone stack size: ", bone_stack.size()); for (std::pair kvp : bone_stack) { aiBone *bone = kvp.first; aiNode *bone_node = kvp.second; - ASSIMP_LOG_VERBOSE_DEBUG_F("active node lookup: ", bone->mName.C_Str()); + ASSIMP_LOG_VERBOSE_DEBUG("active node lookup: ", bone->mName.C_Str()); // lcl transform grab - done in generate_nodes :) // bone->mOffsetMatrix = bone_node->mTransformation; @@ -179,7 +179,7 @@ void ArmaturePopulate::BuildBoneStack(aiNode *, if (node == nullptr) { node_stack.clear(); BuildNodeList(root_node, node_stack); - ASSIMP_LOG_VERBOSE_DEBUG_F("Resetting bone stack: nullptr element ", bone->mName.C_Str()); + ASSIMP_LOG_VERBOSE_DEBUG("Resetting bone stack: nullptr element ", bone->mName.C_Str()); node = GetNodeFromStack(bone->mName, node_stack); @@ -189,7 +189,7 @@ void ArmaturePopulate::BuildBoneStack(aiNode *, } } - ASSIMP_LOG_VERBOSE_DEBUG_F("Successfully added bone[", bone->mName.C_Str(), "] to stack and bone node is: ", node->mName.C_Str()); + ASSIMP_LOG_VERBOSE_DEBUG("Successfully added bone[", bone->mName.C_Str(), "] to stack and bone node is: ", node->mName.C_Str()); bone_stack.insert(std::pair(bone, node)); } @@ -203,7 +203,7 @@ aiNode *ArmaturePopulate::GetArmatureRoot(aiNode *bone_node, std::vector &bone_list) { while (nullptr != bone_node) { if (!IsBoneNode(bone_node->mName, bone_list)) { - ASSIMP_LOG_VERBOSE_DEBUG_F("GetArmatureRoot() Found valid armature: ", bone_node->mName.C_Str()); + ASSIMP_LOG_VERBOSE_DEBUG("GetArmatureRoot() Found valid armature: ", bone_node->mName.C_Str()); return bone_node; } @@ -247,7 +247,7 @@ aiNode *ArmaturePopulate::GetNodeFromStack(const aiString &node_name, } if (found != nullptr) { - ASSIMP_LOG_INFO_F("Removed node from stack: ", found->mName.C_Str()); + ASSIMP_LOG_INFO("Removed node from stack: ", found->mName.C_Str()); // now pop the element from the node list nodes.erase(iter); diff --git a/code/PostProcessing/CalcTangentsProcess.cpp b/code/PostProcessing/CalcTangentsProcess.cpp index 721567857..46feff4a1 100644 --- a/code/PostProcessing/CalcTangentsProcess.cpp +++ b/code/PostProcessing/CalcTangentsProcess.cpp @@ -129,7 +129,7 @@ bool CalcTangentsProcess::ProcessMesh(aiMesh *pMesh, unsigned int meshIndex) { return false; } if (configSourceUV >= AI_MAX_NUMBER_OF_TEXTURECOORDS || !pMesh->mTextureCoords[configSourceUV]) { - ASSIMP_LOG_ERROR_F("Failed to compute tangents; need UV data in channel", configSourceUV); + ASSIMP_LOG_ERROR("Failed to compute tangents; need UV data in channel", configSourceUV); return false; } diff --git a/code/PostProcessing/DeboneProcess.cpp b/code/PostProcessing/DeboneProcess.cpp index b5ed66268..3783bb65c 100644 --- a/code/PostProcessing/DeboneProcess.cpp +++ b/code/PostProcessing/DeboneProcess.cpp @@ -148,7 +148,7 @@ void DeboneProcess::Execute( aiScene* pScene) } if(!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_INFO_F("Removed %u bones. Input bones:", in - out, ". Output bones: ", out); + ASSIMP_LOG_INFO("Removed %u bones. Input bones:", in - out, ". Output bones: ", out); } // and destroy the source mesh. It should be completely contained inside the new submeshes diff --git a/code/PostProcessing/EmbedTexturesProcess.cpp b/code/PostProcessing/EmbedTexturesProcess.cpp index dc304ff9c..7e435e556 100644 --- a/code/PostProcessing/EmbedTexturesProcess.cpp +++ b/code/PostProcessing/EmbedTexturesProcess.cpp @@ -93,7 +93,7 @@ void EmbedTexturesProcess::Execute(aiScene* pScene) { } } - ASSIMP_LOG_INFO_F("EmbedTexturesProcess finished. Embedded ", embeddedTexturesCount, " textures." ); + ASSIMP_LOG_INFO("EmbedTexturesProcess finished. Embedded ", embeddedTexturesCount, " textures." ); } bool EmbedTexturesProcess::addTexture(aiScene* pScene, std::string path) const { @@ -103,7 +103,7 @@ bool EmbedTexturesProcess::addTexture(aiScene* pScene, std::string path) const { // Test path directly std::ifstream file(imagePath, std::ios::binary | std::ios::ate); if ((imageSize = file.tellg()) == std::streampos(-1)) { - ASSIMP_LOG_WARN_F("EmbedTexturesProcess: Cannot find image: ", imagePath, ". Will try to find it in root folder."); + ASSIMP_LOG_WARN("EmbedTexturesProcess: Cannot find image: ", imagePath, ". Will try to find it in root folder."); // Test path in root path imagePath = mRootPath + path; @@ -113,7 +113,7 @@ bool EmbedTexturesProcess::addTexture(aiScene* pScene, std::string path) const { imagePath = mRootPath + path.substr(path.find_last_of("\\/") + 1u); file.open(imagePath, std::ios::binary | std::ios::ate); if ((imageSize = file.tellg()) == std::streampos(-1)) { - ASSIMP_LOG_ERROR_F("EmbedTexturesProcess: Unable to embed texture: ", path, "."); + ASSIMP_LOG_ERROR("EmbedTexturesProcess: Unable to embed texture: ", path, "."); return false; } } diff --git a/code/PostProcessing/FindDegenerates.cpp b/code/PostProcessing/FindDegenerates.cpp index 1fc58cf59..eae91ff02 100644 --- a/code/PostProcessing/FindDegenerates.cpp +++ b/code/PostProcessing/FindDegenerates.cpp @@ -291,7 +291,7 @@ evil_jump_outside: } if (deg && !DefaultLogger::isNullLogger()) { - ASSIMP_LOG_WARN_F( "Found ", deg, " degenerated primitives"); + ASSIMP_LOG_WARN( "Found ", deg, " degenerated primitives"); } return false; } diff --git a/code/PostProcessing/FindInstancesProcess.cpp b/code/PostProcessing/FindInstancesProcess.cpp index 98527e531..ab5f52b78 100644 --- a/code/PostProcessing/FindInstancesProcess.cpp +++ b/code/PostProcessing/FindInstancesProcess.cpp @@ -267,7 +267,7 @@ void FindInstancesProcess::Execute( aiScene* pScene) // write to log if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_INFO_F( "FindInstancesProcess finished. Found ", (pScene->mNumMeshes - numMeshesOut), " instances" ); + ASSIMP_LOG_INFO( "FindInstancesProcess finished. Found ", (pScene->mNumMeshes - numMeshesOut), " instances" ); } pScene->mNumMeshes = numMeshesOut; } else { diff --git a/code/PostProcessing/FindInvalidDataProcess.cpp b/code/PostProcessing/FindInvalidDataProcess.cpp index 9c19c606a..ea7d99094 100644 --- a/code/PostProcessing/FindInvalidDataProcess.cpp +++ b/code/PostProcessing/FindInvalidDataProcess.cpp @@ -200,7 +200,7 @@ inline bool ProcessArray(T *&in, unsigned int num, const char *name, const std::vector &dirtyMask, bool mayBeIdentical = false, bool mayBeZero = true) { const char *err = ValidateArrayContents(in, num, dirtyMask, mayBeIdentical, mayBeZero); if (err) { - ASSIMP_LOG_ERROR_F("FindInvalidDataProcess fails on mesh ", name, ": ", err); + ASSIMP_LOG_ERROR("FindInvalidDataProcess fails on mesh ", name, ": ", err); delete[] in; in = nullptr; return true; diff --git a/code/PostProcessing/FixNormalsStep.cpp b/code/PostProcessing/FixNormalsStep.cpp index 850da5e25..09b1f1908 100644 --- a/code/PostProcessing/FixNormalsStep.cpp +++ b/code/PostProcessing/FixNormalsStep.cpp @@ -164,7 +164,7 @@ bool FixInfacingNormalsProcess::ProcessMesh( aiMesh* pcMesh, unsigned int index) // now compare the volumes of the bounding boxes if (std::fabs(fDelta0_x * fDelta0_y * fDelta0_z) < std::fabs(fDelta1_x * fDelta1_yz)) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_INFO_F("Mesh ", index, ": Normals are facing inwards (or the mesh is planar)", index); + ASSIMP_LOG_INFO("Mesh ", index, ": Normals are facing inwards (or the mesh is planar)", index); } // Invert normals diff --git a/code/PostProcessing/ImproveCacheLocality.cpp b/code/PostProcessing/ImproveCacheLocality.cpp index 38d5c5a5b..3243c40b4 100644 --- a/code/PostProcessing/ImproveCacheLocality.cpp +++ b/code/PostProcessing/ImproveCacheLocality.cpp @@ -109,7 +109,7 @@ void ImproveCacheLocalityProcess::Execute( aiScene* pScene) { } if (!DefaultLogger::isNullLogger()) { if (numf > 0) { - ASSIMP_LOG_INFO_F("Cache relevant are ", numm, " meshes (", numf, " faces). Average output ACMR is ", out / numf); + ASSIMP_LOG_INFO("Cache relevant are ", numm, " meshes (", numf, " faces). Average output ACMR is ", out / numf); } ASSIMP_LOG_DEBUG("ImproveCacheLocalityProcess finished. "); } @@ -355,7 +355,7 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh( aiMesh* pMesh, unsigned int me // very intense verbose logging ... prepare for much text if there are many meshes if ( DefaultLogger::get()->getLogSeverity() == Logger::VERBOSE) { - ASSIMP_LOG_VERBOSE_DEBUG_F("Mesh %u | ACMR in: ", meshNum, " out: ", fACMR, " | ~", fACMR2, ((fACMR - fACMR2) / fACMR) * 100.f); + ASSIMP_LOG_VERBOSE_DEBUG("Mesh %u | ACMR in: ", meshNum, " out: ", fACMR, " | ~", fACMR2, ((fACMR - fACMR2) / fACMR) * 100.f); } fACMR2 *= pMesh->mNumFaces; diff --git a/code/PostProcessing/JoinVerticesProcess.cpp b/code/PostProcessing/JoinVerticesProcess.cpp index 22b399471..60c64f3bf 100644 --- a/code/PostProcessing/JoinVerticesProcess.cpp +++ b/code/PostProcessing/JoinVerticesProcess.cpp @@ -100,7 +100,7 @@ void JoinVerticesProcess::Execute( aiScene* pScene) if (iNumOldVertices == iNumVertices) { ASSIMP_LOG_DEBUG("JoinVerticesProcess finished "); } else { - ASSIMP_LOG_INFO_F("JoinVerticesProcess finished | Verts in: ", iNumOldVertices, + ASSIMP_LOG_INFO("JoinVerticesProcess finished | Verts in: ", iNumOldVertices, " out: ", iNumVertices, " | ~", ((iNumOldVertices - iNumVertices) / (float)iNumOldVertices) * 100.f ); } @@ -373,7 +373,7 @@ int JoinVerticesProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex) } if (!DefaultLogger::isNullLogger() && DefaultLogger::get()->getLogSeverity() == Logger::VERBOSE) { - ASSIMP_LOG_VERBOSE_DEBUG_F( + ASSIMP_LOG_VERBOSE_DEBUG( "Mesh ",meshIndex, " (", (pMesh->mName.length ? pMesh->mName.data : "unnamed"), diff --git a/code/PostProcessing/LimitBoneWeightsProcess.cpp b/code/PostProcessing/LimitBoneWeightsProcess.cpp index c7ecf1b00..fb8b49b91 100644 --- a/code/PostProcessing/LimitBoneWeightsProcess.cpp +++ b/code/PostProcessing/LimitBoneWeightsProcess.cpp @@ -191,6 +191,6 @@ void LimitBoneWeightsProcess::ProcessMesh(aiMesh* pMesh) pMesh->mNumBones = writeBone; if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_INFO_F("Removed ", removed, " weights. Input bones: ", old_bones, ". Output bones: ", pMesh->mNumBones); + ASSIMP_LOG_INFO("Removed ", removed, " weights. Input bones: ", old_bones, ". Output bones: ", pMesh->mNumBones); } } diff --git a/code/PostProcessing/OptimizeGraph.cpp b/code/PostProcessing/OptimizeGraph.cpp index ad49b635a..e33c2ab18 100644 --- a/code/PostProcessing/OptimizeGraph.cpp +++ b/code/PostProcessing/OptimizeGraph.cpp @@ -335,7 +335,7 @@ void OptimizeGraphProcess::Execute(aiScene *pScene) { pScene->mRootNode->mParent = nullptr; if (!DefaultLogger::isNullLogger()) { if (nodes_in != nodes_out) { - ASSIMP_LOG_INFO_F("OptimizeGraphProcess finished; Input nodes: ", nodes_in, ", Output nodes: ", nodes_out); + ASSIMP_LOG_INFO("OptimizeGraphProcess finished; Input nodes: ", nodes_in, ", Output nodes: ", nodes_out); } else { ASSIMP_LOG_DEBUG("OptimizeGraphProcess finished"); } diff --git a/code/PostProcessing/OptimizeMeshes.cpp b/code/PostProcessing/OptimizeMeshes.cpp index dd81644de..939284ee4 100644 --- a/code/PostProcessing/OptimizeMeshes.cpp +++ b/code/PostProcessing/OptimizeMeshes.cpp @@ -151,7 +151,7 @@ void OptimizeMeshesProcess::Execute( aiScene* pScene) std::copy(output.begin(),output.end(),mScene->mMeshes); if (output.size() != num_old) { - ASSIMP_LOG_DEBUG_F("OptimizeMeshesProcess finished. Input meshes: ", num_old, ", Output meshes: ", pScene->mNumMeshes); + ASSIMP_LOG_DEBUG("OptimizeMeshesProcess finished. Input meshes: ", num_old, ", Output meshes: ", pScene->mNumMeshes); } else { ASSIMP_LOG_DEBUG( "OptimizeMeshesProcess finished" ); } diff --git a/code/PostProcessing/PretransformVertices.cpp b/code/PostProcessing/PretransformVertices.cpp index 2691ed488..e9a3af0d2 100644 --- a/code/PostProcessing/PretransformVertices.cpp +++ b/code/PostProcessing/PretransformVertices.cpp @@ -680,9 +680,9 @@ void PretransformVertices::Execute(aiScene *pScene) { if (!DefaultLogger::isNullLogger()) { ASSIMP_LOG_DEBUG("PretransformVerticesProcess finished"); - ASSIMP_LOG_INFO_F("Removed ", iOldNodes, " nodes and ", iOldAnimationChannels, " animation channels (", + ASSIMP_LOG_INFO("Removed ", iOldNodes, " nodes and ", iOldAnimationChannels, " animation channels (", CountNodes(pScene->mRootNode), " output nodes)"); - ASSIMP_LOG_INFO_F("Kept ", pScene->mNumLights, " lights and ", pScene->mNumCameras, " cameras."); - ASSIMP_LOG_INFO_F("Moved ", iOldMeshes, " meshes to WCS (number of output meshes: ", pScene->mNumMeshes, ")"); + ASSIMP_LOG_INFO("Kept ", pScene->mNumLights, " lights and ", pScene->mNumCameras, " cameras."); + ASSIMP_LOG_INFO("Moved ", iOldMeshes, " meshes to WCS (number of output meshes: ", pScene->mNumMeshes, ")"); } } diff --git a/code/PostProcessing/RemoveRedundantMaterials.cpp b/code/PostProcessing/RemoveRedundantMaterials.cpp index 5264d3608..c252f37a5 100644 --- a/code/PostProcessing/RemoveRedundantMaterials.cpp +++ b/code/PostProcessing/RemoveRedundantMaterials.cpp @@ -122,7 +122,7 @@ void RemoveRedundantMatsProcess::Execute( aiScene* pScene) // Keep this material even if no mesh references it abReferenced[i] = true; - ASSIMP_LOG_VERBOSE_DEBUG_F( "Found positive match in exclusion list: \'", name.data, "\'"); + ASSIMP_LOG_VERBOSE_DEBUG( "Found positive match in exclusion list: \'", name.data, "\'"); } } } @@ -215,7 +215,7 @@ void RemoveRedundantMatsProcess::Execute( aiScene* pScene) } else { - ASSIMP_LOG_INFO_F("RemoveRedundantMatsProcess finished. Removed ", redundantRemoved, " redundant and ", + ASSIMP_LOG_INFO("RemoveRedundantMatsProcess finished. Removed ", redundantRemoved, " redundant and ", unreferencedRemoved, " unused materials."); } } diff --git a/code/PostProcessing/SplitByBoneCountProcess.cpp b/code/PostProcessing/SplitByBoneCountProcess.cpp index f7dffb8f2..2613d8561 100644 --- a/code/PostProcessing/SplitByBoneCountProcess.cpp +++ b/code/PostProcessing/SplitByBoneCountProcess.cpp @@ -103,7 +103,7 @@ void SplitByBoneCountProcess::Execute( aiScene* pScene) if( !isNecessary ) { - ASSIMP_LOG_DEBUG_F("SplitByBoneCountProcess early-out: no meshes with more than ", mMaxBoneCount, " bones." ); + ASSIMP_LOG_DEBUG("SplitByBoneCountProcess early-out: no meshes with more than ", mMaxBoneCount, " bones." ); return; } @@ -151,7 +151,7 @@ void SplitByBoneCountProcess::Execute( aiScene* pScene) // recurse through all nodes and translate the node's mesh indices to fit the new mesh array UpdateNode( pScene->mRootNode); - ASSIMP_LOG_DEBUG_F( "SplitByBoneCountProcess end: split ", mSubMeshIndices.size(), " meshes into ", meshes.size(), " submeshes." ); + ASSIMP_LOG_DEBUG( "SplitByBoneCountProcess end: split ", mSubMeshIndices.size(), " meshes into ", meshes.size(), " submeshes." ); } // ------------------------------------------------------------------------------------------------ diff --git a/code/PostProcessing/TextureTransform.cpp b/code/PostProcessing/TextureTransform.cpp index a2f20a082..681b047c0 100644 --- a/code/PostProcessing/TextureTransform.cpp +++ b/code/PostProcessing/TextureTransform.cpp @@ -108,7 +108,7 @@ void TextureTransformStep::PreProcessUVTransform(STransformVecInfo& info) if (rounded) { out -= rounded * static_cast(AI_MATH_PI); - ASSIMP_LOG_INFO_F("Texture coordinate rotation ", info.mRotation, " can be simplified to ", out); + ASSIMP_LOG_INFO("Texture coordinate rotation ", info.mRotation, " can be simplified to ", out); } // Next step - convert negative rotation angles to positives @@ -448,7 +448,7 @@ void TextureTransformStep::Execute( aiScene* pScene) if (size > AI_MAX_NUMBER_OF_TEXTURECOORDS) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_ERROR_F(static_cast(trafo.size()), " UV channels required but just ", + ASSIMP_LOG_ERROR(static_cast(trafo.size()), " UV channels required but just ", AI_MAX_NUMBER_OF_TEXTURECOORDS, " available"); } size = AI_MAX_NUMBER_OF_TEXTURECOORDS; @@ -557,7 +557,7 @@ void TextureTransformStep::Execute( aiScene* pScene) if (!DefaultLogger::isNullLogger()) { if (transformedChannels) { - ASSIMP_LOG_INFO_F("TransformUVCoordsProcess end: ", outChannels, " output channels (in: ", inChannels, ", modified: ", transformedChannels,")"); + ASSIMP_LOG_INFO("TransformUVCoordsProcess end: ", outChannels, " output channels (in: ", inChannels, ", modified: ", transformedChannels,")"); } else { ASSIMP_LOG_DEBUG("TransformUVCoordsProcess finished"); } diff --git a/include/assimp/LineSplitter.h b/include/assimp/LineSplitter.h index 7cb71476c..44e6f0f1e 100644 --- a/include/assimp/LineSplitter.h +++ b/include/assimp/LineSplitter.h @@ -72,7 +72,7 @@ for(LineSplitter splitter(stream);splitter;++splitter) { if (strtol(splitter[2]) > 5) { .. } } - ASSIMP_LOG_VERBOSE_DEBUG_F("Current line is: ", splitter.get_index()); + ASSIMP_LOG_VERBOSE_DEBUG("Current line is: ", splitter.get_index()); } @endcode */ diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 71f458731..ecbd9df9b 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -312,34 +312,19 @@ Logger::LogSeverity Logger::getLogSeverity() const { } // Namespace Assimp // ------------------------------------------------------------------------------------------------ -#define ASSIMP_LOG_WARN_F(...) \ +#define ASSIMP_LOG_WARN(...) \ Assimp::DefaultLogger::get()->warn(__VA_ARGS__) -#define ASSIMP_LOG_ERROR_F(...) \ +#define ASSIMP_LOG_ERROR(...) \ Assimp::DefaultLogger::get()->error(__VA_ARGS__) -#define ASSIMP_LOG_DEBUG_F(...) \ +#define ASSIMP_LOG_DEBUG(...) \ Assimp::DefaultLogger::get()->debug(__VA_ARGS__) -#define ASSIMP_LOG_VERBOSE_DEBUG_F(...) \ +#define ASSIMP_LOG_VERBOSE_DEBUG(...) \ Assimp::DefaultLogger::get()->verboseDebug(__VA_ARGS__) -#define ASSIMP_LOG_INFO_F(...) \ +#define ASSIMP_LOG_INFO(...) \ Assimp::DefaultLogger::get()->info(__VA_ARGS__) -#define ASSIMP_LOG_WARN(string) \ - Assimp::DefaultLogger::get()->warn(string) - -#define ASSIMP_LOG_ERROR(string) \ - Assimp::DefaultLogger::get()->error(string) - -#define ASSIMP_LOG_DEBUG(string) \ - Assimp::DefaultLogger::get()->debug(string) - -#define ASSIMP_LOG_VERBOSE_DEBUG(string) \ - Assimp::DefaultLogger::get()->verboseDebug(string) - -#define ASSIMP_LOG_INFO(string) \ - Assimp::DefaultLogger::get()->info(string) - #endif // !! INCLUDED_AI_LOGGER_H diff --git a/include/assimp/Profiler.h b/include/assimp/Profiler.h index 566ea84e1..2f2c72bf2 100644 --- a/include/assimp/Profiler.h +++ b/include/assimp/Profiler.h @@ -76,7 +76,7 @@ public: /** Start a named timer */ void BeginRegion(const std::string& region) { regions[region] = std::chrono::system_clock::now(); - ASSIMP_LOG_DEBUG_F("START `",region,"`"); + ASSIMP_LOG_DEBUG("START `",region,"`"); } @@ -88,7 +88,7 @@ public: } std::chrono::duration elapsedSeconds = std::chrono::system_clock::now() - regions[region]; - ASSIMP_LOG_DEBUG_F("END `",region,"`, dt= ", elapsedSeconds.count()," s"); + ASSIMP_LOG_DEBUG("END `",region,"`, dt= ", elapsedSeconds.count()," s"); } private: diff --git a/include/assimp/fast_atof.h b/include/assimp/fast_atof.h index 441fe5652..aea793f35 100644 --- a/include/assimp/fast_atof.h +++ b/include/assimp/fast_atof.h @@ -206,7 +206,7 @@ uint64_t strtoul10_64( const char* in, const char** out=0, unsigned int* max_ino // numeric overflow, we rely on you if ( new_value < value ) { - ASSIMP_LOG_WARN_F( "Converting the string \"", in, "\" into a value resulted in overflow." ); + ASSIMP_LOG_WARN( "Converting the string \"", in, "\" into a value resulted in overflow." ); return 0; } From 7abfd134b60eeed6d7f775eea2e6509051fdd079 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:33:16 +0100 Subject: [PATCH 86/99] LogAux warn --- code/AssetLib/Blender/BlenderLoader.cpp | 4 ++-- code/AssetLib/FBX/FBXMeshGeometry.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index 8cc0162f5..f38831567 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -516,7 +516,7 @@ void BlenderImporter::ResolveTexture(aiMaterial *out, const Material *mat, const case Tex::Type_POINTDENSITY: case Tex::Type_VOXELDATA: - LogWarn(std::string("Encountered a texture with an unsupported type: ") + dispnam); + LogWarn("Encountered a texture with an unsupported type: ", dispnam); AddSentinelTexture(out, mat, tex, conv_data); break; @@ -752,7 +752,7 @@ void BlenderImporter::CheckActualType(const ElemBase *dt, const char *check) { // ------------------------------------------------------------------------------------------------ void BlenderImporter::NotSupportedObjectType(const Object *obj, const char *type) { - LogWarn((format(), "Object `", obj->id.name, "` - type is unsupported: `", type, "`, skipping")); + LogWarn("Object `", obj->id.name, "` - type is unsupported: `", type, "`, skipping"); } // ------------------------------------------------------------------------------------------------ diff --git a/code/AssetLib/FBX/FBXMeshGeometry.cpp b/code/AssetLib/FBX/FBXMeshGeometry.cpp index 2bca8dff2..a88045210 100644 --- a/code/AssetLib/FBX/FBXMeshGeometry.cpp +++ b/code/AssetLib/FBX/FBXMeshGeometry.cpp @@ -509,8 +509,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); if (uvIndices.size() > vertex_count) { - FBXImporter::LogWarn(Formatter::format("trimming length of input array for ByPolygonVertex mapping: ") - << uvIndices.size() << ", expected " << vertex_count); + FBXImporter::LogWarn("trimming length of input array for ByPolygonVertex mapping: ", + uvIndices.size(), ", expected ", vertex_count); uvIndices.resize(vertex_count); } @@ -645,7 +645,7 @@ void MeshGeometry::ReadVertexDataMaterials(std::vector& materials_out, cons FBXImporter::LogError(Formatter::format("expected material index, ignoring")); return; } else if (materials_out.size() > 1) { - FBXImporter::LogWarn(Formatter::format("expected only a single material index, ignoring all except the first one")); + FBXImporter::LogWarn("expected only a single material index, ignoring all except the first one"); materials_out.clear(); } From c5f22269a8ae5ea491f36d9fc5a92ddb495433bc Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:33:25 +0100 Subject: [PATCH 87/99] LogAux --- include/assimp/LogAux.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/include/assimp/LogAux.h b/include/assimp/LogAux.h index b0a1f9ddd..6ca1912d3 100644 --- a/include/assimp/LogAux.h +++ b/include/assimp/LogAux.h @@ -64,13 +64,14 @@ public: template static void ThrowException(T&&... args) { - throw DeadlyImportError(Prefix(), args...); + throw DeadlyImportError(Prefix(), std::forward(args)...); } // ------------------------------------------------------------------------------------------------ - static void LogWarn(const Formatter::format& message) { + template + static void LogWarn(T&&... args) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_WARN(Prefix()+(std::string)message); + ASSIMP_LOG_WARN(Prefix(), std::forward(args)...); } } @@ -104,13 +105,6 @@ public: // https://sourceforge.net/tracker/?func=detail&atid=1067632&aid=3358562&group_id=226462 #if !defined(__GNUC__) || !defined(__APPLE__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) - // ------------------------------------------------------------------------------------------------ - static void LogWarn (const char* message) { - if (!DefaultLogger::isNullLogger()) { - LogWarn(Formatter::format(message)); - } - } - // ------------------------------------------------------------------------------------------------ static void LogError (const char* message) { if (!DefaultLogger::isNullLogger()) { From ad6f300b1dbfefdd67097b0ed8ba8eeab1725a1e Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 10:43:28 +0100 Subject: [PATCH 88/99] Other LogAux functions --- code/AssetLib/Blender/BlenderLoader.cpp | 6 +-- code/AssetLib/FBX/FBXMeshGeometry.cpp | 42 ++++++++++---------- code/AssetLib/IFC/IFCLoader.cpp | 6 +-- include/assimp/LogAux.h | 51 ++++++------------------- 4 files changed, 39 insertions(+), 66 deletions(-) diff --git a/code/AssetLib/Blender/BlenderLoader.cpp b/code/AssetLib/Blender/BlenderLoader.cpp index f38831567..7cf4e070e 100644 --- a/code/AssetLib/Blender/BlenderLoader.cpp +++ b/code/AssetLib/Blender/BlenderLoader.cpp @@ -235,9 +235,9 @@ void BlenderImporter::InternReadFile(const std::string &pFile, stream->Read(magic, 3, 1); magic[3] = '\0'; - LogInfo((format(), "Blender version is ", magic[0], ".", magic + 1, + LogInfo("Blender version is ", magic[0], ".", magic + 1, " (64bit: ", file.i64bit ? "true" : "false", - ", little endian: ", file.little ? "true" : "false", ")")); + ", little endian: ", file.little ? "true" : "false", ")"); ParseBlendFile(file, stream); @@ -434,7 +434,7 @@ void BlenderImporter::ResolveImage(aiMaterial *out, const Material *mat, const M curTex->pcData = reinterpret_cast(ch); - LogInfo("Reading embedded texture, original file was " + std::string(img->name)); + LogInfo("Reading embedded texture, original file was ", img->name); } else { name = aiString(img->name); } diff --git a/code/AssetLib/FBX/FBXMeshGeometry.cpp b/code/AssetLib/FBX/FBXMeshGeometry.cpp index a88045210..9bafcbd2a 100644 --- a/code/AssetLib/FBX/FBXMeshGeometry.cpp +++ b/code/AssetLib/FBX/FBXMeshGeometry.cpp @@ -307,8 +307,8 @@ void MeshGeometry::ReadLayerElement(const Scope& layerElement) } } - FBXImporter::LogError(Formatter::format("failed to resolve vertex layer element: ") - << type << ", index: " << typedIndex); + FBXImporter::LogError("failed to resolve vertex layer element: ", + type, ", index: ", typedIndex); } // ------------------------------------------------------------------------------------------------ @@ -324,8 +324,8 @@ void MeshGeometry::ReadVertexData(const std::string& type, int index, const Scop if (type == "LayerElementUV") { if(index >= AI_MAX_NUMBER_OF_TEXTURECOORDS) { - FBXImporter::LogError(Formatter::format("ignoring UV layer, maximum number of UV channels exceeded: ") - << index << " (limit is " << AI_MAX_NUMBER_OF_TEXTURECOORDS << ")" ); + FBXImporter::LogError("ignoring UV layer, maximum number of UV channels exceeded: ", + index, " (limit is ", AI_MAX_NUMBER_OF_TEXTURECOORDS, ")" ); return; } @@ -402,8 +402,8 @@ void MeshGeometry::ReadVertexData(const std::string& type, int index, const Scop } else if (type == "LayerElementColor") { if(index >= AI_MAX_NUMBER_OF_COLOR_SETS) { - FBXImporter::LogError(Formatter::format("ignoring vertex color layer, maximum number of color sets exceeded: ") - << index << " (limit is " << AI_MAX_NUMBER_OF_COLOR_SETS << ")" ); + FBXImporter::LogError("ignoring vertex color layer, maximum number of color sets exceeded: ", + index, " (limit is ", AI_MAX_NUMBER_OF_COLOR_SETS, ")" ); return; } @@ -449,8 +449,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); if (tempData.size() != mapping_offsets.size()) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") - << tempData.size() << ", expected " << mapping_offsets.size()); + FBXImporter::LogError("length of input data unexpected for ByVertice mapping: ", + tempData.size(), ", expected ", mapping_offsets.size()); return; } @@ -470,8 +470,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); if (uvIndices.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") - << uvIndices.size() << ", expected " << vertex_count); + FBXImporter::LogError("length of input data unexpected for ByVertice mapping: ", + uvIndices.size(), ", expected ", vertex_count); return; } @@ -493,8 +493,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); if (tempData.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygon mapping: ") - << tempData.size() << ", expected " << vertex_count + FBXImporter::LogError("length of input data unexpected for ByPolygon mapping: ", + tempData.size(), ", expected ", vertex_count ); return; } @@ -515,8 +515,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, } if (uvIndices.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") - << uvIndices.size() << ", expected " << vertex_count); + FBXImporter::LogError("length of input data unexpected for ByPolygonVertex mapping: ", + uvIndices.size(), ", expected ", vertex_count); return; } @@ -537,8 +537,8 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, } } else { - FBXImporter::LogError(Formatter::format("ignoring vertex data channel, access type not implemented: ") - << MappingInformationType << "," << ReferenceInformationType); + FBXImporter::LogError("ignoring vertex data channel, access type not implemented: ", + MappingInformationType, ",", ReferenceInformationType); } } @@ -642,7 +642,7 @@ void MeshGeometry::ReadVertexDataMaterials(std::vector& materials_out, cons if (MappingInformationType == "AllSame") { // easy - same material for all faces if (materials_out.empty()) { - FBXImporter::LogError(Formatter::format("expected material index, ignoring")); + FBXImporter::LogError("expected material index, ignoring"); return; } else if (materials_out.size() > 1) { FBXImporter::LogWarn("expected only a single material index, ignoring all except the first one"); @@ -655,14 +655,14 @@ void MeshGeometry::ReadVertexDataMaterials(std::vector& materials_out, cons materials_out.resize(face_count); if(materials_out.size() != face_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygon mapping: ") - << materials_out.size() << ", expected " << face_count + FBXImporter::LogError("length of input data unexpected for ByPolygon mapping: ", + materials_out.size(), ", expected ", face_count ); return; } } else { - FBXImporter::LogError(Formatter::format("ignoring material assignments, access type not implemented: ") - << MappingInformationType << "," << ReferenceInformationType); + FBXImporter::LogError("ignoring material assignments, access type not implemented: ", + MappingInformationType, ",", ReferenceInformationType); } } // ------------------------------------------------------------------------------------------------ diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp index bdac1801a..46b36bd51 100644 --- a/code/AssetLib/IFC/IFCLoader.cpp +++ b/code/AssetLib/IFC/IFCLoader.cpp @@ -315,7 +315,7 @@ void IFCImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // this must be last because objects are evaluated lazily as we process them if (!DefaultLogger::isNullLogger()) { - LogDebug((Formatter::format(), "STEP: evaluated ", db->GetEvaluatedObjectCount(), " object records")); + LogDebug("STEP: evaluated ", db->GetEvaluatedObjectCount(), " object records"); } } @@ -438,7 +438,7 @@ bool ProcessMappedItem(const Schema_2x3::IfcMappedItem &mapped, aiNode *nd_src, bool got = false; for (const Schema_2x3::IfcRepresentationItem &item : repr.Items) { if (!ProcessRepresentationItem(item, localmatid, meshes, conv)) { - IFCImporter::LogWarn("skipping mapped entity of type " + item.GetClassName() + ", no representations could be generated"); + IFCImporter::LogWarn("skipping mapped entity of type ", item.GetClassName(), ", no representations could be generated"); } else got = true; } @@ -856,7 +856,7 @@ void ProcessSpatialStructures(ConversionData &conv) { if (!prod) { continue; } - IFCImporter::LogVerboseDebug("looking at spatial structure `" + (prod->Name ? prod->Name.Get() : "unnamed") + "`" + (prod->ObjectType ? " which is of type " + prod->ObjectType.Get() : "")); + IFCImporter::LogVerboseDebug("looking at spatial structure `", (prod->Name ? prod->Name.Get() : "unnamed"), "`", (prod->ObjectType ? " which is of type " + prod->ObjectType.Get() : "")); // the primary sites are referenced by an IFCRELAGGREGATES element which assigns them to the IFCPRODUCT const STEP::DB::RefMap &refs = conv.db.GetRefs(); diff --git a/include/assimp/LogAux.h b/include/assimp/LogAux.h index 6ca1912d3..065433648 100644 --- a/include/assimp/LogAux.h +++ b/include/assimp/LogAux.h @@ -76,64 +76,37 @@ public: } // ------------------------------------------------------------------------------------------------ - static void LogError(const Formatter::format& message) { + template + static void LogError(T&&... args) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_ERROR(Prefix()+(std::string)message); + ASSIMP_LOG_ERROR(Prefix(), std::forward(args)...); } } // ------------------------------------------------------------------------------------------------ - static void LogInfo(const Formatter::format& message) { + template + static void LogInfo(T&&... args) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_INFO(Prefix()+(std::string)message); + ASSIMP_LOG_INFO(Prefix(), std::forward(args)...); } } // ------------------------------------------------------------------------------------------------ - static void LogDebug(const Formatter::format& message) { + template + static void LogDebug(T&&... args) { if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_DEBUG(Prefix()+(std::string)message); - } - } - - static void LogVerboseDebug(const Formatter::format& message) { - if (!DefaultLogger::isNullLogger()) { - ASSIMP_LOG_VERBOSE_DEBUG(Prefix()+(std::string)message); - } - } - - // https://sourceforge.net/tracker/?func=detail&atid=1067632&aid=3358562&group_id=226462 -#if !defined(__GNUC__) || !defined(__APPLE__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) - - // ------------------------------------------------------------------------------------------------ - static void LogError (const char* message) { - if (!DefaultLogger::isNullLogger()) { - LogError(Formatter::format(message)); + ASSIMP_LOG_DEBUG(Prefix(), std::forward(args)...); } } // ------------------------------------------------------------------------------------------------ - static void LogInfo (const char* message) { + template + static void LogVerboseDebug(T&&... args) { if (!DefaultLogger::isNullLogger()) { - LogInfo(Formatter::format(message)); + ASSIMP_LOG_VERBOSE_DEBUG(Prefix(), std::forward(args)...); } } - // ------------------------------------------------------------------------------------------------ - static void LogDebug (const char* message) { - if (!DefaultLogger::isNullLogger()) { - LogDebug(Formatter::format(message)); - } - } - - // ------------------------------------------------------------------------------------------------ - static void LogVerboseDebug (const char* message) { - if (!DefaultLogger::isNullLogger()) { - LogVerboseDebug(Formatter::format(message)); - } - } -#endif - private: static const char* Prefix(); From 4ec01cfdcdb6f0e917e98e09c64e721d26eebc89 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Thu, 13 May 2021 12:05:31 +0100 Subject: [PATCH 89/99] Improve use of logging --- code/AssetLib/3DS/3DSExporter.cpp | 2 +- code/AssetLib/ASE/ASEParser.cpp | 2 +- code/AssetLib/C4D/C4DImporter.cpp | 6 +-- code/AssetLib/FBX/FBXConverter.cpp | 40 +++++++++---------- code/AssetLib/FBX/FBXDocumentUtil.cpp | 2 +- code/AssetLib/IFC/IFCBoolean.cpp | 4 +- code/AssetLib/IFC/IFCGeometry.cpp | 6 +-- code/AssetLib/IFC/IFCLoader.cpp | 8 ++-- code/AssetLib/IFC/IFCMaterial.cpp | 4 +- code/AssetLib/IFC/IFCProfile.cpp | 8 ++-- code/AssetLib/IFC/IFCUtil.cpp | 2 +- code/AssetLib/Irr/IRRLoader.cpp | 8 ++-- code/AssetLib/Irr/IRRShared.cpp | 2 +- code/AssetLib/LWO/LWOLoader.cpp | 6 +-- code/AssetLib/LWO/LWOMaterial.cpp | 2 +- code/AssetLib/LWS/LWSLoader.cpp | 4 +- code/AssetLib/M3D/M3DImporter.cpp | 2 +- code/AssetLib/MD3/MD3Loader.cpp | 8 ++-- code/AssetLib/MD5/MD5Loader.cpp | 4 +- code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- code/AssetLib/NFF/NFFLoader.cpp | 2 +- code/AssetLib/Obj/ObjFileParser.cpp | 10 ++--- code/AssetLib/Ogre/OgreBinarySerializer.cpp | 2 +- code/AssetLib/Ogre/OgreMaterial.cpp | 2 +- code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp | 2 +- code/AssetLib/glTF2/glTF2Importer.cpp | 8 ++-- code/Common/FileSystemFilter.h | 2 +- code/Common/Importer.cpp | 2 +- code/Material/MaterialSystem.cpp | 7 ++-- code/PostProcessing/ValidateDataStructure.cpp | 2 +- 30 files changed, 80 insertions(+), 81 deletions(-) diff --git a/code/AssetLib/3DS/3DSExporter.cpp b/code/AssetLib/3DS/3DSExporter.cpp index 07e9ccfc7..92a6d5aa7 100644 --- a/code/AssetLib/3DS/3DSExporter.cpp +++ b/code/AssetLib/3DS/3DSExporter.cpp @@ -379,7 +379,7 @@ void Discreet3DSExporter::WriteTexture(const aiMaterial &mat, aiTextureType type // TODO: handle embedded textures properly if (path.data[0] == '*') { - ASSIMP_LOG_ERROR("Ignoring embedded texture for export: " + std::string(path.C_Str())); + ASSIMP_LOG_ERROR("Ignoring embedded texture for export: ", path.C_Str()); return; } diff --git a/code/AssetLib/ASE/ASEParser.cpp b/code/AssetLib/ASE/ASEParser.cpp index 4e4af8ed8..1f7018b11 100644 --- a/code/AssetLib/ASE/ASEParser.cpp +++ b/code/AssetLib/ASE/ASEParser.cpp @@ -1125,7 +1125,7 @@ void Parser::ParseLV2NodeTransformBlock(ASE::BaseNode &mesh) { "this is no spot light or target camera"); } } else { - ASSIMP_LOG_ERROR("ASE: Unknown node transformation: " + temp); + ASSIMP_LOG_ERROR("ASE: Unknown node transformation: ", temp); // mode = 0 } continue; diff --git a/code/AssetLib/C4D/C4DImporter.cpp b/code/AssetLib/C4D/C4DImporter.cpp index 594bcfddd..434d1429e 100644 --- a/code/AssetLib/C4D/C4DImporter.cpp +++ b/code/AssetLib/C4D/C4DImporter.cpp @@ -238,7 +238,7 @@ bool C4DImporter::ReadShader(aiMaterial* out, BaseShader* shader) { out->AddProperty(&path, AI_MATKEY_TEXTURE_DIFFUSE(0)); return true; } else { - LogWarn("ignoring shader type: " + std::string(GetObjectTypeName(shader->GetType()))); + LogWarn("ignoring shader type: ", GetObjectTypeName(shader->GetType())); } shader = shader->GetNext(); } @@ -281,7 +281,7 @@ void C4DImporter::ReadMaterials(BaseMaterial* mat) { ReadShader(out, shader); } } else { - LogWarn("ignoring plugin material: " + std::string(GetObjectTypeName(mat->GetType()))); + LogWarn("ignoring plugin material: ", GetObjectTypeName(mat->GetType())); } mat = mat->GetNext(); } @@ -335,7 +335,7 @@ void C4DImporter::RecurseHierarchy(BaseObject* object, aiNode* parent) { meshes.push_back(mesh); } } else { - LogWarn("ignoring object: " + std::string(GetObjectTypeName(type))); + LogWarn("ignoring object: ", GetObjectTypeName(type)); } RecurseHierarchy(object->GetDown(), nd); diff --git a/code/AssetLib/FBX/FBXConverter.cpp b/code/AssetLib/FBX/FBXConverter.cpp index 88d7ad626..8d37d3790 100644 --- a/code/AssetLib/FBX/FBXConverter.cpp +++ b/code/AssetLib/FBX/FBXConverter.cpp @@ -811,7 +811,7 @@ bool FBXConverter::GenerateTransformationNodeChain(const Model &model, const std // we need to generate a full node chain to accommodate for assimp's // lack to express pivots and offsets. if ((chainBits & chainMaskComplex) && doc.Settings().preservePivots) { - FBXImporter::LogInfo("generating full transformation chain for node: " + name); + FBXImporter::LogInfo("generating full transformation chain for node: ", name); // query the anim_chain_bits dictionary to find out which chain elements // have associated node animation channels. These can not be dropped @@ -918,7 +918,7 @@ void FBXConverter::ConvertModel(const Model &model, aiNode *parent, aiNode *root const std::vector &indices = ConvertLine(*line, root_node); std::copy(indices.begin(), indices.end(), std::back_inserter(meshes)); } else { - FBXImporter::LogWarn("ignoring unrecognized geometry: " + geo->Name()); + FBXImporter::LogWarn("ignoring unrecognized geometry: ", geo->Name()); } } @@ -944,7 +944,7 @@ FBXConverter::ConvertMesh(const MeshGeometry &mesh, const Model &model, aiNode * const std::vector &vertices = mesh.GetVertices(); const std::vector &faces = mesh.GetFaceIndexCounts(); if (vertices.empty() || faces.empty()) { - FBXImporter::LogWarn("ignoring empty geometry: " + mesh.Name()); + FBXImporter::LogWarn("ignoring empty geometry: ", mesh.Name()); return temp; } @@ -971,7 +971,7 @@ std::vector FBXConverter::ConvertLine(const LineGeometry &line, ai const std::vector &vertices = line.GetVertices(); const std::vector &indices = line.GetIndices(); if (vertices.empty() || indices.empty()) { - FBXImporter::LogWarn("ignoring empty line: " + line.Name()); + FBXImporter::LogWarn("ignoring empty line: ", line.Name()); return temp; } @@ -1815,14 +1815,14 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const TextureMap } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); continue; } if (uvIndex == -1) { uvIndex = index; } else { - FBXImporter::LogWarn("the UV channel named " + uvSet + + FBXImporter::LogWarn("the UV channel named ", uvSet, " appears at different positions in meshes, results will be wrong"); } } @@ -1839,7 +1839,7 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const TextureMap } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); } if (uvIndex == -1) { @@ -1848,7 +1848,7 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const TextureMap } if (uvIndex == -1) { - FBXImporter::LogWarn("failed to resolve UV channel " + uvSet + ", using first UV channel"); + FBXImporter::LogWarn("failed to resolve UV channel ", uvSet, ", using first UV channel"); uvIndex = 0; } } @@ -1934,14 +1934,14 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const LayeredTex } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); continue; } if (uvIndex == -1) { uvIndex = index; } else { - FBXImporter::LogWarn("the UV channel named " + uvSet + + FBXImporter::LogWarn("the UV channel named ", uvSet, " appears at different positions in meshes, results will be wrong"); } } @@ -1958,7 +1958,7 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const LayeredTex } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); } if (uvIndex == -1) { @@ -1967,7 +1967,7 @@ void FBXConverter::TrySetTextureProperties(aiMaterial *out_mat, const LayeredTex } if (uvIndex == -1) { - FBXImporter::LogWarn("failed to resolve UV channel " + uvSet + ", using first UV channel"); + FBXImporter::LogWarn("failed to resolve UV channel ", uvSet, ", using first UV channel"); uvIndex = 0; } } @@ -2319,14 +2319,14 @@ void FBXConverter::SetShadingPropertiesRaw(aiMaterial *out_mat, const PropertyTa } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); continue; } if (uvIndex == -1) { uvIndex = index; } else { - FBXImporter::LogWarn("the UV channel named " + uvSet + " appears at different positions in meshes, results will be wrong"); + FBXImporter::LogWarn("the UV channel named ", uvSet, " appears at different positions in meshes, results will be wrong"); } } } else { @@ -2342,7 +2342,7 @@ void FBXConverter::SetShadingPropertiesRaw(aiMaterial *out_mat, const PropertyTa } } if (index == -1) { - FBXImporter::LogWarn("did not find UV channel named " + uvSet + " in a mesh using this material"); + FBXImporter::LogWarn("did not find UV channel named ", uvSet, " in a mesh using this material"); } if (uvIndex == -1) { @@ -2351,7 +2351,7 @@ void FBXConverter::SetShadingPropertiesRaw(aiMaterial *out_mat, const PropertyTa } if (uvIndex == -1) { - FBXImporter::LogWarn("failed to resolve UV channel " + uvSet + ", using first UV channel"); + FBXImporter::LogWarn("failed to resolve UV channel ", uvSet, ", using first UV channel"); uvIndex = 0; } } @@ -2574,7 +2574,7 @@ void FBXConverter::ConvertAnimationStack(const AnimationStack &st) { // empty animations would fail validation, so drop them delete anim; animations.pop_back(); - FBXImporter::LogInfo("ignoring empty AnimationStack (using IK?): " + name); + FBXImporter::LogInfo("ignoring empty AnimationStack (using IK?): ", name); return; } @@ -2707,13 +2707,13 @@ void FBXConverter::GenerateNodeAnimations(std::vector &node_anims, ai_assert(node); if (node->TargetProperty().empty()) { - FBXImporter::LogWarn("target property for animation curve not set: " + node->Name()); + FBXImporter::LogWarn("target property for animation curve not set: ", node->Name()); continue; } curve_node = node; if (node->Curves().empty()) { - FBXImporter::LogWarn("no animation curves assigned to AnimationCurveNode: " + node->Name()); + FBXImporter::LogWarn("no animation curves assigned to AnimationCurveNode: ", node->Name()); continue; } @@ -2748,7 +2748,7 @@ void FBXConverter::GenerateNodeAnimations(std::vector &node_anims, if (doc.Settings().optimizeEmptyAnimationCurves && IsRedundantAnimationData(target, comp, (chain[i]->second))) { - FBXImporter::LogVerboseDebug("dropping redundant animation channel for node " + target.Name()); + FBXImporter::LogVerboseDebug("dropping redundant animation channel for node ", target.Name()); continue; } diff --git a/code/AssetLib/FBX/FBXDocumentUtil.cpp b/code/AssetLib/FBX/FBXDocumentUtil.cpp index 77455198f..ab15298a8 100644 --- a/code/AssetLib/FBX/FBXDocumentUtil.cpp +++ b/code/AssetLib/FBX/FBXDocumentUtil.cpp @@ -91,7 +91,7 @@ void DOMWarning(const std::string& message, const Element* element /*= nullptr*/ return; } if(DefaultLogger::get()) { - ASSIMP_LOG_WARN("FBX-DOM: " + message); + ASSIMP_LOG_WARN("FBX-DOM: ", message); } } diff --git a/code/AssetLib/IFC/IFCBoolean.cpp b/code/AssetLib/IFC/IFCBoolean.cpp index 6015920c1..86cac7f46 100644 --- a/code/AssetLib/IFC/IFCBoolean.cpp +++ b/code/AssetLib/IFC/IFCBoolean.cpp @@ -715,7 +715,7 @@ void ProcessBoolean(const Schema_2x3::IfcBooleanResult &boolean, TempMesh &resul // DIFFERENCE if (const Schema_2x3::IfcBooleanResult *const clip = boolean.ToPtr()) { if (clip->Operator != "DIFFERENCE") { - IFCImporter::LogWarn("encountered unsupported boolean operator: " + (std::string)clip->Operator); + IFCImporter::LogWarn("encountered unsupported boolean operator: ", (std::string)clip->Operator); return; } @@ -756,7 +756,7 @@ void ProcessBoolean(const Schema_2x3::IfcBooleanResult &boolean, TempMesh &resul ProcessBooleanExtrudedAreaSolidDifference(as, result, first_operand, conv); } } else { - IFCImporter::LogWarn("skipping unknown IfcBooleanResult entity, type is " + boolean.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcBooleanResult entity, type is ", boolean.GetClassName()); } } diff --git a/code/AssetLib/IFC/IFCGeometry.cpp b/code/AssetLib/IFC/IFCGeometry.cpp index 664444443..6e645f1ae 100644 --- a/code/AssetLib/IFC/IFCGeometry.cpp +++ b/code/AssetLib/IFC/IFCGeometry.cpp @@ -216,7 +216,7 @@ void ProcessConnectedFaceSet(const Schema_2x3::IfcConnectedFaceSet& fset, TempMe } } else { - IFCImporter::LogWarn("skipping unknown IfcFaceBound entity, type is " + bound.Bound->GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcFaceBound entity, type is ", bound.Bound->GetClassName()); continue; } @@ -729,7 +729,7 @@ void ProcessSweptAreaSolid(const Schema_2x3::IfcSweptAreaSolid& swept, TempMesh& ProcessRevolvedAreaSolid(*rev,meshout,conv); } else { - IFCImporter::LogWarn("skipping unknown IfcSweptAreaSolid entity, type is " + swept.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcSweptAreaSolid entity, type is ", swept.GetClassName()); } } @@ -781,7 +781,7 @@ bool ProcessGeometricItem(const Schema_2x3::IfcRepresentationItem& geo, unsigned return false; } else { - IFCImporter::LogWarn("skipping unknown IfcGeometricRepresentationItem entity, type is " + geo.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcGeometricRepresentationItem entity, type is ", geo.GetClassName()); return false; } diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp index 46b36bd51..daf2cc946 100644 --- a/code/AssetLib/IFC/IFCLoader.cpp +++ b/code/AssetLib/IFC/IFCLoader.cpp @@ -243,12 +243,12 @@ void IFCImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy } if (!DefaultLogger::isNullLogger()) { - LogDebug("File schema is \'" + head.fileSchema + '\''); + LogDebug("File schema is \'", head.fileSchema, '\''); if (head.timestamp.length()) { - LogDebug("Timestamp \'" + head.timestamp + '\''); + LogDebug("Timestamp \'", head.timestamp, '\''); } if (head.app.length()) { - LogDebug("Application/Exporter identline is \'" + head.app + '\''); + LogDebug("Application/Exporter identline is \'", head.app, '\''); } } @@ -403,7 +403,7 @@ void ResolveObjectPlacement(aiMatrix4x4 &m, const Schema_2x3::IfcObjectPlacement m = tmpM * m; } } else { - IFCImporter::LogWarn("skipping unknown IfcObjectPlacement entity, type is " + place.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcObjectPlacement entity, type is ", place.GetClassName()); } } diff --git a/code/AssetLib/IFC/IFCMaterial.cpp b/code/AssetLib/IFC/IFCMaterial.cpp index e0146b887..2a79f0754 100644 --- a/code/AssetLib/IFC/IFCMaterial.cpp +++ b/code/AssetLib/IFC/IFCMaterial.cpp @@ -64,7 +64,7 @@ static int ConvertShadingMode(const std::string& name) { else if (name == "PHONG") { return aiShadingMode_Phong; } - IFCImporter::LogWarn("shading mode "+name+" not recognized by Assimp, using Phong instead"); + IFCImporter::LogWarn("shading mode ", name, " not recognized by Assimp, using Phong instead"); return aiShadingMode_Phong; } @@ -145,7 +145,7 @@ unsigned int ProcessMaterials(uint64_t id, unsigned int prevMatId, ConversionDat // not found, create new material const std::string side = static_cast(surf->Side); if( side != "BOTH" ) { - IFCImporter::LogWarn("ignoring surface side marker on IFC::IfcSurfaceStyle: " + side); + IFCImporter::LogWarn("ignoring surface side marker on IFC::IfcSurfaceStyle: ", side); } std::unique_ptr mat(new aiMaterial()); diff --git a/code/AssetLib/IFC/IFCProfile.cpp b/code/AssetLib/IFC/IFCProfile.cpp index f33f8cdbe..4235be181 100644 --- a/code/AssetLib/IFC/IFCProfile.cpp +++ b/code/AssetLib/IFC/IFCProfile.cpp @@ -68,7 +68,7 @@ bool ProcessCurve(const Schema_2x3::IfcCurve& curve, TempMesh& meshout, Convers { std::unique_ptr cv(Curve::Convert(curve,conv)); if (!cv) { - IFCImporter::LogWarn("skipping unknown IfcCurve entity, type is " + curve.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcCurve entity, type is ", curve.GetClassName()); return false; } @@ -78,7 +78,7 @@ bool ProcessCurve(const Schema_2x3::IfcCurve& curve, TempMesh& meshout, Convers bc->SampleDiscrete(meshout); } catch(const CurveError& cv) { - IFCImporter::LogError(cv.mStr + " (error occurred while processing curve)"); + IFCImporter::LogError(cv.mStr, " (error occurred while processing curve)"); return false; } meshout.mVertcnt.push_back(static_cast(meshout.mVerts.size())); @@ -152,7 +152,7 @@ void ProcessParametrizedProfile(const Schema_2x3::IfcParameterizedProfileDef& de meshout.mVertcnt.push_back(12); } else { - IFCImporter::LogWarn("skipping unknown IfcParameterizedProfileDef entity, type is " + def.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcParameterizedProfileDef entity, type is ", def.GetClassName()); return; } @@ -174,7 +174,7 @@ bool ProcessProfile(const Schema_2x3::IfcProfileDef& prof, TempMesh& meshout, Co ProcessParametrizedProfile(*cparam,meshout,conv); } else { - IFCImporter::LogWarn("skipping unknown IfcProfileDef entity, type is " + prof.GetClassName()); + IFCImporter::LogWarn("skipping unknown IfcProfileDef entity, type is ", prof.GetClassName()); return false; } meshout.RemoveAdjacentDuplicates(); diff --git a/code/AssetLib/IFC/IFCUtil.cpp b/code/AssetLib/IFC/IFCUtil.cpp index b451262e9..8c37cebed 100644 --- a/code/AssetLib/IFC/IFCUtil.cpp +++ b/code/AssetLib/IFC/IFCUtil.cpp @@ -506,7 +506,7 @@ IfcFloat ConvertSIPrefix(const std::string& prefix) return 1e-18f; } else { - IFCImporter::LogError("Unrecognized SI prefix: " + prefix); + IFCImporter::LogError("Unrecognized SI prefix: ", prefix); return 1; } } diff --git a/code/AssetLib/Irr/IRRLoader.cpp b/code/AssetLib/Irr/IRRLoader.cpp index 9ec0a9244..cb383e936 100644 --- a/code/AssetLib/Irr/IRRLoader.cpp +++ b/code/AssetLib/Irr/IRRLoader.cpp @@ -639,7 +639,7 @@ void IRRImporter::GenerateGraph(Node *root, aiNode *rootOut, aiScene *scene, // graph we're currently building aiScene *localScene = batch.GetImport(root->id); if (!localScene) { - ASSIMP_LOG_ERROR("IRR: Unable to load external file: " + root->meshPath); + ASSIMP_LOG_ERROR("IRR: Unable to load external file: ", root->meshPath); break; } attach.push_back(AttachmentInfo(localScene, rootOut)); @@ -963,7 +963,7 @@ void IRRImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy ASSIMP_LOG_ERROR("IRR: Billboards are not supported by Assimp"); nd = new Node(Node::DUMMY); } else { - ASSIMP_LOG_WARN("IRR: Found unknown node: " + std::string(attrib.name())); + ASSIMP_LOG_WARN("IRR: Found unknown node: ", attrib.name()); /* We skip the contents of nodes we don't know. * We parse the transformation and all animators @@ -1181,7 +1181,7 @@ void IRRImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy lights.pop_back(); curNode->type = Node::DUMMY; - ASSIMP_LOG_ERROR("Ignoring light of unknown type: " + prop.value); + ASSIMP_LOG_ERROR("Ignoring light of unknown type: ", prop.value); } } else if ((prop.name == "Mesh" && Node::MESH == curNode->type) || Node::ANIMMESH == curNode->type) { @@ -1225,7 +1225,7 @@ void IRRImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy } else if (prop.value == "followSpline") { curAnim->type = Animator::FOLLOW_SPLINE; } else { - ASSIMP_LOG_WARN("IRR: Ignoring unknown animator: " + prop.value); + ASSIMP_LOG_WARN("IRR: Ignoring unknown animator: ", prop.value); curAnim->type = Animator::UNKNOWN; } diff --git a/code/AssetLib/Irr/IRRShared.cpp b/code/AssetLib/Irr/IRRShared.cpp index b119b063a..b42f34b65 100644 --- a/code/AssetLib/Irr/IRRShared.cpp +++ b/code/AssetLib/Irr/IRRShared.cpp @@ -260,7 +260,7 @@ aiMaterial* IrrlichtBase::ParseMaterial(unsigned int& matFlags) { prop.value == "parallaxmap_trans_add") { matFlags = AI_IRRMESH_MAT_normalmap_ta; } else { - ASSIMP_LOG_WARN("IRRMat: Unrecognized material type: " + prop.value); + ASSIMP_LOG_WARN("IRRMat: Unrecognized material type: ", prop.value); } } diff --git a/code/AssetLib/LWO/LWOLoader.cpp b/code/AssetLib/LWO/LWOLoader.cpp index 7a2916424..bc62152c5 100644 --- a/code/AssetLib/LWO/LWOLoader.cpp +++ b/code/AssetLib/LWO/LWOLoader.cpp @@ -961,7 +961,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { switch (type) { case AI_LWO_TXUV: if (dims != 2) { - ASSIMP_LOG_WARN("LWO2: Skipping UV channel \'" + name + "\' with !2 components"); + ASSIMP_LOG_WARN("LWO2: Skipping UV channel \'", name, "\' with !2 components"); return; } base = FindEntry(mCurLayer->mUVChannels, name, perPoly); @@ -969,7 +969,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { case AI_LWO_WGHT: case AI_LWO_MNVW: if (dims != 1) { - ASSIMP_LOG_WARN("LWO2: Skipping Weight Channel \'" + name + "\' with !1 components"); + ASSIMP_LOG_WARN("LWO2: Skipping Weight Channel \'", name, "\' with !1 components"); return; } base = FindEntry((type == AI_LWO_WGHT ? mCurLayer->mWeightChannels : mCurLayer->mSWeightChannels), name, perPoly); @@ -977,7 +977,7 @@ void LWOImporter::LoadLWO2VertexMap(unsigned int length, bool perPoly) { case AI_LWO_RGB: case AI_LWO_RGBA: if (dims != 3 && dims != 4) { - ASSIMP_LOG_WARN("LWO2: Skipping Color Map \'" + name + "\' with a dimension > 4 or < 3"); + ASSIMP_LOG_WARN("LWO2: Skipping Color Map \'", name, "\' with a dimension > 4 or < 3"); return; } base = FindEntry(mCurLayer->mVColorChannels, name, perPoly); diff --git a/code/AssetLib/LWO/LWOMaterial.cpp b/code/AssetLib/LWO/LWOMaterial.cpp index 186aa8a42..178f24265 100644 --- a/code/AssetLib/LWO/LWOMaterial.cpp +++ b/code/AssetLib/LWO/LWOMaterial.cpp @@ -711,7 +711,7 @@ void LWOImporter::LoadLWO2Surface(unsigned int size) { } } if (derived.size()) { - ASSIMP_LOG_WARN("LWO2: Unable to find source surface: " + derived); + ASSIMP_LOG_WARN("LWO2: Unable to find source surface: ", derived); } } diff --git a/code/AssetLib/LWS/LWSLoader.cpp b/code/AssetLib/LWS/LWSLoader.cpp index a75b90ef9..d469a1064 100644 --- a/code/AssetLib/LWS/LWSLoader.cpp +++ b/code/AssetLib/LWS/LWSLoader.cpp @@ -346,7 +346,7 @@ void LWSImporter::BuildGraph(aiNode *nd, LWS::NodeDesc &src, std::vectormRootNode->mNumChildren == 1) { @@ -538,7 +538,7 @@ void LWSImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy // get file format version and print to log ++it; unsigned int version = strtoul10((*it).tokens[0].c_str()); - ASSIMP_LOG_INFO("LWS file format version is " + (*it).tokens[0]); + ASSIMP_LOG_INFO("LWS file format version is ", (*it).tokens[0]); first = 0.; last = 60.; fps = 25.; // seems to be a good default frame rate diff --git a/code/AssetLib/M3D/M3DImporter.cpp b/code/AssetLib/M3D/M3DImporter.cpp index 5485b1bff..380e92c4f 100644 --- a/code/AssetLib/M3D/M3DImporter.cpp +++ b/code/AssetLib/M3D/M3DImporter.cpp @@ -209,7 +209,7 @@ void M3DImporter::InternReadFile(const std::string &file, aiScene *pScene, IOSys pScene->mRootNode->mNumChildren = 0; mScene = pScene; - ASSIMP_LOG_DEBUG("M3D: root node " + m3d.Name()); + ASSIMP_LOG_DEBUG("M3D: root node ", m3d.Name()); // now we just have to fill up the Assimp structures in pScene importMaterials(m3d); diff --git a/code/AssetLib/MD3/MD3Loader.cpp b/code/AssetLib/MD3/MD3Loader.cpp index 18c3d4228..a3d36f00d 100644 --- a/code/AssetLib/MD3/MD3Loader.cpp +++ b/code/AssetLib/MD3/MD3Loader.cpp @@ -101,7 +101,7 @@ Q3Shader::BlendFunc StringToBlendFunc(const std::string &m) { if (m == "GL_ONE_MINUS_DST_COLOR") { return Q3Shader::BLEND_GL_ONE_MINUS_DST_COLOR; } - ASSIMP_LOG_ERROR("Q3Shader: Unknown blend function: " + m); + ASSIMP_LOG_ERROR("Q3Shader: Unknown blend function: ", m); return Q3Shader::BLEND_NONE; } @@ -226,7 +226,7 @@ bool Q3Shader::LoadSkin(SkinData &fill, const std::string &pFile, IOSystem *io) if (!file.get()) return false; // if we can't access the file, don't worry and return - ASSIMP_LOG_INFO("Loading Quake3 skin file " + pFile); + ASSIMP_LOG_INFO("Loading Quake3 skin file ", pFile); // read file in memory const size_t s = file->FileSize(); @@ -880,9 +880,9 @@ void MD3Importer::InternReadFile(const std::string &pFile, aiScene *pScene, IOSy if (dit != shaders.blocks.end()) { // We made it! shader = &*dit; - ASSIMP_LOG_INFO("Found shader record for " + without_ext); + ASSIMP_LOG_INFO("Found shader record for ", without_ext); } else { - ASSIMP_LOG_WARN("Unable to find shader record for " + without_ext); + ASSIMP_LOG_WARN("Unable to find shader record for ", without_ext); } } diff --git a/code/AssetLib/MD5/MD5Loader.cpp b/code/AssetLib/MD5/MD5Loader.cpp index b99638cd2..0d9c77b71 100644 --- a/code/AssetLib/MD5/MD5Loader.cpp +++ b/code/AssetLib/MD5/MD5Loader.cpp @@ -345,7 +345,7 @@ void MD5Importer::LoadMD5MeshFile() { // Check whether we can read from the file if (file.get() == nullptr || !file->FileSize()) { - ASSIMP_LOG_WARN("Failed to access MD5MESH file: " + filename); + ASSIMP_LOG_WARN("Failed to access MD5MESH file: ", filename); return; } mHadMD5Mesh = true; @@ -567,7 +567,7 @@ void MD5Importer::LoadMD5AnimFile() { // Check whether we can read from the file if (!file.get() || !file->FileSize()) { - ASSIMP_LOG_WARN("Failed to read MD5ANIM file: " + pFile); + ASSIMP_LOG_WARN("Failed to read MD5ANIM file: ", pFile); return; } diff --git a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp index 2d2fd7427..e6576b344 100644 --- a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp @@ -1343,7 +1343,7 @@ bool HL1MDLLoader::get_num_blend_controllers(const int num_blend_animations, int return true; default: num_blend_controllers = 0; - ASSIMP_LOG_WARN(MDL_HALFLIFE_LOG_HEADER "Unsupported number of blend animations (" + std::to_string(num_blend_animations) + ")"); + ASSIMP_LOG_WARN(MDL_HALFLIFE_LOG_HEADER "Unsupported number of blend animations (", num_blend_animations, ")"); return false; } } diff --git a/code/AssetLib/NFF/NFFLoader.cpp b/code/AssetLib/NFF/NFFLoader.cpp index 65f2dc069..15f46b5e6 100644 --- a/code/AssetLib/NFF/NFFLoader.cpp +++ b/code/AssetLib/NFF/NFFLoader.cpp @@ -132,7 +132,7 @@ void NFFImporter::LoadNFF2MaterialTable(std::vector &output, // Check whether we can read from the file if (!file.get()) { - ASSIMP_LOG_ERROR("NFF2: Unable to open material library " + path + "."); + ASSIMP_LOG_ERROR("NFF2: Unable to open material library ", path, "."); return; } diff --git a/code/AssetLib/Obj/ObjFileParser.cpp b/code/AssetLib/Obj/ObjFileParser.cpp index a8039ae23..767805c10 100644 --- a/code/AssetLib/Obj/ObjFileParser.cpp +++ b/code/AssetLib/Obj/ObjFileParser.cpp @@ -556,7 +556,7 @@ void ObjFileParser::getMaterialDesc() { // This may be the case if the material library is missing. We don't want to lose all // materials if that happens, so create a new named material instead of discarding it // completely. - ASSIMP_LOG_ERROR("OBJ: failed to locate material " + strName + ", creating new material"); + ASSIMP_LOG_ERROR("OBJ: failed to locate material ", strName, ", creating new material"); m_pModel->m_pCurrentMaterial = new ObjFile::Material(); m_pModel->m_pCurrentMaterial->MaterialName.Set(strName); m_pModel->m_MaterialLib.push_back(strName); @@ -620,12 +620,12 @@ void ObjFileParser::getMaterialLib() { IOStream *pFile = m_pIO->Open(absName); if (nullptr == pFile) { - ASSIMP_LOG_ERROR("OBJ: Unable to locate material file " + strMatName); + ASSIMP_LOG_ERROR("OBJ: Unable to locate material file ", strMatName); std::string strMatFallbackName = m_originalObjFileName.substr(0, m_originalObjFileName.length() - 3) + "mtl"; - ASSIMP_LOG_INFO("OBJ: Opening fallback material file " + strMatFallbackName); + ASSIMP_LOG_INFO("OBJ: Opening fallback material file ", strMatFallbackName); pFile = m_pIO->Open(strMatFallbackName); if (!pFile) { - ASSIMP_LOG_ERROR("OBJ: Unable to locate fallback material file " + strMatFallbackName); + ASSIMP_LOG_ERROR("OBJ: Unable to locate fallback material file ", strMatFallbackName); m_DataIt = skipLine(m_DataIt, m_DataItEnd, m_uiLine); return; } @@ -660,7 +660,7 @@ void ObjFileParser::getNewMaterial() { std::map::iterator it = m_pModel->m_MaterialMap.find(strMat); if (it == m_pModel->m_MaterialMap.end()) { // Show a warning, if material was not found - ASSIMP_LOG_WARN("OBJ: Unsupported material requested: " + strMat); + ASSIMP_LOG_WARN("OBJ: Unsupported material requested: ", strMat); m_pModel->m_pCurrentMaterial = m_pModel->m_pDefaultMaterial; } else { // Set new material diff --git a/code/AssetLib/Ogre/OgreBinarySerializer.cpp b/code/AssetLib/Ogre/OgreBinarySerializer.cpp index b54316514..1d20799a1 100644 --- a/code/AssetLib/Ogre/OgreBinarySerializer.cpp +++ b/code/AssetLib/Ogre/OgreBinarySerializer.cpp @@ -155,7 +155,7 @@ uint16_t OgreBinarySerializer::ReadHeader(bool readLen) { #if (OGRE_BINARY_SERIALIZER_DEBUG == 1) if (id != HEADER_CHUNK_ID) { - ASSIMP_LOG_DEBUG(Formatter::format() << (assetMode == AM_Mesh ? MeshHeaderToString(static_cast(id)) : SkeletonHeaderToString(static_cast(id)))); + ASSIMP_LOG_DEBUG((assetMode == AM_Mesh ? MeshHeaderToString(static_cast(id)) : SkeletonHeaderToString(static_cast(id)))); } #endif diff --git a/code/AssetLib/Ogre/OgreMaterial.cpp b/code/AssetLib/Ogre/OgreMaterial.cpp index cafdda795..295dedde6 100644 --- a/code/AssetLib/Ogre/OgreMaterial.cpp +++ b/code/AssetLib/Ogre/OgreMaterial.cpp @@ -477,7 +477,7 @@ bool OgreImporter::ReadTextureUnit(const std::string &textureUnitName, stringstr return false; } if (textureType == aiTextureType_NONE) { - ASSIMP_LOG_WARN("Failed to detect texture type for '" + textureRef + "', ignoring texture_unit."); + ASSIMP_LOG_WARN("Failed to detect texture type for '", textureRef, "', ignoring texture_unit."); return false; } diff --git a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp index 7d9e1f6eb..becfa41fc 100644 --- a/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp +++ b/code/AssetLib/Q3BSP/Q3BSPFileImporter.cpp @@ -446,7 +446,7 @@ void Q3BSPFileImporter::createMaterials(const Q3BSP::Q3BSPModel *pModel, aiScene normalizePathName(tmp, texName); if (!importTextureFromArchive(pModel, pArchive, pScene, pMatHelper, textureId)) { - ASSIMP_LOG_ERROR("Cannot import texture from archive " + texName); + ASSIMP_LOG_ERROR("Cannot import texture from archive ", texName); } } } diff --git a/code/AssetLib/glTF2/glTF2Importer.cpp b/code/AssetLib/glTF2/glTF2Importer.cpp index 1edfc602b..dbc8267d3 100644 --- a/code/AssetLib/glTF2/glTF2Importer.cpp +++ b/code/AssetLib/glTF2/glTF2Importer.cpp @@ -455,14 +455,14 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { if (attr.normal.size() > 0 && attr.normal[0]) { if (attr.normal[0]->count != aim->mNumVertices) { - DefaultLogger::get()->warn("Normal count in mesh \"" + mesh.name + "\" does not match the vertex count, normals ignored."); + DefaultLogger::get()->warn("Normal count in mesh \"", mesh.name, "\" does not match the vertex count, normals ignored."); } else { attr.normal[0]->ExtractData(aim->mNormals); // only extract tangents if normals are present if (attr.tangent.size() > 0 && attr.tangent[0]) { if (attr.tangent[0]->count != aim->mNumVertices) { - DefaultLogger::get()->warn("Tangent count in mesh \"" + mesh.name + "\" does not match the vertex count, tangents ignored."); + DefaultLogger::get()->warn("Tangent count in mesh \"", mesh.name, "\" does not match the vertex count, tangents ignored."); } else { // generate bitangents from normals and tangents according to spec Tangent *tangents = nullptr; @@ -485,7 +485,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { for (size_t c = 0; c < attr.color.size() && c < AI_MAX_NUMBER_OF_COLOR_SETS; ++c) { if (attr.color[c]->count != aim->mNumVertices) { - DefaultLogger::get()->warn("Color stream size in mesh \"" + mesh.name + + DefaultLogger::get()->warn("Color stream size in mesh \"", mesh.name, "\" does not match the vertex count"); continue; } @@ -508,7 +508,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } if (attr.texcoord[tc]->count != aim->mNumVertices) { - DefaultLogger::get()->warn("Texcoord stream size in mesh \"" + mesh.name + + DefaultLogger::get()->warn("Texcoord stream size in mesh \"", mesh.name, "\" does not match the vertex count"); continue; } diff --git a/code/Common/FileSystemFilter.h b/code/Common/FileSystemFilter.h index 92f199870..6585f9df6 100644 --- a/code/Common/FileSystemFilter.h +++ b/code/Common/FileSystemFilter.h @@ -89,7 +89,7 @@ public: mBase += getOsSeparator(); } - DefaultLogger::get()->info("Import root directory is \'" + mBase + "\'"); + DefaultLogger::get()->info("Import root directory is \'", mBase, "\'"); } /** Destructor. */ diff --git a/code/Common/Importer.cpp b/code/Common/Importer.cpp index 61e5938f6..a2ad041fb 100644 --- a/code/Common/Importer.cpp +++ b/code/Common/Importer.cpp @@ -665,7 +665,7 @@ const aiScene* Importer::ReadFile( const char* _pFile, unsigned int pFlags) { if ( nullptr != desc ) { ext = desc->mName; } - ASSIMP_LOG_INFO("Found a matching importer for this file format: " + ext + "." ); + ASSIMP_LOG_INFO("Found a matching importer for this file format: ", ext, "." ); pimpl->mProgressHandler->UpdateFileRead( 0, fileSize ); if (profiler) { diff --git a/code/Material/MaterialSystem.cpp b/code/Material/MaterialSystem.cpp index 310dea29d..c35a1aa93 100644 --- a/code/Material/MaterialSystem.cpp +++ b/code/Material/MaterialSystem.cpp @@ -160,7 +160,7 @@ aiReturn aiGetMaterialFloatArray(const aiMaterial *pMat, break; } if (!IsSpace(*cur)) { - ASSIMP_LOG_ERROR("Material property" + std::string(pKey) + + ASSIMP_LOG_ERROR("Material property", pKey, " is a string; failed to parse a float array out of it."); return AI_FAILURE; } @@ -238,7 +238,7 @@ aiReturn aiGetMaterialIntegerArray(const aiMaterial *pMat, break; } if (!IsSpace(*cur)) { - ASSIMP_LOG_ERROR("Material property" + std::string(pKey) + + ASSIMP_LOG_ERROR("Material property", pKey, " is a string; failed to parse an integer array out of it."); return AI_FAILURE; } @@ -306,8 +306,7 @@ aiReturn aiGetMaterialString(const aiMaterial *pMat, memcpy(pOut->data, prop->mData + 4, pOut->length + 1); } else { // TODO - implement lexical cast as well - ASSIMP_LOG_ERROR("Material property" + std::string(pKey) + - " was found, but is no string"); + ASSIMP_LOG_ERROR("Material property", pKey, " was found, but is no string"); return AI_FAILURE; } return AI_SUCCESS; diff --git a/code/PostProcessing/ValidateDataStructure.cpp b/code/PostProcessing/ValidateDataStructure.cpp index 3058ca6ce..6a872ef11 100644 --- a/code/PostProcessing/ValidateDataStructure.cpp +++ b/code/PostProcessing/ValidateDataStructure.cpp @@ -99,7 +99,7 @@ void ValidateDSProcess::ReportWarning(const char *msg, ...) { ai_assert(iLen > 0); va_end(args); - ASSIMP_LOG_WARN("Validation warning: " + std::string(szBuffer, iLen)); + ASSIMP_LOG_WARN("Validation warning: ", std::string(szBuffer, iLen)); } // ------------------------------------------------------------------------------------------------ From 8ab2e466f52c46afdf2740e787cbdc1648966a61 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 13 May 2021 18:51:12 +0200 Subject: [PATCH 90/99] Update Readme.md - Add folder AssetLib to readme in structure --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 81fd9fd9d..680f7e446 100644 --- a/Readme.md +++ b/Readme.md @@ -68,7 +68,7 @@ The source code is organized in the following way: code/Common The base implementation for importers and the infrastructure code/PostProcessing The post-processing steps - code/ Implementation for import and export for the format + code/AssetLib/ Implementation for import and export for the format ### Where to get help ### For more information, visit [our website](http://assimp.org/). Or check out the `./doc`- folder, which contains the official documentation in HTML format. From 348ae42212d9b0f6263e286054502ae6505d1048 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 13 May 2021 18:54:21 +0200 Subject: [PATCH 91/99] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 680f7e446..f2ea4b094 100644 --- a/Readme.md +++ b/Readme.md @@ -66,8 +66,8 @@ Open Asset Import Library is implemented in C++. The directory structure looks l The source code is organized in the following way: - code/Common The base implementation for importers and the infrastructure - code/PostProcessing The post-processing steps + code/Common The base implementation for importers and the infrastructure + code/PostProcessing The post-processing steps code/AssetLib/ Implementation for import and export for the format ### Where to get help ### From 6e4b9d267bbf69f3e9f054f5d1f4b237ced578cf Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Mon, 17 May 2021 10:29:06 +0100 Subject: [PATCH 92/99] Remove TODO. Typo fix. --- code/AssetLib/AC/ACLoader.cpp | 2 +- code/Common/DefaultLogger.cpp | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/code/AssetLib/AC/ACLoader.cpp b/code/AssetLib/AC/ACLoader.cpp index 974e77825..078c96e32 100644 --- a/code/AssetLib/AC/ACLoader.cpp +++ b/code/AssetLib/AC/ACLoader.cpp @@ -116,7 +116,7 @@ inline const char *TAcCheckedLoadFloatArray(const char *buffer, const char *name buffer = AcSkipToNextToken(buffer); if (0 != name_length) { if (0 != strncmp(buffer, name, name_length) || !IsSpace(buffer[name_length])) { - ASSIMP_LOG_ERROR("AC3D: Unexpexted token. " + std::string(name) + " was expected."); + ASSIMP_LOG_ERROR("AC3D: Unexpected token. ", name, " was expected."); return buffer; } buffer += name_length + 1; diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index e12276ea9..253cae47b 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -165,7 +165,6 @@ Logger *DefaultLogger::create(const char *name /*= "AssimpLog.txt"*/, // ---------------------------------------------------------------------------------- void Logger::debugInternal(Assimp::Formatter::format f) { std::string message = f; - // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; @@ -176,7 +175,6 @@ void Logger::debugInternal(Assimp::Formatter::format f) { // ---------------------------------------------------------------------------------- void Logger::verboseDebugInternal(Assimp::Formatter::format f) { std::string message = f; - // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; @@ -187,7 +185,6 @@ void Logger::verboseDebugInternal(Assimp::Formatter::format f) { // ---------------------------------------------------------------------------------- void Logger::infoInternal(Assimp::Formatter::format f) { std::string message = f; - // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; @@ -198,7 +195,6 @@ void Logger::infoInternal(Assimp::Formatter::format f) { // ---------------------------------------------------------------------------------- void Logger::warnInternal(Assimp::Formatter::format f) { std::string message = f; - // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; @@ -209,7 +205,6 @@ void Logger::warnInternal(Assimp::Formatter::format f) { // ---------------------------------------------------------------------------------- void Logger::errorInternal(Assimp::Formatter::format f) { std::string message = f; - // TODO: Should limit sizes in the formatter. // SECURITY FIX: see above if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; From fd5d1211f9aa4012127d6a92370fa00f4c49ffe2 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Mon, 17 May 2021 10:33:00 +0100 Subject: [PATCH 93/99] Recover comment which got dropped --- code/Common/DefaultLogger.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index 253cae47b..913857f85 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -165,7 +165,9 @@ Logger *DefaultLogger::create(const char *name /*= "AssimpLog.txt"*/, // ---------------------------------------------------------------------------------- void Logger::debugInternal(Assimp::Formatter::format f) { std::string message = f; - // SECURITY FIX: see above + // SECURITY FIX: otherwise it's easy to produce overruns since + // sometimes importers will include data from the input file + // (i.e. node names) in their messages. if (message.length() > MAX_LOG_MESSAGE_LENGTH) { return; } From 084dc73b91c65e84db83b4bd94e79b1437c88834 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Mon, 17 May 2021 11:27:21 +0100 Subject: [PATCH 94/99] Fast path for unformatted calls. --- code/Common/DefaultLogger.cpp | 39 ++++++++++---------- include/assimp/Logger.hpp | 69 +++++++++++++++++++++++------------ 2 files changed, 65 insertions(+), 43 deletions(-) diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index 913857f85..4fa9c865b 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -163,55 +163,54 @@ Logger *DefaultLogger::create(const char *name /*= "AssimpLog.txt"*/, } // ---------------------------------------------------------------------------------- -void Logger::debugInternal(Assimp::Formatter::format f) { - std::string message = f; +void Logger::debug(const char *message) { + // SECURITY FIX: otherwise it's easy to produce overruns since // sometimes importers will include data from the input file // (i.e. node names) in their messages. - if (message.length() > MAX_LOG_MESSAGE_LENGTH) { + if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnDebug(message.c_str()); + return OnDebug(message); } // ---------------------------------------------------------------------------------- -void Logger::verboseDebugInternal(Assimp::Formatter::format f) { - std::string message = f; +void Logger::verboseDebug(const char *message) { + // SECURITY FIX: see above - if (message.length() > MAX_LOG_MESSAGE_LENGTH) { + if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnVerboseDebug(message.c_str()); + return OnVerboseDebug(message); } // ---------------------------------------------------------------------------------- -void Logger::infoInternal(Assimp::Formatter::format f) { - std::string message = f; +void Logger::info(const char *message) { + // SECURITY FIX: see above - if (message.length() > MAX_LOG_MESSAGE_LENGTH) { + if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnInfo(message.c_str()); + return OnInfo(message); } // ---------------------------------------------------------------------------------- -void Logger::warnInternal(Assimp::Formatter::format f) { - std::string message = f; +void Logger::warn(const char *message) { + // SECURITY FIX: see above - if (message.length() > MAX_LOG_MESSAGE_LENGTH) { + if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnWarn(message.c_str()); + return OnWarn(message); } // ---------------------------------------------------------------------------------- -void Logger::errorInternal(Assimp::Formatter::format f) { - std::string message = f; +void Logger::error(const char *message) { // SECURITY FIX: see above - if (message.length() > MAX_LOG_MESSAGE_LENGTH) { + if (strlen(message) > MAX_LOG_MESSAGE_LENGTH) { return; } - return OnError(message.c_str()); + return OnError(message); } // ---------------------------------------------------------------------------------- diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index ecbd9df9b..cb9ef3770 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -101,41 +101,51 @@ public: // ---------------------------------------------------------------------- /** @brief Writes a info message * @param message Info message*/ + void debug(const char* message); + template void debug(T&&... args) { - debugInternal(Assimp::Formatter::format(), std::forward(args)...); + debugFormat(Assimp::Formatter::format(), std::forward(args)...); } // ---------------------------------------------------------------------- /** @brief Writes a debug message * @param message Debug message*/ + void verboseDebug(const char* message); + template void verboseDebug(T&&... args) { - verboseDebugInternal(Assimp::Formatter::format(), std::forward(args)...); + verboseDebugFormat(Assimp::Formatter::format(), std::forward(args)...); } // ---------------------------------------------------------------------- /** @brief Writes a info message * @param message Info message*/ + void info(const char* message); + template void info(T&&... args) { - infoInternal(Assimp::Formatter::format(), std::forward(args)...); + infoFormat(Assimp::Formatter::format(), std::forward(args)...); } // ---------------------------------------------------------------------- /** @brief Writes a warning message * @param message Warn message*/ + void warn(const char* message); + template void warn(T&&... args) { - warnInternal(Assimp::Formatter::format(), std::forward(args)...); + warnFormat(Assimp::Formatter::format(), std::forward(args)...); } // ---------------------------------------------------------------------- /** @brief Writes an error message * @param message Info message*/ + void error(const char* message); + template void error(T&&... args) { - errorInternal(Assimp::Formatter::format(), std::forward(args)...); + errorFormat(Assimp::Formatter::format(), std::forward(args)...); } // ---------------------------------------------------------------------- @@ -236,36 +246,49 @@ protected: virtual void OnError(const char* message) = 0; protected: - - void debugInternal(Assimp::Formatter::format f); - void verboseDebugInternal(Assimp::Formatter::format f); - void warnInternal(Assimp::Formatter::format f); - void infoInternal(Assimp::Formatter::format f); - void errorInternal(Assimp::Formatter::format f); - - template - void debugInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - debugInternal(std::move(f << std::forward(u)), std::forward(args)...); + void debugFormat(Assimp::Formatter::format f) { + debug(std::string(f).c_str()); } template - void verboseDebugInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - verboseDebugInternal(std::move(f << std::forward(u)), std::forward(args)...); + void debugFormat(Assimp::Formatter::format f, U&& u, T&&... args) { + debugFormat(std::move(f << std::forward(u)), std::forward(args)...); + } + + void verboseDebugFormat(Assimp::Formatter::format f) { + verboseDebug(std::string(f).c_str()); } template - void warnInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - warnInternal(std::move(f << std::forward(u)), std::forward(args)...); + void verboseDebugFormat(Assimp::Formatter::format f, U&& u, T&&... args) { + verboseDebugFormat(std::move(f << std::forward(u)), std::forward(args)...); + } + + void warnFormat(Assimp::Formatter::format f) { + warn(std::string(f).c_str()); } template - void infoInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - infoInternal(std::move(f << std::forward(u)), std::forward(args)...); + void warnFormat(Assimp::Formatter::format f, U&& u, T&&... args) { + warnFormat(std::move(f << std::forward(u)), std::forward(args)...); + } + + void infoFormat(Assimp::Formatter::format f) { + info(std::string(f).c_str()); } template - void errorInternal(Assimp::Formatter::format f, U&& u, T&&... args) { - errorInternal(std::move(f << std::forward(u)), std::forward(args)...); + void infoFormat(Assimp::Formatter::format f, U&& u, T&&... args) { + infoFormat(std::move(f << std::forward(u)), std::forward(args)...); + } + + void errorFormat(Assimp::Formatter::format f) { + error(std::string(f).c_str()); + } + + template + void errorFormat(Assimp::Formatter::format f, U&& u, T&&... args) { + errorFormat(std::move(f << std::forward(u)), std::forward(args)...); } protected: From 3d3462a621bae404d9704de4523bec9e39da53e1 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Mon, 17 May 2021 11:54:43 +0100 Subject: [PATCH 95/99] Simplify formatting templates. --- include/assimp/Logger.hpp | 55 +++++++-------------------------------- 1 file changed, 9 insertions(+), 46 deletions(-) diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index cb9ef3770..3ca4a6cb2 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -105,7 +105,7 @@ public: template void debug(T&&... args) { - debugFormat(Assimp::Formatter::format(), std::forward(args)...); + debug(formatMessage(std::forward(args)...).c_str()); } // ---------------------------------------------------------------------- @@ -115,7 +115,7 @@ public: template void verboseDebug(T&&... args) { - verboseDebugFormat(Assimp::Formatter::format(), std::forward(args)...); + verboseDebug(formatMessage(std::forward(args)...).c_str()); } // ---------------------------------------------------------------------- @@ -125,7 +125,7 @@ public: template void info(T&&... args) { - infoFormat(Assimp::Formatter::format(), std::forward(args)...); + info(formatMessage(std::forward(args)...).c_str()); } // ---------------------------------------------------------------------- @@ -135,7 +135,7 @@ public: template void warn(T&&... args) { - warnFormat(Assimp::Formatter::format(), std::forward(args)...); + warn(formatMessage(std::forward(args)...).c_str()); } // ---------------------------------------------------------------------- @@ -145,7 +145,7 @@ public: template void error(T&&... args) { - errorFormat(Assimp::Formatter::format(), std::forward(args)...); + error(formatMessage(std::forward(args)...).c_str()); } // ---------------------------------------------------------------------- @@ -244,51 +244,14 @@ protected: * the function is left. */ virtual void OnError(const char* message) = 0; - protected: - void debugFormat(Assimp::Formatter::format f) { - debug(std::string(f).c_str()); + std::string formatMessage(Assimp::Formatter::format f) { + return f; } template - void debugFormat(Assimp::Formatter::format f, U&& u, T&&... args) { - debugFormat(std::move(f << std::forward(u)), std::forward(args)...); - } - - void verboseDebugFormat(Assimp::Formatter::format f) { - verboseDebug(std::string(f).c_str()); - } - - template - void verboseDebugFormat(Assimp::Formatter::format f, U&& u, T&&... args) { - verboseDebugFormat(std::move(f << std::forward(u)), std::forward(args)...); - } - - void warnFormat(Assimp::Formatter::format f) { - warn(std::string(f).c_str()); - } - - template - void warnFormat(Assimp::Formatter::format f, U&& u, T&&... args) { - warnFormat(std::move(f << std::forward(u)), std::forward(args)...); - } - - void infoFormat(Assimp::Formatter::format f) { - info(std::string(f).c_str()); - } - - template - void infoFormat(Assimp::Formatter::format f, U&& u, T&&... args) { - infoFormat(std::move(f << std::forward(u)), std::forward(args)...); - } - - void errorFormat(Assimp::Formatter::format f) { - error(std::string(f).c_str()); - } - - template - void errorFormat(Assimp::Formatter::format f, U&& u, T&&... args) { - errorFormat(std::move(f << std::forward(u)), std::forward(args)...); + std::string formatMessage(Assimp::Formatter::format f, U&& u, T&&... args) { + return formatMessage(std::move(f << std::forward(u)), std::forward(args)...); } protected: From e01a6b427648f30144957c1add05baac21273d17 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 18 May 2021 21:15:48 +0200 Subject: [PATCH 96/99] Add xml doc. --- code/AssetLib/Collada/ColladaParser.cpp | 40 +++----- include/assimp/Exceptional.h | 3 + include/assimp/XmlParser.h | 131 ++++++++++++++++++++++-- test/unit/Common/utXmlParser.cpp | 4 +- test/unit/utImporter.cpp | 116 +++++++++------------ 5 files changed, 189 insertions(+), 105 deletions(-) diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp index 42166fdd4..8e2cb3f9f 100644 --- a/code/AssetLib/Collada/ColladaParser.cpp +++ b/code/AssetLib/Collada/ColladaParser.cpp @@ -623,8 +623,7 @@ void ColladaParser::ReadController(XmlNode &node, Collada::Controller &controlle controller.mType = Skin; controller.mMethod = Normalized; - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { @@ -929,8 +928,7 @@ void ColladaParser::ReadMaterial(XmlNode &node, Collada::Material &pMaterial) { // ------------------------------------------------------------------------------------------------ // Reads a light entry into the given light void ColladaParser::ReadLight(XmlNode &node, Collada::Light &pLight) { - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); @@ -991,10 +989,8 @@ void ColladaParser::ReadLight(XmlNode &node, Collada::Light &pLight) { // ------------------------------------------------------------------------------------------------ // Reads a camera entry into the given light void ColladaParser::ReadCamera(XmlNode &node, Collada::Camera &camera) { - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; - while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); if (currentName == "orthographic") { @@ -1050,11 +1046,10 @@ void ColladaParser::ReadEffect(XmlNode &node, Collada::Effect &pEffect) { // ------------------------------------------------------------------------------------------------ // Reads an COMMON effect profile void ColladaParser::ReadEffectProfileCommon(XmlNode &node, Collada::Effect &pEffect) { - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { - const std::string ¤tName = currentNode.name(); + const std::string currentName = currentNode.name(); if (currentName == "newparam") { // save ID std::string sid = currentNode.attribute("sid").as_string(); @@ -1145,10 +1140,9 @@ void ColladaParser::ReadSamplerProperties(XmlNode &node, Sampler &out) { if (node.empty()) { return; } - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); - XmlNode currentNode; + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); + XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); // MAYA extensions @@ -1208,10 +1202,9 @@ void ColladaParser::ReadEffectColor(XmlNode &node, aiColor4D &pColor, Sampler &p if (node.empty()) { return; } - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); - XmlNode currentNode; + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); + XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); if (currentName == "color") { @@ -1273,8 +1266,7 @@ void ColladaParser::ReadEffectParam(XmlNode &node, Collada::EffectParam &pParam) return; } - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); @@ -1360,8 +1352,7 @@ void ColladaParser::ReadMesh(XmlNode &node, Mesh &pMesh) { return; } - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); @@ -1386,8 +1377,7 @@ void ColladaParser::ReadSource(XmlNode &node) { std::string sourceID; XmlParser::getStdStrAttribute(node, "id", sourceID); - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); @@ -1490,8 +1480,7 @@ void ColladaParser::ReadAccessor(XmlNode &node, const std::string &pID) { acc.mSource = source.c_str() + 1; // ignore the leading '#' acc.mSize = 0; // gets incremented with every param - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); @@ -1608,8 +1597,7 @@ void ColladaParser::ReadIndexData(XmlNode &node, Mesh &pMesh) { ai_assert(primType != Prim_Invalid); // also a number of elements, but in addition a

primitive collection and probably index counts for all primitives - XmlNodeIterator xmlIt(node); - xmlIt.collectChildrenPreOrder(node); + XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode); XmlNode currentNode; while (xmlIt.getNext(currentNode)) { const std::string ¤tName = currentNode.name(); diff --git a/include/assimp/Exceptional.h b/include/assimp/Exceptional.h index 36d60d63a..98e2a3321 100644 --- a/include/assimp/Exceptional.h +++ b/include/assimp/Exceptional.h @@ -71,6 +71,9 @@ protected: * nullptr instead of a valid aiScene then. */ class ASSIMP_API DeadlyImportError : public DeadlyErrorBase { public: + DeadlyImportError(const char *message) : + DeadlyErrorBase(Assimp::Formatter::format(), std::forward(message)) {} + /** Constructor with arguments */ template explicit DeadlyImportError(T&&... args) : diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 91fb9907f..5e63a4e79 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -66,6 +66,8 @@ struct find_node_by_name_predicate { } }; +/// @brief Will convert an attribute to its int value. +/// @tparam TNodeType The node type. template struct NodeConverter { public: @@ -78,19 +80,37 @@ public: using XmlNode = pugi::xml_node; using XmlAttribute = pugi::xml_attribute; +/// @brief The Xml-Parser class. +/// +/// Use this parser if you have to import any kind of xml-format. +/// +/// An example: +/// @code +/// TXmlParser theParser; +/// if (theParser.parse(fileStream)) { +/// auto node = theParser.getRootNode(); +/// for ( auto currentNode : node.children()) { +/// // Will loop over all children +/// } +/// } +/// @endcode +/// @tparam TNodeType template class TXmlParser { public: + /// @brief The default class constructor. TXmlParser() : mDoc(nullptr), mData() { // empty } + /// @brief The class destructor. ~TXmlParser() { clear(); } + /// @brief Will clear the parsed xml-file. void clear() { if(mData.empty()) { mDoc = nullptr; @@ -101,6 +121,9 @@ public: mDoc = nullptr; } + /// @brief Will search for a child-node by its name + /// @param name [in] The name of the child-node. + /// @return The node instance or nullptr, if nothing was found. TNodeType *findNode(const std::string &name) { if (name.empty()) { return nullptr; @@ -119,10 +142,16 @@ public: return &mCurrent; } + /// @brief Will return true, if the node is a child-node. + /// @param name [in] The name of the child node to look for. + /// @return true, if the node is a child-node or false if not. bool hasNode(const std::string &name) { return nullptr != findNode(name); } + /// @brief Will parse an xml-file from a given stream. + /// @param stream The input stream. + /// @return true, if the parsing was successful, false if not. bool parse(IOStream *stream) { if (nullptr == stream) { ASSIMP_LOG_DEBUG("Stream is nullptr."); @@ -138,34 +167,53 @@ public: pugi::xml_parse_result parse_result = mDoc->load_string(&mData[0], pugi::parse_full); if (parse_result.status == pugi::status_ok) { return true; - } else { - ASSIMP_LOG_DEBUG("Error while parse xml."); - return false; - } + } + + ASSIMP_LOG_DEBUG("Error while parse xml."); + return false; } + /// @brief Will return the document pointer, is nullptr if no xml-file was parsed. + /// @return The pointer showing to the document. pugi::xml_document *getDocument() const { return mDoc; } + /// @brief Will return the root node, const version. + /// @return The root node. const TNodeType getRootNode() const { return mDoc->root(); } + /// @brief Will return the root node, non-const version. + /// @return The root node. TNodeType getRootNode() { return mDoc->root(); } + /// @brief Will check if a node with the given name is in. + /// @param node [in] The node to look in. + /// @param name [in] The name of the child-node. + /// @return true, if node was found, false if not. static inline bool hasNode(XmlNode &node, const char *name) { pugi::xml_node child = node.find_child(find_node_by_name_predicate(name)); return !child.empty(); } + /// @brief Will check if an attribute is part of the XmlNode. + /// @param xmlNode [in] The node to search in. + /// @param name [in} The attribute name to look for. + /// @return true, if the was found, false if not. static inline bool hasAttribute(XmlNode &xmlNode, const char *name) { pugi::xml_attribute attr = xmlNode.attribute(name); return !attr.empty(); } + /// @brief Will try to get an unsigned int attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The unsigned int value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is an unsigned int. static inline bool getUIntAttribute(XmlNode &xmlNode, const char *name, unsigned int &val) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { @@ -176,6 +224,11 @@ public: return true; } + /// @brief Will try to get an int attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The int value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is an int. static inline bool getIntAttribute(XmlNode &xmlNode, const char *name, int &val ) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { @@ -186,6 +239,11 @@ public: return true; } + /// @brief Will try to get a real attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The real value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is a real. static inline bool getRealAttribute( XmlNode &xmlNode, const char *name, ai_real &val ) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { @@ -199,7 +257,12 @@ public: return true; } - static inline bool getFloatAttribute(XmlNode &xmlNode, const char *name, float &val ) { + /// @brief Will try to get a float attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The float value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is a float. + static inline bool getFloatAttribute(XmlNode &xmlNode, const char *name, float &val) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { return false; @@ -210,7 +273,12 @@ public: } - static inline bool getDoubleAttribute( XmlNode &xmlNode, const char *name, double &val ) { + /// @brief Will try to get a double attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The double value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is a double. + static inline bool getDoubleAttribute(XmlNode &xmlNode, const char *name, double &val) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { return false; @@ -220,6 +288,11 @@ public: return true; } + /// @brief Will try to get a std::string attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The std::string value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is a std::string. static inline bool getStdStrAttribute(XmlNode &xmlNode, const char *name, std::string &val) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { @@ -230,6 +303,11 @@ public: return true; } + /// @brief Will try to get a bool attribute value. + /// @param xmlNode [in] The node to search in. + /// @param name [in] The attribute name to look for. + /// @param val [out] The bool value from the attribute. + /// @return true, if the node contains an attribute with the given name and if the value is a bool. static inline bool getBoolAttribute( XmlNode &xmlNode, const char *name, bool &val ) { pugi::xml_attribute attr = xmlNode.attribute(name); if (attr.empty()) { @@ -241,6 +319,10 @@ public: } + /// @brief Will try to get the value of the node as a string. + /// @param node [in] The node to search in. + /// @param text [out] The value as a text. + /// @return true, if the value can be read out. static inline bool getValueAsString( XmlNode &node, std::string &text ) { text = std::string(); if (node.empty()) { @@ -252,6 +334,10 @@ public: return true; } + /// @brief Will try to get the value of the node as a float. + /// @param node [in] The node to search in. + /// @param text [out] The value as a float. + /// @return true, if the value can be read out. static inline bool getValueAsFloat( XmlNode &node, ai_real &v ) { if (node.empty()) { return false; @@ -271,17 +357,36 @@ public: using XmlParser = TXmlParser; +/// @brief This class declares an iterator to loop through all children of the root node. class XmlNodeIterator { public: - XmlNodeIterator(XmlNode &parent) : + /// @brief The iteration mode. + enum IterationMode { + PreOrderMode, ///< Pre-ordering, get the values, continue the iteration. + PostOrderMode ///< Post-ordering, continue the iteration, get the values. + }; + /// @brief The class constructor + /// @param parent [in] The xml parent to to iterate through. + /// @param mode [in] The iteration mode. + explicit XmlNodeIterator(XmlNode &parent, IterationMode mode) : mParent(parent), mNodes(), mIndex(0) { + if (mode == PreOrderMode) { + collectChildrenPreOrder(parent); + } else { + collectChildrenPostOrder(parent); + } + } + + /// @brief The class destructor. + ~XmlNodeIterator() { // empty } + /// @brief Will iterate through all children in pre-order iteration. + /// @param node [in] The nod to iterate through. void collectChildrenPreOrder( XmlNode &node ) { - if (node != mParent && node.type() == pugi::node_element) { mNodes.push_back(node); } @@ -290,6 +395,8 @@ public: } } + /// @brief Will iterate through all children in post-order iteration. + /// @param node [in] The nod to iterate through. void collectChildrenPostOrder(XmlNode &node) { for (XmlNode currentNode = node.first_child(); currentNode; currentNode = currentNode.next_sibling()) { collectChildrenPostOrder(currentNode); @@ -299,6 +406,9 @@ public: } } + /// @brief Will iterate through all collected nodes. + /// @param next The next node, if there is any. + /// @return true, if there is a node left. bool getNext(XmlNode &next) { if (mIndex == mNodes.size()) { return false; @@ -310,14 +420,19 @@ public: return true; } + /// @brief Will return the number of collected nodes. + /// @return The number of collected nodes. size_t size() const { return mNodes.size(); } + /// @brief Returns true, if the node is empty. + /// @return true, if the node is empty, false if not. bool isEmpty() const { return mNodes.empty(); } + /// @brief Will clear all collected nodes. void clear() { if (mNodes.empty()) { return; diff --git a/test/unit/Common/utXmlParser.cpp b/test/unit/Common/utXmlParser.cpp index c27669dd1..7e992f9df 100644 --- a/test/unit/Common/utXmlParser.cpp +++ b/test/unit/Common/utXmlParser.cpp @@ -73,9 +73,7 @@ TEST_F(utXmlParser, parse_xml_and_traverse_test) { EXPECT_TRUE(result); XmlNode root = parser.getRootNode(); - XmlNodeIterator nodeIt(root); - EXPECT_TRUE(nodeIt.isEmpty()); - nodeIt.collectChildrenPreOrder(root); + XmlNodeIterator nodeIt(root, XmlNodeIterator::PreOrderMode); const size_t numNodes = nodeIt.size(); bool empty = nodeIt.isEmpty(); EXPECT_FALSE(empty); diff --git a/test/unit/utImporter.cpp b/test/unit/utImporter.cpp index 65b7f99ee..9d3b971a3 100644 --- a/test/unit/utImporter.cpp +++ b/test/unit/utImporter.cpp @@ -280,104 +280,84 @@ TEST_F(ImporterTest, SearchFileHeaderForTokenTest) { // BaseImporter::SearchFileHeaderForToken( &ioSystem, assetPath, Token, 2 ) } +namespace { +// Description for an importer which fails in specific ways. +aiImporterDesc s_failingImporterDescription = { + "Failing importer", + "assimp team", + "", + "", + 0, + 1, + 0, + 1, + 0, + "fail" +}; -namespace -{ - // Description for an importer which fails in specific ways. - aiImporterDesc s_failingImporterDescription = { - "Failing importer", - "assimp team", - "", - "", - 0, - 1, - 0, - 1, - 0, - "fail" - }; +// This importer fails in specific ways. +class FailingImporter : public Assimp::BaseImporter { +public: + virtual ~FailingImporter() = default; + virtual bool CanRead(const std::string &, Assimp::IOSystem *, bool) const override { + return true; + } - // This importer fails in specific ways. - class FailingImporter : public Assimp::BaseImporter { - public: - virtual ~FailingImporter() = default; - virtual bool CanRead( const std::string&, Assimp::IOSystem*, bool ) const override - { - return true; +protected: + const aiImporterDesc *GetInfo() const override { + return &s_failingImporterDescription; + } + + void InternReadFile(const std::string &pFile, aiScene *, Assimp::IOSystem *) override { + if (pFile == "deadlyImportError.fail") { + throw DeadlyImportError("Deadly import error test. Details: ", 42, " More Details: ", "Failure"); + } else if (pFile == "stdException.fail") { + throw std::runtime_error("std::exception test"); + } else if (pFile == "unexpectedException.fail") { + throw 5; } + } +}; +} // namespace - protected: - virtual const aiImporterDesc* GetInfo() const override { return &s_failingImporterDescription; } - - virtual void InternReadFile( const std::string& pFile, aiScene*, Assimp::IOSystem* ) override - { - if (pFile == "deadlyImportError.fail") - { - throw DeadlyImportError("Deadly import error test. Details: ", 42, " More Details: ", "Failure"); - } - else if (pFile == "stdException.fail") - { - throw std::runtime_error("std::exception test"); - } - else if (pFile == "unexpectedException.fail") - { - throw 5; - } - } - }; -} - -TEST_F(ImporterTest, deadlyImportError) -{ +TEST_F(ImporterTest, deadlyImportError) { pImp->RegisterLoader(new FailingImporter); pImp->SetIOHandler(new TestIOSystem); - const aiScene* scene = pImp->ReadFile("deadlyImportError.fail", 0); + const aiScene *scene = pImp->ReadFile("deadlyImportError.fail", 0); EXPECT_EQ(scene, nullptr); EXPECT_STREQ(pImp->GetErrorString(), "Deadly import error test. Details: 42 More Details: Failure"); EXPECT_NE(pImp->GetException(), std::exception_ptr()); } -TEST_F(ImporterTest, stdException) -{ +TEST_F(ImporterTest, stdException) { pImp->RegisterLoader(new FailingImporter); pImp->SetIOHandler(new TestIOSystem); - const aiScene* scene = pImp->ReadFile("stdException.fail", 0); + const aiScene *scene = pImp->ReadFile("stdException.fail", 0); EXPECT_EQ(scene, nullptr); EXPECT_STREQ(pImp->GetErrorString(), "std::exception test"); EXPECT_NE(pImp->GetException(), std::exception_ptr()); - try - { + try { std::rethrow_exception(pImp->GetException()); - } - catch(const std::exception& e) - { + } catch (const std::exception &e) { EXPECT_STREQ(e.what(), "std::exception test"); - } - catch(...) - { + } catch (...) { EXPECT_TRUE(false); } } -TEST_F(ImporterTest, unexpectedException) -{ +TEST_F(ImporterTest, unexpectedException) { pImp->RegisterLoader(new FailingImporter); pImp->SetIOHandler(new TestIOSystem); - const aiScene* scene = pImp->ReadFile("unexpectedException.fail", 0); + const aiScene *scene = pImp->ReadFile("unexpectedException.fail", 0); EXPECT_EQ(scene, nullptr); EXPECT_STREQ(pImp->GetErrorString(), "Unknown exception"); ASSERT_NE(pImp->GetException(), std::exception_ptr()); - try - { + try { std::rethrow_exception(pImp->GetException()); - } - catch(int x) - { + } catch (int x) { EXPECT_EQ(x, 5); - } - catch(...) - { + } catch (...) { EXPECT_TRUE(false); } } From 3726b2eef462f2941d1479e16fc7eea424e3f11e Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 18 May 2021 21:21:43 +0200 Subject: [PATCH 97/99] fix the build --- include/assimp/XmlParser.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 11f937b56..35ab0471e 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -169,7 +169,7 @@ public: return true; } - ASSIMP_LOG_DEBUG("Error while parse xml.", parse_result.description() << " @ ", parse_result.offset); + ASSIMP_LOG_DEBUG("Error while parse xml.", std::string(parse_result.description()), " @ ", parse_result.offset); return false; } From 88ccfedd10d9fb3f90502b4ffed94657ac16d134 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 19 May 2021 00:16:15 +0200 Subject: [PATCH 98/99] Fix possible nullptr dereferences. --- include/assimp/XmlParser.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 35ab0471e..7578eff59 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -183,12 +183,18 @@ public: /// @brief Will return the root node, const version. /// @return The root node. const TNodeType getRootNode() const { + if (nullptr == mDoc) { + return nullptr; + } return mDoc->root(); } /// @brief Will return the root node, non-const version. /// @return The root node. TNodeType getRootNode() { + if (nullptr == mDoc) { + return nullptr; + } return mDoc->root(); } From 20ade095eaeac898d7ce0bc1c6a9d8a120e8e8d1 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 20 May 2021 13:40:44 +0200 Subject: [PATCH 99/99] Return null-type in case of an empty document --- include/assimp/XmlParser.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 7578eff59..18d48f337 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -174,6 +174,11 @@ public: return false; } + /// @brief Will return truem if a root node is there. + /// @return true in case of an existing root. + bool hasRoot() const { + return nullptr != mDoc; + } /// @brief Will return the document pointer, is nullptr if no xml-file was parsed. /// @return The pointer showing to the document. pugi::xml_document *getDocument() const { @@ -183,8 +188,9 @@ public: /// @brief Will return the root node, const version. /// @return The root node. const TNodeType getRootNode() const { + static pugi::xml_node none; if (nullptr == mDoc) { - return nullptr; + return none; } return mDoc->root(); } @@ -192,8 +198,9 @@ public: /// @brief Will return the root node, non-const version. /// @return The root node. TNodeType getRootNode() { + static pugi::xml_node none; if (nullptr == mDoc) { - return nullptr; + return none; } return mDoc->root(); }