Input parameters: DT meshes and feature lines. |
Step 1. Construct a stack for storing the features waiting to be treated, and a doubly |
linked list for storing the treated features. |
Step 2. While is not empty, popup a feature segment . |
Step 3. If belongs to the vertexes of the neighbor triangle of , continue. |
Else |
Step 4. Find the triangles intersected with by the topology relationship of meshes, and |
construct the influence polygon of named . |
Assign the value to the endpoints of feature segment: , , and |
intersects at , intersects at . |
Step 5. While |
Step 5-1. If , take as adding point, i.e. . |
link into . |
Take as the head of the remainder, as the tail of the remainder. |
Else |
Step 5-2. Take as the adding point, i.e. . |
link into . |
Take as the tail of the remainder, as the head of the remainder. |
Step 5-3. InsertNewNode(, ) |
Step 5-4. Update , |
intersects at , intersects at . |
Step 6. Take the midpoint of as additional point , link and into |
, and the remainder of feature segment is empty. |
Step 7. InsertNewNode(, ) and return to Step 4. |