# xsi_edge.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 __XSIEDGE_H__
    00018 #define __XSIEDGE_H__
    00019
    00020 #include <xsi_segment.h>
    00021
    00022 namespace XSI {
    00023
    00024 class CVertexRefArray;
    00025 class CPolygonFaceRefArray;
    00026 class CEdgeRefArray;
    00027 class CPolygonNodeRefArray;
    00028 class CDoubleArray;
    00029 class CBoolArray;
    00030
    00031 //*****************************************************************************
    00054 //*****************************************************************************
    00055
    00056 class SICPPSDKDECL Edge : public Segment
    00057 {
    00058 public:
    00060     Edge();
    00061
    00063     ~Edge();
    00064
    00068     Edge(const CRef& in_ref);
    00069
    00073     Edge(const Edge& in_obj);
    00074
    00079     bool IsA( siClassID in_ClassID) const;
    00080
    00084     siClassID GetClassID() const;
    00085
    00091     Edge& operator=(const Edge& in_obj);
    00092
    00098     Edge& operator=(const CRef& in_ref);
    00099
    00103     CVertexRefArray GetVertices() const;
    00104
    00108     CPolygonNodeRefArray GetNodes() const;
    00109
    00116     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00117
    00124     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00125
    00132     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00133
    00139     CEdgeRefArray GrowNeighborEdges(LONG in_lDistance = 1) const;
    00140
    00145     double GetCrease()const;
    00146
    00151     bool GetIsHard()const;
    00152
    00157     bool GetIsBoundary()const;
    00158
    00159     private:
    00160     Edge * operator&() const;
    00161     Edge * operator&();
    00162 };
    00163
    00164 //*****************************************************************************
    00191 //*****************************************************************************
    00192
    00193 class SICPPSDKDECL CEdgeRefArray : public CSegmentRefArray
    00194 {
    00195     public:
    00198     CEdgeRefArray();
    00199
    00203     CEdgeRefArray( const CEdgeRefArray& in_array);
    00204
    00209     CRef GetItem( LONG in_index ) const;
    00210
    00215     CRef GetItem( const CString& in_name ) const;
    00216
    00220     LONG GetCount() const;
    00221
    00225     bool IsValid() const;
    00226
    00232     CVertexRefArray GetNeighborVertices(LONG in_lDistance = 1) const;
    00233
    00239     CEdgeRefArray GetNeighborEdges(LONG in_lDistance = 1) const;
    00240
    00246     CPolygonFaceRefArray GetNeighborPolygons(LONG in_lDistance = 1) const;
    00247
    00254     CEdgeRefArray GrowNeighborEdges(LONG in_lDistance = 1) const;
    00255
    00260     CDoubleArray GetCreaseArray() const;
    00261
    00266     CBoolArray GetIsHardArray() const;
    00267 };
    00268
    00269 };
    00270
    00271 #endif // __XSIEDGE_H__