# xsi_polygonface.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 __XSIPOLYGONFACE_H__
    00018 #define __XSIPOLYGONFACE_H__
    00019
    00020 #include <xsi_facet.h>
    00021 #include <xsi_longarray.h>
    00022 #include <xsi_pointlocatordata.h>
    00023
    00024 namespace XSI {
    00025
    00026 class CPolygonNodeRefArray;
    00027 class CVertexRefArray;
    00028 class CEdgeRefArray;
    00029 class CPolygonFaceRefArray;
    00030
    00031 //*****************************************************************************
    00051 //*****************************************************************************
    00052
    00053 class SICPPSDKDECL PolygonFace : public Facet
    00054 {
    00055 public:
    00057     PolygonFace();
    00058
    00060     ~PolygonFace();
    00061
    00065     PolygonFace(const CRef& in_ref);
    00066
    00070     PolygonFace(const PolygonFace& in_obj);
    00071
    00076     bool IsA( siClassID in_ClassID) const;
    00077
    00081     siClassID GetClassID() const;
    00082
    00088     PolygonFace& operator=(const PolygonFace& in_obj);
    00089
    00095     PolygonFace& operator=(const CRef& in_ref);
    00096
    00100     CPolygonNodeRefArray GetNodes() const;
    00101
    00105     CVertexRefArray GetVertices() const;
    00106
    00110     CEdgeRefArray GetEdges() const;
    00111
    00122     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00123
    00134     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00135
    00146     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00147
    00157     CPolygonFaceRefArray GrowNeighborPolygons(LONG in_lDistance = 1) const;
    00158
    00215     CLongArray GetTriangleSubIndexArray() const;
    00216
    00217     private:
    00218     PolygonFace * operator&() const;
    00219     PolygonFace * operator&();
    00220 };
    00221
    00222 //*****************************************************************************
    00261 //*****************************************************************************
    00262 class SICPPSDKDECL CPolygonFaceRefArray : public CFacetRefArray
    00263 {
    00264     public:
    00265     CPolygonFaceRefArray();
    00266
    00270     CPolygonFaceRefArray( const CPolygonFaceRefArray& in_array );
    00271
    00276     CRef GetItem( LONG in_index ) const;
    00277
    00282     CRef GetItem( const CString& in_name ) const;
    00283
    00287     LONG GetCount() const;
    00288
    00292     bool IsValid() const;
    00293
    00297     MATH::CVector3Array GetNormalArray() const;
    00298
    00305     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00306
    00313     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00314
    00321     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00322
    00330     CPolygonFaceRefArray GrowNeighborPolygons(LONG in_lDistance = 1) const;
    00331
    00336     MATH::CVector3Array GetPolygonNodeNormalArray() const;
    00337
    00345     CLongArray GetPolygonNodePolygonFaceIndexArray() const;
    00346 };
    00347
    00348 };
    00349
    00350 #endif // __XSIPOLYGONFACE_H__