Hi,
I'm building custom ICENodes and the Evaluate Callback seems to differ from what the ICENode wizard generates. The node itself works but the past ICENodeContext object doesn't contain a valid reference to the source.
here's an example:
SICALLBACK BoneModifierConstFloat_Evaluate( ICENodeContext& in_ctxt )
{
// Get the output data array
CDataArrayFloat outData( in_ctxt );
// .. and the input array
CDataArrayFloat inputData( in_ctxt, XSIIceNodeIdentifiers::Generic1Input1Output::Source );
// Set the output data
ULONG outport_uniqid = in_ctxt.GetEvaluatedOutputPortID( );
if (outport_uniqid == XSIIceNodeIdentifiers::Generic1Input1Output::Output)
{
outData[0] = inputData[0];
}
return CStatus::OK;
}
According to the documentation the Evaluate should provide a CRef& and not a ICENodeContext&.
Again according to documentation the ICENodeContext::GetSource() should return the ICENode that is triggering the Evaluate callback.
in_context C++ CRef& A reference to the ICENodeContext object. Context::GetSource returns the ICENode.
Unfortunately the GetSource() always return an invalid CRef.
is there any way to get the ICENode during the Evaluate.
Thanks