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