CIndexSet encapsulates an index set for indexing CDataArray object types for the current evaluation.
    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;
    }
#include <xsi_indexset.h>
Classes | 
|
| class | Iterator | 
| A class for iterating over 
CDataArray objects during an evaluation. 
Iterator objects must always be created with 
CIndexSet::Begin(). More... | 
|
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 () | 
| SICPPSDK_INLINE ULONG | GetFilteredCount () const | 
| 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 | ( | ) | 
| SICPPSDK_INLINE ULONG GetFilteredCount | ( | ) | const | 
Returns the filtered size of the index set.