xsi_vertex.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 __XSIVERTEX_H__
    00018 #define __XSIVERTEX_H__
    00019
    00020 #include <xsi_point.h>
    00021
    00022 namespace XSI {
    00023
    00024 class CPolygonNodeRefArray;
    00025 class CVertexRefArray;
    00026 class CEdgeRefArray;
    00027 class CPolygonFaceRefArray;
    00028 class CDoubleArray;
    00029
    00030 //*****************************************************************************
    00057 //*****************************************************************************
    00058
    00059 class SICPPSDKDECL Vertex : public Point
    00060 {
    00061 public:
    00063     Vertex();
    00064
    00066     ~Vertex();
    00067
    00071     Vertex(const CRef& in_ref);
    00072
    00076     Vertex(const Vertex& in_obj);
    00077
    00082     bool IsA( siClassID in_ClassID) const;
    00083
    00087     siClassID GetClassID() const;
    00088
    00094     Vertex& operator=(const Vertex& in_obj);
    00095
    00101     Vertex& operator=(const CRef& in_ref);
    00102
    00106     CPolygonNodeRefArray GetNodes() const;
    00107
    00113     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00114
    00121     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00122
    00129     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00130
    00135     CVertexRefArray GrowNeighborVertices(LONG in_lDistance = 1) const;
    00136
    00141     double GetCrease()const;
    00142
    00147     bool GetIsBoundary()const;
    00148
    00149     private:
    00150     Vertex * operator&() const;
    00151     Vertex * operator&();
    00152 };
    00153
    00154 //*****************************************************************************
    00188 //*****************************************************************************
    00189 class SICPPSDKDECL CVertexRefArray : public CPointRefArray
    00190 {
    00191     public:
    00192     CVertexRefArray();
    00193
    00197     CVertexRefArray( const CVertexRefArray& in_array );
    00198
    00203     CRef GetItem( LONG in_index ) const;
    00204
    00209     CRef GetItem( const CString& in_name ) const;
    00210
    00214     LONG GetCount() const;
    00215
    00219     bool IsValid() const;
    00220
    00225     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00226
    00231     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00232
    00237     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00238
    00243     CVertexRefArray GrowNeighborVertices(LONG in_lDistance = 1) const;
    00244
    00249     CDoubleArray GetCreaseArray() const;
    00250 };
    00251
    00252 };
    00253
    00254 #endif // __XSIVERTEX_H__