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__