Skip to main content

Crate axiolid_capi

Crate axiolid_capi 

Source
Expand description

Versioned C ABI for Axiolid’s supported application facade.

ABI functions never unwind. Handles are globally unique scalar tokens; ownership transfers are documented per function and no Rust allocation crosses the boundary.

Structs§

AxiolidBounds
Axis-aligned mesh bounds.
AxiolidCapabilityDescriptor
Stable, pointer-free capability description. String lengths exclude padding.
AxiolidContextConfig
Hard allocation budgets and provider selection for one context.
AxiolidContextHandle
Globally unique opaque context token. Zero is always invalid.
AxiolidEdgeSelection
Which edges to draw. Flags are 0 or 1; crease_cosine is read only when has_crease is 1.
AxiolidErrorInfo
Structured portion of a context-owned error record.
AxiolidHiddenLineEvidence
Auditable counts of one drawing.
AxiolidHiddenLineLimits
Hard bounds for one drawing.
AxiolidHiddenLineSegment
One piece of a source edge in image coordinates.
AxiolidImageBox
Closed image-plane crop box.
AxiolidMeasurements
Surface and signed-volume measurements.
AxiolidMeshAudit
Stable mesh-audit summary.
AxiolidMeshHandle
Globally unique opaque mesh token owned by an Axiolid context.
AxiolidRegionRing
One ring: a run of points in the point table.
AxiolidResultHandle
Globally unique opaque operation-result token owned by a context.
AxiolidTolerance
Caller-supplied tolerance in model units and radians.
AxiolidTransform
Column-major affine transform.
AxiolidVersion
Semantic ABI and package version.
AxiolidView
A view: frame, depth range and projection. near and far are read only when their has_* flag is 1.
AxiolidViewFrame
Right-handed view frame: origin and three axes in model space.
AxiolidViewMesh
One input mesh of a drawing. groups is borrowed for the call.
AxiolidVisibleFaceCounts
Table sizes of a visible-face result.
AxiolidVisibleFaceEvidence
Auditable counts of one visible-face call.
AxiolidVisibleFaceLimits
Hard bounds for one visible-face call.
AxiolidVisibleRegion
One visible region: a run of rings and a run of triangle indices.

Enums§

AxiolidEdgeKind
Why an edge is drawn.
AxiolidExactness
Exactness promise in a capability descriptor.
AxiolidFaceSource
What a visible region is a region of.
AxiolidGeometryKind
Representation stored by an operation result.
AxiolidOperation
Operation identifier in a capability descriptor.
AxiolidRepresentation
Representation identifier in a capability descriptor.
AxiolidStatus
v0.4 ABI status code.
AxiolidVisibility
Whether a piece of an edge can be seen.

Constants§

AXIOLID_BOOLEAN_DIFFERENCE
AXIOLID_BOOLEAN_INTERSECTION
AXIOLID_BOOLEAN_SYMMETRIC_DIFFERENCE
AXIOLID_BOOLEAN_UNION
AXIOLID_GROUP_MODE_PER_TRIANGLE
One id per triangle in groups; group_count is the triangle count.
AXIOLID_GROUP_MODE_PLANAR
Planar patches derived exactly from the geometry; groups is not read.
AXIOLID_GROUP_MODE_SINGLE
Every triangle is in group 0; groups is not read.
AXIOLID_MESH_ROLE_SHEET
Edge-manifold with consistent winding, open or closed.
AXIOLID_MESH_ROLE_SOLID
Closed, consistently wound two-manifold.
AXIOLID_PROJECTION_ORTHOGRAPHIC
AXIOLID_PROVIDER_PORTABLE

Functions§

axiolid_v0_4_boolean⚠
Execute a tolerance-bounded mesh Boolean and return an owned result handle.
axiolid_v0_4_capability_count⚠
Query the number of capabilities callable through this ABI context.
axiolid_v0_4_capability_get⚠
Copy one capability descriptor into caller-owned storage.
axiolid_v0_4_context_create⚠
Create and transfer ownership of a context handle to the caller.
axiolid_v0_4_context_destroy
Destroy a context and all child objects it owns.
axiolid_v0_4_context_last_error_info⚠
Copy structured metadata for the context’s most recent error.
axiolid_v0_4_context_last_error_mesh⚠
The input mesh the context’s most recent error names.
axiolid_v0_4_context_last_error_message⚠
Copy the last error message into a caller-owned UTF-8 buffer.
axiolid_v0_4_context_live_object_counts⚠
Query live child-object counts for leak checks and shutdown assertions.
axiolid_v0_4_exact_boolean⚠
Exact Boolean is not part of v0.4; this function fails closed by contract.
axiolid_v0_4_exact_extrude_rectangle⚠
Construct an exact rectangular prism; no mesh fallback is permitted.
axiolid_v0_4_hidden_lines⚠
Draw the edges of borrowed meshes with hidden-line removal and return an owned result handle (read it with the hidden_lines_* functions).
axiolid_v0_4_hidden_lines_copy⚠
Copy the segments of a hidden-line result, in the outcome’s order, into caller-owned storage.
axiolid_v0_4_hidden_lines_count⚠
Query the number of segments of a hidden-line result.
axiolid_v0_4_hidden_lines_evidence⚠
Copy the evidence of a hidden-line result.
axiolid_v0_4_mesh_audit⚠
Audit mesh topology under an explicit tolerance.
axiolid_v0_4_mesh_bounds⚠
Compute axis-aligned bounds for a non-empty mesh.
axiolid_v0_4_mesh_copy⚠
Copy an indexed mesh into exactly-sized, caller-owned output buffers.
axiolid_v0_4_mesh_counts⚠
Query vertex and triangle counts before allocating export buffers.
axiolid_v0_4_mesh_destroy
Destroy a mesh handle. Repeated destruction returns InvalidHandle.
axiolid_v0_4_mesh_import⚠
Import an indexed triangle mesh. Input buffers are borrowed for this call only.
axiolid_v0_4_mesh_measure⚠
Measure surface area and signed volume under an explicit tolerance.
axiolid_v0_4_mesh_transform⚠
Apply a finite affine transform to mesh positions in place.
axiolid_v0_4_result_destroy
Destroy an operation result and its owned geometry.
axiolid_v0_4_result_kind⚠
Query whether a result owns an exact B-rep or triangle mesh.
axiolid_v0_4_result_take_mesh⚠
Consume a mesh result and transfer its mesh to a new context-owned mesh handle.
axiolid_v0_4_subtract_many⚠
Subtract a borrowed array of mesh handles from one subject mesh.
axiolid_v0_4_version⚠
Write the ABI/package version to caller-owned memory.
axiolid_v0_4_visible_faces⚠
Find the regions where each face group is frontmost and return an owned result handle (read it with the visible_faces_* functions).
axiolid_v0_4_visible_faces_copy⚠
Copy the regions, rings, points and triangle indices of a visible-face result into caller-owned storage.
axiolid_v0_4_visible_faces_counts⚠
Query the table sizes of a visible-face result.
axiolid_v0_4_visible_faces_evidence⚠
Copy the evidence of a visible-face result.

Type Aliases§

AxiolidBooleanOperator
Stable Boolean operand. An integer alias keeps unknown C values defined.
AxiolidGroupMode
How the triangles of an input mesh are grouped.
AxiolidMeshRole
Occlusion role of an input mesh.
AxiolidProjection
Stable projection selector. Only orthographic is defined.
AxiolidProviderProfile
Stable provider bundle selection. Integer form makes unknown C values rejectable.