Detailed Description
template<class T>
class XSI::CDataArray< T >
This template class encapsulates the 1D data arrays passed to custom node plug-ins during a graph evaluation. The underlying data arrays are zero-based, the following types are available: 
CDataArray objects are created based on the current evaluation context and a specific port type (input ports only). Data are usually indexed with a CIndexSet which contains the array index set for the whole evaluation graph.
- Note:
- If the class type doesn't match the port data type being evaluated, an error occurs at run-time and a class instance is created with an empty array.
- Example:
- Since:
- 7.0 
- See also:
- CDataArray2D, CIndexSet, ICENodeDef, Type Definitions for CDataArray 
#include <xsi_dataarray.h>
Inherits CBaseDataArray.
List of all members.
Member Typedef Documentation
TData is the underlying data type of a CDataArray instance. Possible values are: 
 
 
Constructor & Destructor Documentation
Constructor for data types bound to input ports. 
- Parameters:
- 
  
    | in_ctxt | ICENode evaluation context. |  | in_nInputPortID | Input port identifier. |  | in_nInstanceIndex | The group instance of the port. |  
 
 
 
Constructor for data types bound to output ports. 
- Parameters:
- 
  
  
 
 
Member Function Documentation
      
        
          | SICPPSDK_INLINE const T & operator[] | ( | ULONG | in_nIndex | ) | const | 
      
 
Accessor to the encapsulated array. This operator is called when reading the data so the return value is read-only. 
- Parameters:
- 
  
    | in_nIndex | Index in the array. The index must be smaller than the number of elements in the array, otherwise the results are unpredicted. |  
 
- Returns:
- A read-only reference to the indexed item. 
 
 
      
        
          | SICPPSDK_INLINE T & operator[] | ( | ULONG | in_nIndex | ) |  | 
      
 
Accessor to elements at a given index. 
- Parameters:
- 
  
    | in_nIndex | Index in this zero based array. The index must be smaller than the number of elements in the array, otherwise the results are unpredicted. |  
 
- Returns:
- A reference to the indexed item. 
- Note:
- CDataArray< bool >::operator [] cannot be used for setting an array element, you must use CDataArray< bool >::Set instead. 
 
 
      
        
          | SICPPSDK_INLINE CStatus CopyFrom | ( | ULONG | in_nInputPortID, | 
        
          |  |  | ULONG | in_nInstanceIndex = 0 | 
        
          |  | ) |  |  | 
      
 
Copy the data from a given input port to this object buffer without allocating memory. This is typically used for passing data by reference from input to output ports, similar to what the built-in 'pass through' node is doing.
- Parameters:
- 
  
    | in_nInputPortID | Input port identifier. |  | in_nInstanceIndex | The group instance of the port. |  
 
- Returns:
- CStatus::OK Success 
- 
CStatus::InvalidArgument Fails if in_nInputPortID is not an input port identifier or in_nInstanceIndex is invalid. 
- 
CStatus::AccessDenied This array is not an output type or wasn't created properly.
- Example:
 
 
      
        
          | SICPPSDK_INLINE ULONG GetCount | ( | void |  | ) | const | 
      
 
Returns the number of elements in the array. 
- Returns:
- Number of elements. 
 
 
      
        
          | SICPPSDK_INLINE bool IsConstant | ( |  | ) | const | 
      
 
Returns true if the array is constant or false otherwise. A constant array has only one value. 
- Returns:
- True if constant, false otherwise. 
 
 
The documentation for this class was generated from the following file: