Gorilla.FBX.Types
Unit Gorilla.FBX.Types.pasClasses
- TFBXProperty = class ( TObject )
- TFBXNode = class ( TObject )
- TFBXConnections = class ( TObject )
- TFBXCache = class ( TVertexCache )
Records
- record TFBXHeader
- record TFBXNodeFixedRecord
- record TFBXNodeVarRecord
- record TFBXArray
- record TFBXData
- record TFBXPropertyRecord
- record TFBXConnection
Enumerations
- enum TFBXMappingInformationType = ( ByPolygon, ByPolygonVertex, ByVertex, ByEdge, AllSame ) ;
- enum TFBXReferenceInformationType = ( Direct, IndexToDirect ) ;
- enum TFBXDataType = ( fbxInt16, fbxBool, fbxInt32, fbxSingle, fbxDouble, fbxInt64, fbxArrSingle, fbxArrDouble, fbxArrInt64, fbxArrInt32, fbxArrBool, fbxString, fbxBinary ) ;
- enum TFBXConnectionKind = ( fbxOO, fbxOP, fbxPP ) ;
Constants
- const FBX_PROPERTY_TYPE_INT16 : Byte = $59;
- const FBX_PROPERTY_TYPE_BOOL : Byte = $43;
- const FBX_PROPERTY_TYPE_INT32 : Byte = $49;
- const FBX_PROPERTY_TYPE_SINGLE : Byte = $46;
- const FBX_PROPERTY_TYPE_DOUBLE : Byte = $44;
- const FBX_PROPERTY_TYPE_INT64 : Byte = $4C;
- const FBX_PROPERTY_TYPE_ARRAY_SINGLE : Byte = $66;
- const FBX_PROPERTY_TYPE_ARRAY_DOUBLE : Byte = $64;
- const FBX_PROPERTY_TYPE_ARRAY_INT64 : Byte = $6C;
- const FBX_PROPERTY_TYPE_ARRAY_INT32 : Byte = $69;
- const FBX_PROPERTY_TYPE_ARRAY_BOOL : Byte = $62;
- const FBX_PROPERTY_TYPE_STRING : Byte = $53;
- const FBX_PROPERTY_TYPE_BINARY : Byte = $52;
Mics. types
- type PFBXConnection = pointer to TFBXConnection;
TFBXMappingInformationType
"ByPolygon": It means that there is a normal for every polygon of the model. "ByPolygonVertex": It means that there is a normal for every vertex of every polygon of the model. For example, if the models has 8 vertices that make up four quads, then there will be 16 normals (one normal * 4 polygons * 4 vertices of the polygon). Note that generally a game engine needs the vertices to have only one normal defined. So, if you find a vertex has more tha one normal, you can either ignore the normals you find after the first, or calculate the mean from all of them (normal smoothing). "ByVertex": It means that there is a normal for every vertex of the model. "ByEdge": It means that there is a normal for every edge of the model (rare). "AllSame": It means that there is a normal that is the same for every vertex of the model (rare or impossible for most models).
TFBXReferenceInformationType
"Direct": The normals are in order. "IndexToDirect" (or Index for older versions of the FBX format): The order of the normals is given by the NormalsIndex property.
TFBXProperty
Ancestors
Members
TFBXNode
Ancestors
Members
Fields
- protected FParent :
TFBXNode
- protected FData :
TFBXNodeFixedRecord
- protected FId :
Int64
- protected FName :
string
- protected FProperties :
TFBXPropertyList
- protected FNodes :
TFBXNodeMap
Methods
- public constructor Create ( const AParent : TFBXNode ) ;
- public destructor Destroy ( ) ;
- public procedure ReadData ( const AStream : TStream; const ACache : TFBXCache ) ; virtual;
- public function FindNodes ( const AName : string ) : TFBXNodeList ; virtual;
- public function FindFirstNode ( const AName : string ) : TFBXNode ; virtual;
- public function ToJSON ( ) : TJSONObject ;
Properties
- public Parent : TFBXNoderead FParent
- public Data : TFBXNodeFixedRecord
- public Id : Int64
- public Name : string
- public Properties : TObjectList<Gorilla.FBX.Types.TFBXProperty>read FProperties
- public Nodes : TDictionary<System.string,System.Generics.Collections.TObjectList<Gorilla.FBX.Types.TFBXNode>>read FNodes
TFBXConnections
Ancestors
Members
Fields
Methods
- public constructor Create ( ) ;
- public destructor Destroy ( ) ;
- protected procedure DoOnBufferValueNotify ( ASender : TObject; const AItem : PFBXConnection; AAction : TCollectionNotification ) ;
- protected procedure DoOnMapValueNotify ( ASender : TObject; const AItem : TFBXConnectionSubMap; AAction : TCollectionNotification ) ;
- protected procedure DoOnSubMapValueNotify ( ASender : TObject; const AItem : TFBXConnectionSubSubMap; AAction : TCollectionNotification ) ;
- public procedure AddConnection ( const AKind : TFBXConnectionKind; ANode1 : TFBXNode; ANode2 : TFBXNode; const AData : string = ) ; overload;
- public function GetConnection ( const ANode1 : TFBXNode; const ANode2 : TFBXNode; const AData : string = ) : PFBXConnection ;
- public function GetConnections ( const ANode : TFBXNode ) : TFBXConnectionList ;
TFBXCache
Ancestors
Members
Fields
- protected FRoot :
TFBXNode
- protected FNodes :
TFBXNodeList
- protected FNodeByHash :
TFBXNodeHashMap
- protected FConnections :
TFBXConnections
- protected FCurrentMaterial :
TMaterialDef
- public Header :
TFBXHeader
Methods
- public constructor Create ( ) ;
- public destructor Destroy ( ) ;
- public procedure Clear ( ) ;
- public function DoOnCreateDefaultMaterial ( AMesh : TMeshDef ) : TMaterialDef ; override;
- public function DoOnCreateMaterialRef ( AMesh : TMeshDef; AMaterial : TMaterialDef ) : TMaterialRefDef ; override;