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__