Assimp  v3.1.1 (June 2014)
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  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 subdeformers) More...
 
class  Connection
 Represents a link between two FBX objects. More...
 
class  Converter
 Dummy class to encapsulate the conversion process. 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  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  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  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  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  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...
 

Functions

void ConvertToAssimpScene (aiScene *out, const Document &doc)
 Convert a FBX Document to aiScene. More...
 
static void dumpObjectClassInfo (const char *obtype, const std::string &classtag)
 
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)
 
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, unsigned int length)
 Tokenizer function for binary FBX files. More...
 
static void validateAnimCurveNodes (const std::vector< const AnimationCurveNode *> &curves, bool strictMode)
 

Variables

static const std::string BinormalIndexToken = "BinormalIndex"
 
static const std::string BinormalsIndexToken = "BinormalsIndex"
 
static const int LowerSupportedVersion = 7100
 
static const std::string TangentIndexToken = "TangentIndex"
 
static const std::string TangentsIndexToken = "TangentsIndex"
 
static const 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

◆ 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 

Function Documentation

◆ ConvertToAssimpScene()

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

Convert a FBX Document to aiScene.

Parameters
outEmpty scene to be populated
docParsed FBX document

◆ dumpObjectClassInfo()

static void Assimp::FBX::dumpObjectClassInfo ( const char *  obtype,
const std::string &  classtag 
)
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 
)

◆ 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,
unsigned int  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

◆ validateAnimCurveNodes()

static void Assimp::FBX::validateAnimCurveNodes ( const std::vector< const AnimationCurveNode *> &  curves,
bool  strictMode 
)
static

Variable Documentation

◆ BinormalIndexToken

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

◆ BinormalsIndexToken

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

◆ LowerSupportedVersion

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

◆ TangentIndexToken

const std::string Assimp::FBX::TangentIndexToken = "TangentIndex"
static

◆ TangentsIndexToken

const std::string Assimp::FBX::TangentsIndexToken = "TangentsIndex"
static

◆ UpperSupportedVersion

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