Fix typos on code using codespell
parent
2998830d4a
commit
2879e0d6ef
|
@ -71,7 +71,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \def MACRO_ATTRREAD_CHECK_REF
|
/// \def MACRO_ATTRREAD_CHECK_REF
|
||||||
/// Check curent attribute name and if it equal to requested then read value. Result write to output variable by reference. If result was read then
|
/// Check current attribute name and if it equal to requested then read value. Result write to output variable by reference. If result was read then
|
||||||
/// "continue" will called.
|
/// "continue" will called.
|
||||||
/// \param [in] pAttrName - attribute name.
|
/// \param [in] pAttrName - attribute name.
|
||||||
/// \param [out] pVarName - output variable name.
|
/// \param [out] pVarName - output variable name.
|
||||||
|
@ -84,7 +84,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \def MACRO_ATTRREAD_CHECK_RET
|
/// \def MACRO_ATTRREAD_CHECK_RET
|
||||||
/// Check curent attribute name and if it equal to requested then read value. Result write to output variable using return value of \ref pFunction.
|
/// Check current attribute name and if it equal to requested then read value. Result write to output variable using return value of \ref pFunction.
|
||||||
/// If result was read then "continue" will called.
|
/// If result was read then "continue" will called.
|
||||||
/// \param [in] pAttrName - attribute name.
|
/// \param [in] pAttrName - attribute name.
|
||||||
/// \param [out] pVarName - output variable name.
|
/// \param [out] pVarName - output variable name.
|
||||||
|
@ -130,7 +130,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
} while(false)
|
} while(false)
|
||||||
|
|
||||||
/// \def MACRO_NODECHECK_READCOMP_F
|
/// \def MACRO_NODECHECK_READCOMP_F
|
||||||
/// Check curent node name and if it equal to requested then read value. Result write to output variable of type "float".
|
/// Check current node name and if it equal to requested then read value. Result write to output variable of type "float".
|
||||||
/// If result was read then "continue" will called. Also check if node data already read then raise exception.
|
/// If result was read then "continue" will called. Also check if node data already read then raise exception.
|
||||||
/// \param [in] pNodeName - node name.
|
/// \param [in] pNodeName - node name.
|
||||||
/// \param [in, out] pReadFlag - read flag.
|
/// \param [in, out] pReadFlag - read flag.
|
||||||
|
@ -147,7 +147,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \def MACRO_NODECHECK_READCOMP_U32
|
/// \def MACRO_NODECHECK_READCOMP_U32
|
||||||
/// Check curent node name and if it equal to requested then read value. Result write to output variable of type "uint32_t".
|
/// Check current node name and if it equal to requested then read value. Result write to output variable of type "uint32_t".
|
||||||
/// If result was read then "continue" will called. Also check if node data already read then raise exception.
|
/// If result was read then "continue" will called. Also check if node data already read then raise exception.
|
||||||
/// \param [in] pNodeName - node name.
|
/// \param [in] pNodeName - node name.
|
||||||
/// \param [in, out] pReadFlag - read flag.
|
/// \param [in, out] pReadFlag - read flag.
|
||||||
|
|
|
@ -99,7 +99,7 @@ CAMFImporter_NodeElement* ne;
|
||||||
ParseHelper_Node_Exit();
|
ParseHelper_Node_Exit();
|
||||||
// check that all components was defined
|
// check that all components was defined
|
||||||
if(!(read_flag[0] && read_flag[1] && read_flag[2])) throw DeadlyImportError("Not all color components are defined.");
|
if(!(read_flag[0] && read_flag[1] && read_flag[2])) throw DeadlyImportError("Not all color components are defined.");
|
||||||
// check if <a> is absent. Then manualy add "a == 1".
|
// check if <a> is absent. Then manually add "a == 1".
|
||||||
if(!read_flag[3]) als.Color.a = 1;
|
if(!read_flag[3]) als.Color.a = 1;
|
||||||
|
|
||||||
}// if(!mReader->isEmptyElement())
|
}// if(!mReader->isEmptyElement())
|
||||||
|
|
|
@ -770,7 +770,7 @@ std::list<aiNode*> ch_node;
|
||||||
// find referenced object
|
// find referenced object
|
||||||
if(!Find_ConvertedNode(als.ObjectID, pNodeList, &found_node)) Throw_ID_NotFound(als.ObjectID);
|
if(!Find_ConvertedNode(als.ObjectID, pNodeList, &found_node)) Throw_ID_NotFound(als.ObjectID);
|
||||||
|
|
||||||
// create node for apllying transformation
|
// create node for applying transformation
|
||||||
t_node = new aiNode;
|
t_node = new aiNode;
|
||||||
t_node->mParent = con_node;
|
t_node->mParent = con_node;
|
||||||
// apply transformation
|
// apply transformation
|
||||||
|
|
|
@ -427,7 +427,7 @@ public:
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
//! Construct a parser from a given input file which is
|
//! Construct a parser from a given input file which is
|
||||||
//! guaranted to be terminated with zero.
|
//! guaranteed to be terminated with zero.
|
||||||
//! @param szFile Input file
|
//! @param szFile Input file
|
||||||
//! @param fileFormatDefault Assumed file format version. If the
|
//! @param fileFormatDefault Assumed file format version. If the
|
||||||
//! file format is specified in the file the new value replaces
|
//! file format is specified in the file the new value replaces
|
||||||
|
|
|
@ -227,7 +227,7 @@ void DNAParser::Parse ()
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
void DNA :: DumpToFile()
|
void DNA :: DumpToFile()
|
||||||
{
|
{
|
||||||
// we dont't bother using the VFS here for this is only for debugging.
|
// we don't bother using the VFS here for this is only for debugging.
|
||||||
// (and all your bases are belong to us).
|
// (and all your bases are belong to us).
|
||||||
|
|
||||||
std::ofstream f("dna.txt");
|
std::ofstream f("dna.txt");
|
||||||
|
|
|
@ -663,7 +663,7 @@ public:
|
||||||
/** Check whether a specific item is in the cache.
|
/** Check whether a specific item is in the cache.
|
||||||
* @param s Data type of the item
|
* @param s Data type of the item
|
||||||
* @param out Output pointer. Unchanged if the
|
* @param out Output pointer. Unchanged if the
|
||||||
* cache doens't know the item yet.
|
* cache doesn't know the item yet.
|
||||||
* @param ptr Item address to look for. */
|
* @param ptr Item address to look for. */
|
||||||
template <typename T> void get (
|
template <typename T> void get (
|
||||||
const Structure& s,
|
const Structure& s,
|
||||||
|
|
|
@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define INCLUDED_AI_BLEND_TESSELLATOR_H
|
#define INCLUDED_AI_BLEND_TESSELLATOR_H
|
||||||
|
|
||||||
// Use these to toggle between GLU Tessellate or poly2tri
|
// Use these to toggle between GLU Tessellate or poly2tri
|
||||||
// Note (acg) keep GLU Tesselate disabled by default - if it is turned on,
|
// Note (acg) keep GLU Tessellate disabled by default - if it is turned on,
|
||||||
// assimp needs to be linked against GLU, which is currently not yet
|
// assimp needs to be linked against GLU, which is currently not yet
|
||||||
// made configurable in CMake and potentially not wanted by most users
|
// made configurable in CMake and potentially not wanted by most users
|
||||||
// as it requires a Gl environment.
|
// as it requires a Gl environment.
|
||||||
|
|
|
@ -189,7 +189,7 @@ protected:
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
// summarize a material in an convinient way.
|
// summarize a material in an convenient way.
|
||||||
struct Material
|
struct Material
|
||||||
{
|
{
|
||||||
std::string name;
|
std::string name;
|
||||||
|
|
|
@ -956,7 +956,7 @@ void ColladaLoader::StoreSceneMaterials( aiScene* pScene)
|
||||||
// Stores all animations
|
// Stores all animations
|
||||||
void ColladaLoader::StoreAnimations( aiScene* pScene, const ColladaParser& pParser)
|
void ColladaLoader::StoreAnimations( aiScene* pScene, const ColladaParser& pParser)
|
||||||
{
|
{
|
||||||
// recursivly collect all animations from the collada scene
|
// recursively collect all animations from the collada scene
|
||||||
StoreAnimations( pScene, pParser, &pParser.mAnims, "");
|
StoreAnimations( pScene, pParser, &pParser.mAnims, "");
|
||||||
|
|
||||||
// catch special case: many animations with the same length, each affecting only a single node.
|
// catch special case: many animations with the same length, each affecting only a single node.
|
||||||
|
@ -1784,7 +1784,7 @@ aiString ColladaLoader::FindFilenameForEffectTexture( const ColladaParser& pPars
|
||||||
|
|
||||||
// TODO: check the possibility of using the flag "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"
|
// TODO: check the possibility of using the flag "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"
|
||||||
// In FBX files textures are now stored internally by Assimp with their filename included
|
// In FBX files textures are now stored internally by Assimp with their filename included
|
||||||
// Now Assimp can lookup thru the loaded textures after all data is processed
|
// Now Assimp can lookup through the loaded textures after all data is processed
|
||||||
// We need to load all textures before referencing them, as FBX file format order may reference a texture before loading it
|
// We need to load all textures before referencing them, as FBX file format order may reference a texture before loading it
|
||||||
// This may occur on this case too, it has to be studied
|
// This may occur on this case too, it has to be studied
|
||||||
// setup texture reference string
|
// setup texture reference string
|
||||||
|
|
|
@ -1564,7 +1564,7 @@ void Converter::TrySetTextureProperties( aiMaterial* out_mat, const TextureMap&
|
||||||
if (textureReady) {
|
if (textureReady) {
|
||||||
// TODO: check the possibility of using the flag "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"
|
// TODO: check the possibility of using the flag "AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING"
|
||||||
// In FBX files textures are now stored internally by Assimp with their filename included
|
// In FBX files textures are now stored internally by Assimp with their filename included
|
||||||
// Now Assimp can lookup thru the loaded textures after all data is processed
|
// Now Assimp can lookup through the loaded textures after all data is processed
|
||||||
// We need to load all textures before referencing them, as FBX file format order may reference a texture before loading it
|
// We need to load all textures before referencing them, as FBX file format order may reference a texture before loading it
|
||||||
// This may occur on this case too, it has to be studied
|
// This may occur on this case too, it has to be studied
|
||||||
path.data[0] = '*';
|
path.data[0] = '*';
|
||||||
|
|
|
@ -575,11 +575,11 @@ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, bo
|
||||||
ai_assert( count != 0 );
|
ai_assert( count != 0 );
|
||||||
ai_assert( count <= MAX_CLASSNAMES);
|
ai_assert( count <= MAX_CLASSNAMES);
|
||||||
|
|
||||||
size_t lenghts[MAX_CLASSNAMES];
|
size_t lengths[MAX_CLASSNAMES];
|
||||||
|
|
||||||
const size_t c = count;
|
const size_t c = count;
|
||||||
for (size_t i = 0; i < c; ++i) {
|
for (size_t i = 0; i < c; ++i) {
|
||||||
lenghts[ i ] = strlen(classnames[i]);
|
lengths[ i ] = strlen(classnames[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<const Connection*> temp;
|
std::vector<const Connection*> temp;
|
||||||
|
@ -597,7 +597,7 @@ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, bo
|
||||||
|
|
||||||
for (size_t i = 0; i < c; ++i) {
|
for (size_t i = 0; i < c; ++i) {
|
||||||
ai_assert(classnames[i]);
|
ai_assert(classnames[i]);
|
||||||
if(static_cast<size_t>(std::distance(key.begin(),key.end())) == lenghts[i] && !strncmp(classnames[i],obtype,lenghts[i])) {
|
if(static_cast<size_t>(std::distance(key.begin(),key.end())) == lengths[i] && !strncmp(classnames[i],obtype,lengths[i])) {
|
||||||
obtype = NULL;
|
obtype = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -450,7 +450,7 @@ void FBXExporter::WriteDocuments ()
|
||||||
p.AddP70string("ActiveAnimStackName", ""); // should do this properly?
|
p.AddP70string("ActiveAnimStackName", ""); // should do this properly?
|
||||||
doc.AddChild(p);
|
doc.AddChild(p);
|
||||||
|
|
||||||
// UID for root node in scene heirarchy.
|
// UID for root node in scene hierarchy.
|
||||||
// always set to 0 in the case of a single document.
|
// always set to 0 in the case of a single document.
|
||||||
// not sure what happens if more than one document exists,
|
// not sure what happens if more than one document exists,
|
||||||
// but that won't matter to us as we're exporting a single scene.
|
// but that won't matter to us as we're exporting a single scene.
|
||||||
|
@ -650,7 +650,7 @@ void FBXExporter::WriteDefinitions ()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Model / FbxNode
|
// Model / FbxNode
|
||||||
// <~~ node heirarchy
|
// <~~ node hierarchy
|
||||||
count = int32_t(count_nodes(mScene->mRootNode)) - 1; // (not counting root node)
|
count = int32_t(count_nodes(mScene->mRootNode)) - 1; // (not counting root node)
|
||||||
if (count) {
|
if (count) {
|
||||||
n = FBX::Node("ObjectType", "Model");
|
n = FBX::Node("ObjectType", "Model");
|
||||||
|
@ -1223,7 +1223,7 @@ void FBXExporter::WriteObjects ()
|
||||||
// it's all about this material
|
// it's all about this material
|
||||||
aiMaterial* m = mScene->mMaterials[i];
|
aiMaterial* m = mScene->mMaterials[i];
|
||||||
|
|
||||||
// these are used to recieve material data
|
// these are used to receive material data
|
||||||
float f; aiColor3D c;
|
float f; aiColor3D c;
|
||||||
|
|
||||||
// start the node record
|
// start the node record
|
||||||
|
@ -1311,7 +1311,7 @@ void FBXExporter::WriteObjects ()
|
||||||
// Now the legacy system.
|
// Now the legacy system.
|
||||||
// For safety let's include it.
|
// For safety let's include it.
|
||||||
// thrse values don't exist in the property template,
|
// thrse values don't exist in the property template,
|
||||||
// and usualy are completely ignored when loading.
|
// and usually are completely ignored when loading.
|
||||||
// One notable exception is the "Opacity" property,
|
// One notable exception is the "Opacity" property,
|
||||||
// which Blender uses as (1.0 - alpha).
|
// which Blender uses as (1.0 - alpha).
|
||||||
c.r = 0.0f; c.g = 0.0f; c.b = 0.0f;
|
c.r = 0.0f; c.g = 0.0f; c.b = 0.0f;
|
||||||
|
@ -1532,7 +1532,7 @@ void FBXExporter::WriteObjects ()
|
||||||
// bones.
|
// bones.
|
||||||
//
|
//
|
||||||
// output structure:
|
// output structure:
|
||||||
// subset of node heirarchy that are "skeleton",
|
// subset of node hierarchy that are "skeleton",
|
||||||
// i.e. do not have meshes but only bones.
|
// i.e. do not have meshes but only bones.
|
||||||
// but.. i'm not sure how anyone could guarantee that...
|
// but.. i'm not sure how anyone could guarantee that...
|
||||||
//
|
//
|
||||||
|
@ -1544,7 +1544,7 @@ void FBXExporter::WriteObjects ()
|
||||||
//
|
//
|
||||||
// well. we can assume a sane input, i suppose.
|
// well. we can assume a sane input, i suppose.
|
||||||
//
|
//
|
||||||
// so input is the bone node heirarchy,
|
// so input is the bone node hierarchy,
|
||||||
// with an extra thing for the transformation of the MESH in BONE space.
|
// with an extra thing for the transformation of the MESH in BONE space.
|
||||||
//
|
//
|
||||||
// output is a set of bone nodes,
|
// output is a set of bone nodes,
|
||||||
|
@ -1556,7 +1556,7 @@ void FBXExporter::WriteObjects ()
|
||||||
// and represents the influence of that bone on the grandparent mesh.
|
// and represents the influence of that bone on the grandparent mesh.
|
||||||
// the subdeformer has a list of indices, and weights,
|
// the subdeformer has a list of indices, and weights,
|
||||||
// with indices specifying vertex indices,
|
// with indices specifying vertex indices,
|
||||||
// and weights specifying the correspoding influence of this bone.
|
// and weights specifying the corresponding influence of this bone.
|
||||||
// it also has Transform and TransformLink elements,
|
// it also has Transform and TransformLink elements,
|
||||||
// specifying the transform of the MESH in BONE space,
|
// specifying the transform of the MESH in BONE space,
|
||||||
// and the transformation of the BONE in WORLD space,
|
// and the transformation of the BONE in WORLD space,
|
||||||
|
@ -1806,7 +1806,7 @@ void FBXExporter::WriteObjects ()
|
||||||
// and a correct skeleton would still be output.
|
// and a correct skeleton would still be output.
|
||||||
|
|
||||||
// transformlink should be the position of the bone in world space.
|
// transformlink should be the position of the bone in world space.
|
||||||
// if the bone is in the bind pose (or nonexistant),
|
// if the bone is in the bind pose (or nonexistent),
|
||||||
// we can just use the matrix we already calculated
|
// we can just use the matrix we already calculated
|
||||||
if (bone_xform_okay) {
|
if (bone_xform_okay) {
|
||||||
sdnode.AddChild("TransformLink", bone_xform);
|
sdnode.AddChild("TransformLink", bone_xform);
|
||||||
|
@ -1945,7 +1945,7 @@ void FBXExporter::WriteObjects ()
|
||||||
|
|
||||||
// TODO: cameras, lights
|
// TODO: cameras, lights
|
||||||
|
|
||||||
// write nodes (i.e. model heirarchy)
|
// write nodes (i.e. model hierarchy)
|
||||||
// start at root node
|
// start at root node
|
||||||
WriteModelNodes(
|
WriteModelNodes(
|
||||||
outstream, mScene->mRootNode, 0, limbnodes
|
outstream, mScene->mRootNode, 0, limbnodes
|
||||||
|
@ -2203,8 +2203,8 @@ void FBXExporter::WriteModelNode(
|
||||||
} else {
|
} else {
|
||||||
// apply the transformation chain.
|
// apply the transformation chain.
|
||||||
// these transformation elements are created when importing FBX,
|
// these transformation elements are created when importing FBX,
|
||||||
// which has a complex transformation heirarchy for each node.
|
// which has a complex transformation hierarchy for each node.
|
||||||
// as such we can bake the heirarchy back into the node on export.
|
// as such we can bake the hierarchy back into the node on export.
|
||||||
for (auto &item : transform_chain) {
|
for (auto &item : transform_chain) {
|
||||||
auto elem = transform_types.find(item.first);
|
auto elem = transform_types.find(item.first);
|
||||||
if (elem == transform_types.end()) {
|
if (elem == transform_types.end()) {
|
||||||
|
|
|
@ -90,7 +90,7 @@ namespace Assimp
|
||||||
const ExportProperties* mProperties; // currently unused
|
const ExportProperties* mProperties; // currently unused
|
||||||
std::shared_ptr<IOStream> outfile; // file to write to
|
std::shared_ptr<IOStream> outfile; // file to write to
|
||||||
|
|
||||||
std::vector<FBX::Node> connections; // conection storage
|
std::vector<FBX::Node> connections; // connection storage
|
||||||
|
|
||||||
std::vector<int64_t> mesh_uids;
|
std::vector<int64_t> mesh_uids;
|
||||||
std::vector<int64_t> material_uids;
|
std::vector<int64_t> material_uids;
|
||||||
|
|
|
@ -302,7 +302,7 @@ Video::Video(uint64_t id, const Element& element, const Document& doc, const std
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Content) {
|
if(Content) {
|
||||||
//this field is ommited when the embedded texture is already loaded, let's ignore if it's not found
|
//this field is omitted when the embedded texture is already loaded, let's ignore if it's not found
|
||||||
try {
|
try {
|
||||||
const Token& token = GetRequiredToken(*Content, 0);
|
const Token& token = GetRequiredToken(*Content, 0);
|
||||||
const char* data = token.begin();
|
const char* data = token.begin();
|
||||||
|
|
|
@ -161,7 +161,7 @@ void FindDegeneratesProcess::ExecuteOnMesh( aiMesh* mesh) {
|
||||||
|
|
||||||
// NOTE: we set the removed vertex index to an unique value
|
// NOTE: we set the removed vertex index to an unique value
|
||||||
// to make sure the developer gets notified when his
|
// to make sure the developer gets notified when his
|
||||||
// application attemps to access this data.
|
// application attempts to access this data.
|
||||||
face.mIndices[ face.mNumIndices ] = 0xdeadbeef;
|
face.mIndices[ face.mNumIndices ] = 0xdeadbeef;
|
||||||
|
|
||||||
if(first) {
|
if(first) {
|
||||||
|
|
|
@ -91,7 +91,7 @@ protected:
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
/** Read a property of the specified type from the current XML element.
|
/** Read a property of the specified type from the current XML element.
|
||||||
* @param out Recives output data
|
* @param out Receives output data
|
||||||
*/
|
*/
|
||||||
void ReadHexProperty (HexProperty& out);
|
void ReadHexProperty (HexProperty& out);
|
||||||
void ReadStringProperty (StringProperty& out);
|
void ReadStringProperty (StringProperty& out);
|
||||||
|
|
|
@ -997,33 +997,33 @@ bool Importer::SetPropertyInteger(const char* szName, int iValue)
|
||||||
// Set a configuration property
|
// Set a configuration property
|
||||||
bool Importer::SetPropertyFloat(const char* szName, ai_real iValue)
|
bool Importer::SetPropertyFloat(const char* szName, ai_real iValue)
|
||||||
{
|
{
|
||||||
bool exising;
|
bool existing;
|
||||||
ASSIMP_BEGIN_EXCEPTION_REGION();
|
ASSIMP_BEGIN_EXCEPTION_REGION();
|
||||||
exising = SetGenericProperty<ai_real>(pimpl->mFloatProperties, szName,iValue);
|
existing = SetGenericProperty<ai_real>(pimpl->mFloatProperties, szName,iValue);
|
||||||
ASSIMP_END_EXCEPTION_REGION(bool);
|
ASSIMP_END_EXCEPTION_REGION(bool);
|
||||||
return exising;
|
return existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
// Set a configuration property
|
// Set a configuration property
|
||||||
bool Importer::SetPropertyString(const char* szName, const std::string& value)
|
bool Importer::SetPropertyString(const char* szName, const std::string& value)
|
||||||
{
|
{
|
||||||
bool exising;
|
bool existing;
|
||||||
ASSIMP_BEGIN_EXCEPTION_REGION();
|
ASSIMP_BEGIN_EXCEPTION_REGION();
|
||||||
exising = SetGenericProperty<std::string>(pimpl->mStringProperties, szName,value);
|
existing = SetGenericProperty<std::string>(pimpl->mStringProperties, szName,value);
|
||||||
ASSIMP_END_EXCEPTION_REGION(bool);
|
ASSIMP_END_EXCEPTION_REGION(bool);
|
||||||
return exising;
|
return existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
// Set a configuration property
|
// Set a configuration property
|
||||||
bool Importer::SetPropertyMatrix(const char* szName, const aiMatrix4x4& value)
|
bool Importer::SetPropertyMatrix(const char* szName, const aiMatrix4x4& value)
|
||||||
{
|
{
|
||||||
bool exising;
|
bool existing;
|
||||||
ASSIMP_BEGIN_EXCEPTION_REGION();
|
ASSIMP_BEGIN_EXCEPTION_REGION();
|
||||||
exising = SetGenericProperty<aiMatrix4x4>(pimpl->mMatrixProperties, szName,value);
|
existing = SetGenericProperty<aiMatrix4x4>(pimpl->mMatrixProperties, szName,value);
|
||||||
ASSIMP_END_EXCEPTION_REGION(bool);
|
ASSIMP_END_EXCEPTION_REGION(bool);
|
||||||
return exising;
|
return existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -317,7 +317,7 @@ void TempMesh::FixupFaceOrientation()
|
||||||
IfcVector3 farthestCenter = std::accumulate(mVerts.begin() + faceStartIndices[farthestIndex],
|
IfcVector3 farthestCenter = std::accumulate(mVerts.begin() + faceStartIndices[farthestIndex],
|
||||||
mVerts.begin() + faceStartIndices[farthestIndex] + mVertcnt[farthestIndex], IfcVector3(0.0))
|
mVerts.begin() + faceStartIndices[farthestIndex] + mVertcnt[farthestIndex], IfcVector3(0.0))
|
||||||
/ IfcFloat(mVertcnt[farthestIndex]);
|
/ IfcFloat(mVertcnt[farthestIndex]);
|
||||||
// We accapt a bit of negative orientation without reversing. In case of doubt, prefer the orientation given in
|
// We accept a bit of negative orientation without reversing. In case of doubt, prefer the orientation given in
|
||||||
// the file.
|
// the file.
|
||||||
if( (farthestNormal * (farthestCenter - vavg).Normalize()) < -0.4 )
|
if( (farthestNormal * (farthestCenter - vavg).Normalize()) < -0.4 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -118,7 +118,7 @@ bool areVerticesEqual(const Vertex &lhs, const Vertex &rhs, bool complex)
|
||||||
// Squared because we check against squared length of the vector difference
|
// Squared because we check against squared length of the vector difference
|
||||||
static const float squareEpsilon = epsilon * epsilon;
|
static const float squareEpsilon = epsilon * epsilon;
|
||||||
|
|
||||||
// Square compare is useful for animeshes vertexes compare
|
// Square compare is useful for animeshes vertices compare
|
||||||
if ((lhs.position - rhs.position).SquareLength() > squareEpsilon) {
|
if ((lhs.position - rhs.position).SquareLength() > squareEpsilon) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -410,7 +410,7 @@ void LWSImporter::BuildGraph(aiNode* nd, LWS::NodeDesc& src, std::vector<Attachm
|
||||||
// name to attach light to node -> unique due to LWs indexing system
|
// name to attach light to node -> unique due to LWs indexing system
|
||||||
lit->mName = nd->mName;
|
lit->mName = nd->mName;
|
||||||
|
|
||||||
// detemine light type and setup additional members
|
// determine light type and setup additional members
|
||||||
if (src.lightType == 2) { /* spot light */
|
if (src.lightType == 2) { /* spot light */
|
||||||
|
|
||||||
lit->mType = aiLightSource_SPOT;
|
lit->mType = aiLightSource_SPOT;
|
||||||
|
|
|
@ -141,7 +141,7 @@ void MDLImporter::SetupProperties(const Importer* pImp)
|
||||||
configFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_GLOBAL_KEYFRAME,0);
|
configFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_GLOBAL_KEYFRAME,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// AI_CONFIG_IMPORT_MDL_COLORMAP - pallette file
|
// AI_CONFIG_IMPORT_MDL_COLORMAP - palette file
|
||||||
configPalette = pImp->GetPropertyString(AI_CONFIG_IMPORT_MDL_COLORMAP,"colormap.lmp");
|
configPalette = pImp->GetPropertyString(AI_CONFIG_IMPORT_MDL_COLORMAP,"colormap.lmp");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1496,7 +1496,7 @@ void MDLImporter::InternReadFile_3DGS_MDL7( )
|
||||||
groupData.vTextureCoords1.resize(iNumVertices,aiVector3D());
|
groupData.vTextureCoords1.resize(iNumVertices,aiVector3D());
|
||||||
|
|
||||||
// check whether the triangle data structure is large enough
|
// check whether the triangle data structure is large enough
|
||||||
// to contain a second UV coodinate set
|
// to contain a second UV coordinate set
|
||||||
if (pcHeader->triangle_stc_size >= AI_MDL7_TRIANGLE_STD_SIZE_TWO_UV) {
|
if (pcHeader->triangle_stc_size >= AI_MDL7_TRIANGLE_STD_SIZE_TWO_UV) {
|
||||||
groupData.vTextureCoords2.resize(iNumVertices,aiVector3D());
|
groupData.vTextureCoords2.resize(iNumVertices,aiVector3D());
|
||||||
groupData.bNeed2UV = true;
|
groupData.bNeed2UV = true;
|
||||||
|
|
|
@ -217,7 +217,7 @@ aiMesh *MMDImporter::CreateMesh(const pmx::PmxModel *pModel,
|
||||||
pMesh->mNumFaces = indexCount / 3;
|
pMesh->mNumFaces = indexCount / 3;
|
||||||
pMesh->mFaces = new aiFace[pMesh->mNumFaces];
|
pMesh->mFaces = new aiFace[pMesh->mNumFaces];
|
||||||
|
|
||||||
const int numIndices = 3; // trianglular face
|
const int numIndices = 3; // triangular face
|
||||||
for (unsigned int index = 0; index < pMesh->mNumFaces; index++) {
|
for (unsigned int index = 0; index < pMesh->mNumFaces; index++) {
|
||||||
pMesh->mFaces[index].mNumIndices = numIndices;
|
pMesh->mFaces[index].mNumIndices = numIndices;
|
||||||
unsigned int *indices = new unsigned int[numIndices];
|
unsigned int *indices = new unsigned int[numIndices];
|
||||||
|
|
|
@ -271,7 +271,7 @@ void NFFImporter::InternReadFile( const std::string& pFile,
|
||||||
|
|
||||||
ShadingInfo s; // current material info
|
ShadingInfo s; // current material info
|
||||||
|
|
||||||
// degree of tesselation
|
// degree of tessellation
|
||||||
unsigned int iTesselation = 4;
|
unsigned int iTesselation = 4;
|
||||||
|
|
||||||
// some temporary variables we need to parse the file
|
// some temporary variables we need to parse the file
|
||||||
|
@ -988,7 +988,7 @@ void NFFImporter::InternReadFile( const std::string& pFile,
|
||||||
::ai_snprintf(currentMesh.name,128,"cone_%i",cone++);
|
::ai_snprintf(currentMesh.name,128,"cone_%i",cone++);
|
||||||
else ::ai_snprintf(currentMesh.name,128,"cylinder_%i",cylinder++);
|
else ::ai_snprintf(currentMesh.name,128,"cylinder_%i",cylinder++);
|
||||||
}
|
}
|
||||||
// 'tess' - tesselation
|
// 'tess' - tessellation
|
||||||
else if (TokenMatch(sz,"tess",4))
|
else if (TokenMatch(sz,"tess",4))
|
||||||
{
|
{
|
||||||
SkipSpaces(&sz);
|
SkipSpaces(&sz);
|
||||||
|
|
|
@ -691,7 +691,7 @@ void OpenGEXImporter::handleTransformNode( ODDLParser::DDLNode *node, aiScene *
|
||||||
void OpenGEXImporter::handleMeshNode( ODDLParser::DDLNode *node, aiScene *pScene ) {
|
void OpenGEXImporter::handleMeshNode( ODDLParser::DDLNode *node, aiScene *pScene ) {
|
||||||
m_currentMesh = new aiMesh;
|
m_currentMesh = new aiMesh;
|
||||||
const size_t meshidx( m_meshCache.size() );
|
const size_t meshidx( m_meshCache.size() );
|
||||||
// ownership is transfered but a reference remains in m_currentMesh
|
// ownership is transferred but a reference remains in m_currentMesh
|
||||||
m_meshCache.emplace_back( m_currentMesh );
|
m_meshCache.emplace_back( m_currentMesh );
|
||||||
|
|
||||||
Property *prop = node->getProperties();
|
Property *prop = node->getProperties();
|
||||||
|
|
|
@ -102,7 +102,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
/** @brief Rmeove a node from the list of locked nodes.
|
/** @brief Remove a node from the list of locked nodes.
|
||||||
* @param name Name to be unlocked
|
* @param name Name to be unlocked
|
||||||
*/
|
*/
|
||||||
inline void RemoveLockedNode(std::string& name)
|
inline void RemoveLockedNode(std::string& name)
|
||||||
|
|
|
@ -212,7 +212,7 @@ template <> struct MinMaxChooser<aiVertexWeight> {
|
||||||
// -------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------
|
||||||
/** @brief Find the min/max values of an array of Ts
|
/** @brief Find the min/max values of an array of Ts
|
||||||
* @param in Input array
|
* @param in Input array
|
||||||
* @param size Numebr of elements to process
|
* @param size Number of elements to process
|
||||||
* @param[out] min minimum value
|
* @param[out] min minimum value
|
||||||
* @param[out] max maximum value
|
* @param[out] max maximum value
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -104,7 +104,7 @@ void ScenePreprocessor::ProcessMesh (aiMesh* mesh)
|
||||||
|
|
||||||
aiVector3D* p = mesh->mTextureCoords[i], *end = p+mesh->mNumVertices;
|
aiVector3D* p = mesh->mTextureCoords[i], *end = p+mesh->mNumVertices;
|
||||||
|
|
||||||
// Ensure unsued components are zeroed. This will make 1D texture channels work
|
// Ensure unused components are zeroed. This will make 1D texture channels work
|
||||||
// as if they were 2D channels .. just in case an application doesn't handle
|
// as if they were 2D channels .. just in case an application doesn't handle
|
||||||
// this case
|
// this case
|
||||||
if (2 == mesh->mNumUVComponents[i]) {
|
if (2 == mesh->mNumUVComponents[i]) {
|
||||||
|
|
|
@ -377,7 +377,7 @@ void StandardShapes::MakeSphere(unsigned int tess,
|
||||||
MakeIcosahedron(positions);
|
MakeIcosahedron(positions);
|
||||||
|
|
||||||
// ... and subdivide it until the requested output
|
// ... and subdivide it until the requested output
|
||||||
// tesselation is reached
|
// tessellation is reached
|
||||||
for (unsigned int i = 0; i<tess;++i)
|
for (unsigned int i = 0; i<tess;++i)
|
||||||
Subdivide(positions);
|
Subdivide(positions);
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,7 +162,7 @@ void StepExporter::WriteFile()
|
||||||
// see http://shodhganga.inflibnet.ac.in:8080/jspui/bitstream/10603/14116/11/11_chapter%203.pdf
|
// see http://shodhganga.inflibnet.ac.in:8080/jspui/bitstream/10603/14116/11/11_chapter%203.pdf
|
||||||
// note, that all realnumber values must be comma separated in x files
|
// note, that all realnumber values must be comma separated in x files
|
||||||
mOutput.setf(std::ios::fixed);
|
mOutput.setf(std::ios::fixed);
|
||||||
// precission for double
|
// precision for double
|
||||||
// see http://stackoverflow.com/questions/554063/how-do-i-print-a-double-value-with-full-precision-using-cout
|
// see http://stackoverflow.com/questions/554063/how-do-i-print-a-double-value-with-full-precision-using-cout
|
||||||
mOutput.precision(16);
|
mOutput.precision(16);
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ void TextureTransformStep::PreProcessUVTransform(STransformVecInfo& info)
|
||||||
{
|
{
|
||||||
/* This function tries to simplify the input UV transformation.
|
/* This function tries to simplify the input UV transformation.
|
||||||
* That's very important as it allows us to reduce the number
|
* That's very important as it allows us to reduce the number
|
||||||
* of output UV channels. The oder in which the transformations
|
* of output UV channels. The order in which the transformations
|
||||||
* are applied is - as always - scaling, rotation, translation.
|
* are applied is - as always - scaling, rotation, translation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ static const unsigned int MajorVersion = 4;
|
||||||
static const unsigned int MinorVersion = 1;
|
static const unsigned int MinorVersion = 1;
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------
|
||||||
// Legal information string - dont't remove this.
|
// Legal information string - don't remove this.
|
||||||
static const char* LEGAL_INFORMATION =
|
static const char* LEGAL_INFORMATION =
|
||||||
|
|
||||||
"Open Asset Import Library (Assimp).\n"
|
"Open Asset Import Library (Assimp).\n"
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace Assimp
|
||||||
/// Limitations.
|
/// Limitations.
|
||||||
///
|
///
|
||||||
/// Pay attention that X3D is format for interactive graphic and simulations for web browsers. aiScene can not contain all features of the X3D format.
|
/// Pay attention that X3D is format for interactive graphic and simulations for web browsers. aiScene can not contain all features of the X3D format.
|
||||||
/// Also, aiScene contain rasterized-like data. For example, X3D can describe circle all cylinder with one tag, but aiScene contain result of tesselation:
|
/// Also, aiScene contain rasterized-like data. For example, X3D can describe circle all cylinder with one tag, but aiScene contain result of tessellation:
|
||||||
/// vertices, faces etc. Yes, you can use algorithm for detecting figures or shapes, but that's not a good idea at all.
|
/// vertices, faces etc. Yes, you can use algorithm for detecting figures or shapes, but that's not a good idea at all.
|
||||||
///
|
///
|
||||||
/// Supported nodes:
|
/// Supported nodes:
|
||||||
|
|
|
@ -522,7 +522,7 @@ private:
|
||||||
/// \param [in] pStartAngle - angle in radians of start of the arc.
|
/// \param [in] pStartAngle - angle in radians of start of the arc.
|
||||||
/// \param [in] pEndAngle - angle in radians of end of the arc.
|
/// \param [in] pEndAngle - angle in radians of end of the arc.
|
||||||
/// \param [in] pRadius - radius of the arc.
|
/// \param [in] pRadius - radius of the arc.
|
||||||
/// \param [out] pNumSegments - number of segments in arc. In other words - tesselation factor.
|
/// \param [out] pNumSegments - number of segments in arc. In other words - tessellation factor.
|
||||||
/// \param [out] pVertices - generated vertices.
|
/// \param [out] pVertices - generated vertices.
|
||||||
void GeometryHelper_Make_Arc2D(const float pStartAngle, const float pEndAngle, const float pRadius, size_t pNumSegments, std::list<aiVector3D>& pVertices);
|
void GeometryHelper_Make_Arc2D(const float pStartAngle, const float pEndAngle, const float pRadius, size_t pNumSegments, std::list<aiVector3D>& pVertices);
|
||||||
|
|
||||||
|
|
|
@ -136,7 +136,7 @@ void X3DImporter::ParseNode_Geometry3D_Cone()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const unsigned int tess = 30;///TODO: IME tesselation factor through ai_property
|
const unsigned int tess = 30;///TODO: IME tessellation factor through ai_property
|
||||||
|
|
||||||
std::vector<aiVector3D> tvec;// temp array for vertices.
|
std::vector<aiVector3D> tvec;// temp array for vertices.
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ void X3DImporter::ParseNode_Geometry3D_Cylinder()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const unsigned int tess = 30;///TODO: IME tesselation factor through ai_property
|
const unsigned int tess = 30;///TODO: IME tessellation factor through ai_property
|
||||||
|
|
||||||
std::vector<aiVector3D> tside;// temp array for vertices of side.
|
std::vector<aiVector3D> tside;// temp array for vertices of side.
|
||||||
std::vector<aiVector3D> tcir;// temp array for vertices of circle.
|
std::vector<aiVector3D> tcir;// temp array for vertices of circle.
|
||||||
|
@ -480,7 +480,7 @@ static aiVector3D GeometryHelper_Extrusion_GetNextY(const size_t pSpine_PointIdx
|
||||||
tvec = pSpine[1] - pSpine[0];
|
tvec = pSpine[1] - pSpine[0];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{// The Y-axis used for the last point it is the vector from spine[n-2] to spine[n-1]. In our case(see above about droping tail) spine[n - 1] is
|
{// The Y-axis used for the last point it is the vector from spine[n-2] to spine[n-1]. In our case(see above about dropping tail) spine[n - 1] is
|
||||||
// the spine[0].
|
// the spine[0].
|
||||||
tvec = pSpine[spine_idx_last] - pSpine[spine_idx_last - 1];
|
tvec = pSpine[spine_idx_last] - pSpine[spine_idx_last - 1];
|
||||||
}
|
}
|
||||||
|
@ -967,7 +967,7 @@ void X3DImporter::ParseNode_Geometry3D_Sphere()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const unsigned int tess = 3;///TODO: IME tesselation factor through ai_property
|
const unsigned int tess = 3;///TODO: IME tessellation factor through ai_property
|
||||||
|
|
||||||
std::vector<aiVector3D> tlist;
|
std::vector<aiVector3D> tlist;
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \def MACRO_ATTRREAD_CHECK_REF
|
/// \def MACRO_ATTRREAD_CHECK_REF
|
||||||
/// Check curent attribute name and if it equal to requested then read value. Result write to output variable by reference. If result was read then
|
/// Check current attribute name and if it equal to requested then read value. Result write to output variable by reference. If result was read then
|
||||||
/// "continue" will called.
|
/// "continue" will called.
|
||||||
/// \param [in] pAttrName - attribute name.
|
/// \param [in] pAttrName - attribute name.
|
||||||
/// \param [out] pVarName - output variable name.
|
/// \param [out] pVarName - output variable name.
|
||||||
|
@ -89,7 +89,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \def MACRO_ATTRREAD_CHECK_RET
|
/// \def MACRO_ATTRREAD_CHECK_RET
|
||||||
/// Check curent attribute name and if it equal to requested then read value. Result write to output variable using return value of \ref pFunction.
|
/// Check current attribute name and if it equal to requested then read value. Result write to output variable using return value of \ref pFunction.
|
||||||
/// If result was read then "continue" will called.
|
/// If result was read then "continue" will called.
|
||||||
/// \param [in] pAttrName - attribute name.
|
/// \param [in] pAttrName - attribute name.
|
||||||
/// \param [out] pVarName - output variable name.
|
/// \param [out] pVarName - output variable name.
|
||||||
|
|
|
@ -79,7 +79,7 @@ namespace Assimp
|
||||||
if(!mReader->isEmptyElement()) \
|
if(!mReader->isEmptyElement()) \
|
||||||
ParseNode_Metadata(pNE, pMetaName);/* in that case node element will be added to child elements list of current node. */ \
|
ParseNode_Metadata(pNE, pMetaName);/* in that case node element will be added to child elements list of current node. */ \
|
||||||
else \
|
else \
|
||||||
NodeElement_Cur->Child.push_back(pNE);/* else - add element to child list manualy */ \
|
NodeElement_Cur->Child.push_back(pNE);/* else - add element to child list manually */ \
|
||||||
\
|
\
|
||||||
NodeElement_List.push_back(pNE);/* add new element to elements list. */ \
|
NodeElement_List.push_back(pNE);/* add new element to elements list. */ \
|
||||||
}/* if(!pUSE_Var.empty()) else */ \
|
}/* if(!pUSE_Var.empty()) else */ \
|
||||||
|
|
|
@ -132,7 +132,7 @@ void XFileExporter::WriteFile()
|
||||||
{
|
{
|
||||||
// note, that all realnumber values must be comma separated in x files
|
// note, that all realnumber values must be comma separated in x files
|
||||||
mOutput.setf(std::ios::fixed);
|
mOutput.setf(std::ios::fixed);
|
||||||
mOutput.precision(16); // precission for double
|
mOutput.precision(16); // precision for double
|
||||||
|
|
||||||
// entry of writing the file
|
// entry of writing the file
|
||||||
WriteHeader();
|
WriteHeader();
|
||||||
|
|
|
@ -498,7 +498,7 @@ aiMatrix4x4 XGLImporter::ReadTrafo()
|
||||||
right = forward ^ up;
|
right = forward ^ up;
|
||||||
if (std::fabs(up * forward) > 1e-4) {
|
if (std::fabs(up * forward) > 1e-4) {
|
||||||
// this is definitely wrong - a degenerate coordinate space ruins everything
|
// this is definitely wrong - a degenerate coordinate space ruins everything
|
||||||
// so subtitute identity transform.
|
// so substitute identity transform.
|
||||||
LogError("<forward> and <up> vectors in <transform> are skewing, ignoring trafo");
|
LogError("<forward> and <up> vectors in <transform> are skewing, ignoring trafo");
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
|
@ -386,7 +386,7 @@ namespace glTF2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//! Base classe for all glTF top-level objects
|
//! Base class for all glTF top-level objects
|
||||||
struct Object
|
struct Object
|
||||||
{
|
{
|
||||||
int index; //!< The index of this object within its property container
|
int index; //!< The index of this object within its property container
|
||||||
|
|
|
@ -381,7 +381,7 @@ namespace glTF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//! Base classe for all glTF top-level objects
|
//! Base class for all glTF top-level objects
|
||||||
struct Object
|
struct Object
|
||||||
{
|
{
|
||||||
std::string id; //!< The globally unique ID used to reference this object
|
std::string id; //!< The globally unique ID used to reference this object
|
||||||
|
|
|
@ -703,7 +703,7 @@ void glTFExporter::ExportMeshes()
|
||||||
// Coordinates indices
|
// Coordinates indices
|
||||||
comp_o3dgc_ifs.SetNCoordIndex(aim->mNumFaces);
|
comp_o3dgc_ifs.SetNCoordIndex(aim->mNumFaces);
|
||||||
comp_o3dgc_ifs.SetCoordIndex((IndicesType* const)&b->GetPointer()[idx_srcdata_ind]);
|
comp_o3dgc_ifs.SetCoordIndex((IndicesType* const)&b->GetPointer()[idx_srcdata_ind]);
|
||||||
// Prepare to enconding
|
// Prepare to encoding
|
||||||
comp_o3dgc_params.SetNumFloatAttributes(comp_o3dgc_ifs.GetNumFloatAttributes());
|
comp_o3dgc_params.SetNumFloatAttributes(comp_o3dgc_ifs.GetNumFloatAttributes());
|
||||||
if(mProperties->GetPropertyBool("extensions.Open3DGC.binary", true))
|
if(mProperties->GetPropertyBool("extensions.Open3DGC.binary", true))
|
||||||
comp_o3dgc_params.SetStreamType(o3dgc::O3DGC_STREAM_TYPE_BINARY);
|
comp_o3dgc_params.SetStreamType(o3dgc::O3DGC_STREAM_TYPE_BINARY);
|
||||||
|
|
Loading…
Reference in New Issue