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 __XSIICEATTRIBUTE_H__
00018 #define __XSIICEATTRIBUTE_H__
00019
00020 #include <xsi_siobject.h>
00021
00022 namespace XSI {
00023
00024 class CBaseICEAttributeDataArray;
00025
00026
00085
00086
00087 class SICPPSDKDECL ICEAttribute : public SIObject
00088 {
00089 public:
00090 friend class CBaseICEAttributeDataArray;
00091
00093 ICEAttribute();
00094
00096 ~ICEAttribute();
00097
00101 ICEAttribute(const CRef& in_ref);
00102
00106 ICEAttribute(const ICEAttribute& in_obj);
00107
00112 bool IsA( siClassID in_ClassID) const;
00113
00117 siClassID GetClassID() const;
00118
00124 ICEAttribute& operator=(const ICEAttribute& in_obj);
00125
00131 ICEAttribute& operator=(const CRef& in_ref);
00132
00139 bool IsDefined( ) const;
00140
00144 bool IsConstant( ) const;
00145
00149 bool IsReadonly( ) const;
00150
00154 XSI::siICENodeDataType GetDataType( ) const;
00155
00160 XSI::siICENodeStructureType GetStructureType( ) const;
00161
00167 XSI::siICENodeContextType GetContextType( ) const;
00168
00172 XSI::siICEAttributeCategory GetAttributeCategory( ) const;
00173
00178 ULONG GetElementCount( ) const;
00179
00290 CStatus GetDataArray( CBaseICEAttributeDataArray& io_dataArray ) const;
00291
00434 CStatus GetDataArrayChunk( ULONG in_nOffset, ULONG in_nSize, CBaseICEAttributeDataArray& io_dataArray ) const;
00435
00639 CStatus GetDataArray2D( CBaseICEAttributeDataArray& io_dataArray ) const;
00640
00874 CStatus GetDataArray2DChunk( ULONG in_nOffset, ULONG in_nSize, CBaseICEAttributeDataArray& io_dataArray ) const;
00875
00909 CStringArray GetCustomDataTypes( ) const;
00910
00911 private:
00912 CStatus ReleaseDataArray( CBaseICEAttributeDataArray& in_dataArray );
00913 CStatus GetSubDataArray( CBaseICEAttributeDataArray& in_dataArray2D, ULONG in_index, CBaseICEAttributeDataArray& io_dataArray ) const;
00914
00915 CStatus GetCustomTypeData( const CBaseICEAttributeDataArray& in_dataArray, ULONG in_nIndex, const unsigned char** out_ppData, ULONG& out_nSize ) const;
00916 CStatus GetCustomTypeData2D( const CBaseICEAttributeDataArray& in_dataArray, ULONG in_nIndex, const unsigned char** out_ppData, ULONG& out_nSize ) const;
00917
00918 CStatus GetStringData( const CBaseICEAttributeDataArray& in_dataArray, ULONG in_nIndex, const wchar_t** out_ppData, ULONG& out_nSize ) const;
00919 CStatus GetStringData2D( const CBaseICEAttributeDataArray& in_dataArray, ULONG in_nIndex, const wchar_t** out_ppData, ULONG& out_nSize ) const;
00920
00921 ICEAttribute * operator&() const;
00922 ICEAttribute * operator&();
00923 };
00924
00925 };
00926
00927 #endif // __XSIICEATTRIBUTE_H__