fbxmanipulators.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_UTILS_MANIPULATORS_H_
00014 #define _FBXSDK_UTILS_MANIPULATORS_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/fbxobject.h>
00019 #include <fbxsdk/core/math/fbxvector2.h>
00020 #include <fbxsdk/core/math/fbxvector4.h>
00021 #include <fbxsdk/scene/geometry/fbxcamera.h>
00022 
00023 #include <fbxsdk/fbxsdk_nsbegin.h>
00024 
00025 class FbxCameraManipulationState;
00026 
00030 class FBXSDK_DLL FbxCameraManipulator : public FbxObject
00031 {
00032     FBXSDK_OBJECT_DECLARE(FbxCameraManipulator, FbxObject);
00033 
00034 public:
00035     enum EAction {eNone, eOrbit, eDolly, ePan};
00036 
00042     void Initialize(FbxCamera* pCamera);
00043 
00049     bool Begin(const EAction& pAction, const int& pMouseX, const int& pMouseY);
00050 
00054     bool Notify(const int& pMouseX, const int& pMouseY);
00055 
00057     void End();
00058 
00061     bool FrameAll();
00062 
00065     bool FrameSelected();
00066 
00070     FbxCamera* GetCamera() const;
00071 
00073     EAction GetCurrentAction() const;
00074 
00076 //
00077 //  WARNING!
00078 //
00079 //  Anything beyond these lines may not be documented accurately and is 
00080 //  subject to change without notice.
00081 //
00083 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00084     virtual FbxObject& Copy(const FbxObject& pObject);
00085 
00086 private:
00087     FbxCameraManipulator(FbxManager& pManager, char const* pName);
00088     virtual void Destruct(bool pRecursive, bool pDependents);
00089 
00090     FbxCameraManipulationState* mState;
00091 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 
00092 };
00093 
00094 #include <fbxsdk/fbxsdk_nsend.h>
00095 
00096 #endif /* _FBXSDK_UTILS_MANIPULATORS_H_ */