# xsi_iceattribute.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 __XSIICEATTRIBUTE_H__
    00018 #define __XSIICEATTRIBUTE_H__
    00019
    00020 #include <xsi_siobject.h>
    00021
    00022 namespace XSI {
    00023
    00024 class CBaseICEAttributeDataArray;
    00025
    00026 //*****************************************************************************
    00081 //*****************************************************************************
    00082
    00083 class SICPPSDKDECL ICEAttribute : public SIObject
    00084 {
    00085 public:
    00086     friend class CBaseICEAttributeDataArray;
    00087
    00089     ICEAttribute();
    00090
    00092     ~ICEAttribute();
    00093
    00097     ICEAttribute(const CRef& in_ref);
    00098
    00102     ICEAttribute(const ICEAttribute& in_obj);
    00103
    00108     bool IsA( siClassID in_ClassID) const;
    00109
    00113     siClassID GetClassID() const;
    00114
    00120     ICEAttribute& operator=(const ICEAttribute& in_obj);
    00121
    00127     ICEAttribute& operator=(const CRef& in_ref);
    00128
    00133     bool IsDefined( ) const;
    00134
    00138     bool IsConstant( ) const;
    00139
    00143     bool IsReadonly( ) const;
    00144
    00148     XSI::siICENodeDataType GetDataType( ) const;
    00149
    00154     XSI::siICENodeStructureType GetStructureType( ) const;
    00155
    00161     XSI::siICENodeContextType GetContextType( ) const;
    00162
    00166     XSI::siICEAttributeCategory GetAttributeCategory( ) const;
    00167
    00172     ULONG GetElementCount( ) const;
    00173
    00266     CStatus GetDataArray( CBaseICEAttributeDataArray& io_dataArray ) const;
    00267
    00391     CStatus GetDataArrayChunk( ULONG in_nOffset, ULONG in_nSize, CBaseICEAttributeDataArray& io_dataArray ) const;
    00392
    00571     CStatus GetDataArray2D( CBaseICEAttributeDataArray& io_dataArray ) const;
    00572
    00782     CStatus GetDataArray2DChunk( ULONG in_nOffset, ULONG in_nSize, CBaseICEAttributeDataArray& io_dataArray ) const;
    00783
    00784     private:
    00785     CStatus ReleaseDataArray( CBaseICEAttributeDataArray& in_dataArray );
    00786     CStatus GetSubDataArray( const CBaseICEAttributeDataArray& in_dataArray2D, ULONG in_index, CBaseICEAttributeDataArray& io_dataArray ) const;
    00787
    00788     ICEAttribute * operator&() const;
    00789     ICEAttribute * operator&();
    00790 };
    00791
    00792 };
    00793
    00794 #endif // __XSIICEATTRIBUTE_H__