xsi_customproperty.h Source File
 
 
 
xsi_customproperty.h
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__