forked from 1b-agent/opencadstudio-upstream
fix(3d): complete ACIS solid rendering
- track per-face coverage and retain safe display fallbacks - tessellate shared NURBS, pcurve trims and periodic surfaces - pin the matching acadifc decoder revision
This commit is contained in:
1 parent
a16914a22a
commit
34d0c377e2
8 files changed
+431
-113
No files matched your search
@@ -97,6 +97,10 @@ pub enum CurvedGen {
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct MeshLodSet {
|
||||
pub lods: Vec<MeshModel>,
|
||||
/// True only when every source face produced triangles. False keeps
|
||||
/// downstream solid-edit code from treating a display-only partial shell
|
||||
/// as a closed, valid solid.
|
||||
pub complete: bool,
|
||||
/// Feature-edge line list (LOD-independent): pairs of endpoints, high half
|
||||
/// of the double-single. Populated for ACIS solids (the B-rep face-boundary
|
||||
/// edges) so their wireframe shows real edges rather than the triangulation.
|
||||
@@ -146,6 +150,7 @@ impl MeshLodSet {
|
||||
let (world_aabb, z_aabb) = compute_mesh_aabb(&lods);
|
||||
Self {
|
||||
lods,
|
||||
complete: true,
|
||||
edge_verts: Vec::new(),
|
||||
edge_verts_low: Vec::new(),
|
||||
curved_gens: Vec::new(),
|
||||
|
||||
Reference in new issue
Block a user