Open Reality Reference Guide
fbconstraint.h File Reference

Contraint classes. More...

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbcore.h>

Go to the source code of this file.

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...
 

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...
 

Functions

 FB_DEFINE_COMPONENT (K_DLLIMPORT, Constraint)
 
 FB_FORWARD (FBConstraintInfo)
 
 __FB_FORWARD (FBConstraint)
 
 __FB_FORWARD (FBBox)
 
 __FB_FORWARD (FBPropertyListBox)
 
 FB_DEFINE_LIST (K_DLLIMPORT, Box)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, Box)
 
 __FB_FORWARD (FBBoxPlaceHolder)
 
 FB_FORWARD (FBModel)
 
 __FB_FORWARD (FBModelPlaceHolder)
 
 __FB_FORWARD (FBConstraintRelation)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, ConstraintSolver)
 
 __FB_FORWARD (FBConstraintSolver)
 
 FB_FORWARD (FBPropertyListConstraintSolver)
 
 FB_DEFINE_COMPONENT (K_DLLIMPORT, PhysicalProperties)
 
 __FB_FORWARD (FBPhysicalProperties)
 
 FB_DEFINE_LIST (K_DLLIMPORT, PhysicalProperties)
 
 FB_FORWARD (FBPropertyListPhysicalProperties)
 
 __FB_FORWARD (FBConstraintManager)
 

Detailed 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.

Macro Definition Documentation

◆ FBConstraintDeclare

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

Constraint class declaration.

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

Definition at line 93 of file fbconstraint.h.

◆ FBConstraintImplementation

#define FBConstraintImplementation (   ThisComponent)     FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters
ThisComponentThe name of the class to implement.

Definition at line 102 of file fbconstraint.h.

◆ FBConstraintSolverDeclare

#define FBConstraintSolverDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName, Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:

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.

◆ FBConstraintSolverImplementation

#define FBConstraintSolverImplementation (   ThisComponent)     FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters
ThisComponentThe name of the class to implement.

Definition at line 553 of file fbconstraint.h.

◆ FBPhysicalPropertiesDeclare

#define FBPhysicalPropertiesDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName, Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:

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.

◆ FBPhysicalPropertiesImplementation

#define FBPhysicalPropertiesImplementation (   ThisComponent)     FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters
ThisComponentThe name of the class to implement.

Definition at line 665 of file fbconstraint.h.

◆ FBRegisterConstraint

#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 FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1191

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 69 of file fbconstraint.h.

◆ FBRegisterConstraintSolver

#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 ); \
}

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.

◆ FBRegisterPhysicalProperties

#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 ); \
}

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.

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 of file fbconstraint.h.