00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSISEGMENT_H__ 00018 #define __XSISEGMENT_H__ 00019 00020 #include <xsi_siobject.h> 00021 #include <xsi_math.h> 00022 #include <xsi_longarray.h> 00023 00024 namespace XSI { 00025 00026 class CPointRefArray; 00027 class CSampleRefArray; 00028 class SubComponent; 00029 class Segment; 00030 00031 //***************************************************************************** 00062 //***************************************************************************** 00063 00064 class SICPPSDKDECL Segment : public SIObject 00065 { 00066 public: 00068 Segment(); 00069 00071 ~Segment(); 00072 00076 Segment(const CRef& in_ref); 00077 00081 Segment(const Segment& in_obj); 00082 00087 bool IsA( siClassID in_ClassID) const; 00088 00092 siClassID GetClassID() const; 00093 00099 Segment& operator=(const Segment& in_obj); 00100 00106 Segment& operator=(const CRef& in_ref); 00107 00111 CPointRefArray GetPoints() const; 00112 00116 LONG GetIndex() const; 00117 00121 CSampleRefArray GetSamples() const; 00122 00126 SubComponent GetSubComponent() const; 00127 00134 Segment Navigate(siNavigateComponentType in_siNavigate) const; 00135 00136 private: 00137 Segment * operator&() const; 00138 Segment * operator&(); 00139 }; 00140 00141 //***************************************************************************** 00173 //***************************************************************************** 00174 00175 class SICPPSDKDECL CSegmentRefArray : public CRefArray 00176 { 00177 public: 00178 CSegmentRefArray(); 00179 00183 CSegmentRefArray( const CSegmentRefArray& in_array ); 00184 00189 CRef GetItem( LONG in_index ) const; 00190 00195 CRef GetItem( const CString& in_name ) const; 00196 00200 LONG GetCount() const; 00201 00205 bool IsValid() const; 00206 00210 MATH::CVector3Array GetNormalArray() const; 00211 00215 CLongArray GetIndexArray() const; 00216 00220 SubComponent GetSubComponent() const; 00221 00228 CSegmentRefArray Navigate(siNavigateComponentType in_siNavigate) const; 00229 00230 private: 00231 void* m_ptr; 00232 }; 00233 00234 }; 00235 00236 #endif // __XSISEGMENT_H__