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__