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§
- Axiolid
Bounds - Axis-aligned mesh bounds.
- Axiolid
Capability Descriptor - Stable, pointer-free capability description. String lengths exclude padding.
- Axiolid
Context Config - Hard allocation budgets and provider selection for one context.
- Axiolid
Context Handle - Globally unique opaque context token. Zero is always invalid.
- Axiolid
Edge Selection - Which edges to draw. Flags are 0 or 1;
crease_cosineis read only whenhas_creaseis 1. - Axiolid
Error Info - Structured portion of a context-owned error record.
- Axiolid
Hidden Line Evidence - Auditable counts of one drawing.
- Axiolid
Hidden Line Limits - Hard bounds for one drawing.
- Axiolid
Hidden Line Segment - One piece of a source edge in image coordinates.
- Axiolid
Image Box - Closed image-plane crop box.
- Axiolid
Measurements - Surface and signed-volume measurements.
- Axiolid
Mesh Audit - Stable mesh-audit summary.
- Axiolid
Mesh Handle - Globally unique opaque mesh token owned by an Axiolid context.
- Axiolid
Region Ring - One ring: a run of points in the point table.
- Axiolid
Result Handle - Globally unique opaque operation-result token owned by a context.
- Axiolid
Tolerance - Caller-supplied tolerance in model units and radians.
- Axiolid
Transform - Column-major affine transform.
- Axiolid
Version - Semantic ABI and package version.
- Axiolid
View - A view: frame, depth range and projection.
nearandfarare read only when theirhas_*flag is 1. - Axiolid
View Frame - Right-handed view frame: origin and three axes in model space.
- Axiolid
View Mesh - One input mesh of a drawing.
groupsis borrowed for the call. - Axiolid
Visible Face Counts - Table sizes of a visible-face result.
- Axiolid
Visible Face Evidence - Auditable counts of one visible-face call.
- Axiolid
Visible Face Limits - Hard bounds for one visible-face call.
- Axiolid
Visible Region - One visible region: a run of rings and a run of triangle indices.
Enums§
- Axiolid
Edge Kind - Why an edge is drawn.
- Axiolid
Exactness - Exactness promise in a capability descriptor.
- Axiolid
Face Source - What a visible region is a region of.
- Axiolid
Geometry Kind - Representation stored by an operation result.
- Axiolid
Operation - Operation identifier in a capability descriptor.
- Axiolid
Representation - Representation identifier in a capability descriptor.
- Axiolid
Status - v0.4 ABI status code.
- Axiolid
Visibility - 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_countis the triangle count. - AXIOLID_
GROUP_ MODE_ PLANAR - Planar patches derived exactly from the geometry;
groupsis not read. - AXIOLID_
GROUP_ MODE_ SINGLE - Every triangle is in group 0;
groupsis 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§
- Axiolid
Boolean Operator - Stable Boolean operand. An integer alias keeps unknown C values defined.
- Axiolid
Group Mode - How the triangles of an input mesh are grouped.
- Axiolid
Mesh Role - Occlusion role of an input mesh.
- Axiolid
Projection - Stable projection selector. Only orthographic is defined.
- Axiolid
Provider Profile - Stable provider bundle selection. Integer form makes unknown C values rejectable.