#include <fbxmanipulators.h>
This class can be used to provide basic camera manipulation in any program using this library.
Definition at line 30 of file fbxmanipulators.h.
Public Types | |
enum | EAction { eNone, eOrbit, eDolly, ePan, eFreePan } |
All possible manipulation actions that can be performed on a camera using this manipulator. More... | |
![]() | |
enum | EObjectFlag { eNone = 0, eInitialized = 1 << 0, eSystem = 1 << 1, eSavable = 1 << 2, eSelected = 1 << 3, eHidden = 1 << 4, eContentLoaded = 1 << 5, eDontLocalize = 1 << 6, eCopyCalledByClone = 1 << 16 } |
Flags available to control objects. More... | |
enum | ECloneType { eDeepClone, eReferenceClone } |
Types of clones that can be created for FbxObject. More... | |
Public Member Functions | |
void | Begin (EAction pAction, float pX, float pY) |
Begin manipulation of the camera. More... | |
void | Notify (float pX, float pY, float pScale=0) |
Notify manipulation of latest input. More... | |
void | End () |
End current manipulation. More... | |
void | Update (const FbxTime &pTimeDelta=FBXSDK_TIME_ZERO) |
Update the camera position. More... | |
void | Action (EAction pAction, float pX, float pY, float pScale=0) |
Do a complete manipulation action in a single operation. More... | |
EAction | GetCurrentAction () const |
Retrieve current manipulation action. More... | |
void | FrameAll (const FbxTime &pTime=FBXSDK_TIME_INFINITE) |
Change camera position and LookAt node to frame all objects. More... | |
void | FrameSelected (const FbxTime &pTime=FBXSDK_TIME_INFINITE) |
Change camera position and LookAt to frame all selected objects. More... | |
void | FrameScreenPosition (float pX, float pY, bool pCulling=false, const FbxTime &pTime=FBXSDK_TIME_INFINITE) |
Change camera position and LookAt to frame the selected position on screen. More... | |
![]() | |
virtual void | Compact () |
Compact the memory used by this object. More... | |
FBX_DEPRECATED bool | Is (const FbxClassId &pClassId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
template<class T > | |
bool | Is () const |
Templated test if this class is a hierarchical children of the specified class type. More... | |
FbxManager * | GetFbxManager () const |
Retrieve the FbxManager this object belongs to. More... | |
FbxDocument * | GetDocument () const |
Returns a const pointer to the document that contains this object. More... | |
FbxDocument * | GetRootDocument () const |
Returns a const pointer to the root document that contains this object. More... | |
FbxScene * | GetScene () const |
Returns a const pointer to the scene that contains this object. More... | |
void | Destroy (bool pRecursive=false) |
Unregister and delete this object from memory. More... | |
void | ResetProperties () |
Reset all the properties of this object to their default values. More... | |
virtual bool | GetSelected () |
Returns if this object is currently in a selected state. More... | |
virtual void | SetSelected (bool pSelected) |
Sets whether this object is currently selected. More... | |
void | SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData) |
Sets the data pointer for an user data record whose ID is pUserID. More... | |
void * | GetUserDataPtr (const FbxUInt64 &pUserID) const |
Returns the data pointer of an user data record whose ID is pUserID. More... | |
void | SetUserDataPtr (void *pUserData) |
Sets the data pointer for the user data record whose ID is the object ID. More... | |
void * | GetUserDataPtr () const |
Returns the data pointer of the user data record whose ID is the object ID. More... | |
bool | ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to a source object. More... | |
bool | IsConnectedSrcObject (const FbxObject *pObject) const |
Judges whether this object connects with the source object. More... | |
bool | DisconnectSrcObject (FbxObject *pObject) |
Disconnects this object from a source object. More... | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects. More... | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that satisfy a given criteria. More... | |
FBX_DEPRECATED bool | DisconnectAllSrcObject (FbxClassId pClassId) |
Disconnects this object from all source objects of a specific class type. More... | |
int | GetSrcObjectCount () const |
Returns the number of source objects with which this object connects. More... | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects that satisfy the given criteria with which this object connects. More... | |
FBX_DEPRECATED int | GetSrcObjectCount (FbxClassId pClassId) const |
Returns the number of source objects of the specific class type with which this object connects. More... | |
FbxObject * | GetSrcObject (int pIndex=0) const |
Returns the source object with which this object connects at the specified index. More... | |
FbxObject * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that satisfies the criteria at the specified index with which this object connects. More... | |
FBX_DEPRECATED FbxObject * | GetSrcObject (FbxClassId pClassId, int pIndex=0) const |
Returns the source object of the specified class type at the specified index with which this object connects. More... | |
FbxObject * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name, starting at the specified index. More... | |
FbxObject * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
FBX_DEPRECATED FbxObject * | FindSrcObject (FbxClassId pClassId, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name which is also the specified class type, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetSrcObjectCount () const |
Returns the number of source objects of a specific class type with which this object connects. More... | |
template<class T > | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetSrcObject (int pIndex=0) const |
Returns the source object of the specified class type at the specified index. More... | |
template<class T > | |
T * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
bool | ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to one destination object. More... | |
bool | IsConnectedDstObject (const FbxObject *pObject) const |
Judges whether this object connects with the destination object. More... | |
bool | DisconnectDstObject (FbxObject *pObject) |
Disconnects this object from the destination object. More... | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects. More... | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that satisfy given criteria. More... | |
FBX_DEPRECATED bool | DisconnectAllDstObject (FbxClassId pClassId) |
Disconnects this object from all destination objects of the specified class type. More... | |
int | GetDstObjectCount () const |
Returns the number of destination objects with which this object connects. More... | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that satisfy the given criteria. More... | |
FBX_DEPRECATED int | GetDstObjectCount (FbxClassId pClassId) const |
Returns the number of destination objects of the specified class type with which this object connects. More... | |
FbxObject * | GetDstObject (int pIndex=0) const |
Returns the destination object at the specified index with which this object connects. More... | |
FbxObject * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More... | |
FBX_DEPRECATED FbxObject * | GetDstObject (FbxClassId pClassId, int pIndex=0) const |
Returns the destination object of the specified class type with which this object connects at the specified index. More... | |
FbxObject * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name, starting at the specified index. More... | |
FbxObject * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
FBX_DEPRECATED FbxObject * | FindDstObject (FbxClassId pClassId, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which is the specified class type, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetDstObjectCount () const |
Returns the number of destination objects of the specified class type with which this object connects. More... | |
template<class T > | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetDstObject (int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type at the specified index. More... | |
template<class T > | |
T * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
FbxProperty | GetFirstProperty () const |
Returns the first property of this object. More... | |
FbxProperty | GetNextProperty (const FbxProperty &pProperty) const |
Returns the next property of this object that follows the specified property. More... | |
FbxProperty | FindProperty (const char *pName, bool pCaseSensitive=true) const |
Searches a property by name. More... | |
FbxProperty | FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by name and data type. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const |
Searches a property by full name. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by full name and data type. More... | |
FbxProperty | GetClassRootProperty () |
Returns the class root property. More... | |
bool | ConnectSrcProperty (const FbxProperty &pProperty) |
Connects this object to a source property. More... | |
bool | IsConnectedSrcProperty (const FbxProperty &pProperty) |
Determines whether this object connects with the specified source property. More... | |
bool | DisconnectSrcProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified source property. More... | |
int | GetSrcPropertyCount () const |
Returns the number of source properties with which this object connects. More... | |
FbxProperty | GetSrcProperty (int pIndex=0) const |
Returns the source property at the specified index with which this object connects. More... | |
FbxProperty | FindSrcProperty (const char *pName, int pStartIndex=0) const |
Searches a source property with which this object connects that has a specific name, starting at the specified index. More... | |
bool | ConnectDstProperty (const FbxProperty &pProperty) |
Connects this object to a destination property. More... | |
bool | IsConnectedDstProperty (const FbxProperty &pProperty) |
Determines if this object connects with the specified destination property. More... | |
bool | DisconnectDstProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified destination property. More... | |
int | GetDstPropertyCount () const |
Returns the number of destination properties with which this object connects. More... | |
FbxProperty | GetDstProperty (int pIndex=0) const |
Returns the destination property at the specified index with which this object connects. More... | |
FbxProperty | FindDstProperty (const char *pName, int pStartIndex=0) const |
Searches a destination property with which this object connects that has a specific name, starting at the specified index. More... | |
int | ContentUnload () |
Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More... | |
int | ContentLoad () |
Loads this object's content using the offload peripheral that is currently set in the document. More... | |
bool | ContentIsLoaded () const |
Judges if this object's content is loaded. More... | |
void | ContentDecrementLockCount () |
Decreases the content lock count of an object. More... | |
void | ContentIncrementLockCount () |
Increases the content lock count of an object. More... | |
bool | ContentIsLocked () const |
Judges if this object's content is locked. More... | |
virtual bool | ContentWriteTo (FbxStream &pStream) const |
Writes the content of the object to the given stream. More... | |
virtual bool | ContentReadFrom (const FbxStream &pStream) |
Reads the content of the object from the given stream. More... | |
void | EmitMessage (FbxMessage *pMessage) const |
Emits a message in all available message emitters in the document or SDK manager. More... | |
virtual const char * | Localize (const char *pID, const char *pDefault=NULL) const |
Localization helper function, it calls the implementation of FBX SDK manager. More... | |
FbxLibrary * | GetParentLibrary () const |
Returns a handle on the parent library of this object. More... | |
bool | AddImplementation (FbxImplementation *pImplementation) |
Adds an implementation. More... | |
bool | RemoveImplementation (FbxImplementation *pImplementation) |
Removes an implementation. More... | |
bool | HasDefaultImplementation (void) const |
Determines if this shading node has a default implementation. More... | |
FbxImplementation * | GetDefaultImplementation (void) const |
Returns the default implementation of this shading node. More... | |
bool | SetDefaultImplementation (FbxImplementation *pImplementation) |
Sets the default implementation of this shading node. More... | |
int | GetImplementationCount (const FbxImplementationFilter *pCriteria=NULL) const |
Returns the number of implementations that satisfy a given criteria. More... | |
FbxImplementation * | GetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=NULL) const |
Returns the implementation at the specified index that satisfies the given criteria. More... | |
virtual FbxString | GetUrl () const |
Returns the URL of this object. More... | |
virtual bool | SetUrl (char *pUrl) |
Sets the URL of this object. More... | |
void | SetRuntimeClassId (const FbxClassId &pClassId) |
Set the run-time ClassId for this class. More... | |
FbxClassId | GetRuntimeClassId () const |
Retrieve the run-time ClassId for this object. More... | |
bool | IsRuntime (const FbxClassId &pClassId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
bool | IsRuntimePlug () const |
Find out if the ClassId was registered during run-time rather than at compile time. More... | |
void | SetObjectFlags (EObjectFlag pFlags, bool pValue) |
Set the state of object flags. More... | |
bool | GetObjectFlags (EObjectFlag pFlags) const |
Get the state of object flags. More... | |
void | SetAllObjectFlags (FbxUInt pFlags) |
Override all object flags at once. More... | |
FbxUInt | GetAllObjectFlags () const |
Get all object flags at once. More... | |
virtual FbxObject & | Copy (const FbxObject &pObject) |
Copy an object content into this object. More... | |
virtual FbxObject * | Clone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=NULL, void *pSet=NULL) const |
Creates a clone of this object. More... | |
bool | IsAReferenceTo () const |
Checks if this object is a reference clone of another object. More... | |
FbxObject * | GetReferenceTo () const |
If this object is a reference clone, returns the original object (from which the clone originates). More... | |
bool | IsReferencedBy () const |
Checks if any objects are reference cloned from this object. More... | |
int | GetReferencedByCount () const |
Returns the number of objects that are reference clones of this object. More... | |
FbxObject * | GetReferencedBy (int pIndex) const |
Returns a reference clone of this object at the specified index. More... | |
void | SetName (const char *pName) |
Sets the name of this object. More... | |
const char * | GetName () const |
Returns the full name of this object. More... | |
FbxString | GetNameWithoutNameSpacePrefix () const |
Returns the name of the object without the namespace qualifier. More... | |
FbxString | GetNameWithNameSpacePrefix () const |
Returns the name of the object with the namespace qualifier. More... | |
void | SetInitialName (const char *pName) |
Sets the initial name of the object. More... | |
const char * | GetInitialName () const |
Returns the initial name of the object. More... | |
FbxString | GetNameSpaceOnly () |
Returns the namespace of the object. More... | |
void | SetNameSpace (FbxString pNameSpace) |
Sets the namespace of the object. More... | |
FbxArray< FbxString * > | GetNameSpaceArray (char identifier) |
Returns an array of all the namespaces for this object. More... | |
FbxString | GetNameOnly () const |
Returns only the name (no namespace or prefix) of the object. More... | |
FbxString | GetNameSpacePrefix () const |
Returns the namespace qualifier. More... | |
const FbxUInt64 & | GetUniqueID () const |
Returns the unique ID of this object. More... | |
![]() | |
void | AddListener (FbxEventHandler &pHandler) |
Add the specified event handler to current emitter list. More... | |
void | RemoveListener (FbxEventHandler &pHandler) |
Remove the specified event handler from current emitter list. More... | |
template<typename EventType > | |
void | Emit (const EventType &pEvent) const |
Emit an event with the specified the event type. More... | |
Public Attributes | |
FbxPropertyT< FbxReference > | Camera |
The camera controlled by the manipulator. More... | |
FbxPropertyT< FbxFloat > | ViewportWidth |
Width of the camera viewport, in pixels. More... | |
FbxPropertyT< FbxFloat > | ViewportHeight |
Height of the camera viewport, in pixels. More... | |
FbxPropertyT< FbxBool > | Smooth |
Camera manipulations will be smooth if enabled. More... | |
FbxPropertyT< FbxDouble > | SmoothSpeed |
Camera manipulations smoothing speed. More... | |
FbxPropertyT< FbxBool > | InvertX |
Invert the camera horizontal manipulation direction if set to true. More... | |
FbxPropertyT< FbxBool > | InvertY |
Invert the camera vertical manipulation direction if set to true. More... | |
FbxPropertyT< FbxBool > | Restore |
Restore the camera transform upon destruction of the manipulator. More... | |
![]() | |
FbxProperty | RootProperty |
The root property that holds all children property for this object. More... | |
Additional Inherited Members | |
![]() | |
static FbxString | RemovePrefix (char *pName) |
Removes the prefix of pName. More... | |
static FbxString | StripPrefix (FbxString &lName) |
Strips the prefix of pName. More... | |
static FbxString | StripPrefix (const char *pName) |
Strips the prefix of pName. More... | |
![]() | |
virtual void | Construct (const FbxObject *pFrom) |
Optional constructor override, automatically called by default constructor. More... | |
virtual void | ConstructProperties (bool pForceSet) |
Optional property constructor override, automatically called by default constructor. More... | |
virtual void | Destruct (bool pRecursive) |
Optional destructor override, automatically called by default destructor. More... | |
virtual void | ContentClear () |
Clears this object's content from memory. More... | |
virtual FbxPeripheral * | GetPeripheral () |
Retrieves the peripheral of that object. More... | |
enum EAction |
All possible manipulation actions that can be performed on a camera using this manipulator.
Definition at line 36 of file fbxmanipulators.h.
void Begin | ( | EAction | pAction, |
float | pX, | ||
float | pY | ||
) |
Begin manipulation of the camera.
pAction | The action performed for this manipulation scope. |
pX | Begin horizontal position of the manipulation, in pixels. |
pY | Begin vertical position of the manipulation, in pixels. |
void Notify | ( | float | pX, |
float | pY, | ||
float | pScale = 0 |
||
) |
Notify manipulation of latest input.
pTimeDelta | Elapsed time since the last notify. Only used if Smoothing is enabled. |
pX | Horizontal position of the manipulation, in pixels. |
pY | Vertical position of the manipulation, in pixels. |
pScale | Scaling value of the manipulation. Only used by eFreePan action. |
void End | ( | ) |
End current manipulation.
void Update | ( | const FbxTime & | pTimeDelta = FBXSDK_TIME_ZERO | ) |
Update the camera position.
This must be called periodically in order for the camera to update its position.
pTimeDelta | Elapsed time since the last update. If Smooth is disabled, you can leave this value to zero. |
void Action | ( | EAction | pAction, |
float | pX, | ||
float | pY, | ||
float | pScale = 0 |
||
) |
Do a complete manipulation action in a single operation.
This is the equivalent of calling Begin, Notify and End successively.
pAction | The action performed for this manipulation scope. |
pX | Horizontal position of the manipulation, in pixels. |
pY | Vertical position of the manipulation, in pixels. |
pScale | Scaling value of the manipulation. Only used by eFreePan action. |
EAction GetCurrentAction | ( | ) | const |
Retrieve current manipulation action.
void FrameAll | ( | const FbxTime & | pTime = FBXSDK_TIME_INFINITE | ) |
Change camera position and LookAt node to frame all objects.
pTime | Time to use to evaluate mesh deformations. Leave at default value to cancel mesh evaluation. |
void FrameSelected | ( | const FbxTime & | pTime = FBXSDK_TIME_INFINITE | ) |
Change camera position and LookAt to frame all selected objects.
pTime | Time to use to evaluate mesh deformations. Leave at default value to cancel mesh evaluation. |
void FrameScreenPosition | ( | float | pX, |
float | pY, | ||
bool | pCulling = false , |
||
const FbxTime & | pTime = FBXSDK_TIME_INFINITE |
||
) |
Change camera position and LookAt to frame the selected position on screen.
The LookAt will be placed at first closest intersecting geometry, and the distance between camera and LookAt will be preserved.
pX | The horizontal screen coordinate. |
pY | The vertical screen coordinate. |
pCulling | If true , only test triangles that are front-facing, otherwise test both sides. |
pTime | Time to use to evaluate mesh deformations. Leave at default value to cancel mesh evaluation. |
FbxPropertyT<FbxReference> Camera |
The camera controlled by the manipulator.
Definition at line 94 of file fbxmanipulators.h.
FbxPropertyT<FbxFloat> ViewportWidth |
Width of the camera viewport, in pixels.
This is used to accurately calculate to movement speed.
Definition at line 98 of file fbxmanipulators.h.
FbxPropertyT<FbxFloat> ViewportHeight |
Height of the camera viewport, in pixels.
This is used to accurately calculate to movement speed.
Definition at line 102 of file fbxmanipulators.h.
FbxPropertyT<FbxBool> Smooth |
Camera manipulations will be smooth if enabled.
True by default.
Definition at line 105 of file fbxmanipulators.h.
FbxPropertyT<FbxDouble> SmoothSpeed |
Camera manipulations smoothing speed.
Higher speed will stabilize the camera more quickly. Default is 10.0
Definition at line 108 of file fbxmanipulators.h.
FbxPropertyT<FbxBool> InvertX |
Invert the camera horizontal manipulation direction if set to true.
False by default.
Definition at line 111 of file fbxmanipulators.h.
FbxPropertyT<FbxBool> InvertY |
Invert the camera vertical manipulation direction if set to true.
False by default.
Definition at line 114 of file fbxmanipulators.h.
FbxPropertyT<FbxBool> Restore |
Restore the camera transform upon destruction of the manipulator.
Definition at line 117 of file fbxmanipulators.h.