|
Blender V4.3
|
Public Member Functions | |
| CrossData () | |
| CrossData (T l, CDTVert< T > *v, SymEdge< T > *i, SymEdge< T > *o) | |
| CrossData (const CrossData &other) | |
| CrossData (CrossData &&other) noexcept | |
| ~CrossData ()=default | |
| CrossData & | operator= (const CrossData &other) |
| CrossData & | operator= (CrossData &&other) noexcept |
Public Attributes | |
| T | lambda = T(0) |
| CDTVert< T > * | vert |
| SymEdge< T > * | in |
| SymEdge< T > * | out |
The CrossData class defines either an endpoint or an intermediate point in the path we will take to insert an edge constraint. Each such point will either be (a) a vertex or (b) a fraction lambda (0 < lambda < 1) along some #SymEdge.]
In general, lambda=0 indicates case a and lambda != 0 indicates case be. The 'in' edge gives the destination attachment point of a diagonal from the previous crossing, and the 'out' edge gives the origin attachment point of a diagonal to the next crossing. But in some cases, 'in' and 'out' are undefined or not needed, and will be null.
For case (a), 'vert' will be the vertex, and lambda will be 0, and 'in' will be the #SymEdge from 'vert' that has as face the one that you go through to get to this vertex. If you go exactly along an edge then we set 'in' to null, since it won't be needed. The first crossing will have 'in' = null. We set 'out' to the #SymEdge that has the face we go through to get to the next crossing, or, if the next crossing is a case (a), then it is the edge that goes to that next vertex. 'out' will be null for the last one.
For case (b), vert will be null at first, and later filled in with the created split vertex, and 'in' will be the #SymEdge that we go through, and lambda will be between 0 and 1, the fraction from in's vert to in->next's vert to put the split vertex. 'out' is not needed in this case, since the attachment point will be the sym of the first half of the split edge.
Definition at line 1567 of file delaunay_2d.cc.
|
inline |
Definition at line 1574 of file delaunay_2d.cc.
|
inline |
Definition at line 1575 of file delaunay_2d.cc.
Definition at line 1578 of file delaunay_2d.cc.
Definition at line 1582 of file delaunay_2d.cc.
Definition at line 1590 of file delaunay_2d.cc.
|
inlinenoexcept |
Definition at line 1600 of file delaunay_2d.cc.
Definition at line 1571 of file delaunay_2d.cc.
Referenced by add_edge_constraint(), dump_crossings(), fill_crossdata_for_through_vert(), and get_next_crossing_from_edge().
Definition at line 1569 of file delaunay_2d.cc.
Referenced by add_edge_constraint(), dump_crossings(), fill_crossdata_for_intersect(), fill_crossdata_for_through_vert(), and get_next_crossing_from_edge().
Definition at line 1572 of file delaunay_2d.cc.
Referenced by add_edge_constraint(), dump_crossings(), fill_crossdata_for_intersect(), and fill_crossdata_for_through_vert().
Definition at line 1570 of file delaunay_2d.cc.
Referenced by add_edge_constraint(), dump_crossings(), fill_crossdata_for_through_vert(), and get_next_crossing_from_vert().