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__