KFbxBindingOperator Class Reference

#include <kfbxbindingoperator.h>
Inheritance diagram for KFbxBindingOperator:
Inheritance graph
[legend]

List of all members.


Detailed Description

This object represents a binding operation on a KFbxObject or KFbxProperty.

For example, KFbxBindingOperator can be used to bind a light object to a parameter of shader via KFbxNodeDirectionBOF or KFbxNodePositionBOF.

  // create entry
  KFbxBindingTableEntry& lEntry = lTable->AddNewEntry();
  
  //Create NodePosition binding operator function
  KFbxOperatorEntryView lSrc(&lEntry, true, true);
  lSrc.SetOperatorName( "NodePositionConvert");
  KFbxBindingOperator* lOp = pImpl.AddNewBindingOperator( "NodePositionConvert", KFbxNodePositionBOF::FunctionName);
  
  //Add property entry to operator to remember the property's name
  KFbxBindingTableEntry& lEntryPropParam = lOp->AddNewEntry();
  KFbxPropertyEntryView lPropSrc(&lEntryPropParam, true, true);
  lPropSrc.SetProperty(lProp.GetHierarchicalName());
  lEntryPropParam.SetDestination( KFbxNodePositionBOF::FunctionName );
  
  // set dst to the shader parameter
  KFbxSemanticEntryView lDst( &lEntry, false, true );
  lDst.SetSemantic( lProp.GetName() );
See also:
KFbxOperatorEntryView, KFbxBindingTableEntry, KFbxPropertyEntryView

Definition at line 75 of file kfbxbindingoperator.h.


Public Member Functions

template<class FBXTYPE>
bool  Evaluate (KFbxObject const *pObject, FBXTYPE *pResult) const
  Run the operator on the given object.
template<class FBXTYPE>
bool  ReverseEvaluation (KFbxObject const *pObject, FBXTYPE *pInOut, bool setObj=false, int index=0) const
  Run the 'inverse' operator on the given object, assigning the result directly to the object.
template<class FBXTYPE>
bool  EvaluateEntry (KFbxObject const *pObject, char const *pEntryDestinationName, FBXTYPE *pResult) const
  Evaluate the value of an operator parameter.

Static Public Member Functions

static void  RegisterFunctions ()
static void  UnregisterFunctions ()

Public Attributes

KFbxTypedProperty< fbxString FunctionName
KFbxTypedProperty< fbxString TargetName

Static Public Attributes

static const char *  sFunctionName
static const char *  sTargetName
static const char *  sDefaultFunctionName
static const char *  sDefaultTargetName

Classes

class   Function
  It represents a binding relationship between current object and the target. More...
class   FunctionCreator
  The concrete factory class for binding function. More...
class   FunctionCreatorBase
  The abstract factory class for binding function. More...
class   FunctionRegistry
  This utility class is used for fast accessing the binding function creators by name. More...

Member Function Documentation

bool Evaluate ( KFbxObject const *  pObject,
FBXTYPE *  pResult  
) const [inline]

Run the operator on the given object.

Parameters:
pObject  The object that will be evaluated.
pResult  A pointer to a buffer to hold the result.
Returns:
true on success, false otherwise.

Definition at line 86 of file kfbxbindingoperator.h.

References fbxCopy(), and NULL.

Referenced by GetBoundPropertyValue().

bool ReverseEvaluation ( KFbxObject const *  pObject,
FBXTYPE *  pInOut,
bool  setObj = false,
int  index = 0  
) const [inline]

Run the 'inverse' operator on the given object, assigning the result directly to the object.

Parameters:
pObject  The object that will be evaluated.
pInOut  Type of value being reversed.
setObj  Control to set the property (default only queries).
index  Used only in KFbxMultiplyDistBOF ('1' get's realWorldScale).
Returns:
true on success, false otherwise.

Definition at line 112 of file kfbxbindingoperator.h.

References fbxCopy(), and NULL.

bool EvaluateEntry ( KFbxObject const *  pObject,
char const *  pEntryDestinationName,
FBXTYPE *  pResult  
) const [inline]

Evaluate the value of an operator parameter.

Parameters:
pObject  The object that will be evaluated.
pEntryDestinationName  The name of the parameter.
pResult  A pointer to the result.
Returns:
true on success, false otherwise.

Definition at line 139 of file kfbxbindingoperator.h.

References fbxCopy(), and NULL.

static void RegisterFunctions (  )  [static]

static void UnregisterFunctions (  )  [static]

Member Data Documentation

Definition at line 157 of file kfbxbindingoperator.h.

Definition at line 158 of file kfbxbindingoperator.h.

const char* sFunctionName [static]

Definition at line 165 of file kfbxbindingoperator.h.

const char* sTargetName [static]

Definition at line 166 of file kfbxbindingoperator.h.

const char* sDefaultFunctionName [static]

Definition at line 169 of file kfbxbindingoperator.h.

const char* sDefaultTargetName [static]

Definition at line 170 of file kfbxbindingoperator.h.

KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator
KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator KFbxBindingOperator