CSLXSICustomParamInfo Class Reference

This class represents the XSI_CustomParamInfo template. More...

#include <CustomParamInfo.h>

Inheritance diagram for CSLXSICustomParamInfo:

CSLTemplate CSIBCNode List of all members.

Public Types

enum   ECapabilitiesFlag {
  SI_ANIMATABLE = 1,
  SI_READ_ONLY = 2,
  SI_PERSISTABLE = 4,
  SI_NOT_INSPECTABLE = 8,
  SI_SILENT = 16,
  SI_NOT_PSET_PERSISTABLE = 128,
  SI_TEXTURABLE = 256
}

Public Member Functions

  CSLXSICustomParamInfo (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate, CSLVariantParameter *in_pParameter=0)
SI_Error  Synchronize ()
ETemplateType  Type ()
SI_Error  GetMinValue (SI_TinyVariant &out_Value)
CSLVariantProxy GetMinValue ()
SI_Error  SetMinValue (const CSLVariantProxy &in_Value)
SI_Error  SetMinValue (const SI_TinyVariant &in_Value)
SI_Error  GetMaxValue (SI_TinyVariant &out_Value)
CSLVariantProxy GetMaxValue ()
SI_Error  SetMaxValue (const CSLVariantProxy &in_Value)
SI_Error  SetMaxValue (const SI_TinyVariant &in_Value)
SI_ULong  GetCapabilities ()
SI_Void  SetCapabilities (SI_ULong in_ulValue)

Detailed Description

This class represents the XSI_CustomParamInfo template.

Provides additional information concerning a specific parameter in a CSLCustomPSet (see the XSI_CustomParamInfo template reference).

The CSLXSICustomParamInfo class enhances the usability of the CSLCustomPSet class by providing minimum and maximum range values of a parameter. It can also be used to define the capabilities of the parameter. You can create a custom parameter information with the CSLCustomPSet::CreateCustomParamInfo method.

Since:
3.6
See also:
CSLCustomPSet

CSLXSICustomParamInfo::ECapabilitiesFlag


Member Enumeration Documentation

enum ECapabilitiesFlag

Definition of all possible parameter capabilies flags.

You can use a combination of flags using the bitwise 'or' operator

Example:
Mask of Animatable + Persistable
Enumerator:
SI_ANIMATABLE  Animatable
SI_READ_ONLY  Cannot be written to
SI_PERSISTABLE  Is saved with its parameter set
SI_NOT_INSPECTABLE  Does not show up in the UI
SI_SILENT  Does not notify if its value is changed
SI_NOT_PSET_PERSISTABLE  Will not be saved in presets
SI_TEXTURABLE  Parameter support connection to rendering node


Constructor & Destructor Documentation

CSLXSICustomParamInfo ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate,
CSLVariantParameter in_pParameter = 0  
)

Constructor

Parameters:
[in]  in_pScene  Parent scene
[in]  in_pModel  Parent model
[in]  in_pTemplate  referred template
[in]  in_pParameter  Parameter whose definition is enhanced


Member Function Documentation

SI_Error Synchronize (  )  [virtual]

Synchronizes to ensure that the animated parameter is up to date.

Returns:
Error code

Reimplemented from CSLTemplate.

ETemplateType Type (  )  [inline, virtual]

Returns the type of this template

Returns:
CSLTemplate::XSI_CUSTOM_PARAM_INFO Template type

Implements CSLTemplate.

SI_Error GetMinValue ( SI_TinyVariant out_Value  ) 

Returns the minimum value

Parameters:
[out]  out_Value  The minimum value
Return values:
SI_Error::SI_SUCCESS  Got the minimum value
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of out_Value does not match the type of the minimum value.

CSLVariantProxy& GetMinValue (  ) 

Returns the minimum value

Returns:
CSLVariantProxy The minimum value of the parameter

SI_Error SetMinValue ( const CSLVariantProxy in_Value  ) 

Sets the minimum value

Parameters:
[in]  in_Value  The minimum value
Return values:
SI_Error::SI_SUCCESS  The value was set
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of in_Value does not match the type of the minimum value.

SI_Error SetMinValue ( const SI_TinyVariant in_Value  ) 

Sets the minimum value

Parameters:
[in]  in_Value  The minimum value
Return values:
SI_Error::SI_SUCCESS  The value was set
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of in_Value does not match the type of the minimum value.

SI_Error GetMaxValue ( SI_TinyVariant out_Value  ) 

Returns the maximum value

Parameters:
[out]  out_Value  The maximum value of the parameter
Return values:
SI_Error::SI_SUCCESS  Got the maximum value
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of out_Value does not match the type of the minimum value.

CSLVariantProxy& GetMaxValue (  ) 

Returns the maximum value

Returns:
CSLVariantProxy The maximum value of the parameter

SI_Error SetMaxValue ( const CSLVariantProxy in_Value  ) 

Sets the maximum value

Parameters:
[in]  in_Value  The maximum value
Return values:
SI_Error::SI_SUCCESS  The value was set
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of in_Value does not match the type of the minimum value.

SI_Error SetMaxValue ( const SI_TinyVariant in_Value  ) 

Sets the maximum value

Parameters:
[in]  in_Value  The maximum value
Return values:
SI_Error::SI_SUCCESS  The value was set
SI_Error::SI_ERR_BAD_ARGUMENT  The variant type of in_Value does not match the type of the minimum value.

SI_ULong GetCapabilities (  ) 

Returns the Capabilities flag value

Returns:
SI_ULong Capabilities flags
You can test for specific capabilities with the bitwise 'and' operator.

Example:
Using GetCapabilities
        SI_ULong l_uCapabilities = l_pCustomParamInfo->GetCapabilities();
        // if the paramater is animatable, do something
        if ( CSLXSICustomParamInfo::SI_ANIMATABLE & l_uCapabilities )
        {
            // Do something
        }

SI_Void SetCapabilities ( SI_ULong  in_ulValue  ) 

Sets the Capabilities flag value.

Parameters:
[in]  in_ulValue  New capabilities flags
Please note that in_ulValue must be a combination of valid values coming from the CSLXSICustomParamInfo::ECapabilitiesFlag enum. You can combine values with the bitwise 'or' operator.

Example:
Using SetCapabilities


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