# 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__