VariantParameter.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _VARIANTPARAMETER_H
00015 #define _VARIANTPARAMETER_H
00016 
00017 #include "Template.h"
00018 
00019 class CSLXSICustomParamInfo;
00020 class CSLCOLLADAScene;
00021 
00025 class XSIEXPORT CSLVariantParameter : public CSLAnimatableType
00026 {
00027 public:
00032     CSLVariantParameter
00033     (
00034         CdotXSITemplate *in_pTemplate,
00035         SI_Int in_nValueIndex
00036     );
00037 
00039     virtual ~CSLVariantParameter();
00040 
00044     CSLAnimatableType::EElementType ValueType();
00045 
00046 
00047     SI_TinyVariant* GetValue();
00048 
00052     SI_Void SetValue( SI_TinyVariant* in_pNewVal );
00053 
00057     virtual CSLVariantParameter::EElementType Type(){ return CSLVariantParameter::SI_VARIANT_TYPE; }
00058 
00063     virtual CSLXSICustomParamInfo* CustomParamInfo(){ return (CSLXSICustomParamInfo *)NULL; }
00064 
00068     virtual SI_Float GetFloatValue();
00069 
00073     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00074 };
00075 
00076 
00082 class XSIEXPORT CSLCustomParameter :
00083     public CSLVariantParameter
00084 {
00085 public:
00090     CSLCustomParameter
00091     (
00092         CdotXSITemplate *in_pTemplate,
00093         SI_Int in_nValueIndex
00094     );
00095 
00097     virtual ~CSLCustomParameter();
00098 
00100     // Custom parameter information
00102 
00106     CSLXSICustomParamInfo* CustomParamInfo();
00107 
00111     CSLXSICustomParamInfo* ConnectCustomParamInfo( CSLXSICustomParamInfo *in_pCustomParamInfo );
00112 
00113 private:
00114     CSLXSICustomParamInfo *m_pCustomParamInfo;
00115 };
00116 
00117 #endif