# 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
    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__