#include <xsi_indexset.h>
Public Member Functions |
|
| SICPPSDK_INLINE | CIndexSet (const ICENodeContext &in_ctxt) |
| SICPPSDK_INLINE | CIndexSet (const ICENodeContext &in_ctxt, ULONG in_nInputPortID, ULONG in_nInstanceIndex=0) |
| SICPPSDK_INLINE | ~CIndexSet () |
| SICPPSDK_INLINE Iterator | Begin () |
Classes |
|
| class | Iterator |
| A class for iterating over CDataArray objects during an evaluation. Iterator objects must always be created with CIndexSet::Begin(). More... |
|
XSIPLUGINCALLBACK CStatus YPosFilter_Evaluate( ICENodeContext& in_ctxt )
{
// The current output port being evaluated...
ULONG out_portID = in_ctxt.GetEvaluatedOutputPortID( );
switch( out_portID )
{
case OutPort200:
{
CDataArrayVector3f inputData( ctxt, InPort0 );
CDataArrayVector3f outData( ctxt );
// We need a CIndexSet to iterate over the data
CIndexSet indexSet( in_ctxt );
for(CIndexSet::Iterator it = indexSet.Begin(); it.HasNext(); )
{
outData[ it ] = inputData[ it ];
if ( inputData[it].GetY() < 0.0 )
{
it.Remove( );
}
else
{
it.Next( );
}
}
}
break;
};
return CStatus::OK;
}
| SICPPSDK_INLINE CIndexSet | ( | const ICENodeContext & | in_ctxt | ) |
Constructor.
| in_ctxt | ICENode evaluation context. |
| SICPPSDK_INLINE CIndexSet | ( | const ICENodeContext & | in_ctxt, | |
| ULONG | in_nInputPortID, | |||
| ULONG | in_nInstanceIndex = 0 |
|||
| ) |
Constructor. Creates the index set for a specific port.
| in_ctxt | ICENode evaluation context. | |
| in_nInputPortID | Input port identifier. | |
| in_nInstanceIndex | The group instance of the port. |
| SICPPSDK_INLINE ~CIndexSet | ( | ) |
Destructor.
| SICPPSDK_INLINE CIndexSet::Iterator Begin | ( | ) |