Expand description
Portable hidden-line drawing operation contract and evidence.
The request names triangle meshes, a view (orthographic, or perspective, ADR 0107) and the edge kinds to draw. The outcome lists, per source edge, maximal pieces that are visible or hidden in the view. Visibility is a geometric decision made by the provider; the contract fixes what the decision means (ADR 0090):
- a point is hidden exactly when a kept triangle point lies strictly in front of it at the same image point;
- triangles are closed sets, so touching an image boundary covers;
- equal depth never occludes;
- a face seen edge-on occludes through the depth range it spans.
Visible face regions are a separate operation, MeshVisibleFaces
(ADR 0094), over the same view and meshes.
No tolerance enters a visibility decision; a provider refuses what it cannot decide.
A refusal names the first refused mesh only (HiddenLineError). A
registry’s audit lists every refused mesh (RefusedMesh) in one call, so
a caller can leave them out and ask again; no substitute drawing is made.
Modules§
- conformance
- Shared conformance checks for portable hidden-line providers.
Structs§
- Edge
Selection - Which edges to draw.
- Face
Group - Caller-chosen id of a set of triangles that share one surface pattern.
- Hidden
Line Error - A refused hidden-line request: the
GeomErrorand, when one input mesh is at fault, which. - Hidden
Line Evidence - Auditable counts for one hidden-line operation.
- Hidden
Line Limits - Hard bounds for one hidden-line request.
- Hidden
Line Mesh - One input mesh with its identity and role.
- Hidden
Line Outcome - Image-space segments plus evidence.
- Hidden
Line Request - One hidden-line request.
- Hidden
Line Segment - A maximal positive-length piece of one source edge with one visibility.
- MeshId
- Caller-chosen identity of one input mesh, echoed in every segment and refusal that concerns it. Ids must be unique within a request.
- Refused
Mesh - One input mesh that the per-mesh audit refuses, with the reason.
- Source
Edge - A source mesh edge.
- View
- A view: orthographic by default, or perspective (see
ViewProjection). - Visible
Face Evidence - Auditable counts for one visible-face operation.
- Visible
Face Limits - Hard bounds for one visible-face request.
- Visible
Face Outcome - Visible regions plus evidence.
- Visible
Face Request - One visible-face request.
- Visible
Region - A maximal region of the image where one source is frontmost.
Enums§
- Edge
Kind - Why an edge is drawn.
- Face
Groups - The face groups of one mesh.
- Face
Source - What a visible region is a region of.
- Hidden
Line Source - Provenance of a hidden-line drawing.
- Mesh
Role - How an input mesh occludes and whether it is capped by a near plane.
- View
Projection - How a view maps model points to the image.
- Visibility
- Whether a piece of an edge can be seen.
Constants§
- CAPABILITY_
ID - FACES_
CAPABILITY_ ID - Capability proven by implementing
MeshVisibleFaces(ADR 0094).
Traits§
- Mesh
Hidden Lines - Provider for deterministic hidden-line drawings of triangle meshes.
- Mesh
Visible Faces - Provider for deterministic visible-face regions of triangle meshes.
Type Aliases§
- Orthographic
View Deprecated - The former name of
View, from when every view was orthographic (ADR 0107).