00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSI_PASSCONTAINER_H__ 00018 #define __XSI_PASSCONTAINER_H__ 00019 00020 #include <xsi_projectitem.h> 00021 #include <xsi_customproperty.h> 00022 #include <xsi_status.h> 00023 00024 namespace XSI { 00025 00026 class Pass; 00027 class Property; 00028 00029 //***************************************************************************** 00037 //***************************************************************************** 00038 00039 class SICPPSDKDECL PassContainer : public ProjectItem 00040 { 00041 public: 00043 PassContainer(); 00044 00046 ~PassContainer(); 00047 00051 PassContainer(const CRef& in_ref); 00052 00056 PassContainer(const PassContainer& in_obj); 00057 00062 bool IsA( siClassID in_ClassID) const; 00063 00067 siClassID GetClassID() const; 00068 00074 PassContainer& operator=(const PassContainer& in_obj); 00075 00081 PassContainer& operator=(const CRef& in_ref); 00082 00088 CRefArray GetPasses() const; 00089 00095 CRefArray GetProperties() const; 00096 00106 Pass AddPass 00107 ( 00108 const CString& in_preset, 00109 const CString& in_name 00110 ); 00111 00125 Property AddProperty 00126 ( 00127 const CString& in_preset, 00128 bool in_bBranch = false, 00129 const CString& in_name = CString() 00130 ); 00131 00140 CStatus AddCustomProperty 00141 ( 00142 const CString& in_name, 00143 bool in_bBranch , 00144 CustomProperty& out_customprop 00145 ); 00146 00147 private: 00148 PassContainer * operator&() const; 00149 PassContainer * operator&(); 00150 }; 00151 00152 }; 00153 00154 #endif // __XSI_PASSCONTAINER_H__