fbmodel.h File Reference

This reference page is linked to from the following overview topics: MotionBuilder 2014, MotionBuilder 2013, Matrix Transformation Order, FBModel - Transformation Data and the Scene Graph.


Base class for Cameras. More...

#include <kaydaradef.h>
#include <fbsdk/fbcore.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbshader.h>
#include <fbsdk/fbtexture.h>
#include <fbsdk/fbgeometry.h>
#include <fbsdk/fbmaterial.h>

Go to the source code of this file.

Classes

class  FBPropertyListModel
 List: Model More...
class  FBPropertyListDeformer
class  FBModel
 Model class. More...
class  FBModelNull
 Null object class. More...
class  FBModelRoot
 Root object class. More...
class  FBModelMarker
 Model marker class. More...
class  FBModelSkeleton
 Root object class. More...
class  FBPropertyListModelSkeleton
 PropertyList: ModelSkeleton. More...
class  FBModelCube
 Cube model class. More...
class  FBModelPlane
 Plane model class. More...
class  FBCluster
 Weighting interface for meshes. More...
class  FBModelVertexData
class  FBDeformer
 Base Model deformer class. More...
class  FBDeformerPointCache
 Base Model deformer class. More...
class  FBPointCacheFile
 Base Model deformer class. More...

Defines

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once...
#define FBStorableCustomModelImplementation(ClassName, Desc)
 Custom Storable Model Class implementation.

Typedefs

typedef class FBSDK_DLL
FBArrayTemplate< FBModel * > 
FBModelList
 typedef class FBSDK_DLL

Enumerations

enum  FBModelTransformationType {
  kModelTransformation, kModelRotation, kModelTranslation, kModelScaling,
  kModelTransformation_Geometry, kModelInverse_Transformation, kModelInverse_Rotation, kModelInverse_Translation,
  kModelInverse_Scaling, kModelInverse_Transformation_Geometry
}
 

Types of transformation vector/matrices possible.

More...
enum  FBModelShadingMode {
  kFBModelShadingDefault, kFBModelShadingWire, kFBModelShadingFlat, kFBModelShadingLight,
  kFBModelShadingHard, kFBModelShadingTexture, kFBModelShadingAll
}
 

Modes for model shading.

More...
enum  FBModelRenderPass { kFBModelRenderPassStandard, kFBModelRenderPassPick }
 

Model Render pass.

More...
enum  FBModelRotationOrder {
  kFBEulerXYZ = 0, kFBEulerXZY, kFBEulerYZX, kFBEulerYXZ,
  kFBEulerZXY, kFBEulerZYX, kFBSphericXYZ
}
 

Ways to apply Rotation.

More...
enum  FBModelCullingMode { kFBCullingOff, kFBCullingOnCCW, kFBCullingOnCW }
 

Model Culling Mode.

More...
enum  FBModelEvaluationTaskType { kFBModelEvaluationTranform, kFBModelEvaluationBBox, kFBModelEvaluationDeform }
enum  FBMarkerResolutionLevel { kFBMarkerLowResolution, kFBMarkerMediumResolution, kFBMarkerHighResolution }
 

Resolution of marker mesh sphere and capsule (Quality).

More...
enum  FBMarkerLook {
  kFBMarkerLookCube, kFBMarkerLookHardCross, kFBMarkerLookLightCross, kFBMarkerLookSphere,
  kFBMarkerLookCapsule, kFBMarkerLookSquare, kFBMarkerLookCircle, kFBMarkerLookBone,
  kFBMarkerLookStick, kFBMarkerLookBox, kFBMarkerLookNone, kFBMarkerLookRigidGoal,
  kFBMarkerLookRotationGoal, kFBMarkerLookAimRollGoal
}
 

Look of the marker.

More...
enum  FBMarkerType { kFBMarkerTypeStandard, kFBMarkerTypeOptical, kFBMarkerTypeFKEffector, kFBMarkerTypeIKEffector }
 

Type of the marker.

More...
enum  FBClusterMode { kFBClusterNormalize, kFBClusterAdditive, kFBClusterTotal100 }
 

Different clustering modes.

More...
enum  FBDeformerType { kFBDeformerUnkown, kFBDeformerSkeleton, kFBDeformerPointCache }
 

Determine the deformer type.

More...

Functions

 FB_DEFINE_COMPONENT (FBSDK_DLL, Model)
 FB_DEFINE_COMPONENT (FBSDK_DLL, Cluster)
 FB_DEFINE_COMPONENT (FBSDK_DLL, ModelVertexData)
 FB_DEFINE_COMPONENT (FBSDK_DLL, PointCacheFile)
