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 49 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 | |
| virtual void | Construct (const FbxBindingOperator *pFrom) |
| virtual void | Destruct (bool pRecursive) |
| Optional destructor override, automatically called by default destructor. | |
| virtual void | ConstructProperties (bool pForceSet) |
| Optional property constructor override, automatically called by default constructor. | |
| void | InstantiateFunction () |
| bool | Evaluate (FbxObject const *pObject, EFbxType *pResultType, void **pResult) const |
| bool | ReverseEvaluate (FbxObject const *pTarget, void const *pIn, void **pOut, EFbxType *pOutType, bool setObj, int index) const |
| void | FreeEvaluationResult (EFbxType pResultType, void *pResult) const |
Protected Attributes | |
| Function * | mFunction |
| 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 60 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 86 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 120 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 Construct | ( | const FbxBindingOperator * | pFrom | ) | [protected, virtual] |
| virtual void Destruct | ( | bool | pRecursive | ) | [protected, virtual] |
Optional destructor override, automatically called by default destructor.
| pRecursive | If true, children objects should be destroyed as well. |
Reimplemented from FbxObject.
| virtual void ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Optional property constructor override, automatically called by default constructor.
| pForceSet | If the property value must be set regardless of default value. |
Reimplemented from FbxObject.
| void InstantiateFunction | ( | ) | [protected] |
| void FreeEvaluationResult | ( | EFbxType | pResultType, |
| void * | pResult | ||
| ) | const [protected] |
This property stores the name of function.
Default value is "".
Definition at line 141 of file fbxbindingoperator.h.
This property stores the name of target.
Default value is "".
Definition at line 147 of file fbxbindingoperator.h.
const char* sFunctionName [static] |
const char* sTargetName [static] |
const char* sDefaultFunctionName [static] |
Default value for function name.
Definition at line 159 of file fbxbindingoperator.h.
const char* sDefaultTargetName [static] |
Default value for target name.
Definition at line 161 of file fbxbindingoperator.h.
Definition at line 317 of file fbxbindingoperator.h.