fbsdk/fbmodel.h File Reference
 
 
 
fbsdk/fbmodel.h File Reference
#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>

File Description

Base class for Cameras.

Base class for models.

Base class for Lights.

Definition in file fbmodel.h.

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

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 K_DLLIMPORT 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 ( K_DLLIMPORT  ,
Model   
)
FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
Cluster   
)
FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
ModelVertexData   
)
FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
PointCacheFile   
)
K_DLLIMPORT void FBModelTransactionBegin ( )

FBModelTransactionBegin.

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

K_DLLIMPORT void FBModelTransactionEnd ( )

FBModelTransactionEnd.

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

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

PropertyList: Texture

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

Go to the source code of this file.