Model class. More...
#include <fbmodel.h>
Public Member Functions | |
FBModel (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual void | FBDelete () override |
Open Reality deletion function. More... | |
IQuery_Declare (override) | |
Interface to IObject. More... | |
ICallback_Declare (override) | |
Interface to ICallback. More... | |
virtual FBModel * | Clone () |
Clone the model. More... | |
void | SetMatrix (FBMatrix pMatrix, FBModelTransformationType pWhat=kModelTransformation, bool pGlobalInfo=true, bool pPushUndo=false, FBEvaluateInfo *pEvaluateInfo=NULL) |
Set a matrix for the model. More... | |
void | GetMatrix (FBMatrix &pMatrix, FBModelTransformationType pWhat=kModelTransformation, bool pGlobalInfo=true, FBEvaluateInfo *pEvaluateInfo=NULL) |
Get a matrix from the model. More... | |
void | GetLocalTransformationMatrixWithGlobalRotationDoF (FBMatrix &pMatrix, bool pInverse=false, FBEvaluateInfo *pEvaluateInfo=NULL) |
Get the local transformation (or local inverse transformation) matrix with the global Rotation DoF values from the model. More... | |
void | SetVector (FBVector3d pVector, FBModelTransformationType pWhat=kModelTranslation, bool pGlobalInfo=true, bool pPushUndo=false, FBEvaluateInfo *pEvaluateInfo=NULL) |
Set a vector for the model. More... | |
void | GetVector (FBVector3d &pVector, FBModelTransformationType pWhat=kModelTranslation, bool pGlobalInfo=true, FBEvaluateInfo *pEvaluateInfo=NULL) |
Get a vector from the model. More... | |
bool | IsEvaluationReady (FBModelEvaluationTaskType pWhat, FBEvaluateInfo *pEvaluateInfo=NULL) const |
Is the model's evaluation task result ready. More... | |
void | MatrixToRotation (FBRVector &pRotation, const FBMatrix &pMatrix) |
Convert Rotation Matrix to Euler Vector based on model's rotation order. More... | |
void | RotationToMatrix (FBMatrix &pMatrix, const FBRVector &pRotation) |
Convert Euler Vector to Rotation Matrix based on model's rotation order. More... | |
void | LRMToDof (FBRVector &pDof, const FBMatrix &pLM) |
Convert local matrix to object space vector. More... | |
void | DofToLRM (FBMatrix &pLM, const FBRVector &pDof) |
Convert object space vector to local matrix. More... | |
void | SetSchematicPosition (int pX, int pY) |
Set the position in the schematic view for the model. More... | |
void | SetSchematicPosition (FBVector2d pVector2d) |
Set the position in the schematic view for the model. More... | |
FBVector2d | GetSchematicPosition () |
Get the position in the schematic view for the model. More... | |
void | GetBoundingBox (FBVector3d &pMin, FBVector3d &pMax) |
Get the bounding box of the model. More... | |
bool | IsVisible (FBEvaluateInfo *pEvaluateInfo=NULL) |
If the model is visible. More... | |
FBModelCullingMode | GetCullingMode () const |
Get Model Culling Mode. More... | |
void | SetCullingMode (FBModelCullingMode pCullingMode) |
Set Model Cullin Mode. More... | |
void | ForceAlwaysEvaluate () |
Force Always Evaluate. More... | |
bool | IsForceAlwaysEvaluate () |
Return Force Always Evaluate status. More... | |
int | NoFrustumCullingRequire () |
Acquire no frustum culling request. More... | |
int | NoFrustumCullingRelease () |
Release no frustum culling request. More... | |
bool | UseFrustumCulling () |
Get the current Frustum Culling Status. More... | |
virtual bool | HasCustomDisplay () |
Function to overload to handle custom display. More... | |
virtual void | CustomModelDisplay (FBCamera *pCamera, FBModelShadingMode pShadingMode, FBModelRenderPass pRenderPass, float pPickingAreaWidth, float pPickingAreaHeight) |
Custom display function, called when HasCustomDisplay returns true;. More... | |
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;. More... | |
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 More... | |
unsigned char * | GetSelectedPoints () |
Get the list of the points selection state. More... | |
int | GetSelectedPointsCount () |
Get the number of selected points in the model. More... | |
Additional Unique Color ID management. | |
To support multiple sub items per model/geo selection & picking in easy selection mode using custom rendering routines. see OpenRealitySDK/Samples/miscellaneous/marker_template for example. | |
bool | SetAdditionalUniqueColorIDCount (unsigned int pCount) |
Request additional Unique color IDs. More... | |
unsigned int | GetAdditionalUniqueColorIDCount () const |
Get additional unique color count. More... | |
FBColor | GetAdditionalUniqueColorID (unsigned int pIndex) const |
Get Additional Unique Color Id. More... | |
virtual bool | FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
Store and Retrieve function that can be overloaded. More... | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
Request additional Unique color IDs. More... | |
void | SetupPropertiesForShapes () |
Setup Shape Properties. More... | |
bool | RayCast (FBCamera *pCamera, int pMouseX, int pMouseY, FBVector3d &pHitPosition, FBVector3d &pHitNormal) |
Ray cast test. More... | |
virtual const char * | FbxGetObjectType () override |
Returns the class type inherited by the class of an object, for example: 'Model'. More... | |
virtual const char * | FbxGetObjectSubType () override |
Returns the class sub type inherited by the class of an object, for example: 'Default', 'Mesh'. More... | |
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. More... | |
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). More... | |
void | CollapseInSchematic () |
Collapse the model in the schematic view. More... | |
void | ExpandInSchematic () |
Expand the model in the schematic view. More... | |
bool | IsCollapsedInSchematic () const |
Returns if the model is collapsed or not (expanded) in the schematic view. More... | |
virtual bool | ManipulatorNotify (FBSelectionAction pAction) |
Callback for component selection in custom FBModel. More... | |
![]() | |
FBBox (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual FBAnimationNode * | AnimationNodeInCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) |
Creation of IN/OUT Animation Nodes. More... | |
virtual FBAnimationNode * | AnimationNodeOutCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) |
virtual bool | EvaluateAnimationNodes (FBEvaluateInfo *pEvaluateInfo) |
Evaluation of non TRS nodes that needs to be evaluated. More... | |
virtual bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Notification function for animation thread. More... | |
virtual bool | ResolveCandidate (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Function is call when candidate needs to be resolved (like global to local). More... | |
virtual ECandidateAction | SetGlobalCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a global candidate is set on an animation node. More... | |
virtual ECandidateAction | SetStdCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a non-global candidate is set on an animation node. More... | |
virtual bool | AnimationNodeDestroy (FBAnimationNode *pAnimationNode) |
Destroy an animation node. More... | |
virtual bool | AnimationNodeIsUserData (FBAnimationNode *pAnimationNode) |
Is the animation node user data? More... | |
virtual void | AnimationNodesOutDisableIfNotWritten (FBEvaluateInfo *pEvaluateInfo) |
This call will disable all out animation nodes from being pull by system (animation thread) for given pEvaluateInfo. More... | |
virtual FBAnimationNode * | AnimationNodeInGet () |
Get the (IN/OUT) animation node for this box. More... | |
virtual FBAnimationNode * | AnimationNodeOutGet () |
IObject_Declare (override) | |
virtual int | GetOutConnectorCount () const |
Get the number of animation node outputs for this box. More... | |
virtual int | GetInConnectorCount () const |
Get the number of animation node inputs for this box. More... | |
virtual FBAnimationNode * | GetOutConnector (int pIndex) const |
Get the animation node output associated with the given index. More... | |
virtual FBAnimationNode * | GetInConnector (int pIndex) const |
Get the animation node input associated with the given index. More... | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. More... | |
virtual | ~FBComponent () |
Destructor. More... | |
virtual bool | FBCreate () |
Open Reality Creation function. More... | |
virtual void | FBDestroy () |
Open Reality destruction function. More... | |
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
Assign component to an internal pointer. More... | |
virtual int | PropertyAdd (FBProperty *pProperty) |
Add a property to the component's property manager. More... | |
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
Add a reference property to the component's property manager. More... | |
void | PropertyRemove (FBProperty *pProperty) |
Remove a Property from the component's Property manager. More... | |
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
Get list of properties which have been modified since last loading. More... | |
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL) |
Create user or dynamic property. More... | |
FBObjectFlag | GetObjectFlags () |
Get all Object Flags (concatenated). More... | |
void | SetObjectFlags (FBObjectFlag pFlags) |
SetObjectFlags. More... | |
bool | HasObjectFlags (FBObjectFlag pFlags) |
Check whether a specific object flag is enabled. More... | |
void | EnableObjectFlags (FBObjectFlag pFlags) |
Enable a specific Object Flags. More... | |
void | DisableObjectFlags (FBObjectFlag pFlags) |
Disable a specific Object Flags. More... | |
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
Enable/Disable a specific Object Status. More... | |
bool | GetObjectStatus (FBObjectStatus pStatus) |
Check to see if an object status is enabled. More... | |
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessNamespaceHierarchy. More... | |
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessObjectNamespace. More... | |
virtual const char * | ClassName () override |
Get the class name. More... | |
virtual bool | UseCustomPropertyViewSet () const |
Use the custom property viewSet or not. More... | |
const char * | GetFullName (void) |
Get the full name. More... | |
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
Set the owner Namespace object. More... | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. More... | |
FBFileReference * | GetOwnerFileReference (void) |
Get the owner FileReference object. More... | |
void | HardSelect () |
HardSelect. More... | |
virtual bool | Is (int pTypeId) override |
Returns true if object is of type TypeId. More... | |
virtual int | GetTypeId () override |
GetTypeId( int pTypeId ) More... | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. More... | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Public Attributes | |
FBPropertyListModel | Children |
List: Children for model. More... | |
FBPropertyListShader | Shaders |
List: Shaders for model. More... | |
FBPropertyListMaterial | Materials |
List: Materials for model. More... | |
FBPropertyListTexture | Textures |
List: Textures with Special UseType (Other than "Color" which should connect to materials). More... | |
FBPropertyListDeformer | Deformers |
List: Deformers (Skeleton Deformer or Point Cache Deformer). More... | |
FBPropertyBool | Icon3D |
Read Write Property: Is model a 3D icon? More... | |
FBPropertyBool | SoftSelected |
Read Write Property: Is model Soft selected? More... | |
FBPropertyBool | IsDeformable |
Read Only Property: Is model deformable? More... | |
FBPropertyBool | IsConstrained |
Read Only Property: Is model constrained? More... | |
FBPropertyBool | SkeletonDeformable |
Read Write Property: Model skeleton deformable. Not Savable More... | |
FBPropertyBool | BlendShapeDeformable |
Read Write Property: Model blend-shape deformable. Not Savable More... | |
FBPropertyBool | ConstrainDeformable |
Read Write Property: Model constraint deformable. Not Savable More... | |
FBPropertyBool | PointCacheDeformable |
Read Write Property: Model point cache deformable. Not Savable More... | |
FBPropertyBool | PointCacheRecord |
Read Write Property: Record Point Cache for model? Not Savable More... | |
FBPropertyModel | Parent |
Read Write Property: Parent model. More... | |
FBPropertyModel | LookAt |
Read Write Property: Look at model (interest point). More... | |
FBPropertyModel | UpVector |
Read Write Property: UpVector model. More... | |
FBPropertyGeometry | Geometry |
Read Write Property: Geometry for the model. More... | |
FBPropertyInt | GeometryUpdateId |
Read Only Property: model geometry (vertex data) related update id. More... | |
FBPropertyMesh | TessellatedMesh |
Read Only Property: Tessellated Mesh for the model. More... | |
FBPropertyModelVertexData | ModelVertexData |
Read Only Property: ModelVertexData for the model. More... | |
FBPropertyCluster | Cluster |
Read Only Property: Link Cluster for the model. More... | |
FBPropertyScene | Scene |
Read Only Property: Scene containing the model. More... | |
FBPropertyModelShadingMode | ShadingMode |
Read Write Property: Shading mode for the model. More... | |
FBPropertyAnimationNode | AnimationNode |
Read Only Property: Animation node of the model. More... | |
FBPropertyModelRotationOrder | RotationOrder |
Read Write Property: Rotation order. More... | |
FBPropertyBool | RotationSpaceForLimitOnly |
Read Write Property: Apply Post Rotation Matrix only for Limits? More... | |
FBPropertyBool | RotationActive |
Read Write Property: Is model using Rotation Limits? More... | |
FBPropertyVector3d | PreRotation |
Read Write Property: Pre Rotation (considered if RotationActive is true) More... | |
FBPropertyVector3d | PostRotation |
Read Write Property: Post Rotation (considered if RotationActive is true) More... | |
FBPropertyVector3d | RotationMin |
Read Write Property: Min Rotation Limit (considered if RotationActive is true) More... | |
FBPropertyVector3d | RotationMax |
Read Write Property: Max Rotation Limit (considered if RotationActive is true) More... | |
FBPropertyBool | RotationMinX |
Read Write Property: Is model using Minimum Rotation Limits On X? More... | |
FBPropertyBool | RotationMinY |
Read Write Property: Is model using Minimum Rotation Limits On Y? More... | |
FBPropertyBool | RotationMinZ |
Read Write Property: Is model using Minimum Rotation Limits On Z? More... | |
FBPropertyBool | RotationMaxX |
Read Write Property: Is model using Maximum Rotation Limits On X? More... | |
FBPropertyBool | RotationMaxY |
Read Write Property: Is model using Maximum Rotation Limits On Y? More... | |
FBPropertyBool | RotationMaxZ |
Read Write Property: Is model using Maximum Rotation Limits On Z? More... | |
FBPropertyBool | TranslationActive |
Read Write Property: Is model using Translation Limits? More... | |
FBPropertyVector3d | TranslationMin |
Read Write Property: Translation Limit Min. More... | |
FBPropertyVector3d | TranslationMax |
Read Write Property: Translation Limit Max. More... | |
FBPropertyBool | TranslationMinX |
Read Write Property: Is model using Translation Limits on Min X. More... | |
FBPropertyBool | TranslationMinY |
Read Write Property: Is model using Translation Limits on Min Y. More... | |
FBPropertyBool | TranslationMinZ |
Read Write Property: Is model using Translation Limits on Min Z. More... | |
FBPropertyBool | TranslationMaxX |
Read Write Property: Is model using Translation Limits on Max X. More... | |
FBPropertyBool | TranslationMaxY |
Read Write Property: Is model using Translation Limits on Max Y. More... | |
FBPropertyBool | TranslationMaxZ |
Read Write Property: Is model using Translation Limits on Max Z. More... | |
FBPropertyAnimatableBool | Visibility |
Read Write Property: Visibility of model. This can be overridden by the 'Show' property. More... | |
FBPropertyBool | VisibilityInheritance |
Read Write Property: //!< When this value is set to True the Visibility of this model is also applied to all its descendants More... | |
FBPropertyAnimatableVector3d | Translation |
Read Write Property: Lcl translation. More... | |
FBPropertyAnimatableVector3d | Rotation |
Read Write Property: Lcl rotation. More... | |
FBPropertyAnimatableVector3d | Scaling |
Read Write Property: Lcl scaling. More... | |
FBPropertyVector3d | GeometricTranslation |
Read Write Property: Geometric translation. More... | |
FBPropertyVector3d | GeometricRotation |
Read Write Property: Geometric rotation. More... | |
FBPropertyVector3d | GeometricScaling |
Read Write Property: Geometric scaling. More... | |
FBPropertyBool | QuaternionInterpolate |
Read Write Property: Use quaternion interpolation. More... | |
FBPropertyBool | Show |
Read Write Property: Indicate if the viewer should show the object, according to its visibility value. This has a default value of 'false'. More... | |
FBPropertyBool | Pickable |
Read Write Property: Indicate if a model can be picked in the viewer. This has a default value of 'true'. More... | |
FBPropertyBool | Transformable |
Read Write Property: Indicate if a model can be transformable in the viewer. This has a default value of 'true'. More... | |
FBPropertyColor | UniqueColorId |
Read Only Property: Unique Color Id for color based viewer picking. Color channel values are in the range [0, 1] with 1.0/255 precision. More... | |
FBPropertyBool | PrimaryVisibility |
Read Write Property: Control the geometry render state. Geometry can still cast shadows even if this is turned off. More... | |
FBPropertyBool | CastsShadows |
Read Write Property: If true, the geometry will produce shadows. More... | |
FBPropertyBool | ReceiveShadows |
Read Write Property: If true, the geometry will receive shadows. More... | |
![]() | |
const char * | UniqueName |
internal Unique name. More... | |
FBPropertyBool | Animatable |
Read Write Property: Is the box animatable. More... | |
FBPropertyBool | Live |
Read Write Property: Is live? More... | |
FBPropertyBool | RecordMode |
Read Write Property: Is recording? More... | |
![]() | |
FBPropertyManager | PropertyList |
Read Only Property: Manages all of the properties for the component. More... | |
FBPropertyListComponent | Components |
List: List of components. More... | |
FBPropertyListComponent | Parents |
List: Parents. More... | |
FBPropertyBool | Selected |
Read Write Property: Selected property. More... | |
FBPropertyString | Name |
Read Write Property: Unique name of object. More... | |
FBPropertyString | LongName |
Read Write Property: Name and namespace for object. More... | |
FBPropertyFolder | Folder |
Read Write Property: The folder that contain this component. More... | |
Additional Inherited Members | |
![]() | |
enum | ECandidateAction { eCandidateAccept , eCandidateIntercept , eCandidateInterceptAfterEvaluation } |
Resolving action for candidates. More... | |
![]() | |
static int | GetInternalClassId () |
static void | FBComponentSetName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetName (FBComponent *pObject) |
static void | FBComponentSetLongName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetLongName (FBComponent *pObject) |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. More... | |
![]() | |
bool | IsSDKComponent () |
Return whether or not item is an SDK component. More... | |
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | DisconnectDst (FBPlug *pDst) |
Remove a destination connection. More... | |
bool | DisconnectSrc (FBPlug *pSrc) |
Remove a source connection. More... | |
void | DisconnectAllSrc () |
Remove all source connections. More... | |
void | DisconnectAllDst () |
Remove all destination connections. More... | |
bool | DisconnectDstAt (int pIndex) |
Remove a destination connection at a specified index. More... | |
bool | DisconnectSrcAt (int pIndex) |
Remove a source connection at a specified index. More... | |
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
Replace a destination connection at a specified index. More... | |
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
Replace a source connection at a specified index. More... | |
bool | SwapSrc (int pIndexA, int pIndexB) |
Swap source connection at index A with source connection at index B. More... | |
bool | MoveSrcAt (int pIndex, int pAtIndex) |
Move source connection at pIndex to pAtIndex. More... | |
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
Move source connection pSrc to the position of pAtSrc. More... | |
int | GetSrcCount () |
Get source connection count. More... | |
FBPlug * | GetSrc (int pIndex) |
Get a source connection's plug at specified index. More... | |
FBConnectionType | GetSrcType (int pIndex) |
Get a source connection's type at specified index. More... | |
int | GetDstCount () |
Get destination connection count. More... | |
FBPlug * | GetDst (int pIndex) |
Get a destination connection's plug at specified index. More... | |
FBConnectionType | GetDstType (int pIndex) |
Get a destination connection's type at specified index. More... | |
bool | BeginChange () |
Begins a change on multiple plugs. More... | |
void | EndChange () |
Ends a change on multiple plugs. More... | |
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's self modification flag. More... | |
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
Tell if the plug's self has changed. More... | |
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's owned property/object's modification flag. More... | |
bool | GetContentModified (FBPlugModificationFlag pFlag) |
Tell if the plug's content has changed. More... | |
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
Get plug's modified src/dst property/object connection added/removed List. More... | |
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
Revert the plug's modification to original status. More... | |
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
Set the plug's status flag. More... | |
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
Tell if the plug's status has changed. More... | |
FBPlug * | GetOwner () |
Get the owner of this plug. More... | |
FBPlug * | GetOwned (int pIndex) |
Get the owned plug at specified index. More... | |
int | GetOwnedCount () |
Get the owned plug count. More... | |
virtual bool | PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More... | |
virtual bool | PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More... | |
virtual bool | PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL) |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More... | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. More... | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. More... | |
HIObject | mObject |
Handle on the Plug. More... | |
bool | mSDKComponent |
bool Plug is an SDK component. More... | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. More... | |
static int | TypeInfo |
TypeInfo. More... | |
static int | mGlobalTypeInfo |
Represente the Type Index. More... | |
Model class.
In the MotionBuilder UI, a model can be any object in a scene, created using geometry. Models can represent simple objects like cubes, or complex objects like characters.
FBModel is a base class which is not used so much directly, but is the parent of well-used classes like FBCamera, FBLight, and FBModelMarker.
It also implements a number of widely-implemented functions and attributes, such as:
There is a few ways to get a handle on existing models in a scene:
FBModel | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of model. |
pObject | For internal use only(default=NULL). |
|
virtual |
Clone the model.
This will duplicate the current model.
|
virtual |
Determines the first intersection point's position and normal between ray and model surface
pRayOrigin | Specifies origin of the view ray. |
pRayEnd | Specifies end of the view ray. |
pIntersectPos | return the first intersection point's position; |
pIntersectNormal | return the first intersection point's normal; |
void CollapseInSchematic | ( | ) |
Collapse the model in the schematic view.
|
inlinevirtual |
Custom display function, called when HasCustomDisplay returns true;.
pCamera | Current camera for display. |
pShadingMode | Shading mode to render see FBModelShadingMode. |
pRenderPass | Actual rendering pass, see FBModelRenderPass. |
pPickingAreaWidth | Width of picking area. |
pPickingAreaHeight | Height of picking area. |
|
inlinevirtual |
Custom picking for selection, called when HasCustomDisplay returns true;.
pNbHits | Number of hits. |
pSelectBuffer | OpenGL hit buffer. |
pCamera | Current camera for rendering. |
pMouseX | Mouse X position. |
pMouseY | Mouse Y position. |
pLocalRaySrc | Local picking ray source. |
pLocalRayDir | Local picking ray direction. |
pWorldRaySrc | World coordinate picking ray source. |
pWorldRayDir | World coordinate picking ray direction. |
pGlobalInverseMatrix | Inverse transformation matrix of the model. |
pOutPickedPoint | Picked position. |
Convert object space vector to local matrix.
pLM | Resulting local rotation matrix. |
pDof | Vector to convert |
void ExpandInSchematic | ( | ) |
Expand the model in the schematic view.
|
overridevirtual |
Open Reality deletion function.
Reimplemented from FBComponent.
|
overridevirtual |
Returns the class sub type inherited by the class of an object, for example: 'Default', 'Mesh'.
Reimplemented from FBBox.
Reimplemented in FBModelMarker, and FBModelNull.
|
overridevirtual |
Returns the class type inherited by the class of an object, for example: 'Model'.
Reimplemented from FBBox.
Reimplemented in FBModelMarker, and FBModelNull.
|
overridevirtual |
Request additional Unique color IDs.
pCount | User should note that Unique Color ID resource is limited (only 24 bits), hence should avoid to use unnecessary large number. |
Reimplemented from FBBox.
Reimplemented in FBModelMarker, and FBModelNull.
|
overridevirtual |
Store and Retrieve function that can be overloaded.
pFbxObject | FBX Object that is used to communicate I/O operations. |
pStoreWhat | Which attributes are currently stored/retrieved. |
Reimplemented from FBBox.
Reimplemented in FBModelMarker, and FBModelNull.
void ForceAlwaysEvaluate | ( | ) |
Force Always Evaluate.
In some case, MoBu kernel perform optimization by skipping certain evaluation tasks. This function stop skipping for this model.
FBColor GetAdditionalUniqueColorID | ( | unsigned int | pIndex | ) | const |
Get Additional Unique Color Id.
pIndex | the requested unique color id index, can't be larger than GetAdditionalColorIDCount() |
unsigned int GetAdditionalUniqueColorIDCount | ( | ) | const |
Get additional unique color count.
void GetBoundingBox | ( | FBVector3d & | pMin, |
FBVector3d & | pMax | ||
) |
Get the bounding box of the model.
Note. for deformable model, this function will provide the approximated (larger than the smallest) bounding box for performance consideration.
pMin | Output parameter. Minimum value of the bounding box. |
pMax | Output parameter. Maximum value of the bounding box. |
FBModelCullingMode GetCullingMode | ( | ) | const |
Get Model Culling Mode.
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).
The hierarchy world matrix for a model is represented as a global transform matrix applied on an arbitrary root hierarchy node (this model for instance), considered as the world reference.
pMatricesArray | The matrix array (memory already allocated) to fill in with the hierarchy world matrix of all the model's children models |
pMatricesArrayCount | The size of the matrix array |
pHiercharyTraverserType | The hierarchy traverser type |
pEvaluateInfo | EvaluateInfo, Take Display if none specified. |
Number | of matrices filled in the array. The value may be different than pMatricesArrayCount if the number of children models is less than the size of the matrix array. |
void GetLocalTransformationMatrixWithGlobalRotationDoF | ( | FBMatrix & | pMatrix, |
bool | pInverse = false , |
||
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) |
Get the local transformation (or local inverse transformation) matrix with the global Rotation DoF values from the model.
The GetMatrix method was previously wrongly returning the local transformation (and local inverse transformation) matrices with global Rotation DoF values. The GetMatrix method implementation has been updated to not include the global Rotation DoF values. This method returns the same matrix values returned by the legacy GetMatrix implementation when retrieving the local transformation (and local inverse transformation) matrices.
pMatrix | Matrix to fill with requested information. |
pInverse | False for the transformation matrix, true for the inverse transformation matrix. |
pEvaluateInfo | EvaluateInfo, Take Display if none specified. |
void GetMatrix | ( | FBMatrix & | pMatrix, |
FBModelTransformationType | pWhat = kModelTransformation , |
||
bool | pGlobalInfo = true , |
||
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) |
Get a matrix from the model.
pMatrix | Matrix to fill with requested information. |
pWhat | Type of information requested (default=transformation). |
pGlobalInfo | true if it is GlobalInfo, false if Local (default=true). |
pEvaluateInfo | EvaluateInfo, Take Display if none specified. |
FBVector2d GetSchematicPosition | ( | ) |
Get the position in the schematic view for the model.
unsigned char* GetSelectedPoints | ( | ) |
Get the list of the points selection state.
int GetSelectedPointsCount | ( | ) |
Get the number of selected points in the model.
void GetVector | ( | FBVector3d & | pVector, |
FBModelTransformationType | pWhat = kModelTranslation , |
||
bool | pGlobalInfo = true , |
||
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) |
Get a vector from the model.
pVector | Vector to fill with requested values. |
pWhat | Type of information requested (default=translation, inverses not supported). |
pGlobalInfo | true if it is GlobalInfo, false if Local (default=true). |
pEvaluateInfo | EvaluateInfo, Take Display if none specified |
|
inlinevirtual |
ICallback_Declare | ( | override | ) |
Interface to ICallback.
IQuery_Declare | ( | override | ) |
Interface to IObject.
bool IsCollapsedInSchematic | ( | ) | const |
Returns if the model is collapsed or not (expanded) in the schematic view.
bool IsEvaluationReady | ( | FBModelEvaluationTaskType | pWhat, |
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) | const |
Is the model's evaluation task result ready.
pWhat | Type of evaluation task. |
pEvaluateInfo | EvaluateInfo, Take Display if none specified |
bool IsForceAlwaysEvaluate | ( | ) |
Return Force Always Evaluate status.
bool IsVisible | ( | FBEvaluateInfo * | pEvaluateInfo = NULL | ) |
If the model is visible.
Note. this query will consider self Visibility property, plus parent node/set Visibility. The visibility of a model is affected by 4 parameters:
pEvaluateInfo | evaluate info, |
Convert local matrix to object space vector.
pDof | Resulting object space vector. |
pLM | Local rotation matrix to convert |
|
inlinevirtual |
Callback for component selection in custom FBModel.
pAction | The selection mode the current viewport is in. |
Convert Rotation Matrix to Euler Vector based on model's rotation order.
pRotation | Resulting euler vector, whose angles are stored in [X,Y,Z] order. |
pMatrix | Matrix to convert. |
int NoFrustumCullingRelease | ( | ) |
Release no frustum culling request.
int NoFrustumCullingRequire | ( | ) |
Acquire no frustum culling request.
bool RayCast | ( | FBCamera * | pCamera, |
int | pMouseX, | ||
int | pMouseY, | ||
FBVector3d & | pHitPosition, | ||
FBVector3d & | pHitNormal | ||
) |
Ray cast test.
pCamera | Camera to use for casting. |
pMouseX | Mouse X position. |
pMouseY | Mouse Y position. |
pHitPosition | Ray cast position on the object. |
pHitNormal | Normal at the ray cast position on the object. |
Convert Euler Vector to Rotation Matrix based on model's rotation order.
pMatrix | Resulting rotation matrix. |
pRotation | Object space rotation vector to convert, whose angles are stored in [X,Y,Z] order. |
bool SetAdditionalUniqueColorIDCount | ( | unsigned int | pCount | ) |
Request additional Unique color IDs.
pCount | User should note that Unique Color ID resource is limited (only 24 bits), hence should avoid to use unnecessary large number. |
void SetCullingMode | ( | FBModelCullingMode | pCullingMode | ) |
Set Model Cullin Mode.
pCullingMode | Culling Mode to be set. |
void SetMatrix | ( | FBMatrix | pMatrix, |
FBModelTransformationType | pWhat = kModelTransformation , |
||
bool | pGlobalInfo = true , |
||
bool | pPushUndo = false , |
||
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) |
Set a matrix for the model.
pMatrix | Information to use to set the model's matrix. |
pWhat | Type of matrix to set (default=transformation). |
pGlobalInfo | true if it is GlobalInfo, false if Local (default=true). |
pPushUndo | true if this operation is undoable, don't push undo in non UI thread. |
pEvaluateInfo | EvaluateInfo, Take Display if none specified |
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.
pMatrix | Information to use to set the model's matrix. |
pWhat | Type of matrix to set (default=transformation). |
pGlobalInfo | true if it is GlobalInfo, false if Local (default=true). |
pPushUndo | true if this operation is undoable, don't push undo in non UI thread. |
pEvaluateInfo | EvaluateInfo, Take Display if none specified |
pPrecision | Indicate the precision level, used when calculating the threshold value for gimble lock. 16 * pow(10.0, -10)) is the new default value since Mobu 2016, 16 * pow(10.0, -6)) is old default value before then. |
void SetSchematicPosition | ( | FBVector2d | pVector2d | ) |
Set the position in the schematic view for the model.
pVector2d | Position to set. |
void SetSchematicPosition | ( | int | pX, |
int | pY | ||
) |
Set the position in the schematic view for the model.
pX | X position to set. |
pY | Y position to set. |
void SetupPropertiesForShapes | ( | ) |
Setup Shape Properties.
Normally this function is called automatically at the next global synchronization point after the geometry has been updated. However you must call it explicitly to access the shape properties immediately after shapes adding/removing before next global synchronization point.
void SetVector | ( | FBVector3d | pVector, |
FBModelTransformationType | pWhat = kModelTranslation , |
||
bool | pGlobalInfo = true , |
||
bool | pPushUndo = false , |
||
FBEvaluateInfo * | pEvaluateInfo = NULL |
||
) |
Set a vector for the model.
pVector | Vector to use to set values. |
pWhat | Type of information to set (default=translation, inverses not supported). |
pGlobalInfo | true if it is GlobalInfo, false if Local (default=true). |
pPushUndo | true if this operation is undoable, don't push undo in non UI thread. |
pEvaluateInfo | EvaluateInfo, Take Display if none specified |
bool UseFrustumCulling | ( | ) |
Get the current Frustum Culling Status.
FBPropertyAnimationNode AnimationNode |
FBPropertyBool BlendShapeDeformable |
FBPropertyBool CastsShadows |
FBPropertyListModel Children |
FBPropertyCluster Cluster |
FBPropertyBool ConstrainDeformable |
FBPropertyListDeformer Deformers |
FBPropertyVector3d GeometricRotation |
FBPropertyVector3d GeometricScaling |
FBPropertyVector3d GeometricTranslation |
FBPropertyGeometry Geometry |
FBPropertyInt GeometryUpdateId |
FBPropertyBool Icon3D |
FBPropertyBool IsConstrained |
FBPropertyBool IsDeformable |
FBPropertyModel LookAt |
FBPropertyListMaterial Materials |
FBPropertyModelVertexData ModelVertexData |
FBPropertyBool Pickable |
FBPropertyBool PointCacheDeformable |
FBPropertyBool PointCacheRecord |
FBPropertyVector3d PostRotation |
FBPropertyVector3d PreRotation |
FBPropertyBool PrimaryVisibility |
FBPropertyBool QuaternionInterpolate |
FBPropertyBool ReceiveShadows |
FBPropertyAnimatableVector3d Rotation |
FBPropertyBool RotationActive |
FBPropertyVector3d RotationMax |
FBPropertyBool RotationMaxX |
FBPropertyBool RotationMaxY |
FBPropertyBool RotationMaxZ |
FBPropertyVector3d RotationMin |
FBPropertyBool RotationMinX |
FBPropertyBool RotationMinY |
FBPropertyBool RotationMinZ |
FBPropertyModelRotationOrder RotationOrder |
FBPropertyBool RotationSpaceForLimitOnly |
FBPropertyAnimatableVector3d Scaling |
FBPropertyScene Scene |
FBPropertyListShader Shaders |
FBPropertyModelShadingMode ShadingMode |
FBPropertyBool Show |
FBPropertyBool SkeletonDeformable |
FBPropertyBool SoftSelected |
FBPropertyMesh TessellatedMesh |
FBPropertyListTexture Textures |
FBPropertyBool Transformable |
FBPropertyAnimatableVector3d Translation |
FBPropertyBool TranslationActive |
FBPropertyVector3d TranslationMax |
FBPropertyBool TranslationMaxX |
FBPropertyBool TranslationMaxY |
FBPropertyBool TranslationMaxZ |
FBPropertyVector3d TranslationMin |
FBPropertyBool TranslationMinX |
FBPropertyBool TranslationMinY |
FBPropertyBool TranslationMinZ |
FBPropertyColor UniqueColorId |
FBPropertyModel UpVector |
FBPropertyAnimatableBool Visibility |
FBPropertyBool VisibilityInheritance |