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 //*****************************************************************************
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__