xsi_segment.h Source File
 
 
 
xsi_segment.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 __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__