xsi_particletype.h Source File
 
 
 
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 //*****************************************************************************
00088 //*****************************************************************************
00089 
00090 class SICPPSDKDECL ParticleType : public Property
00091 {
00092 public:
00094         ParticleType();
00095 
00097         ~ParticleType();
00098 
00102         ParticleType(const CRef& in_ref);
00103 
00107         ParticleType(const ParticleType& in_obj);
00108 
00113         bool IsA( siClassID in_ClassID) const;
00114 
00118         siClassID GetClassID() const;
00119 
00125         ParticleType& operator=(const ParticleType& in_obj);
00126 
00132         ParticleType& operator=(const CRef& in_ref);
00133 
00138         LONG GetID() const;
00139 
00152         CStatus AddAttribute
00153         (
00154                 const CString&                                  in_name,
00155                 XSI::siParticleAttributeType    in_type
00156         )const;
00157 
00164         CStatus RemoveAttribute(const CString& in_name )const;
00165 
00170         CStringArray GetAttributeNames()const;
00171 
00178         XSI::siParticleAttributeType GetAttributeType( const CString& in_name )const;
00179 
00180         private:
00181         ParticleType * operator&() const;
00182         ParticleType * operator&();
00183 };
00184 
00185 };
00186 #endif // __XSIPARTICLETYPE_H__