13 #ifndef _FBXSDK_UTILS_MANIPULATORS_H_
14 #define _FBXSDK_UTILS_MANIPULATORS_H_
25 class FbxCameraManipulationState;
49 void Begin(EAction pAction,
float pX,
float pY);
56 void Notify(
float pX,
float pY,
float pScale=0);
71 void Action(EAction pAction,
float pX,
float pY,
float pScale=0);
75 EAction GetCurrentAction()
const;
122 #ifndef DOXYGEN_SHOULD_SKIP_THIS
125 virtual void Destruct(
bool pRecursive);
127 virtual bool ConnectNotify(
const FbxConnectEvent& pEvent);
128 virtual bool PropertyNotify(EPropertyNotifyType pType,
FbxProperty& pProperty);
133 FbxNode* GetCameraNode()
const;
134 FbxNode* GetCameraLookAtNode()
const;
135 FbxNode* GetCameraTargetUpNode()
const;
137 void SetCameraPosition(
const FbxVector4& pPosition);
139 void SetCameraRotation(
const FbxVector4& pRotation);
141 void SetCameraLookAtPosition(
const FbxVector4& pPosition);
143 void SetCameraTargetUpPosition(
const FbxVector4& pPosition);
145 void SetCameraRotationMatrix(
const FbxAMatrix& pRM);
149 void UpdateCameraRotation();
151 bool FrameObjects(
bool pSelected,
const FbxTime& pTime);
155 FbxFloat mBeginMouse[3], mLastMouse[3];
160 FbxVector4 mDestPosition, mDestLookAt, mDestTargetUp;
163 FbxVector4 mInitialPosition, mInitialRotation, mInitialLookAt;
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
FbxPropertyT< FbxFloat > ViewportHeight
Height of the camera viewport, in pixels.
FBX SDK environment definition.
Panning camera up, down and sideways.
FbxPropertyT< FbxBool > InvertX
Invert the camera horizontal manipulation direction if set to true.
FbxPropertyT< FbxFloat > ViewportWidth
Width of the camera viewport, in pixels.
FbxPropertyT< FbxBool > Restore
Restore the camera transform upon destruction of the manipulator.
FbxPropertyT< FbxReference > Camera
The camera controlled by the manipulator.
#define FBXSDK_TIME_INFINITE
FbxPropertyT< FbxBool > Smooth
Camera manipulations will be smooth if enabled.
Moving camera closer or away from its LookAt/Intest position.
Class to encapsulate time units.
The base class of most FBX objects.
Represents an element in the scene graph.
EAction
All possible manipulation actions that can be performed on a camera using this manipulator.
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
This class can be used to provide basic camera manipulation in any program using this library...
Class to hold user properties.
FbxPropertyT< FbxBool > InvertY
Invert the camera vertical manipulation direction if set to true.
A four double mathematic vector class.
FBX SDK affine matrix class.
Orbiting camera around LootAt/Interest position.
This node attribute contains methods for accessing the properties of a camera.
FbxPropertyT< FbxDouble > SmoothSpeed
Camera manipulations smoothing speed.
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
This template class is used to contain user properties of specific data types.
virtual void ConstructProperties(bool pForceSet)
Optional property constructor override, automatically called by default constructor.