fbcharactersolver.h File Reference

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbcore.h>
#include <fbsdk/fbcharactermanipulator.h>
#include <fbsdk/fbcharacter.h>
#include <fbsdk/fbcharacterpose.h>
#include <fbsdk/fbobjectpose.h>

Go to the source code of this file.

Classes

class   FBCharacterSolver
  Constraint class. More...

Defines

#define  FBSDK_DLL   K_DLLIMPORT
  Be sure that FBSDK_DLL is defined only once...
#define  FBRegisterCharacterSolver(UniqueNameStr, ClassName, Label, Description, IconFilename)
  Register the constraint.
#define  FBCharacterSolverDeclare(ClassName, Parent)
  Constraint class declaration.
#define  FBCharacterSolverImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
  Constraint class implementation.

Functions

  FB_DEFINE_COMPONENT (FBSDK_DLL, CharacterSolver)
  __FB_FORWARD (FBCharacterSolver)
FBSDK_DLL int  FBGetCharacterExternalSolverCount ()
  Get character external solver count.
FBSDK_DLL const char *  FBGetCharacterExternalSolverName (int pIndex)
  Get character external solver name.
FBSDK_DLL int  FBGetCharacterExternalSolverIndex (char *pName)
  Get character external solver index.
FBSDK_DLL FBCharacterSolver FBInstanciateCharacterExternalSolver (int pIndex, const char *pSolverName=NULL)
  Instanciate the given external character solver.

Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 of file fbcharactersolver.h.

#define FBRegisterCharacterSolver (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterCharacterSolver##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,"FbxStorable/CharacterSolver",UniqueNameStr,Description,RegisterCharacterSolver##ClassName##Create, true, IconFilename ); \
        FBRegisterObject( ClassName##R2,"Character/Solvers",UniqueNameStr,Description,RegisterCharacterSolver##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 73 of file fbcharactersolver.h.

#define FBCharacterSolverDeclare (   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 FBCharacterSolver.

Definition at line 97 of file fbcharactersolver.h.

#define FBCharacterSolverImplementation (   ThisComponent )    FBClassImplementation( ThisComponent )

Constraint class implementation.

Parameters:
ThisComponent The name of the class to implement.

Definition at line 106 of file fbcharactersolver.h.


Function Documentation

FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
CharacterSolver   
)
FBSDK_DLL int FBGetCharacterExternalSolverCount ( )

Get character external solver count.

Returns:
Number of external character solver available.
FBSDK_DLL const char* FBGetCharacterExternalSolverName ( int  pIndex )

Get character external solver name.

Parameters:
pIndex Index of external solver.
Returns:
Name of the external solver specified at the provided index.
FBSDK_DLL int FBGetCharacterExternalSolverIndex ( char *  pName )

Get character external solver index.

Parameters:
pName Name of external solver.
Returns:
Index of external solver specified at the provided name.
FBSDK_DLL FBCharacterSolver* FBInstanciateCharacterExternalSolver ( int  pIndex,
const char *  pSolverName = NULL 
)

Instanciate the given external character solver.

Parameters:
pIndex Index of the registered external character solver.
pSolverName Name of external solver.
Returns:
Instance of the external character solver specified by the Index.