#include <fbxbindingoperator.h>
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.
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 (const FbxObject *pObject, FBXTYPE *pResult) const |
| Run the operator on the given object.
|
|
| template<class FBXTYPE > | |
| bool | ReverseEvaluation (const FbxObject *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 (const FbxObject *pObject, const char *pEntryDestinationName, FBXTYPE *pResult) const |
| Evaluate the value of an operator parameter.
|
|
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. |
|
| bool Evaluate | ( | const FbxObject * | 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 | ( | const FbxObject * | 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.
{
const void* 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 | ( | const FbxObject * | pObject, |
| const char * | 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] |
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.