43 #include <kaydaradef.h>
48 #define FBSDK_DLL K_DLLIMPORT
54 #include <fbsdk/fbtexture.h>
57 #include <fbsdk/fbtexture.h>
60 #ifdef FBSDKUseNamespace
61 namespace FBSDKNamespace {;
67 #define FBStorableCustomModelImplementation(ClassName, Desc)\
68 const char* ClassName::FbxGetObjectSubType(){ return #ClassName; }\
69 HIObject RegisterStorable##ClassName##Create(HIObject , const char* pName, void* ){\
70 ClassName* Class = new ClassName(pName);\
71 Class->mAllocated = true;\
72 if( Class->FBCreate() ){\
73 __FBRemoveModelFromScene( Class->GetHIObject() ); \
74 return Class->GetHIObject();\
78 FBLibraryModule(ClassName##Storable){\
79 FBString lGroup = "FbxStorable/Model";\
80 FBRegisterObject(ClassName##R2, lGroup, #ClassName, Desc, RegisterStorable##ClassName##Create, true, NULL);\
81 FBSetStoreableCustomModelRegistered();}\
126 #ifndef DOXYGEN_SHOULD_SKIP_THIS
281 FBModel(
const char* pName, HIObject pObject=NULL);
545 int pMouseX,
int pMouseY,
549 FBTVector* pOutPickedPoint) {
return false; }
647 FBEvaluateInfo* pEvaluateInfo=NULL,
double pPrecision = FBMat2EulerDegenerateForPrecision10);
1049 friend class DataFBModel;
1172 friend class DataFBModel;
1396 void EnableOGLUVSet(FBTextureMapping pTextureMapping = kFBTextureMappingUV,
const char* pUVSet = NULL);
1413 int GetUVSetUVCount(FBTextureMapping pTextureMapping = kFBTextureMappingUV,
const char* pUVSet = NULL);
1440 void*
GetUVSetArray(FBTextureMapping pTextureMapping = kFBTextureMappingUV,
const char* pUVSet = NULL);
1447 unsigned int GetUVSetVBOId(FBTextureMapping pTextureMapping = kFBTextureMappingUV,
const char* pUVSet = NULL);
1454 void*
GetUVSetVBOOffset(FBTextureMapping pTextureMapping = kFBTextureMappingUV,
const char* pUVSet = NULL);
1476 kFBDeformerSkeleton,
1477 kFBDeformerPointCache
1556 #ifdef FBSDKUseNamespace
Template class to contain an array of items.
A box is a fundamental building block in the application architecture.
Creates custom cameras and manages system cameras.
Weighting interface for meshes.
FBPropertyClusterMode ClusterMode
Read Write Property: Cluster mode.
void VertexGetTransform(FBVector3d &pPosition, FBVector3d &pRotation, FBVector3d &pScaling)
Get transform of a cluster set.
void VertexSetTransform(FBVector3d pPosition, FBVector3d pRotation, FBVector3d pScaling)
Set transform of a cluster set.
void VertexRemove(int pVertexIndex)
Remove a vertex from a cluster.
int ClusterBegin(int pIndex=-1)
Begin cluster definition.
FBCluster(FBModel *pModel)
Constructor.
void LinkRemove(int pLinkNumber)
Remove a link.
void VertexClear()
Clear all linked vertices.
int VertexGetCount()
Get the number of vertices.
int VertexGetNumber(int pIndex)
Get vertex number.
int ClusterEnd()
End cluster definition.
const char * LinkGetName(int pLinkNumber)
Get the name of a link.
void LinkSetName(const char *pName, int pLinkNumber)
Set the name of a link.
FBModel * LinkGetAssociateModel(int pLinkNumber)
Get model associated with link.
void LinkSetModel(FBModel *pModel)
Set model to a link.
FBModel * LinkGetModel(int pLinkNumber)
Get model from a link.
void VertexSetWeight(double pWeight, int pIndex)
Set vertex weight.
void LinkSetCurrentVertex(int pLinkIndex, int pPointIndex)
Link at current vertex.
int LinkGetVertexIndex(int pIndex)
Get current vertex at link.
void VertexAdd(int pVertexIndex, double pWeight)
Add a vertex to a cluster.
int LinkGetCount()
Get number of links.
double VertexGetWeight(int pIndex)
Get vertex weight.
FBPropertyDouble ClusterAccuracy
Read Write Property: Cluster accuracy.
void LinkClearUnused(double pThreshold=-1.0)
Remove all unused links.
MotionBuilder SDK base class.
AnimationNodeNotify evaluation information.
Four x Four (double) Matrix.
FBModelCube(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyModel UpVector
Read Write Property: UpVector model.
FBPropertyBool RotationMinX
Read Write Property: Is model using Minimum Rotation Limits On X?
void ExpandInSchematic()
Expand the model in the schematic view.
FBPropertyAnimatableVector3d Scaling
Read Write Property: Lcl scaling.
int NoFrustumCullingRequire()
Acquire no frustum culling request.
bool IsForceAlwaysEvaluate()
Return Force Always Evaluate status.
void SetVector(FBVector3d pVector, FBModelTransformationType pWhat=kModelTranslation, bool pGlobalInfo=true, bool pPushUndo=false, FBEvaluateInfo *pEvaluateInfo=NULL)
Set a vector for the model.
FBPropertyBool Icon3D
Read Write Property: Is model a 3D icon?
FBPropertyVector3d GeometricScaling
Read Write Property: Geometric scaling.
void MatrixToRotation(FBRVector &pRotation, const FBMatrix &pMatrix)
Convert Rotation Matrix to Euler Vector based on model's rotation order.
FBPropertyListMaterial Materials
List: Materials for model.
void GetVector(FBVector3d &pVector, FBModelTransformationType pWhat=kModelTranslation, bool pGlobalInfo=true, FBEvaluateInfo *pEvaluateInfo=NULL)
Get a vector from the model.
FBPropertyModel LookAt
Read Write Property: Look at model (interest point).
FBPropertyCluster Cluster
Read Only Property: Link Cluster for the model.
FBPropertyBool PointCacheRecord
Read Write Property: Record Point Cache for model? Not Savable
FBPropertyBool Transformable
Read Write Property: Indicate if a model can be transformable in the viewer. This has a default value...
FBPropertyVector3d RotationMin
Read Write Property: Min Rotation Limit (considered if RotationActive is true)
unsigned char * GetSelectedPoints()
Get the list of the points selection state.
void GetMatrix(FBMatrix &pMatrix, FBModelTransformationType pWhat=kModelTransformation, bool pGlobalInfo=true, FBEvaluateInfo *pEvaluateInfo=NULL)
Get a matrix from the model.
FBPropertyBool TranslationMaxX
Read Write Property: Is model using Translation Limits on Max X.
FBPropertyBool SoftSelected
Read Write Property: Is model Soft selected?
FBPropertyVector3d PostRotation
Read Write Property: Post Rotation (considered if RotationActive is true)
FBPropertyListModel Children
List: Children for model.
virtual void FBDelete() override
Open Reality deletion function.
virtual bool ManipulatorNotify(FBSelectionAction pAction)
Callback for component selection in custom FBModel.
FBPropertyVector3d PreRotation
Read Write Property: Pre Rotation (considered if RotationActive is true)
FBPropertyVector3d GeometricTranslation
Read Write Property: Geometric translation.
void SetSchematicPosition(FBVector2d pVector2d)
Set the position in the schematic view for the model.
FBPropertyGeometry Geometry
Read Write Property: Geometry for the model.
bool RayCast(FBCamera *pCamera, int pMouseX, int pMouseY, FBVector3d &pHitPosition, FBVector3d &pHitNormal)
Ray cast test.
virtual FBModel * Clone()
Clone the model.
virtual bool CustomModelPicking(int pNbHits, unsigned int *pSelectBuffer, FBCamera *pCamera, int pMouseX, int pMouseY, FBTVector *pLocalRaySrc, FBTVector *pLocalRayDir, FBTVector *pWorldRaySrc, FBTVector *pWorldRayDir, FBMatrix *pGlobalInverseMatrix, FBTVector *pOutPickedPoint)
Custom picking for selection, called when HasCustomDisplay returns true;.
FBPropertyBool RotationMinZ
Read Write Property: Is model using Minimum Rotation Limits On Z?
FBPropertyBool QuaternionInterpolate
Read Write Property: Use quaternion interpolation.
FBPropertyBool TranslationMinZ
Read Write Property: Is model using Translation Limits on Min Z.
FBPropertyColor UniqueColorId
Read Only Property: Unique Color Id for color based viewer picking. Color channel values are in the r...
FBPropertyBool IsConstrained
Read Only Property: Is model constrained?
void SetCullingMode(FBModelCullingMode pCullingMode)
Set Model Cullin Mode.
void DofToLRM(FBMatrix &pLM, const FBRVector &pDof)
Convert object space vector to local matrix.
FBVector2d GetSchematicPosition()
Get the position in the schematic view for the model.
FBPropertyBool IsDeformable
Read Only Property: Is model deformable?
FBPropertyBool RotationMaxX
Read Write Property: Is model using Maximum Rotation Limits On X?
virtual const char * FbxGetObjectType() override
Returns the class type inherited by the class of an object, for example: 'Model'.
virtual void CustomModelDisplay(FBCamera *pCamera, FBModelShadingMode pShadingMode, FBModelRenderPass pRenderPass, float pPickingAreaWidth, float pPickingAreaHeight)
Custom display function, called when HasCustomDisplay returns true;.
FBPropertyInt GeometryUpdateId
Read Only Property: model geometry (vertex data) related update id.
void SetMatrix(FBMatrix pMatrix, FBModelTransformationType pWhat=kModelTransformation, bool pGlobalInfo=true, bool pPushUndo=false, FBEvaluateInfo *pEvaluateInfo=NULL)
Set a matrix for the model.
FBPropertyBool RotationActive
Read Write Property: Is model using Rotation Limits?
FBPropertyBool ReceiveShadows
Read Write Property: If true, the geometry will receive shadows.
FBPropertyBool BlendShapeDeformable
Read Write Property: Model blend-shape deformable. Not Savable
FBPropertyVector3d RotationMax
Read Write Property: Max Rotation Limit (considered if RotationActive is true)
FBPropertyAnimatableBool Visibility
Read Write Property: Visibility of model. This can be overridden by the 'Show' property.
FBPropertyModel Parent
Read Write Property: Parent model.
FBPropertyBool Show
Read Write Property: Indicate if the viewer should show the object, according to its visibility value...
bool UseFrustumCulling()
Get the current Frustum Culling Status.
void SetSchematicPosition(int pX, int pY)
Set the position in the schematic view for the model.
FBPropertyBool RotationMaxZ
Read Write Property: Is model using Maximum Rotation Limits On Z?
FBPropertyVector3d TranslationMax
Read Write Property: Translation Limit Max.
void CollapseInSchematic()
Collapse the model in the schematic view.
virtual const char * FbxGetObjectSubType() override
Returns the class sub type inherited by the class of an object, for example: 'Default',...
ICallback_Declare(override)
Interface to ICallback.
FBPropertyAnimationNode AnimationNode
Read Only Property: Animation node of the model.
FBPropertyBool PointCacheDeformable
Read Write Property: Model point cache deformable. Not Savable
void LRMToDof(FBRVector &pDof, const FBMatrix &pLM)
Convert local matrix to object space vector.
FBPropertyBool Pickable
Read Write Property: Indicate if a model can be picked in the viewer. This has a default value of 'tr...
unsigned int GetAdditionalUniqueColorIDCount() const
Get additional unique color count.
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Store and Retrieve function that can be overloaded.
FBPropertyListShader Shaders
List: Shaders for model.
FBPropertyVector3d GeometricRotation
Read Write Property: Geometric rotation.
FBPropertyBool ConstrainDeformable
Read Write Property: Model constraint deformable. Not Savable
FBColor GetAdditionalUniqueColorID(unsigned int pIndex) const
Get Additional Unique Color Id.
int GetSelectedPointsCount()
Get the number of selected points in the model.
FBPropertyBool TranslationMinX
Read Write Property: Is model using Translation Limits on Min X.
IQuery_Declare(override)
Interface to IObject.
bool SetAdditionalUniqueColorIDCount(unsigned int pCount)
Request additional Unique color IDs.
FBPropertyAnimatableVector3d Translation
Read Write Property: Lcl translation.
FBPropertyBool PrimaryVisibility
Read Write Property: Control the geometry render state. Geometry can still cast shadows even if this ...
FBPropertyBool TranslationActive
Read Write Property: Is model using Translation Limits?
FBPropertyModelVertexData ModelVertexData
Read Only Property: ModelVertexData for the model.
FBPropertyBool TranslationMinY
Read Write Property: Is model using Translation Limits on Min Y.
void RotationToMatrix(FBMatrix &pMatrix, const FBRVector &pRotation)
Convert Euler Vector to Rotation Matrix based on model's rotation order.
virtual bool HasCustomDisplay()
Function to overload to handle custom display.
virtual bool ClosestRayIntersection(const FBTVector &pRayOrigin, const FBTVector &pRayEnd, FBTVector &pIntersectPos, FBNormal &pIntersectNormal)
Determines the first intersection point's position and normal between ray and model surface
FBPropertyBool CastsShadows
Read Write Property: If true, the geometry will produce shadows.
FBModel(const char *pName, HIObject pObject=NULL)
Constructor.
void SetupPropertiesForShapes()
Setup Shape Properties.
FBPropertyAnimatableVector3d Rotation
Read Write Property: Lcl rotation.
void GetBoundingBox(FBVector3d &pMin, FBVector3d &pMax)
Get the bounding box of the model.
FBPropertyListTexture Textures
List: Textures with Special UseType (Other than "Color" which should connect to materials).
FBModelCullingMode GetCullingMode() const
Get Model Culling Mode.
FBPropertyBool TranslationMaxZ
Read Write Property: Is model using Translation Limits on Max Z.
FBPropertyMesh TessellatedMesh
Read Only Property: Tessellated Mesh for the model.
FBPropertyBool RotationMinY
Read Write Property: Is model using Minimum Rotation Limits On Y?
void SetMatrixWithPrecision(FBMatrix pMatrix, FBModelTransformationType pWhat=kModelTransformation, bool pGlobalInfo=true, bool pPushUndo=false, FBEvaluateInfo *pEvaluateInfo=NULL, double pPrecision=FBMat2EulerDegenerateForPrecision10)
Set a matrix for the model.
virtual bool FbxRetrieve(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Request additional Unique color IDs.
int NoFrustumCullingRelease()
Release no frustum culling request.
bool IsVisible(FBEvaluateInfo *pEvaluateInfo=NULL)
If the model is visible.
FBPropertyBool RotationMaxY
Read Write Property: Is model using Maximum Rotation Limits On Y?
FBPropertyBool TranslationMaxY
Read Write Property: Is model using Translation Limits on Max Y.
FBPropertyBool VisibilityInheritance
Read Write Property: //!< When this value is set to True the Visibility of this model is also applied...
bool IsCollapsedInSchematic() const
Returns if the model is collapsed or not (expanded) in the schematic view.
void ForceAlwaysEvaluate()
Force Always Evaluate.
FBPropertyScene Scene
Read Only Property: Scene containing the model.
FBPropertyModelShadingMode ShadingMode
Read Write Property: Shading mode for the model.
bool IsEvaluationReady(FBModelEvaluationTaskType pWhat, FBEvaluateInfo *pEvaluateInfo=NULL) const
Is the model's evaluation task result ready.
void GetLocalTransformationMatrixWithGlobalRotationDoF(FBMatrix &pMatrix, bool pInverse=false, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the local transformation (or local inverse transformation) matrix with the global Rotation DoF va...
FBPropertyListDeformer Deformers
List: Deformers (Skeleton Deformer or Point Cache Deformer).
FBPropertyBool RotationSpaceForLimitOnly
Read Write Property: Apply Post Rotation Matrix only for Limits?
FBPropertyModelRotationOrder RotationOrder
Read Write Property: Rotation order.
FBPropertyBool SkeletonDeformable
Read Write Property: Model skeleton deformable. Not Savable
unsigned int GetHierarchyWorldMatrices(FBMatrix *pMatricesArray, unsigned int pMatricesArrayCount, FBModelHiercharyTraverserType pHiercharyTraverserType, FBEvaluateInfo *pEvaluateInfo=NULL)
Computes the global transform matrices between this model and all its children (all levels).
FBPropertyVector3d TranslationMin
Read Write Property: Translation Limit Min.
FBModelMarker(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyMarkerType Type
Read Write Property: Type of model marker.
FBPropertyDouble Length
Read Write Property: Length for capsule (not related to scaling).
FBPropertyVector3d IKPivot
Read Write Property: marker Pivot Offset.
virtual const char * FbxGetObjectType() override
Returns the class type inherited by the class of an object, for example: 'Model'.
void SetFKOpacity(double pValue)
Used when shading the controlset.
FBPropertyDouble Size
Read Write Property: Size (not related to scaling).
virtual const char * FbxGetObjectSubType() override
Returns the class sub type inherited by the class of an object, for example: 'Default',...
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Store and Retrieve function that can be overloaded.
FBPropertyMarkerResolutionLevel ResLevel
Read Write Property: Resolution level of model marker.
virtual bool FbxRetrieve(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Request additional Unique color IDs.
FBPropertyMarkerLook Look
Read Write Property: Look of model marker.
FBPropertyColor Color
Read Write Property: Color of model marker.
FBPropertyBool IKSync
Read Write Property: Must sync with IK if true.
virtual const char * FbxGetObjectType() override
Returns the class type inherited by the class of an object, for example: 'Model'.
FBPropertyDouble Size
Read Write Property: Size (not related to scaling).
virtual const char * FbxGetObjectSubType() override
Returns the class sub type inherited by the class of an object, for example: 'Default',...
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Store and Retrieve function that can be overloaded.
virtual bool FbxRetrieve(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Request additional Unique color IDs.
FBModelNull(const char *pName, HIObject pObject=NULL)
Constructor.
FBModelPlane(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyDouble Size
Read Write Property: Size (not related to scaling).
FBModelRoot(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyBool PreserveLinkEndPosition
Read Write Property: Whether skeleton node must preserve its links' end position to children nodes,...
FBPropertyDouble Length
Read Write Property: Length of skeleton node. (Note: Only effective when the look is set to: Capsule)
FBModelSkeleton(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyBool LinkFollowGeometryOffset
Read Write Property: Whether link to parent node must follow skeleton node or not,...
FBPropertySkeletonResolutionLevel Resolution
Read Write Property: Resolution of skeleton node. (Note: Only effective when the look is set to: Sphe...
FBPropertyDouble Size
Read Write Property: Size (not related to scaling).
void GetSkinModelList(FBModelList &pSkinModelList)
Return the list of skin model associated with this Skeleton(Bone), which could be the deformable skin...
FBPropertyColor Color
Read Write Property: Color of skeleton node.
FBPropertySkeletonLook Look
Read Write Property: Look of skeleton node.
FBPropertyBool DrawLink
Read Write Property: Whether to draw link to parent node or not.
int GetUVSetUVCount(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Return the number of UVs in the UV Set for the specified texture mapping mode.
void DisableOGLVertexData()
Disable OpenGL Vertex Array (Pos & Normal).
void * GetUVSetVBOOffset(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Return the UV Set Buffer Object (VBO) offset for the specified texture mapping mode.
int GetSubPatchIndexSize(int pSubPatchIndex)
Return the size of the indexes for the specified sub patch (see GetIndexArray()).
void VertexArrayMappingRelease()
Release deformed vertex array mapping on CPU.
unsigned int GetUVSetVBOId(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Return the UV Set Buffer Object (VBO) Id for the specified texture mapping mode.
void DrawSubPatch(int pSubPatchIndex, bool pWireFrame=false)
Draw the specified sub patch.
FBMaterial * GetSubRegionMaterial(int pSubRegionIndex)
Return the specified sub region's material.
void * GetVertexArray(FBGeometryArrayID pArrayId, bool pAfterDeform=true)
Return the vertex array for the specified vertex array Id.
unsigned int GetIndexArrayVBOId()
Return the index array VBO Id.
void VertexArrayMappingRequest()
Request deformed vertex array mapping on CPU.
int GetSubPatchIndexOffset(int pSubPatchIndex)
Return the start offset of the indexes for the specified sub patch (see GetIndexArray()).
void PushZDepthClipOverride()
Disables Z-Depth clip plane if this model is selected using Z-Depth HideFront selection tool.
int * GetIndexArray()
Return the index array.
void EnableOGLVertexData(bool pAfterDeform=true)
Enable (Setup) OpenGL Vertex Array (Pos & Normal).
void DisableOGLUVSet()
Disable OpenGL UV set array.
int GetVertexCount()
Return the number of vertices.
void PopZDepthClipOverride()
Re-enables Z-Depth clip plane if it had been disabled via PushZDepthClipOverride().
FBMaterial * GetSubPatchMaterial(int pSubPatchIndex)
Return the mapped material for the specified sub patch.
void * GetUVSetArray(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Return the UV Set array for the specified texture mapping mode.
bool IsDeformable()
Return true if the model is deformable.
FBGeometryArrayElementType GetUVSetArrayFormat(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Return the UV Set array format.
void EnableOGLUVSet(FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
Enable (Setup) OpenGL UV set array.
void * GetVertexArrayVBOOffset(FBGeometryArrayID pArrayId, bool pAfterDeform=true)
Return the Vertex Buffer Object (VBO) offset for the specified vertex array Id.
unsigned int GetVertexArrayVBOId(FBGeometryArrayID pArrayId, bool pAfterDeform=true)
Return the Vertex Buffer Object (VBO) Id for the specified vertex array Id.
int GetIndexArraySize()
Return the index array size (see GetIndexArray()).
int GetSubPatchCount()
Return the number of sub patches.
void DrawSubRegion(int pSubRegionIndex, bool pWireFrame=false)
Draw the specified sub region.
int GetSubRegionCount()
Return the number of sub regions (mapping with different materials).
FBGeometryArrayElementType GetVertexArrayType(FBGeometryArrayID pArrayId, bool pAfterDeform=true)
Return the vertex array format for the specified array Id.
int GetSubPatchMaterialId(int pSubPatchIndex)
Return the mapped material ID for the specified sub patch.
const int * GetVertexArrayDuplicationMap(unsigned int &pDuplicatedVertexCount)
The FBModel::TessellatedMesh could contain per-face mapping UVSet/Normal or other layer elements.
FBGeometryPrimitiveType GetSubPatchPrimitiveType(int pSubPatchIndex, bool *pIsOptimized=NULL)
Return the primitive type for the specified sub patch.
bool IsDrawable()
Queries if this model should be drawn, e.g., in custom render callback.
Base Model deformer class.
FBPropertyBool Loop
Read Write Property: Loop.
FBPropertyTime StopTime
Read Write Property: Stop Time.
FBPropertyDouble PlaySpeed
Read Write Property: Play Speed.
FBPropertyBool FreeRunning
Read Write Property: Free Running.
FBPointCacheFile(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyString CacheFileName
Read Write Property: Filename of media.
FBPropertyTime Offset
Read Write Property: Offset.
FBPropertyInt ChannelCount
Read Only Property: Channel Count.
FBPropertyTime StartTime
Read Write Property: Start Time.
PropertyList: Concrete class for PropertyList of component
virtual void RemoveAt(int pIndex)
Remove the model at pIndex.
FBModel * operator[](int pIndex)
Get the model at pIndex.
virtual int GetCount()
Get the number of models.
int Remove(FBModel *pItem)
Remove model pItem from property list.
int Add(FBModel *pItem)
Add a model to the property list.
PropertyList: ModelSkeleton.
FBModelSkeleton * operator[](int pIndex)
Get the ModelSkeleton at pIndex.
Property class: const char * (String).
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
#define __FBClassDeclareGroup(Name, Parent)
For internal use only.
#define __FBClassDeclare(Name, Parent)
For internal use only.
Contains definitions for devices, boxes and models.
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
FBGeometryArrayID
ID to use when requesting a specific array of data for a model.
FBGeometryArrayElementType
Type of data when requesting an array.
Contains routines for vector and matrix manipulation.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBModelRenderPass
Model Render pass.
@ kFBModelRenderPassPick
Pick pass.
@ kFBModelRenderPassStandard
Standard pass.
FBModelTransformationType
Types of transformation vector/matrices possible.
@ kModelInverse_Transformation_Geometry
Inverse of transformation plus geometry offset.
@ kModelInverse_Scaling
Inverse scaling.
@ kModelTransformation
Transformation.
@ kModelInverse_Transformation
Inverse transformation.
@ kModelTransformation_Geometry
Transformation plus geometry offset
@ kModelRotation
Rotation.
@ kModelInverse_Translation
Inverse translation.
@ kModelInverse_Rotation
Inverse rotation.
@ kModelTranslation
Translation.
K_DLLIMPORT void FBBeginChangeAllModels()
Call begin change to all models (need to be closed).
K_DLLIMPORT FBModel * FBFindModelByUniqueColorId(const FBColor &pColor, int *pSubItemIndex=NULL)
Find a model in the scene by its unique color id.
FBModelHiercharyTraverserType
Types of hierarchy traverser search type.
@ kModelTraverserDepthFirst
Depth-first search.
@ kModelTraverserBreadthFirst
Breadth-first search.
FBModelEvaluationTaskType
@ kFBModelEvaluationTransform
Model's transformation evaluation task (Global )
@ kFBModelEvaluationDeform
Model's deformation task (for deformable model)
@ kFBModelEvaluationBBox
Model's bouding box computation task (approximately for deformable model)
FBModelCullingMode
Model Culling Mode.
@ kFBCullingOnCCW
Culling with Counter Clock Wise.
@ kFBCullingOff
Culling Off.
@ kFBCullingOnCW
Culling with Clock Wise.
K_DLLIMPORT void FBEndChangeAllModels()
Call end change to all models (should be first open).
K_DLLIMPORT void FBModelTransactionEnd()
FBModelTransactionEnd.
K_DLLIMPORT FBModel * FBFindModelByLabelName(const char *pModelLabelName)
Find a model in the scene by its label name.
FBMarkerType
Type of the marker.
@ kFBMarkerTypeOptical
Optical.
@ kFBMarkerTypeStandard
Standard.
@ kFBMarkerTypeIKEffector
IK effector.
@ kFBMarkerTypeFKEffector
FK effector.
K_DLLIMPORT FBModel * FBGetLastSelectedModel()
Get the last selected model, which is the one having the manipulator in the viewer.
K_DLLIMPORT void FBDestroyModelList(FBModelList *pModelList)
Delete a FBModelList object.
K_DLLIMPORT void FBGetSelectedModels(FBModelList &pList, FBModel *pParent=NULL, bool pSelected=true, bool pSortBySelectOrder=false)
Find all models that are selected (if pSelected is true) Searches recursively from a root model for m...
K_DLLIMPORT void FBFindModelsOfType(FBModelList &pList, int pTypeInfo, FBModel *pParent=NULL)
Find all models of a certain type in the scene.
FBClusterMode
Different clustering modes.
@ kFBClusterNormalize
Normalize (values between 0.0 and 1.0 )
@ kFBClusterTotal100
The balanced values will add up to 100 percent.
@ kFBClusterAdditive
Add the values together.
K_DLLIMPORT FBModelList * FBCreateModelList()
Create a FBModelList object.
FBMarkerResolutionLevel
Resolution of marker mesh sphere and capsule (Quality).
@ kFBMarkerHighResolution
Highest resolution.
@ kFBMarkerLowResolution
Lowest resolution.
@ kFBMarkerMediumResolution
Medium resolution.
__FB_FORWARD(FBDeformer)
PropertyList: Texture
FBModelShadingMode
Modes for model shading.
@ kFBModelShadingWire
Wireframe shading.
@ kFBModelShadingHard
Hard shading.
@ kFBModelShadingFlat
Flat shading.
@ kFBModelShadingLight
Lighted shading.
@ kFBModelShadingAll
Lighted, shaded, textured shading.
@ kFBModelShadingDefault
Default shading.
@ kFBModelShadingTexture
Textured shading.
K_DLLIMPORT void FBModelTransactionBegin()
FBModelTransactionBegin.
FBDeformerType
Determine the deformer type.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL
FBSelectionAction
Selection mode when selecting component.
@ kFBManipulatorAddAll
Add all components to the current selection.
@ kFBManipulatorReplace
Replaces the current selection by the new selected components.
@ kFBManipulatorAdd
Add the selected components to the current selection.
@ kFBManipulatorToggle
Toggle the current selection with the unselected components.
@ kFBManipulatorRemoveAll
Remove all components from the current selection.
@ kFBManipulatorRemove
Remove the selected components from the current selection.
FBSkeletonResolutionLevel
Resolution of skeleton sphere, capsule and stick (Quality).
@ kFBSkeletonMediumResolution
Medium resolution.
@ kFBSkeletonHighResolution
Highest resolution.
@ kFBSkeletonLowResolution
Lowest resolution.
FBModelRotationOrder
Ways to apply Rotation.
@ kFBSphericXYZ
Spheric XYZ Order.
@ kFBEulerXYZ
XYZ Euler Order.
@ kFBEulerZYX
ZYX Euler Order.
@ kFBEulerYXZ
YXZ Euler Order.
@ kFBEulerXZY
XZY Euler Order.
@ kFBEulerYZX
YZX Euler Order.
@ kFBEulerZXY
ZXY Euler Order.
FBMarkerLook
Look of the marker.
@ kFBMarkerLookCircle
Circle.
@ kFBMarkerLookHardCross
Thick cross.
@ kFBMarkerLookSphere
Sphere.
@ kFBMarkerLookRigidGoal
Rigid goal.
@ kFBMarkerLookCapsule
Capsule.
@ kFBMarkerLookAimRollGoal
Aim & Roll goal.
@ kFBMarkerLookStick
Box with a sphere on one end.
@ kFBMarkerLookRotationGoal
Rotation goal.
@ kFBMarkerLookSquare
Square.
@ kFBMarkerLookLightCross
Wireframe cross.
FBSkeletonLook
Look of the skeleton.
@ kFBSkeletonLookBone
Bone.
@ kFBSkeletonLookSquare
Square.
@ kFBSkeletonLookSphere
Sphere.
@ kFBSkeletonLookCircle
Circle.
@ kFBSkeletonLookLightCross
Wireframe cross.
@ kFBSkeletonLookStick
Box with a sphere on one end.
@ kFBSkeletonLookCapsule
Capsule.
@ kFBSkeletonLookHardCross
Thick cross.
@ kFBSkeletonLookCube
Cube.
K_DLLIMPORT void FBSetLastSelectedModel(FBModel *pModel)
Set the given model as the last one selected, so the manipulator in the viewer will then be on that p...
K_DLLIMPORT FBModel * FBLoadFbxPrimitivesModel(const char *pModelName)
Load a model.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBVector3d, kFBPT_Vector3D > FBPropertyAnimatableVector3d
FBPropertyAnimatableVector3D type definition.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBaseAnimatable< bool, kFBPT_bool > FBPropertyAnimatableBool
FBPropertyAnimatableBool type definition.
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
kFbxObjectStore
Description of the different store/retrieve passes of the FBX format.
class K_DLLIMPORT FBVector2< double > FBVector2d
2D vector.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
class K_DLLIMPORT FBVector4< float > FBNormal
Normal.