feat: implement Grippable and PropertyEditable traits for Solid3D, Region, and Body; add snap points and geometry properties

This commit is contained in:
Hakan 2026-05-06 10:00:37 +03:00
commit 534e4ff26b
7 changed files with 247 additions and 217 deletions

View file

@ -4,6 +4,7 @@ use glam::Vec3;
use crate::command::EntityTransform;
use crate::entities::common::{ro_prop as ro, square_grip};
use crate::entities::traits::{Grippable, PropertyEditable, Transformable, TruckConvertible};
use crate::scene::wire_model::SnapHint;
use crate::scene::acad_to_truck::{TruckEntity, TruckObject};
use crate::scene::object::{GripApply, GripDef, PropSection};
@ -55,7 +56,12 @@ impl TruckConvertible for Face3D {
Some(TruckEntity {
object: TruckObject::Lines(pts),
snap_pts: vec![],
snap_pts: vec![
(Vec3::from(p0), SnapHint::Node),
(Vec3::from(p1), SnapHint::Node),
(Vec3::from(p2), SnapHint::Node),
(Vec3::from(p3), SnapHint::Node),
],
tangent_geoms: vec![],
key_vertices: vec![p0, p1, p2, p3],
})