fbsdk/fbmanipulator.h Source File
Go to the documentation of this file. 1 #ifndef __FBMANIPULATOR_H__
2 #define __FBMANIPULATOR_H__
48 #define FBSDK_DLL K_DLLIMPORT
54 #ifdef FBSDKUseNamespace
69 #define FBRegisterManipulator( ClassName, Label, Description, IconFilename ) \
70 HIObject RegisterManipulator##ClassName( HIObject ,const char* pName,void * ) \
72 ClassName *Class = new ClassName( Label ); \
73 Class->mAllocated = true; \
74 if (Class->FBCreate()) { \
75 return Class->GetHIObject(); \
81 FBLibraryModule( ClassName ) \
83 FBRegisterObject( ClassName,"Manipulators",Label,Description,RegisterManipulator##ClassName,true, IconFilename ); \
90 #define FBManipulatorDeclare( ClassName, Parent ) \
91 FBClassDeclare( ClassName,Parent); \
93 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
99 #define FBManipulatorImplementation( ThisComponent ) \
100 FBClassImplementation( ThisComponent )
115 class FBSDK_DLL FBManipulator :
public FBComponent {
122 FBManipulator(
const char* pName,
HIObject pObject=
NULL);
124 virtual bool FBCreate ();
135 void PickRectMotion();
158 FBModel* PickGetModel(
int pIndex);
169 int GetViewerWidth();
174 int GetViewerHeight();
202 void FBModelRenderBegin(FBModel* pModel);
205 void FBModelRenderEnd();
216 virtual bool ViewInput(
int pMouseX,
int pMouseY,
FBInputType pAction,
int pButtonKey,
int pModifier);
221 virtual void ViewExpose();
228 FBPropertyString ViewerText;
242 class FBSDK_DLL FBPropertyListManipulator :
public FBPropertyBaseList< FBManipulator* >
248 virtual int Add ( FBManipulator* pItem );
252 virtual void RemoveAt(
int pIndex );
258 virtual FBManipulator* operator[](
int pIndex);
262 virtual int GetCount();
283 class FBSDK_DLL FBManipulatorTransform :
public FBManipulator {
290 FBManipulatorTransform(
const char *pName,
HIObject pObject=
NULL);
292 FBPropertyManipulatorTransformType Type;
298 #ifdef FBSDKUseNamespace
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
class FBVector4< float > FBVertex
Vertex.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Contains the user interface components for the SDK.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
#define FBSDKNamespace
FBSDKNamespace define.
FBInputType
Types of input events.
class FBPropertyBaseComponent< FBCamera * > FBPropertyCamera
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBManipulatorTransformType
Manipulator transform stles.
FBManipulatorPickType
Types of manipulator picking.
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool