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

Defines

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

Functions

 FB_DEFINE_COMPONENT (FBSDK_DLL, Constraint)
 FB_FORWARD (FBConstraintInfo)
 __FB_FORWARD (FBConstraint)
 __FB_FORWARD (FBBox)
 __FB_FORWARD (FBPropertyListBox)
 FB_DEFINE_LIST (FBSDK_DLL, Box)
 FB_DEFINE_COMPONENT (FBSDK_DLL, Box)
 __FB_FORWARD (FBBoxPlaceHolder)
 FB_FORWARD (FBModel)
 __FB_FORWARD (FBModelPlaceHolder)
 __FB_FORWARD (FBConstraintRelation)
 FB_DEFINE_COMPONENT (FBSDK_DLL, ConstraintSolver)
 __FB_FORWARD (FBConstraintSolver)
 FB_FORWARD (FBPropertyListConstraintSolver)
 FB_DEFINE_COMPONENT (FBSDK_DLL, PhysicalProperties)
 __FB_FORWARD (FBPhysicalProperties)
 FB_DEFINE_LIST (FBSDK_DLL, 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.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 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 ); \
    }

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.

#define FBConstraintDeclare (   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 93 of file fbconstraint.h.

#define FBConstraintImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters:
ThisComponentThe name of the class to implement.

Definition at line 102 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 ); \
    }

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

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

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

#define FBPhysicalPropertiesImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters:
ThisComponentThe name of the class to implement.

Definition at line 665 of file fbconstraint.h.


Function Documentation

FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Constraint   
)
__FB_FORWARD ( FBBox  )
FB_DEFINE_LIST ( FBSDK_DLL  ,
Box   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Box   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
ConstraintSolver   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
PhysicalProperties   
)
FB_DEFINE_LIST ( FBSDK_DLL  ,
PhysicalProperties   
)