xsi_sceneitem.h Source File
 
 
 
xsi_sceneitem.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 __XSISCENEITEM_H__
00018 #define __XSISCENEITEM_H__
00019 
00020 #include <xsi_projectitem.h>
00021 #include <xsi_customproperty.h>
00022 #include <xsi_status.h>
00023 
00024 namespace XSI {
00025 
00026 class Material;
00027 class Envelope;
00028 class Property;
00029 
00030 //*****************************************************************************
00036 //*****************************************************************************
00037 
00038 class SICPPSDKDECL SceneItem : public ProjectItem
00039 {
00040 public:
00042         SceneItem();
00043 
00045         ~SceneItem();
00046 
00050         SceneItem(const CRef& in_ref);
00051 
00055         SceneItem(const SceneItem& in_obj);
00056 
00061         bool IsA( siClassID in_ClassID) const;
00062 
00066         siClassID GetClassID() const;
00067 
00073         SceneItem& operator=(const SceneItem& in_obj);
00074 
00080         SceneItem& operator=(const CRef& in_ref);
00081 
00087         CRefArray       GetProperties() const;
00088 
00092         Material        GetMaterial() const;
00093 
00097         CRefArray       GetEnvelopes() const;
00098 
00107         CStatus         ApplyEnvelope
00108         (
00109                 const CRefArray& in_deformers,
00110                 siBranchFlag     in_DeformOnBranch,
00111                 siBranchFlag     in_EnvOnBranch,
00112                 Envelope&                io_env
00113         );
00114 
00118         CRefArray       GetLocalProperties() const;
00119 
00131         CStatus         AddMaterial
00132         (
00133                 const CString&  in_preset,
00134                 bool                    in_branch,
00135                 const CString&  in_name,
00136                 Material&               io_mat
00137         );
00138 
00152         Property AddProperty
00153         (
00154                 const CString&  in_preset,
00155                 bool                    in_bBranch = false,
00156                 const CString&  in_name = CString()
00157         );
00158 
00166         CStatus         AddProperty
00167         (
00168                 const CString&  in_preset,
00169                 bool                    in_bBranch ,
00170                 const CString&  in_name,
00171                 Property&               out_prop
00172         );
00173 
00181         CStatus         AddCustomProperty
00182         (
00183                 const CString&  in_name,
00184                 bool                    in_bBranch ,
00185                 CustomProperty& out_customprop
00186         );
00187 
00194         CStatus         SetMaterial
00195         (
00196                 Material&               in_Material
00197         );
00198 
00205         CStatus         GetPropertyFromName
00206         (
00207                 const CString&  in_name,
00208                 Property&               out_prop
00209         );
00210 
00217         CStatus         GetLocalPropertyFromName
00218         (
00219                 const CString&  in_name,
00220                 Property&               out_prop
00221         );
00222 
00223         private:
00224         SceneItem * operator&() const;
00225         SceneItem * operator&();
00226 };
00227 
00228 };
00229 
00230 #endif // __XSISCENEITEM_H__