Skip to main content

Crate axiolid_mesh_hidden_lines_contract

Crate axiolid_mesh_hidden_lines_contract 

Source
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§

EdgeSelection
Which edges to draw.
FaceGroup
Caller-chosen id of a set of triangles that share one surface pattern.
HiddenLineError
A refused hidden-line request: the GeomError and, when one input mesh is at fault, which.
HiddenLineEvidence
Auditable counts for one hidden-line operation.
HiddenLineLimits
Hard bounds for one hidden-line request.
HiddenLineMesh
One input mesh with its identity and role.
HiddenLineOutcome
Image-space segments plus evidence.
HiddenLineRequest
One hidden-line request.
HiddenLineSegment
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.
RefusedMesh
One input mesh that the per-mesh audit refuses, with the reason.
SourceEdge
A source mesh edge.
View
A view: orthographic by default, or perspective (see ViewProjection).
VisibleFaceEvidence
Auditable counts for one visible-face operation.
VisibleFaceLimits
Hard bounds for one visible-face request.
VisibleFaceOutcome
Visible regions plus evidence.
VisibleFaceRequest
One visible-face request.
VisibleRegion
A maximal region of the image where one source is frontmost.

Enums§

EdgeKind
Why an edge is drawn.
FaceGroups
The face groups of one mesh.
FaceSource
What a visible region is a region of.
HiddenLineSource
Provenance of a hidden-line drawing.
MeshRole
How an input mesh occludes and whether it is capped by a near plane.
ViewProjection
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§

MeshHiddenLines
Provider for deterministic hidden-line drawings of triangle meshes.
MeshVisibleFaces
Provider for deterministic visible-face regions of triangle meshes.

Type Aliases§

OrthographicViewDeprecated
The former name of View, from when every view was orthographic (ADR 0107).