ENH: various enhancements for edge.

- support edge-ordering on construction, and additional methods:
  - sort(), sorted(), unitVec(), collapse()

- null constructor initializes with -1, for consistency with face,
  triFace and since it is generally much more useful that way.

- add some methods that allow edges to used somewhat more like hashes.
  - count(), found(), insert(), erase()

  Here is possible way to use that:

      edge someEdge;  // initializes with '-1' for both entries

      if (someEdge.insert(pt1))
      {
         // added a new point label
      }

      ... later

      // unmark point on edge
      someEdge.erase(pt2);

--

STYLE:

- use UList<point> instead of pointField for edge methods for flexibility.

  The pointField include is retained, however, since many other routines
  may be relying on it being included via edge.H
This commit is contained in:
Mark Olesen
2017-04-23 19:25:35 +02:00
parent 32a2a23466
commit f2304f7c0b
5 changed files with 363 additions and 45 deletions

View File

@ -0,0 +1,3 @@
Test-edges.C
EXE = $(FOAM_USER_APPBIN)/Test-edges

View File