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
00082
00083
00084 class SICPPSDKDECL ParticleAttribute : public SIObject
00085 {
00086 public:
00088 ParticleAttribute();
00089
00091 ~ParticleAttribute();
00092
00096 ParticleAttribute(const CRef& in_ref);
00097
00101 ParticleAttribute(const ParticleAttribute& in_obj);
00102
00107 bool IsA( siClassID in_ClassID) const;
00108
00112 siClassID GetClassID() const;
00113
00119 ParticleAttribute& operator=(const ParticleAttribute& in_obj);
00120
00126 ParticleAttribute& operator=(const CRef& in_ref);
00127
00137 CStatus GetValue(CValue& out_val) const;
00140 CStatus GetValue(MATH::CVector3& out_val) const;
00143 CStatus GetValue(MATH::CVector4& out_val) const;
00144
00154 CStatus PutValue(const CValue& in_val) const;
00157 CStatus PutValue(const MATH::CVector3& in_val) const;
00160 CStatus PutValue(const MATH::CVector4& in_val) const;
00161
00165 XSI::siParticleAttributeType GetAttributeType()const;
00166
00167 private:
00168 ParticleAttribute * operator&() const;
00169 ParticleAttribute * operator&();
00170 };
00171
00172 };
00173
00174 #endif // __XSIPARTICLEATTRIBUTE_H__