OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_mesh_triangle_analysis_view Struct Reference

#include <occtl_mesh.h>

Collaboration diagram for occtl_mesh_triangle_analysis_view:

Public Attributes

const double * triangle_normals
 
const uint32_t * triangle_adjacency
 
size_t triangle_count
 
size_t face_count
 
occtl_node_id_t root
 

Detailed Description

Borrowed graph-owned analysis buffers over aggregate triangulations.

This view uses the same root traversal as occtl_mesh_triangle_buffers, then materialises per-triangle normals and triangle adjacency into the graph-owned mesh cache. Normals are xyz interleaved doubles, one normal per triangle. Adjacency is three uint32_t entries per triangle; entry 3*i+0 is the neighbouring triangle across edge (v0,v1), 3*i+1 across edge (v1,v2), and 3*i+2 across edge (v2,v0). Boundary edges use OCCTL_MESH_TRIANGLE_ADJACENCY_BOUNDARY.

The buffers remain valid until graph is mutated, freed, or occtl_mesh_triangle_analysis is called again on the same graph.

Member Data Documentation

◆ face_count

size_t occtl_mesh_triangle_analysis_view::face_count

Number of faces that contributed triangulations.

◆ root

occtl_node_id_t occtl_mesh_triangle_analysis_view::root

Root used for extraction, or OCCTL_NODE_ID_INVALID for whole graph.

◆ triangle_adjacency

const uint32_t* occtl_mesh_triangle_analysis_view::triangle_adjacency

3 neighbours per triangle, length 3 * triangle_count.

◆ triangle_count

size_t occtl_mesh_triangle_analysis_view::triangle_count

Number of analysed triangles.

◆ triangle_normals

const double* occtl_mesh_triangle_analysis_view::triangle_normals

xyz interleaved doubles, length 3 * triangle_count.


The documentation for this struct was generated from the following file: