xsi_particletype.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 __XSIPARTICLETYPE_H__
00018 #define __XSIPARTICLETYPE_H__
00019 
00020 #include <xsi_property.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 #include <xsi_string.h>
00024 #include <xsi_decl.h>
00025 
00026 
00027 namespace XSI {
00028 
00029 
00030 //*****************************************************************************
00087 //*****************************************************************************
00088 
00089 class SICPPSDKDECL ParticleType : public Property
00090 {
00091 public:
00093     ParticleType();
00094 
00096     ~ParticleType();
00097 
00101     ParticleType(const CRef& in_ref);
00102 
00106     ParticleType(const ParticleType& in_obj);
00107 
00112     bool IsA( siClassID in_ClassID) const;
00113 
00117     siClassID GetClassID() const;
00118 
00124     ParticleType& operator=(const ParticleType& in_obj);
00125 
00131     ParticleType& operator=(const CRef& in_ref);
00132 
00137     LONG GetID() const;
00138 
00151     CStatus AddAttribute
00152     (
00153         const CString&                  in_name,
00154         XSI::siParticleAttributeType    in_type
00155     )const;
00156 
00163     CStatus RemoveAttribute(const CString& in_name )const;
00164 
00169     CStringArray GetAttributeNames()const;
00170 
00177     XSI::siParticleAttributeType GetAttributeType( const CString& in_name )const;
00178 
00179     private:
00180     ParticleType * operator&() const;
00181     ParticleType * operator&();
00182 };
00183 
00184 };
00185 #endif // __XSIPARTICLETYPE_H__