Assimp  v4.1. (December 2018)
Assimp::FBX Namespace Reference

Namespaces

 Util
 

Classes

class  AnimationCurve
 Represents a FBX animation curve (i.e. More...
 
class  AnimationCurveNode
 Represents a FBX animation curve (i.e. More...
 
class  AnimationLayer
 Represents a FBX animation layer (i.e. More...
 
class  AnimationStack
 Represents a FBX animation stack (i.e. More...
 
class  BlendShape
 DOM class for BlendShape deformers. More...
 
class  BlendShapeChannel
 DOM class for BlendShapeChannel deformers. More...
 
class  Camera
 DOM base class for FBX cameras attached to a node. More...
 
class  CameraSwitcher
 DOM base class for FBX camera settings attached to a node. More...
 
class  Cluster
 DOM class for skin deformer clusters (aka sub-deformers) More...
 
class  Connection
 Represents a link between two FBX objects. More...
 
class  Deformer
 DOM class for deformers. More...
 
class  Document
 DOM root for a FBX file. More...
 
class  Element
 FBX data entity that consists of a key:value tuple. More...
 
class  FBXConverter
 Dummy class to encapsulate the conversion process. More...
 
class  FBXExportProperty
 FBX::Property. More...
 
class  FileGlobalSettings
 DOM class for global document settings, a single instance per document can be accessed via Document.Globals(). More...
 
class  Geometry
 DOM base class for all kinds of FBX geometry. More...
 
struct  ImportSettings
 FBX import settings, parts of which are publicly accessible via their corresponding AI_CONFIG constants. More...
 
class  LayeredTexture
 DOM class for layered FBX textures. More...
 
class  LazyObject
 Represents a delay-parsed FBX objects. More...
 
class  Light
 DOM base class for FBX lights attached to a node. More...
 
class  LimbNode
 DOM base class for FBX limb node markers attached to a node. More...
 
class  LineGeometry
 DOM class for FBX geometry of type "Line". More...
 
class  Material
 DOM class for generic FBX materials. More...
 
class  MeshGeometry
 DOM class for FBX geometry of type "Mesh". More...
 
class  Model
 DOM base class for FBX models (even though its semantics are more "node" than "model". More...
 
class  Node
 
class  NodeAttribute
 DOM class for generic FBX NoteAttribute blocks. More...
 
class  Null
 DOM base class for FBX null markers attached to a node. More...
 
class  Object
 Base class for in-memory (DOM) representations of FBX objects. More...
 
class  Parser
 FBX parsing class, takes a list of input tokens and generates a hierarchy of nested Scope instances, representing the fbx DOM. More...
 
class  Scope
 FBX data entity that consists of a 'scope', a collection of not necessarily unique #Element instances. More...
 
class  ShapeGeometry
 DOM class for FBX geometry of type "Shape". More...
 
class  Skin
 DOM class for skin deformers. More...
 
class  Texture
 DOM class for generic FBX textures. More...
 
class  Token
 Represents a single token in a FBX file. More...
 
class  Video
 DOM class for generic FBX videos. More...
 

Typedefs

typedef std::map< std::string, const AnimationCurve * > AnimationCurveMap
 
typedef std::vector< const AnimationCurveNode * > AnimationCurveNodeList
 
typedef std::vector< const AnimationLayer * > AnimationLayerList
 
typedef std::multimap< uint64_t, const Connection * > ConnectionMap
 
typedef std::pair< ElementMap::const_iterator, ElementMap::const_iterator > ElementCollection
 
typedef std::fbx_unordered_multimap< std::string, Element *> ElementMap
 
typedef std::vector< int64_tKeyTimeList
 
typedef std::vector< float > KeyValueList
 
typedef std::fbx_unordered_map< std::string, const LayeredTexture * > LayeredTextureMap
 
typedef std::vector< int > MatIndexArray
 
typedef std::map< uint64_t, LazyObject * > ObjectMap
 
typedef std::fbx_unordered_map< std::string, std::shared_ptr< const PropertyTable > > PropertyTemplateMap
 
typedef std::vector< Scope *> ScopeList
 
typedef std::fbx_unordered_map< std::string, const Texture * > TextureMap
 
typedef std::vector< TokenPtrTokenList
 
typedef const TokenTokenPtr
 
typedef std::vector< float > WeightArray
 
typedef std::vector< unsigned int > WeightIndexArray
 

Enumerations

enum  RotOrder {
  RotOrder_EulerXYZ = 0, RotOrder_EulerXZY, RotOrder_EulerYZX, RotOrder_EulerYXZ,
  RotOrder_EulerZXY, RotOrder_EulerZYX, RotOrder_SphericXYZ, RotOrder_MAX
}
 
enum  TokenType {
  TokenType_OPEN_BRACKET = 0, TokenType_CLOSE_BRACKET, TokenType_DATA, TokenType_BINARY_DATA,
  TokenType_COMMA, TokenType_KEY
}
 Rough classification for text FBX tokens used for constructing the basic scope hierarchy. More...
 
enum  TransformInheritance { TransformInheritance_RrSs = 0, TransformInheritance_RSrs, TransformInheritance_Rrs, TransformInheritance_MAX }
 

Functions

void ConvertToAssimpScene (aiScene *out, const Document &doc, bool removeEmptyBones)
 Convert a FBX Document to aiScene. More...
 
static std::string getAncestorBaseName (const aiNode *node)
 
const ElementGetRequiredElement (const Scope &sc, const std::string &index, const Element *element)
 
const ScopeGetRequiredScope (const Element &el)
 
const TokenGetRequiredToken (const Element &el, unsigned int index)
 
bool HasElement (const Scope &sc, const std::string &index)
 
size_t ParseTokenAsDim (const Token &t, const char *&err_out)
 
size_t ParseTokenAsDim (const Token &t)
 
float ParseTokenAsFloat (const Token &t, const char *&err_out)
 
float ParseTokenAsFloat (const Token &t)
 
uint64_t ParseTokenAsID (const Token &t, const char *&err_out)
 
uint64_t ParseTokenAsID (const Token &t)
 
int ParseTokenAsInt (const Token &t, const char *&err_out)
 
int ParseTokenAsInt (const Token &t)
 
int64_t ParseTokenAsInt64 (const Token &t, const char *&err_out)
 
int64_t ParseTokenAsInt64 (const Token &t)
 
std::string ParseTokenAsString (const Token &t, const char *&err_out)
 
std::string ParseTokenAsString (const Token &t)
 
void ParseVectorDataArray (std::vector< aiVector3D > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< aiColor4D > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< aiVector2D > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< int > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< float > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< unsigned int > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< uint64_t > &out, const Element &el)
 
void ParseVectorDataArray (std::vector< int64_t > &out, const Element &el)
 
aiMatrix4x4 ReadMatrix (const Element &element)
 
template<typename T >
void ResolveVertexDataArray (std::vector< T > &data_out, const Scope &source, const std::string &MappingInformationType, const std::string &ReferenceInformationType, const char *dataElementName, const char *indexDataElementName, size_t vertex_count, const std::vector< unsigned int > &mapping_counts, const std::vector< unsigned int > &mapping_offsets, const std::vector< unsigned int > &mappings)
 
void Tokenize (TokenList &output_tokens, const char *input)
 Main FBX tokenizer function. More...
 
void TokenizeBinary (TokenList &output_tokens, const char *input, size_t length)
 Tokenizer function for binary FBX files. More...
 

Variables

static const std::string BinormalIndexToken = "BinormalIndex"
 
static const std::string BinormalsIndexToken = "BinormalsIndex"
 
const std::string COMMENT_UNDERLINE
 
const uint32_t EXPORT_VERSION_INT = 7400
 
const std::string EXPORT_VERSION_STR = "7.4.0"
 
const std::string FOOT_MAGIC
 
const std::string GENERIC_CTIME = "1970-01-01 10:00:00:000"
 
const std::string GENERIC_FILEID
 
const std::string GENERIC_FOOTID
 
static const unsigned int LowerSupportedVersion = 7100
 
const std::string MAGIC_NODE_TAG = "_$AssimpFbx$"
 
const std::string NULL_RECORD
 
const int64_t SECOND = 46186158000
 
const std::string SEPARATOR = {'\x00', '\x01'}
 
static const char * TangentIndexToken = "TangentIndex"
 
static const char * TangentsIndexToken = "TangentsIndex"
 
static const unsigned int UpperSupportedVersion = 7400
 

Typedef Documentation

◆ AnimationCurveMap

typedef std::map<std::string, const AnimationCurve*> Assimp::FBX::AnimationCurveMap

◆ AnimationCurveNodeList

◆ AnimationLayerList

typedef std::vector<const AnimationLayer*> Assimp::FBX::AnimationLayerList

◆ ConnectionMap

typedef std::multimap<uint64_t, const Connection*> Assimp::FBX::ConnectionMap

◆ ElementCollection

typedef std::pair<ElementMap::const_iterator,ElementMap::const_iterator> Assimp::FBX::ElementCollection

◆ ElementMap

◆ KeyTimeList

typedef std::vector<int64_t> Assimp::FBX::KeyTimeList

◆ KeyValueList

typedef std::vector<float> Assimp::FBX::KeyValueList

◆ LayeredTextureMap

◆ MatIndexArray

typedef std::vector<int> Assimp::FBX::MatIndexArray

◆ ObjectMap

◆ PropertyTemplateMap

typedef std::fbx_unordered_map<std::string, std::shared_ptr<const PropertyTable> > Assimp::FBX::PropertyTemplateMap

◆ ScopeList

typedef std::vector< Scope* > Assimp::FBX::ScopeList

◆ TextureMap

◆ TokenList

typedef std::vector< TokenPtr > Assimp::FBX::TokenList

◆ TokenPtr

typedef const Token* Assimp::FBX::TokenPtr

◆ WeightArray

typedef std::vector<float> Assimp::FBX::WeightArray

◆ WeightIndexArray

typedef std::vector<unsigned int> Assimp::FBX::WeightIndexArray

Enumeration Type Documentation

◆ RotOrder

Enumerator
RotOrder_EulerXYZ 
RotOrder_EulerXZY 
RotOrder_EulerYZX 
RotOrder_EulerYXZ 
RotOrder_EulerZXY 
RotOrder_EulerZYX 
RotOrder_SphericXYZ 
RotOrder_MAX 

◆ TokenType

Rough classification for text FBX tokens used for constructing the basic scope hierarchy.

Enumerator
TokenType_OPEN_BRACKET 
TokenType_CLOSE_BRACKET 
TokenType_DATA 
TokenType_BINARY_DATA 
TokenType_COMMA 
TokenType_KEY 

◆ TransformInheritance

Enumerator
TransformInheritance_RrSs 
TransformInheritance_RSrs 
TransformInheritance_Rrs 
TransformInheritance_MAX 

Function Documentation

◆ ConvertToAssimpScene()

void Assimp::FBX::ConvertToAssimpScene ( aiScene out,
const Document doc,
bool  removeEmptyBones 
)

Convert a FBX Document to aiScene.

Parameters
outEmpty scene to be populated
docParsed FBX document
removeEmptyBonesWill remove bones, which do not have any references to vertices.

◆ getAncestorBaseName()

static std::string Assimp::FBX::getAncestorBaseName ( const aiNode node)
static

◆ GetRequiredElement()

const Element & Assimp::FBX::GetRequiredElement ( const Scope sc,
const std::string &  index,
const Element element 
)

◆ GetRequiredScope()

const Scope & Assimp::FBX::GetRequiredScope ( const Element el)

◆ GetRequiredToken()

const Token & Assimp::FBX::GetRequiredToken ( const Element el,
unsigned int  index 
)

◆ HasElement()

bool Assimp::FBX::HasElement ( const Scope sc,
const std::string &  index 
)

◆ ParseTokenAsDim() [1/2]

size_t Assimp::FBX::ParseTokenAsDim ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsDim() [2/2]

size_t Assimp::FBX::ParseTokenAsDim ( const Token t)

◆ ParseTokenAsFloat() [1/2]

float Assimp::FBX::ParseTokenAsFloat ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsFloat() [2/2]

float Assimp::FBX::ParseTokenAsFloat ( const Token t)

◆ ParseTokenAsID() [1/2]

uint64_t Assimp::FBX::ParseTokenAsID ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsID() [2/2]

uint64_t Assimp::FBX::ParseTokenAsID ( const Token t)

◆ ParseTokenAsInt() [1/2]

int Assimp::FBX::ParseTokenAsInt ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsInt() [2/2]

int Assimp::FBX::ParseTokenAsInt ( const Token t)

◆ ParseTokenAsInt64() [1/2]

int64_t Assimp::FBX::ParseTokenAsInt64 ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsInt64() [2/2]

int64_t Assimp::FBX::ParseTokenAsInt64 ( const Token t)

◆ ParseTokenAsString() [1/2]

std::string Assimp::FBX::ParseTokenAsString ( const Token t,
const char *&  err_out 
)

◆ ParseTokenAsString() [2/2]

std::string Assimp::FBX::ParseTokenAsString ( const Token t)

◆ ParseVectorDataArray() [1/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< aiVector3D > &  out,
const Element el 
)

◆ ParseVectorDataArray() [2/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< aiColor4D > &  out,
const Element el 
)

◆ ParseVectorDataArray() [3/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< aiVector2D > &  out,
const Element el 
)

◆ ParseVectorDataArray() [4/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< int > &  out,
const Element el 
)

◆ ParseVectorDataArray() [5/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< float > &  out,
const Element el 
)

◆ ParseVectorDataArray() [6/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< unsigned int > &  out,
const Element el 
)

◆ ParseVectorDataArray() [7/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< uint64_t > &  out,
const Element el 
)

◆ ParseVectorDataArray() [8/8]

void Assimp::FBX::ParseVectorDataArray ( std::vector< int64_t > &  out,
const Element el 
)

◆ ReadMatrix()

aiMatrix4x4 Assimp::FBX::ReadMatrix ( const Element element)

◆ ResolveVertexDataArray()

template<typename T >
void Assimp::FBX::ResolveVertexDataArray ( std::vector< T > &  data_out,
const Scope source,
const std::string &  MappingInformationType,
const std::string &  ReferenceInformationType,
const char *  dataElementName,
const char *  indexDataElementName,
size_t  vertex_count,
const std::vector< unsigned int > &  mapping_counts,
const std::vector< unsigned int > &  mapping_offsets,
const std::vector< unsigned int > &  mappings 
)

◆ Tokenize()

void Assimp::FBX::Tokenize ( TokenList output_tokens,
const char *  input 
)

Main FBX tokenizer function.

Transform input buffer into a list of preprocessed tokens.

Skips over comments and generates line and column numbers.

Parameters
output_tokensReceives a list of all tokens in the input data.
input_bufferTextual input buffer to be processed, 0-terminated.
Exceptions
DeadlyImportErrorif something goes wrong

◆ TokenizeBinary()

void Assimp::FBX::TokenizeBinary ( TokenList output_tokens,
const char *  input,
size_t  length 
)

Tokenizer function for binary FBX files.

Emits a token list suitable for direct parsing.

Parameters
output_tokensReceives a list of all tokens in the input data.
input_bufferBinary input buffer to be processed.
lengthLength of input buffer, in bytes. There is no 0-terminal.
Exceptions
DeadlyImportErrorif something goes wrong

Variable Documentation

◆ BinormalIndexToken

const std::string Assimp::FBX::BinormalIndexToken = "BinormalIndex"
static

◆ BinormalsIndexToken

const std::string Assimp::FBX::BinormalsIndexToken = "BinormalsIndex"
static

◆ COMMENT_UNDERLINE

const std::string Assimp::FBX::COMMENT_UNDERLINE
Initial value:
=
";------------------------------------------------------------------"

◆ EXPORT_VERSION_INT

const uint32_t Assimp::FBX::EXPORT_VERSION_INT = 7400

◆ EXPORT_VERSION_STR

const std::string Assimp::FBX::EXPORT_VERSION_STR = "7.4.0"

◆ FOOT_MAGIC

const std::string Assimp::FBX::FOOT_MAGIC
Initial value:
=
"\xf8\x5a\x8c\x6a\xde\xf5\xd9\x7e\xec\xe9\x0c\xe3\x75\x8f\x29\x0b"

◆ GENERIC_CTIME

const std::string Assimp::FBX::GENERIC_CTIME = "1970-01-01 10:00:00:000"

◆ GENERIC_FILEID

const std::string Assimp::FBX::GENERIC_FILEID
Initial value:
=
"\x28\xb3\x2a\xeb\xb6\x24\xcc\xc2\xbf\xc8\xb0\x2a\xa9\x2b\xfc\xf1"

◆ GENERIC_FOOTID

const std::string Assimp::FBX::GENERIC_FOOTID
Initial value:
=
"\xfa\xbc\xab\x09\xd0\xc8\xd4\x66\xb1\x76\xfb\x83\x1c\xf7\x26\x7e"

◆ LowerSupportedVersion

const unsigned int Assimp::FBX::LowerSupportedVersion = 7100
static

◆ MAGIC_NODE_TAG

const std::string Assimp::FBX::MAGIC_NODE_TAG = "_$AssimpFbx$"

◆ NULL_RECORD

const std::string Assimp::FBX::NULL_RECORD
Initial value:
= {
'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'
}

◆ SECOND

const int64_t Assimp::FBX::SECOND = 46186158000

◆ SEPARATOR

const std::string Assimp::FBX::SEPARATOR = {'\x00', '\x01'}

◆ TangentIndexToken

const char* Assimp::FBX::TangentIndexToken = "TangentIndex"
static

◆ TangentsIndexToken

const char* Assimp::FBX::TangentsIndexToken = "TangentsIndex"
static

◆ UpperSupportedVersion

const unsigned int Assimp::FBX::UpperSupportedVersion = 7400
static