Class of untrimming a face
更多...
#include <nurbs/NURBSAPIUntrim.hpp>
|
static AMCAX_API TopoShape | Untrim (const TopoEdge &edge, const TopoFace &face) |
| Restore the trimmed face (by n edges) to its untrimmed state (trimmed by n-1 edges)
The cases are sort of complicated. It can be classified by:
|
|
Class of untrimming a face
This class computes the untrimmed face by removing the influence of a trim operation.
◆ Untrim()
Restore the trimmed face (by n edges) to its untrimmed state (trimmed by n-1 edges)
The cases are sort of complicated. It can be classified by:
- number of wires;
- the number of intersection points with boundaries of wire containing untrim edge;
- the number of oriBound edges and non-oriBound edges.
If face has one wire:
if num of intersection points is less than 2 or the untrimm edge is the only edge of the wire:
return the face built by the whole surface.
else if the number of non-oriBound edges is 0:
return the face built by the whole surface.
else if the number of oriBound edges is 0:
Make two untrim faces and judge which is required by select a point on untrim edge.
else
Make the untrim face by the algorithm illustrated below. (usual cases)
else if the untrim edge is on outer wire
Perform as the one wire case and add the other wires to the result.
else
Since the untrim edge is on inner wire, just remove the inner wire.
The algorithm of making the untrim face in usual cases is:
- judge whether the edges of the wire is on oriBound;
- decide which part of the edges is remained
- build new edges
- make new wire and judge orientation by the same edge of the two wires
- replace the old wire with the new wire
- 参数
-
edge | Edge to untrim |
face | Face to Untrim |
- 返回
- New face
该类的文档由以下文件生成: