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__