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__