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__