fbsdk/fbconstraint.h File Reference

fbconstraint.h File Reference
#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbcore.h>

File Description

Contraint classes.

Classes from this file permit the user to derive, create and control constraints via the software development kit.

Definition in file fbconstraint.h.

Classes

class  FBConstraintInfo
 Constraint information class. More...
 
class  FBConstraint
 Base class for constraints. More...
 
class  FBPropertyListConstraint
 PropertyList: Contraint More...
 
class  FBPropertyListBox
 List: Box informations for constraint relation. More...
 
class  FBBoxPlaceHolder
 Wrapper around a specific instance of a FBBox object. More...
 
class  FBModelPlaceHolder
 Wrapper around a specific instance of a FBModel object. More...
 
class  FBConstraintRelation
 ConstraintRelation class. More...
 
class  FBConstraintSolver
 Base class for constraint solver. More...
 
class  FBPropertyListConstraintSolver
 PropertyList: Constraint solver More...
 
class  FBPhysicalProperties
 Base class for physical properties attach to a model. More...
 
class  FBPropertyListPhysicalProperties
 PropertyList: Physical properties More...
 
class  FBConstraintManager
 Constraint manager. More...
 

Namespaces

 ORSDK2018
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 
#define FBRegisterConstraint(UniqueNameStr, ClassName, Label, Description, IconFilename)
 Register the constraint. More...
 
#define FBConstraintDeclare(ClassName, Parent)
 Constraint class declaration. More...
 
#define FBConstraintImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Constraint class implementation. More...
 
#define FBRegisterConstraintSolver(UniqueNameStr, ClassName, Label, Description, IconFilename)
 Register the constraint. More...
 
#define FBConstraintSolverDeclare(ClassName, Parent)
 Constraint class declaration. More...
 
#define FBConstraintSolverImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Constraint class implementation. More...
 
#define FBRegisterPhysicalProperties(UniqueNameStr, ClassName, Label, Description, IconFilename)
 Register the constraint. More...
 
#define FBPhysicalPropertiesDeclare(ClassName, Parent)
 Constraint class declaration. More...
 
#define FBPhysicalPropertiesImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Constraint class implementation. More...
 

Typedefs

typedef class FBPropertyBase< FBConstraint *, kFBPT_object > FBPropertyBaseConstraint
 
typedef class FBPropertyBaseComponent< FBConstraint * > FBPropertyConstraint
 
typedef class FBPropertyBaseList< FBBox * > FBPropertyBaseListBox
 
typedef class FBPropertyBase< FBBox *, kFBPT_object > FBPropertyBaseBox
 
typedef class FBPropertyBaseComponent< FBBox * > FBPropertyBox
 
typedef class FBPropertyBase< FBConstraintSolver *, kFBPT_object > FBPropertyBaseConstraintSolver
 
typedef class FBPropertyBaseComponent< FBConstraintSolver * > FBPropertyConstraintSolver
 
typedef class FBPropertyBase< FBPhysicalProperties *, kFBPT_object > FBPropertyBasePhysicalProperties
 
typedef class FBPropertyBaseComponent< FBPhysicalProperties * > FBPropertyPhysicalProperties
 
typedef class FBPropertyBaseList< FBPhysicalProperties * > FBPropertyBaseListPhysicalProperties
 

Macro Definition Documentation

#define FBConstraintDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName, Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85

Constraint class declaration.

Parameters
ClassNameConstraint class name.
ParentParent class name.
Warning
The class must inherit directly from FBConstraint.
+ Examples:

Definition at line 93 of file fbconstraint.h.

#define FBConstraintSolverDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName, Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85

Constraint class declaration.

Parameters
ClassNameConstraint class name.
ParentParent class name.
Warning
The class must inherit directly from FBConstraint.

Definition at line 544 of file fbconstraint.h.

#define FBConstraintSolverImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters
ThisComponentThe name of the class to implement.

Definition at line 553 of file fbconstraint.h.

#define FBPhysicalPropertiesDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName, Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85

Constraint class declaration.

Parameters
ClassNameConstraint class name.
ParentParent class name.
Warning
The class must inherit directly from FBConstraint.

Definition at line 656 of file fbconstraint.h.

#define FBPhysicalPropertiesImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters
ThisComponentThe name of the class to implement.

Definition at line 665 of file fbconstraint.h.

#define FBRegisterConstraint (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterConstraint##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
Class->UniqueName = UniqueNameStr; \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
FBRegisterObject( ClassName##R1,"Constraints",Label,Description,RegisterConstraint##ClassName##Create,true, IconFilename ); \
FBRegisterObject( ClassName##R2,"FbxStorable/Constraint",UniqueNameStr,Description,RegisterConstraint##ClassName##Create,true, IconFilename ); \
}
#define FBRegisterObject(LocalId, Path, Name, Description, Constructor, IsMultipleAllowed, IconFilename)
Event registration/un-registration.
Definition: fbcomponent.h:387
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register the constraint.

Parameters
UniqueNameStrUnique name.
ClassNameName of the constraint class.
LabelShort description of constraint.
DescriptionLong description of constraint.
IconFilenameFilename of associated icon.
+ Examples:

Definition at line 69 of file fbconstraint.h.

#define FBRegisterConstraintSolver (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterConstraintSolver##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
Class->UniqueName = UniqueNameStr; \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
FBRegisterObject( ClassName##R1,"Browsing/Templates/Solvers",Label,Description,RegisterConstraintSolver##ClassName##Create,true, IconFilename ); \
FBRegisterObject( ClassName##R2,"FbxStorable/Constraint",UniqueNameStr,Description,RegisterConstraintSolver##ClassName##Create,true, IconFilename ); \
}
#define FBRegisterObject(LocalId, Path, Name, Description, Constructor, IsMultipleAllowed, IconFilename)
Event registration/un-registration.
Definition: fbcomponent.h:387
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register the constraint.

Parameters
UniqueNameStrUnique name.
ClassNameName of the constraint class.
LabelShort description of constraint.
DescriptionLong description of constraint.
IconFilenameFilename of associated icon.

Definition at line 520 of file fbconstraint.h.

#define FBRegisterPhysicalProperties (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterPhysicalProperties##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
FBRegisterObject( ClassName##R1,"Browsing/Templates/Physical Properties",Label,Description,RegisterPhysicalProperties##ClassName##Create,true, IconFilename ); \
FBRegisterObject( ClassName##R2,"FbxStorable/Physical Properties",UniqueNameStr,Description,RegisterPhysicalProperties##ClassName##Create,true, IconFilename ); \
}
#define FBRegisterObject(LocalId, Path, Name, Description, Constructor, IsMultipleAllowed, IconFilename)
Event registration/un-registration.
Definition: fbcomponent.h:387
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register the constraint.

Parameters
UniqueNameStrUnique name.
ClassNameName of the constraint class.
LabelShort description of constraint.
DescriptionLong description of constraint.
IconFilenameFilename of associated icon.

Definition at line 633 of file fbconstraint.h.

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 of file fbconstraint.h.

Go to the source code of this file.