Go to
the documentation of this file.
00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSICUSTOMPROPERTY_H__
00018 #define __XSICUSTOMPROPERTY_H__
00019
00020 #include <xsi_property.h>
00021 #include <xsi_status.h>
00022
00023 namespace XSI {
00024
00025 class ProxyParameter ;
00026
00027
00062
00063
00064 class SICPPSDKDECL CustomProperty : public Property
00065 {
00066 public:
00068 CustomProperty();
00069
00071 ~CustomProperty();
00072
00076 CustomProperty(const CRef& in_ref);
00077
00081 CustomProperty(const CustomProperty& in_obj);
00082
00087 bool IsA( siClassID in_ClassID) const;
00088
00092 siClassID GetClassID() const;
00093
00099 CustomProperty& operator=(const CustomProperty& in_obj);
00100
00106 CustomProperty& operator=(const CRef& in_ref);
00107
00142 CStatus AddParameter(
00143 const CString& in_scriptname,
00144 CValue::DataType in_type,
00145 siParamClassification in_classification,
00146 INT in_capabilities,
00147 const CString& in_name,
00148 const CString& in_description,
00149 const CValue& in_default,
00150 const CValue& in_min,
00151 const CValue& in_max,
00152 const CValue& in_suggestedmin,
00153 const CValue& in_suggestedmax,
00154 Parameter& io_parameter );
00155
00188 CStatus AddParameter(
00189 const CString& in_scriptname,
00190 CValue::DataType in_type,
00191 INT in_capabilities,
00192 const CString& in_name,
00193 const CString& in_description,
00194 const CValue& in_default,
00195 const CValue& in_min,
00196 const CValue& in_max,
00197 const CValue& in_suggestedmin,
00198 const CValue& in_suggestedmax,
00199 Parameter& io_parameter );
00200
00231 CStatus AddParameter(
00232 const CString& in_scriptname,
00233 CValue::DataType in_type,
00234 INT in_capabilities,
00235 const CString& in_name,
00236 const CString& in_description,
00237 const CValue& in_default,
00238 Parameter& io_parameter );
00239
00256 Parameter AddFCurveParameter( const CString& in_scriptname ) ;
00257
00267 Parameter AddGridParameter( const CString& in_scriptname ) ;
00268
00276 CStatus RemoveParameter( const Parameter& in_param );
00277
00300 CStatus GetBinaryData( unsigned char *& io_buffer, UINT& io_size ) const;
00301
00309 CStatus FreeBinaryData( unsigned char *& io_buffer ) const ;
00310
00311
00336 CStatus PutBinaryData( const unsigned char * in_buffer, UINT in_size );
00337
00347 ProxyParameter AddProxyParameter(
00348 Parameter in_ParamToProxy,
00349 const CString& in_ProxyScriptName = CString(),
00350 const CString& in_ProxyName = CString() ) ;
00351
00362 Parameter AddParameterFromDef( const CRef& in_paramdef ) ;
00363
00364 private:
00365 CustomProperty * operator&() const;
00366 CustomProperty * operator&();
00367 };
00368
00369 };
00370
00371 #endif // __XSICUSTOMPROPERTY_H__