00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSITRIANGLEVERTEX_H__
00018 #define __XSITRIANGLEVERTEX_H__
00019
00020 #include <xsi_siobject.h>
00021 #include <xsi_math.h>
00022 #include <xsi_uv.h>
00023 #include <xsi_vertexcolor.h>
00024
00025 namespace XSI {
00026
00027
00056
00057
00058 class SICPPSDKDECL TriangleVertex : public SIObject
00059 {
00060 public:
00062 TriangleVertex();
00063
00065 ~TriangleVertex();
00066
00070 TriangleVertex(const CRef& in_ref);
00071
00075 TriangleVertex(const TriangleVertex& in_obj);
00076
00081 bool IsA( siClassID in_ClassID) const;
00082
00086 siClassID GetClassID() const;
00087
00093 TriangleVertex& operator=(const TriangleVertex& in_obj);
00094
00100 TriangleVertex& operator=(const CRef& in_ref);
00101
00105 MATH::CVector3 GetPosition() const;
00106
00111 MATH::CVector3 GetNormal() const;
00112
00116 CVertexColor GetColor() const;
00117
00121 CUV GetUV() const;
00122
00126 LONG GetIndex() const;
00127
00128 private:
00129 TriangleVertex * operator&() const;
00130 TriangleVertex * operator&();
00131 };
00132
00133
00170
00171 class SICPPSDKDECL CTriangleVertexRefArray : public CRefArray
00172 {
00173 public:
00174 CTriangleVertexRefArray();
00175
00179 CTriangleVertexRefArray( const CTriangleVertexRefArray& in_array );
00180
00185 CRef GetItem( LONG in_index ) const;
00186
00191 CRef GetItem( const CString& in_name ) const;
00192
00196 LONG GetCount() const;
00197
00201 bool IsValid() const;
00202
00207 MATH::CVector3Array GetPositionArray() const;
00208
00213 MATH::CVector3Array GetNormalArray() const;
00214
00219 CVertexColorArray GetColorArray() const;
00220
00225 CUVArray GetUVArray() const;
00226
00227 private:
00228 void* m_ptr;
00229 };
00230
00231 };
00232
00233 #endif // __XSITRIANGLEVERTEX_H__