# TSNLib™ Features

### Tessellation

### Curve and Surface Functions

**Curve/Point Solver**

a. Minimization of a point and curve. Finds the closest point between a curve and a point. Note that some points have multiple closest points because of curve symmetry.

b. Normalization of point and curve. Finds position on a curve where vector from a point to a curve is perpendicular to the curve’s tangent vector.

c. Maximization of point and curve. Finds the farthest point between a curve and a point.

d. At Distance between of point and curve. Finds the position on a curve at a given distance from a point.

**Curve/Curve Solver**

a. Minimization and maximization of two symmetric nurbs. Note that multiple answers result when more than one minimum or maximum points fall within the user specified tolerance.

b. Normalization between two curves finds all points where the vector between two points is perpendicular to the tangent vectors of the curves at those points.

c. At Distance between two curves finds corresponding points on two curves which are at a given distance and the angle between the tangent vectors are equivalent.

**Curve Properties and Analysis continued**

a. Minimum (red) and maximum (blue) first derivative magnitudes.

b. Minimum (red) and maximum (blue) radius of curvature.

c. Find first derivative (blue) and radius of curvature(red) of given magnitude.

d. Find points on curve where first derivative is perpendicular to a given axis (blue – X axis, red – Y axis).

e. Find points on a curve where first derivative is perpendicular to any axis.

### Trim Surface Functions

**Trimmed Surface displayed with cross hatch**

**Creation of Trimmed Surfaces/Curve Generators**

- Creation from a parametrically bounded B-Spline (NURBS) surface.
- Creation from a B-Spline surface and 2-D parameter space B-Spline curves (automatic generation of 3-D model space curves).
- Creation from a B-Spline surface and 3-D model space B-Spline curves (automatic generation of 2-D parameter space curve).
- Creation with both 2-D parameter space and 3-D model space B-Spline curves.
- Creation of individual topological elements (vertices, edges, faces) using “Euler like” topological operators.
- The ability to adjust the operational tolerance of the Trimmed Surface to compensate for “gaps” found in the input data generated by different modeling systems.
- The ability to represent “seams” on closed surfaces as a single edge which occurs twice in the trimming boundary.
- Generation of iso-parameteric (cross hatch) curves

**Non-Manifold Sweeping**

a. Non-Manifold Sweeping – The ability to sweep faces, edges, and vertices to the same dimension or to a higher dimension. The sweep of a face to the same dimension produces a copy of the face at the terminal position. The sweep of a face to a higher dimension produces a solid volume between the original face and the terminal position face. The sweep of an edge to the same dimension produces a copy of the edge at the terminal position. The sweep of an edge to a higher dimension produces a face between the original edge and the terminal position edge. The sweep of a vertex to the same dimension produces a copy of the vertex at the terminal position. The sweep of a vertex to a higher dimension produces an edge between the original vertex and the terminal position vertex. The Non-Manifold Sweeping is designed as an Object-Oriented Framework. Application developers can easily create new geometric sweeps by implementing a new subclass that produces the geometry for the sweep operation while the Framework builds the topology for the sweep.