Computes silhouette edges for a given view direction or view point of a soup of loosely connected triangular faces.
To build a silhouette, perform the following steps:
Create a new instance of Silhouette.
Optionally call Finish, to free the internal data structures for face specification.
Optionally call Prepare, to warm up the spatial acceleration data structures.
To start from scratch, call Clear and go to to step 2.
Creates a new instance of Silhouette.
Computes the silhouette for the given vector.
This method (re-)builds the whole content of Contour.
- See also
Specifies a single edge.
Edges that are not connected to at least one face will always be included in Contour.
- See also
Specifies a triangular face.
First, the given points a in, b in, c in are mapped to unique vertices, which may add new elements to Vertices. Then, the vertex indices are used to build one face tuple and three edge tuples, which may add new elements to Faces resp. Edges. Finally, the front-facing normal-vector of the triangle is computed as follows:
normal = cross(b - a, c - a)
Finishes specification of faces via Face.
Computes all spatial acceleration data structures, if necessary.
The silhouette edges that have been computed with Compute
The unique edges that have been added with Face.
The unique faces that have been added with Face.
Defaults to AffineTransform.Identity.
The unique vertices that have been added with Face.
Adding points with identical coordinates will create only a single unique vertex.