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__