FBSDK_DLL void FBModelTransactionBegin ()
 FBModelTransactionBegin.
FBSDK_DLL void FBModelTransactionEnd ()
 FBModelTransactionEnd.
 __FB_FORWARD (FBModel)
 __FB_FORWARD (FBPropertyListModel)
 FB_DEFINE_LIST (FBSDK_DLL, Model)
 __FB_FORWARD (FBDeformer)
 PropertyList: Texture
 FB_DEFINE_ENUM (FBSDK_DLL, ModelShadingMode)
 FB_DEFINE_ENUM (FBSDK_DLL, ModelTransformationType)
 FB_DEFINE_ENUM (FBSDK_DLL, ModelRotationOrder)
 FB_FORWARD (FBCamera)
 __FB_FORWARD (FBModelNull)
 __FB_FORWARD (FBModelRoot)
 __FB_FORWARD (FBModelMarker)
 FB_DEFINE_ENUM (FBSDK_DLL, MarkerResolutionLevel)
 FB_DEFINE_ENUM (FBSDK_DLL, MarkerLook)
 FB_DEFINE_ENUM (FBSDK_DLL, MarkerType)
 __FB_FORWARD (FBModelSkeleton)
 FB_DEFINE_LIST (FBSDK_DLL, ModelSkeleton)
 FB_FORWARD (FBPropertyListModelSkeleton)
 __FB_FORWARD (FBModelCube)
 __FB_FORWARD (FBModelPlane)
 FB_DEFINE_ENUM (FBSDK_DLL, ClusterMode)
 __FB_FORWARD (FBCluster)
 __FB_FORWARD (FBModelVertexData)
 FB_DEFINE_ENUM (FBSDK_DLL, DeformerType)
 __FB_FORWARD (FBDeformerPointCache)
 __FB_FORWARD (FBPointCacheFile)

Detailed Description

Base class for Cameras.

Base class for models.

Base class for Lights.

Definition in file fbmodel.h.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbmodel.h.

