This object represents a binding operation on a FbxObject or FbxProperty.
For example, FbxBindingOperator can be used to bind a light object to a parameter of shader via FbxNodeDirectionBOF or FbxNodePositionBOF.
//Create an entry lEntry of binding table lTable. FbxBindingTableEntry& lEntry = lTable->AddNewEntry(); //Create a NodePositionConvert binding operator and add it as source of the lEntry. FbxOperatorEntryView lSrc(&lEntry, true, true); lSrc.SetOperatorName( "NodePositionConvert"); FbxBindingOperator* lOp = pImpl.AddNewBindingOperator( "NodePositionConvert", FbxNodePositionBOF::FunctionName); //Add a property entry to the binding operator. FbxBindingTableEntry& lEntryPropParam = lOp->AddNewEntry(); FbxPropertyEntryView lPropSrc(&lEntryPropParam, true, true); //Set the shader parameter (the property's name) as source of the lEntryPropParam. lPropSrc.SetProperty(lProp.GetHierarchicalName()); //Set the operator function FbxNodePositionBOF as destination of the lEntryPropParam. lEntryPropParam.SetDestination( FbxNodePositionBOF::FunctionName ); //Set the shader parameter as destination of the lEntry. FbxSemanticEntryView lDst( &lEntry, false, true ); lDst.SetSemantic( lProp.GetName() );
Definition at line 52 of file fbxbindingoperator.h.
#include <fbxbindingoperator.h>

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 to register and
unregister the binding function creators. More... |
|
Public Member Functions |
|
| template<class FBXTYPE > | |
| bool | Evaluate (FbxObject const *pObject, FBXTYPE *pResult) const |
| Run the operator on the given object.
|
|
| template<class FBXTYPE > | |
| bool | ReverseEvaluation (FbxObject 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 (FbxObject const *pObject, char const *pEntryDestinationName, FBXTYPE *pResult) const |
| Evaluate the value of an operator parameter.
|
|
| bool | EvaluateEntry (FbxObject const *pObject, char const *pEntryDestinationName, EFbxType *pResultType, void **pResult) const |
| bool | GetEntryProperty (FbxObject const *pObject, char const *pEntryDestinationName, FbxProperty &pProp) const |
Static Public Member Functions |
|
| static void | RegisterFunctions () |
| static void | UnregisterFunctions () |
Public Attributes |
|
| FbxPropertyT< FbxString > | FunctionName |
| This property stores the name of function.
|
|
| FbxPropertyT< FbxString > | TargetName |
| This property stores the name of target.
|
|
Static Public Attributes |
|
| static const char * | sFunctionName |
|
Function name. |
|
| static const char * | sTargetName |
| Target name. |
|
| static const char * | sDefaultFunctionName |
| Default value for function name. |
|
| static const char * | sDefaultTargetName |
| Default value for target name. |
|
Protected Member Functions |
|
| FbxBindingOperator (FbxManager &pManager, char const *pName) | |
| virtual void | Destruct (bool pRecursive, bool pDependents) |
| virtual bool | ConstructProperties (bool pForceSet) |
| void | InstantiateFunction () |
| bool | Evaluate (FbxObject const *pObject, EFbxType *pResultType, void **pResult) const |
| Run the operator on the given object.
|
|
| bool | ReverseEvaluate (FbxObject const *pTarget, void const *pIn, void **pOut, EFbxType *pOutType, bool setObj, int index) const |
| Apply the inverse operator. |
|
| void | FreeEvaluationResult (EFbxType pResultType, void *pResult) const |
| Free a buffer allocated by Evaluate().
|
|
Protected Attributes |
|
| Function * | mFunction |
| FbxBindingOperator | ( | FbxManager & | pManager, |
| char const * | pName | ||
| ) | [protected] |
| bool Evaluate | ( | FbxObject const * | pObject, |
| FBXTYPE * | pResult | ||
| ) | const [inline] |
Run the operator on the given object.
| pObject | The object that will be evaluated. |
| pResult | A pointer to a buffer to hold the result. |
true on success, false
otherwise.Definition at line 63 of file fbxbindingoperator.h.
{
EFbxType lResultType;
void* lResult = NULL;
bool lSuccess = Evaluate(pObject, &lResultType, &lResult);
if (lSuccess)
{
FbxTypeCopy(*pResult, lResult, lResultType);
}
FreeEvaluationResult(lResultType, lResult);
return lSuccess;
}
| bool ReverseEvaluation | ( | FbxObject 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.
| pObject | The object that will be evaluated. |
| pInOut | Type of value being reversed. |
| setObj | Control to set the property (only to query by the default ). |
| index | Used only in FbxMultiplyDistBOF. |
true on success, false
otherwise.Definition at line 89 of file fbxbindingoperator.h.
{
void const* lIn = pInOut;
void* lOut = NULL;
EFbxType lOutType;
bool lSuccess = ReverseEvaluate(pObject, lIn, &lOut, &lOutType, setObj, index);
if (lSuccess)
{
FbxTypeCopy(*pInOut, lOut, lOutType);
}
FreeEvaluationResult(lOutType, lOut);
return lSuccess;
}
| bool EvaluateEntry | ( | FbxObject const * | pObject, |
| char const * | pEntryDestinationName, | ||
| FBXTYPE * | pResult | ||
| ) | const [inline] |
Evaluate the value of an operator parameter.
| pObject | The object that will be evaluated. |
| pEntryDestinationName | The name of the parameter. This is used to get the property or operator that is related to this parameter, then to evaluate the property or operator. |
| pResult | A pointer to the result. |
true on success, false
otherwise.Definition at line 123 of file fbxbindingoperator.h.
{
EFbxType lResultType;
void* lResult = NULL;
bool lSuccess = EvaluateEntry(pObject, pEntryDestinationName, &lResultType, &lResult);
if (lSuccess)
{
FbxTypeCopy(*pResult, lResult, lResultType);
}
FreeEvaluationResult(lResultType, lResult);
return lSuccess;
}
| static void RegisterFunctions | ( | ) | [static] |
| static void UnregisterFunctions | ( | ) | [static] |
| bool GetEntryProperty | ( | FbxObject const * | pObject, |
| char const * | pEntryDestinationName, | ||
| FbxProperty & | pProp | ||
| ) | const |
| virtual void Destruct | ( | bool | pRecursive, |
| bool | pDependents | ||
| ) | [protected, virtual] |
Reimplemented from FbxObject.
| virtual bool ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Reimplemented from FbxObject.
| void InstantiateFunction | ( | ) | [protected] |
| bool Evaluate | ( | FbxObject const * | pObject, |
| EFbxType * | pResultType, | ||
| void ** | pResult | ||
| ) | const [protected] |
Run the operator on the given object.
| pObject | The object that will be evaluated. |
| pResultType | Will be filled by the type of the result. |
| pResult | Will be filled by a pointer to a buffer that hold the result. The caller must call FreeEvaluationResult() when its done with this pointer. |
true on success, false
otherwise.| bool ReverseEvaluate | ( | FbxObject const * | pTarget, |
| void const * | pIn, | ||
| void ** | pOut, | ||
| EFbxType * | pOutType, | ||
| bool | setObj, | ||
| int | index | ||
| ) | const [protected] |
Apply the inverse operator.
| void FreeEvaluationResult | ( | EFbxType | pResultType, |
| void * | pResult | ||
| ) | const [protected] |
Free a buffer allocated by Evaluate().
| pResult | Type The type of data held by pResult. |
| pResult | The pointer to free. |
This property stores the name of function.
Default value is "".
Definition at line 144 of file fbxbindingoperator.h.
This property stores the name of target.
Default value is "".
Definition at line 150 of file fbxbindingoperator.h.
const char*
sFunctionName [static] |
const char*
sTargetName [static] |
const char*
sDefaultFunctionName [static] |
Default value for function name.
Definition at line 162 of file fbxbindingoperator.h.
const char*
sDefaultTargetName [static] |
Default value for target name.
Definition at line 164 of file fbxbindingoperator.h.
Definition at line 346 of file fbxbindingoperator.h.