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