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__