ArrayParameter Class Reference
 
 
 
ArrayParameter Class Reference

#include <xsi_arrayparameter.h>


Class Description

An ArrayParameter is a specialization of a Parameter.

Deprecated:
Supernova This class is obsolete and replaced by ShaderArrayParameter. It will continue to work, however, but with a limited utility.
See also:
Parameter
Since:
4.0
Inheritance diagram for ArrayParameter:
Parameter SIObject CBase

List of all members.

Public Member Functions

  ArrayParameter ()
  ~ArrayParameter ()
  ArrayParameter (const CRef &in_ref)
  ArrayParameter (const ArrayParameter &in_obj)
bool  IsA (siClassID in_ClassID) const
siClassID  GetClassID () const
ArrayParameter operator= (const ArrayParameter &in_obj)
ArrayParameter operator= (const CRef &in_ref)
Parameter  operator[] (LONG in_index)
LONG  GetCount (void) const
Parameter  Add (void)
CStatus  Remove (LONG in_lIndex)
CStatus  Remove (const Parameter &in_parameter)
CStatus  Move (LONG in_lIndex, LONG in_lUpDown)
CStatus  Move (const Parameter &in_parameter, LONG in_lUpDown)
Parameter  Add (const CValue &)

Constructor & Destructor Documentation

Constructs an ArrayParameter object.

Destroys an ArrayParameter object.

ArrayParameter ( const CRef in_ref )

Constructs an ArrayParameter object from a reference to another ArrayParameter object.

Parameters:
in_ref A reference to a group.
ArrayParameter ( const ArrayParameter in_obj )

Constructs a new ArrayParameter object from an existing ArrayParameter object.

Parameters:
in_obj An existing Group object to copy into this Group object.

Member Function Documentation

bool IsA ( siClassID  in_ClassID ) const [virtual]

Returns true if this object supports the functionality of a specified class. For example, an ArrayParameter is a type of Parameter, so an ArrayParameter object supports Parameter functionality.

Parameters:
in_ClassID Test if this object supports this class.
Returns:
True if this object supports the specified class, and false otherwise.

Reimplemented from Parameter.

siClassID GetClassID ( ) const [virtual]

Returns the class ID for this object.

Returns:
The class ID.

Reimplemented from Parameter.

ArrayParameter& operator= ( const ArrayParameter in_obj )

Assigns an ArrayParameter object to an existing ArrayParameter object.

Parameters:
in_obj An ArrayParameter object to be copied into this object.
Returns:
The reinitialized ArrayParameter object.
ArrayParameter& operator= ( const CRef in_ref )

Assigns a CRef to this ArrayParameter object. The ArrayParameter object is cleared if the CRef is not a reference to an object that supports the ArrayParameter class.

Parameters:
in_ref A reference to an object that supports the ArrayParameter class.
Returns:
The reinitialized ArrayParameter object.

Reimplemented from Parameter.

Parameter operator[] ( LONG  in_index )

Returns the parameter at a given index. If the index is out of bounds, this operator returns an empty, invalid Parameter object.

Parameters:
in_index Integer index of the parameter to get.
Returns:
The parameter at the given index
Empty parameter if the index is out of bounds
LONG GetCount ( void  ) const

Returns the size of the array. If the array is empty or invalid, GetCount returns 0.

Returns:
The number of parameters in the array.
Parameter Add ( void  )

Appends a new parameter to this array. The type of the new parameter is determined by the SPDL definition of the array parameter.

Returns:
The new parameter.
CStatus Remove ( LONG  in_lIndex )

Removes a parameter from the array given its index.

Parameters:
in_lIndex The index of the parameter to remove.
Returns:
CStatus::OK if succeeded.
CStatus::Fail if the index is out of bounds.
CStatus Remove ( const Parameter in_parameter )

Removes a parameter from the array.

Parameters:
in_parameter Index of the parameter to remove.
Returns:
CStatus::OK if successful.
CStatus::Fail if the parameter is not a member of the array.
CStatus Move ( LONG  in_lIndex,
LONG  in_lUpDown 
)

Moves a parameter up or down in the array relative to its current position. The new position of the parameter is calculated by adding in_lUpDown to the current index and clamping the result to the array boundaries (0 to ArrayParameter::GetCount - 1).

Parameters:
in_lIndex The index of the parameter to move.
in_lUpDown Positive or negative amount to move the parameter.
Returns:
CStatus::OK if successful.
CStatus::Fail if the index is out of bounds.
CStatus Move ( const Parameter in_parameter,
LONG  in_lUpDown 
)

Moves a given parameter up or down in the array relative to its current position. The new position of the parameter is calculated by adding in_lUpDown to the current index and clamping the result to the array boundaries (0 to ArrayParameter::GetCount - 1).

Parameters:
in_parameter The parameter to move.
in_lUpDown Positive or negative amount to move the parameter.
Returns:
CStatus::OK if successful.
CStatus::Fail if the given parameter is not a member of the array.
Parameter Add ( const CValue )

Appends a new parameter to the array. The parameter is initialized with the specified value. The parameter type is determined by the SPDL definition of the array. If the specified value does not match the type specified in the SPDL, Add returns an invalid Parameter object. Use this function to add items to shaders such as the camera lens flare shader, which have object and light lists.

Returns:
The new parameter.

The documentation for this class was generated from the following file: