xsi_particle.h Source File
 
 
 
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__