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: Contraint 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*/,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:
UniqueNameStr Unique name.
ClassName Name of the constraint class.
Label Short description of constraint.
Description Long description of constraint.
IconFilename Filename of associated icon.

Definition at line 69 of file fbconstraint.h.

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

Constraint class declaration.

Parameters:
ClassName Constraint class name.
Parent Parent 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:
ThisComponent The 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*/,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:
UniqueNameStr Unique name.
ClassName Name of the constraint class.
Label Short description of constraint.
Description Long description of constraint.
IconFilename Filename of associated icon.

Definition at line 520 of file fbconstraint.h.

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

Constraint class declaration.

Parameters:
ClassName Constraint class name.
Parent Parent 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:
ThisComponent The 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*/,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:
UniqueNameStr Unique name.
ClassName Name of the constraint class.
Label Short description of constraint.
Description Long description of constraint.
IconFilename Filename of associated icon.

Definition at line 606 of file fbconstraint.h.

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

Constraint class declaration.

Parameters:
ClassName Constraint class name.
Parent Parent class name.
Warning:
The class must inherit directly from FBConstraint.

Definition at line 629 of file fbconstraint.h.

#define FBPhysicalPropertiesImplementation (   ThisComponent )    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters:
ThisComponent The name of the class to implement.

Definition at line 638 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   
)