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
00140 CStatus AddParameter(
00141 const CString& in_scriptname,
00142 CValue::DataType in_type,
00143 INT in_capabilities,
00144 const CString& in_name,
00145 const CString& in_description,
00146 const CValue& in_default,
00147 const CValue& in_min,
00148 const CValue& in_max,
00149 const CValue& in_suggestedmin,
00150 const CValue& in_suggestedmax,
00151 Parameter& io_parameter );
00152
00183 CStatus AddParameter(
00184 const CString& in_scriptname,
00185 CValue::DataType in_type,
00186 INT in_capabilities,
00187 const CString& in_name,
00188 const CString& in_description,
00189 const CValue& in_default,
00190 Parameter& io_parameter );
00191
00208 Parameter AddFCurveParameter( const CString& in_scriptname ) ;
00209
00219 Parameter AddGridParameter( const CString& in_scriptname ) ;
00220
00228 CStatus RemoveParameter( const Parameter& in_param );
00229
00252 CStatus GetBinaryData( unsigned char *& io_buffer, UINT& io_size ) const;
00253
00261 CStatus FreeBinaryData( unsigned char *& io_buffer ) const ;
00262
00263
00288 CStatus PutBinaryData( const unsigned char * in_buffer, UINT in_size );
00289
00299 ProxyParameter AddProxyParameter(
00300 Parameter in_ParamToProxy,
00301 const CString& in_ProxyScriptName = CString(),
00302 const CString& in_ProxyName = CString() ) ;
00303
00314 Parameter AddParameterFromDef( const CRef& in_paramdef ) ;
00315
00316 private:
00317 CustomProperty * operator&() const;
00318 CustomProperty * operator&();
00319 };
00320
00321 };
00322
00323 #endif // __XSICUSTOMPROPERTY_H__