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