+//=======================================================================
+//function : SetNextEdge
+//purpose :
+//=======================================================================
+void BRepClass_Edge::SetNextEdge(const TopTools_IndexedDataMapOfShapeListOfShape& theMapVE)
+{
+ if (theMapVE.IsEmpty() || myEdge.IsNull())
+ {
+ return;
+ }
+ TopoDS_Vertex aVF, aVL;
+ TopExp::Vertices(myEdge, aVF, aVL, Standard_True);
+
+ if (aVL.IsNull() || aVL.IsSame(aVF))
+ {
+ return;
+ }
+ const TopTools_ListOfShape* aListE = theMapVE.Seek(aVL);
+ if ((*aListE).Extent() == 2)
+ {
+ for (TopTools_ListIteratorOfListOfShape anIt(*aListE); anIt.More(); anIt.Next())
+ {
+ if ((!anIt.Value().IsNull()) && (!anIt.Value().IsSame(myEdge)))
+ {
+ myNextEdge = TopoDS::Edge(anIt.Value());
+ }
+ }
+ }
+}
+
+