00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSIPARTICLEATTRIBUTE_H__ 00018 #define __XSIPARTICLEATTRIBUTE_H__ 00019 00020 #include <xsi_siobject.h> 00021 #include <xsi_value.h> 00022 #include <xsi_vector3.h> 00023 #include <xsi_vector4.h> 00024 00025 namespace XSI { 00026 00027 //***************************************************************************** 00084 //***************************************************************************** 00085 00086 class SICPPSDKDECL ParticleAttribute : public SIObject 00087 { 00088 public: 00090 ParticleAttribute(); 00091 00093 ~ParticleAttribute(); 00094 00098 ParticleAttribute(const CRef& in_ref); 00099 00103 ParticleAttribute(const ParticleAttribute& in_obj); 00104 00109 bool IsA( siClassID in_ClassID) const; 00110 00114 siClassID GetClassID() const; 00115 00121 ParticleAttribute& operator=(const ParticleAttribute& in_obj); 00122 00128 ParticleAttribute& operator=(const CRef& in_ref); 00129 00139 CStatus GetValue(CValue& out_val) const; 00142 CStatus GetValue(MATH::CVector3& out_val) const; 00145 CStatus GetValue(MATH::CVector4& out_val) const; 00146 00156 CStatus PutValue(const CValue& in_val) const; 00159 CStatus PutValue(const MATH::CVector3& in_val) const; 00162 CStatus PutValue(const MATH::CVector4& in_val) const; 00163 00167 XSI::siParticleAttributeType GetAttributeType()const; 00168 00169 private: 00170 ParticleAttribute * operator&() const; 00171 ParticleAttribute * operator&(); 00172 }; 00173 00174 }; 00175 00176 #endif // __XSIPARTICLEATTRIBUTE_H__