xsi_particle.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 __XSIPARTICLE_H__
00018 #define __XSIPARTICLE_H__
00019 
00020 #include <xsi_siobject.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 #include <xsi_vector3.h>
00024 #include <xsi_rotation.h>
00025 #include <xsi_color.h>
00026 
00027 namespace XSI {
00028 
00029 
00030 //*****************************************************************************
00123 //*****************************************************************************
00124 
00125 class SICPPSDKDECL Particle : public SIObject
00126 {
00127 public:
00129     Particle();
00130 
00132     ~Particle();
00133 
00137     Particle(const CRef& in_ref);
00138 
00142     Particle(const Particle& in_obj);
00143 
00148     bool IsA( siClassID in_ClassID) const;
00149 
00153     siClassID GetClassID() const;
00154 
00160     Particle& operator=(const Particle& in_obj);
00161 
00167     Particle& operator=(const CRef& in_ref);
00168 
00173     LONG GetIndex() const;
00174 
00179     LONG GetID() const;
00180 
00185     LONG GetTypeID() const;
00186 
00191     CStatus PutTypeID(LONG in_TypeID);
00192 
00197     MATH::CVector3 GetPosition()  const;
00198 
00203     CStatus PutPosition(const MATH::CVector3& in_vect);
00204 
00209     MATH::CVector3 GetVelocity()  const;
00210 
00215     CStatus PutVelocity(const MATH::CVector3& in_vect);
00216 
00221     MATH::CRotation GetAngularVelocity()  const;
00222 
00227     CStatus PutAngularVelocity(const MATH::CRotation& in_vect);
00228 
00233     MATH::CVector3 GetRotation()  const;
00234 
00239     CStatus PutRotation(const MATH::CVector3& in_vect);
00240 
00244     double GetPathLength() const ;
00245 
00252     LONG GetAge() const ;
00253 
00258     CStatus PutAge( LONG in_age ) ;
00259 
00264     LONG GetAgeLimit() const;
00265 
00270     CStatus PutAgeLimit(LONG in_agelimit);
00271 
00276     LONG GetSeed() const;
00277 
00282     CStatus PutSeed(LONG in_seed);
00283 
00288     CColor GetColor( ) const ;
00289 
00294     CStatus PutColor( const CColor & in_vColor ) ;
00295 
00301     MATH::CVector3 GetUVW()  const;
00302 
00308     CStatus PutUVW(const MATH::CVector3& in_vect);
00309 
00318     LONG GetSpriteIndex() const;
00319 
00324     CStatus PutSpriteIndex(LONG in_index);
00325 
00331     double GetSpriteAngle() const;
00332 
00337     CStatus PutSpriteAngle(double in_angle);
00338 
00343     double GetSize() const ;
00344 
00349     CStatus PutSize( double in_size ) ;
00350 
00355     double GetMass() const;
00356 
00361     CStatus PutMass(double in_mass);
00362 
00366     double GetDensity() const;
00367 
00371     double GetPressure() const;
00372 
00378     CRefArray GetAttributes() const;
00379 
00380     private:
00381     Particle * operator&() const;
00382     Particle * operator&();
00383 };
00384 
00385 };
00386 #endif // __XSIPARTICLE_H__