xsi_particleattribute.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 __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__