fbfilter.h File Reference

Derive new filters using the FBFilter class. More...

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

Go to the source code of this file.

Classes

class   FBFilterManager
  Filter manager. More...
class   FBFilter
  Filters are used to modify motion capture data. More...

Defines

#define  FBSDK_DLL   K_DLLIMPORT
  Be sure that FBSDK_DLL is defined only once...
#define  FBRegisterFilter(ClassName, Label, Description, FilterType, FilterErrorTable, FilterErrorCount, IconFilename)
  Filter class registration.
#define  FBFilterDeclare(ClassName, Parent)
  Filter class declaration.
#define  FBFilterImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
  Filter class implementation.

Enumerations

enum   FBFilterType { kFBFilterNumber = 1 << 0, kFBFilterVector = 1 << 1 }
 

Filter types.

More...

Functions

  __FB_FORWARD (FBFilter)
  __FB_FORWARD (FBPropertyListFilter)
  FB_DEFINE_COMPONENT (FBSDK_DLL, Filter)
  FB_DEFINE_COMPONENT (FBSDK_DLL, FilterLayout)
  FB_FORWARD (FBFilterManager)
  FB_FORWARD (FBFilter)

Detailed Description

Derive new filters using the FBFilter class.

Definition in file fbfilter.h.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbfilter.h.

#define FBRegisterFilter (   ClassName,
  Label,
  Description,
  FilterType,
  FilterErrorTable,
  FilterErrorCount,
  IconFilename 
)
Value:
HIObject RegisterFilter##ClassName( HIObject pOwner,char * /*pName*/,void * /*pData*/) \
    { \
        ClassName *Class = new ClassName( ); \
        if (Class->FBCreate()) { \
            return Class->GetHIObject(); \
        } else { \
            delete Class; \
            return NULL; \
        } \
    } \
    FBLibraryModule( ClassName )    \
    {   \
        int lFilterType = FilterType; \
        if( (lFilterType) & kFBFilterNumber )   FBRegisterObject( ClassName,"Filter/DataType/Number",Label,Description,RegisterFilter##ClassName,true, IconFilename );  \
        if( (lFilterType) & kFBFilterVector )   FBRegisterObject( ClassName,"Filter/DataType/Vector",Label,Description,RegisterFilter##ClassName,true, IconFilename );  \
    }

Filter class registration.

Parameters:
ClassName Filter class name.
Label Short description.
Description Long description.
FilterType Type of filter (see FBFilterType).
FilterErrorTable Error strings for filter operations.
FilterErrorCount Number of elements in FilterErrorTable.
IconFilename Filename of associated icon.

Definition at line 83 of file fbfilter.h.

#define FBFilterDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName,Parent); \
  public: \
    ClassName( HIObject pO = NULL ):Parent(pO) { FBClassInit; } \
  private:

Filter class declaration.

Parameters:
ClassName Filter class name.
Parent Parent class name.

Definition at line 105 of file fbfilter.h.

#define FBFilterImplementation (   ThisComponent )    FBClassImplementation( ThisComponent )

Filter class implementation.

Parameters:
ThisComponent Class to implement.

Definition at line 114 of file fbfilter.h.


Enumeration Type Documentation

Filter types.

A filter can be of one or both types in order to process data on single or multiple curves of data. Ex: a gimble killer filter needs to be of type vector because the three curves are inter-dependant.

Enumerator:
kFBFilterNumber 

Filter single FCurves.

kFBFilterVector 

Filter a vector (3 FCurves).

Definition at line 69 of file fbfilter.h.

                  { 
    kFBFilterNumber = 1 << 0,   
    kFBFilterVector = 1 << 1,   
};

Function Documentation

__FB_FORWARD ( FBPropertyListFilter  )
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Filter   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
FilterLayout   
)