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 //*****************************************************************************
00124 //*****************************************************************************
00125 
00126 class SICPPSDKDECL Particle : public SIObject
00127 {
00128 public:
00130     Particle();
00131 
00133     ~Particle();
00134 
00138     Particle(const CRef& in_ref);
00139 
00143     Particle(const Particle& in_obj);
00144 
00149     bool IsA( siClassID in_ClassID) const;
00150 
00154     siClassID GetClassID() const;
00155 
00161     Particle& operator=(const Particle& in_obj);
00162 
00168     Particle& operator=(const CRef& in_ref);
00169 
00174     LONG GetIndex() const;
00175 
00180     LONG GetID() const;
00181 
00186     LONG GetTypeID() const;
00187 
00192     CStatus PutTypeID(LONG in_TypeID);
00193 
00198     MATH::CVector3 GetPosition()  const;
00199 
00204     CStatus PutPosition(const MATH::CVector3& in_vect);
00205 
00210     MATH::CVector3 GetVelocity()  const;
00211 
00216     CStatus PutVelocity(const MATH::CVector3& in_vect);
00217 
00222     MATH::CRotation GetAngularVelocity()  const;
00223 
00228     CStatus PutAngularVelocity(const MATH::CRotation& in_vect);
00229 
00234     MATH::CVector3 GetRotation()  const;
00235 
00240     CStatus PutRotation(const MATH::CVector3& in_vect);
00241 
00245     double GetPathLength() const ;
00246 
00253     LONG GetAge() const ;
00254 
00259     CStatus PutAge( LONG in_age ) ;
00260 
00265     LONG GetAgeLimit() const;
00266 
00271     CStatus PutAgeLimit(LONG in_agelimit);
00272 
00277     LONG GetSeed() const;
00278 
00283     CStatus PutSeed(LONG in_seed);
00284 
00289     CColor GetColor( ) const ;
00290 
00295     CStatus PutColor( const CColor & in_vColor ) ;
00296 
00302     MATH::CVector3 GetUVW()  const;
00303 
00309     CStatus PutUVW(const MATH::CVector3& in_vect);
00310 
00319     LONG GetSpriteIndex() const;
00320 
00325     CStatus PutSpriteIndex(LONG in_index);
00326 
00332     double GetSpriteAngle() const;
00333 
00338     CStatus PutSpriteAngle(double in_angle);
00339 
00344     double GetSize() const ;
00345 
00350     CStatus PutSize( double in_size ) ;
00351 
00356     double GetMass() const;
00357 
00362     CStatus PutMass(double in_mass);
00363 
00367     double GetDensity() const;
00368 
00372     double GetPressure() const;
00373 
00379     CRefArray GetAttributes() const;
00380 
00381     private:
00382     Particle * operator&() const;
00383     Particle * operator&();
00384 };
00385 
00386 };
00387 #endif // __XSIPARTICLE_H__