#define FBStorableCustomModelImplementation (   ClassName,
  Desc 
)
Value:
const char* ClassName::FbxGetObjectSubType(){ return #ClassName; }\
    HIObject RegisterStorable##ClassName##Create(HIObject /*pOwner*/, const char* pName, void* /*pData*/){\
    ClassName* Class = new ClassName(pName);\
    Class->mAllocated = true;\
    if( Class->FBCreate() ){\
    __FBRemoveModelFromScene( Class->GetHIObject() ); /* Hack in MoBu2013, we shouldn't add object to the scene/entity automatically*/\
    return Class->GetHIObject();\
    } else {\
    delete Class;\
    return NULL;}}\
    FBLibraryModule(ClassName##Storable){\
    FBString lGroup = "FbxStorable/Model";\
    FBRegisterObject(ClassName##R2, lGroup, #ClassName, Desc, RegisterStorable##ClassName##Create, true, NULL);\
    FBSetStoreableCustomModelRegistered();}\

Custom Storable Model Class implementation.

This should be placed in the source code file for a custom model class.

Definition at line 66 of file fbmodel.h.


Typedef Documentation

typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList

typedef class FBSDK_DLL

Definition at line 83 of file fbmodel.h.


Enumeration Type Documentation

Types of transformation vector/matrices possible.

Enumerator:
kModelTransformation 

Transformation.

kModelRotation 

Rotation.

kModelTranslation 

Translation.

kModelScaling 

Scaling.

kModelTransformation_Geometry 

Transformation plus geometry offset.

kModelInverse_Transformation 

Inverse transformation.

kModelInverse_Rotation 

Inverse rotation.

kModelInverse_Translation 

Inverse translation.

kModelInverse_Scaling 

Inverse scaling.

kModelInverse_Transformation_Geometry 

Inverse of transformation plus geometry offset.

Definition at line 179 of file fbmodel.h.

Modes for model shading.

Enumerator:
kFBModelShadingDefault 

Default shading.

kFBModelShadingWire 

Wireframe shading.

kFBModelShadingFlat 

Flat shading.

kFBModelShadingLight 

Lighted shading.

kFBModelShadingHard 

Hard shading.

kFBModelShadingTexture 

Textured shading.

kFBModelShadingAll 

Lighted, shaded, textured shading.

Definition at line 193 of file fbmodel.h.

Model Render pass.

Enumerator:
kFBModelRenderPassStandard 

Standard pass.

kFBModelRenderPassPick 

Pick pass.

Definition at line 204 of file fbmodel.h.

Ways to apply Rotation.

Enumerator:
kFBEulerXYZ 

XYZ Euler Order.

kFBEulerXZY 

XZY Euler Order.

kFBEulerYZX 

YZX Euler Order.

kFBEulerYXZ 

YXZ Euler Order.

kFBEulerZXY 

ZXY Euler Order.

kFBEulerZYX 

ZYX Euler Order.

kFBSphericXYZ 

Spheric XYZ Order.

Definition at line 210 of file fbmodel.h.

Model Culling Mode.

Enumerator:
kFBCullingOff 

Culling Off.

kFBCullingOnCCW 

Culling with Counter Clock Wise.

kFBCullingOnCW 

Culling with Clock Wise.

Definition at line 221 of file fbmodel.h.

Enumerator:
kFBModelEvaluationTranform 

Model's transformation evaluation task (Global )

kFBModelEvaluationBBox 

Model's bouding box computation task (approximately for deformable model)

kFBModelEvaluationDeform 

Model's deformation task (for deformable model)

Definition at line 227 of file fbmodel.h.

Resolution of marker mesh sphere and capsule (Quality).

Enumerator:
kFBMarkerLowResolution 

Lowest resolution.

kFBMarkerMediumResolution 

Medium resolution.

kFBMarkerHighResolution 

Highest resolution.

Definition at line 671 of file fbmodel.h.

Look of the marker.

Enumerator:
kFBMarkerLookCube 

Cube.

kFBMarkerLookHardCross 

Thick cross.

kFBMarkerLookLightCross 

Wireframe cross.

kFBMarkerLookSphere 

Sphere.

kFBMarkerLookCapsule 

Capsule.

kFBMarkerLookSquare 

Square.

kFBMarkerLookCircle 

Circle.

kFBMarkerLookBone 

Bone.

kFBMarkerLookStick 

Box with a sphere on one end.

kFBMarkerLookBox 

Box.

kFBMarkerLookNone 

None.

kFBMarkerLookRigidGoal 

Rigid goal.

kFBMarkerLookRotationGoal 

Rotation goal.

kFBMarkerLookAimRollGoal 

Aim & Roll goal.

Definition at line 679 of file fbmodel.h.

Type of the marker.

Enumerator:
kFBMarkerTypeStandard 

Standard.

kFBMarkerTypeOptical 

Optical.

kFBMarkerTypeFKEffector 

FK effector.

kFBMarkerTypeIKEffector 

IK effector.

Definition at line 698 of file fbmodel.h.

Different clustering modes.

Enumerator:
kFBClusterNormalize 

Normalize (values between 0.0 and 1.0 )

kFBClusterAdditive 

Add the values together.

kFBClusterTotal100 

The balanced values will add up to 100 percent.

Definition at line 834 of file fbmodel.h.

Determine the deformer type.

  • kFBDeformerSkeleton Skeleton (Bone) driven skinning deformer.
  • kFBDeformerPointCache Pre-recorded point cache deformer.
  • kFBGeometryMapping_BY_POLYGON_VERTEX There will be one mapping coordinate for each vertex, for each polygon/strip it is part of. This means that a vertex will have as many mapping coordinates as polygons it is part of.
  • kFBGeometryMapping_BY_POLYGON There can be only one mapping coordinate for the whole polygon/strip.
  • kFBGeometryMapping_BY_EDGE There will be one mapping coordinate for each unique edge in the mesh. This is meant to be used with smoothing layer elements.
  • kFBGeometryMapping_ALL_SAME There can be only one mapping coordinate for the whole surface.
Enumerator:
kFBDeformerUnkown 
kFBDeformerSkeleton 
kFBDeformerPointCache 

Definition at line 1195 of file fbmodel.h.


Function Documentation

FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Model   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Cluster   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
ModelVertexData   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
PointCacheFile   
)
FBSDK_DLL void FBModelTransactionBegin ( )

FBModelTransactionBegin.

This set of functions speeds up the process of batch operations on models.

FBSDK_DLL void FBModelTransactionEnd ( )

FBModelTransactionEnd.

This set of functions speeds up the process of batch operations on models.

__FB_FORWARD ( FBModel  )
FB_DEFINE_LIST ( FBSDK_DLL  ,
Model   
)
__FB_FORWARD ( FBDeformer  )

PropertyList: Texture

FB_DEFINE_ENUM ( FBSDK_DLL  ,
ModelShadingMode   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
ModelTransformationType   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
ModelRotationOrder   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
MarkerResolutionLevel   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
MarkerLook   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
MarkerType   
)
FB_DEFINE_LIST ( FBSDK_DLL  ,
ModelSkeleton   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
ClusterMode   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
DeformerType   
)