00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSICUSTOMPRIMITIVE_H__ 00018 #define __XSICUSTOMPRIMITIVE_H__ 00019 00020 #include <xsi_primitive.h> 00021 #include <xsi_status.h> 00022 00023 namespace XSI { 00024 00025 //***************************************************************************** 00038 //***************************************************************************** 00039 00040 class SICPPSDKDECL CustomPrimitive : public Primitive 00041 { 00042 public: 00044 CustomPrimitive(); 00045 00047 ~CustomPrimitive(); 00048 00052 CustomPrimitive(const CRef& in_ref); 00053 00057 CustomPrimitive(const CustomPrimitive& in_obj); 00058 00063 bool IsA( siClassID in_ClassID) const; 00064 00068 siClassID GetClassID() const; 00069 00075 CustomPrimitive& operator=(const CustomPrimitive& in_obj); 00076 00082 CustomPrimitive& operator=(const CRef& in_ref); 00083 00091 CStatus AddParameter( 00092 const CRef& in_paramdef, 00093 Parameter& io_parameter ); 00094 00101 CStatus RemoveParameter( const Parameter& in_param ); 00102 00103 00104 }; 00105 00106 }; 00107 00108 #endif // __XSICUSTOMPIMITIVE_H__