Native B-Rep objects
With the OCCT-enabled build, CORE holds analytic/topological B-Rep objects alongside triangle meshes. Programmatic constructors include boxes and cylinders. B-Rep objects can be diagnosed, validated, clipped, Boolean-combined, healed and tessellated into independent mesh objects.
| Operation | Public API | Semantics |
|---|---|---|
| Construct primitives | gx3de_object_create_brep_box, gx3de_object_create_brep_cylinder | Publishes immutable source shape in a scene. |
| Properties / topology | gx3de_brep_diagnose, gx3de_brep_topology_counts | Area/volume diagnostics and exact source topology counts. |
| Validation | gx3de_brep_validate | OCCT topology validity, closed-oriented-solid qualification and solid/shell/face counts. |
| Curve/surface metadata | gx3de_brep_edge_geometry_get, gx3de_brep_face_geometry_get | Analytic curve/surface classification and parameter domains for exact immutable shape. |
| Boolean | gx3de_brep_boolean | Union/intersection/difference. Nonuniform placements are currently rejected. |
| Solid clip | gx3de_brep_clip | Half-space style clipping; publishes only validated closed oriented finite-volume result. |
| Conservative heal | gx3de_brep_heal | ShapeFix-backed copy with explicit tolerance and conservative publication checks. |
| Tessellate | gx3de_object_brep_mesh_create | Uses the STEP mesh-quality/budget descriptor and returns an independent mesh object. |
B-Rep topology anchors
Vertex, edge and face anchors resolve against one exact immutable B-Rep. Edge fractions are curve-parameter fractions, not arc-length fractions; face fractions map into the OCCT UV domain and may be rejected outside trimming. Anchor positions, face normals and edge tangents follow object transforms without modifying the underlying topology.
STEP/XDE assembly import
gx3de_step_open imports an OCCT XDE structure into an engine-owned document. Summary/node/text queries expose the assembly tree and prototype relationships. gx3de_step_instance_create materializes an occurrence as a scene B-Rep object with its captured placement; gx3de_step_instance_mesh_create directly publishes a tessellated mesh occurrence using explicit quality and output limits.
STEP mesh quality and budgets
gx3de_step_mesh_spec (aliased as gx3de_brep_mesh_spec) requires positive linear/angular deflection, nonnegative weld tolerance, a triangle limit and an output-byte limit. The API intentionally exposes these knobs so tessellation quality/resource policy is explicit rather than hidden in a viewer.
Asynchronous STEP import
gx3de_job_prepare_step_import creates an engine-owned job. STEP jobs compare source size and SHA-256 before and after transfer, emit state/progress events, and honor cancellation between OCCT stages. OCCT ReadFile and Transfer themselves are blocking calls and cannot be interrupted from inside the library.