xsi_facet.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 __XSIFACET_H__
00018 #define __XSIFACET_H__
00019 
00020 #include <xsi_siobject.h>
00021 #include <xsi_math.h>
00022 #include <xsi_longarray.h>
00023 
00024 namespace XSI {
00025 
00026 class CSegmentRefArray;
00027 class CSampleRefArray;
00028 class CPointRefArray;
00029 class SubComponent;
00030 
00031 //*****************************************************************************
00073 //*****************************************************************************
00074 
00075 class SICPPSDKDECL Facet : public SIObject
00076 {
00077 public:
00079     Facet();
00080 
00082     ~Facet();
00083 
00087     Facet(const CRef& in_ref);
00088 
00092     Facet(const Facet& in_obj);
00093 
00098     bool IsA( siClassID in_ClassID) const;
00099 
00103     siClassID GetClassID() const;
00104 
00110     Facet& operator=(const Facet& in_obj);
00111 
00117     Facet& operator=(const CRef& in_ref);
00118 
00122     CSegmentRefArray GetSegments() const;
00123 
00127     CPointRefArray GetPoints() const;
00128 
00132     LONG GetNbPoints()const;
00133 
00137     LONG GetIndex() const;
00138 
00142     CSampleRefArray GetSamples() const;
00143 
00147     SubComponent GetSubComponent() const;
00148 
00154     Facet Navigate(siNavigateComponentType in_siNavigate) const;
00155 
00156     private:
00157     Facet * operator&() const;
00158     Facet * operator&();
00159 };
00160 
00161 //*****************************************************************************
00200 //*****************************************************************************
00201 class SICPPSDKDECL CFacetRefArray : public CRefArray
00202 {
00203     public:
00206     CFacetRefArray();
00207 
00211     CFacetRefArray( const CFacetRefArray& in_array);
00212 
00217     CRef GetItem( LONG in_index ) const;
00218 
00223     CRef GetItem( const CString& in_name ) const;
00224 
00228     LONG GetCount() const;
00229 
00233     bool IsValid() const;
00234 
00238     MATH::CVector3Array GetNormalArray() const;
00239 
00243     CLongArray GetIndexArray() const;
00244 
00248     SubComponent GetSubComponent() const;
00249 
00256     CFacetRefArray Navigate(siNavigateComponentType in_siNavigate) const;
00257 
00258     private:
00259     void* m_ptr;
00260 };
00261 
00262 };
00263 
00264 #endif // __XSIFACET_H__