feat(scene): draw nonprint light, camera and geo-location glyphs
Lights, camera views and the geographic-location marker had no on-screen representation. Add display glyphs for all three: - Lights render through a new EntityType::Light: a cone/flashlight for spot lights, a wire sphere for point lights, a sun for distant lights, sized in screen space (fixed-world fallback). - Camera views (perspective VIEW records) and the GEODATA "daisy" marker are synthesized into the model-space resident wire set from the document, since they are not entities. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
007d03422e
commit
b30f9b9741
10 changed files with 561 additions and 7 deletions
|
|
@ -142,6 +142,7 @@ pub fn entity_type_name(et: &EntityType) -> &'static str {
|
|||
EntityType::Seqend(_) => "Seqend",
|
||||
EntityType::Ole2Frame(_) => "Ole2Frame",
|
||||
EntityType::PolygonMesh(_) => "PolygonMesh",
|
||||
EntityType::Light(_) => "Light",
|
||||
EntityType::Unknown(_) => "Unknown",
|
||||
}
|
||||
}
|
||||
|
|
@ -272,7 +273,7 @@ impl EntityTypeOps for EntityType {
|
|||
Wipeout, AttributeDefinition, AttributeEntity, MLine,
|
||||
Tolerance, Solid, Face3D, PolygonMesh, PolyfaceMesh, Mesh,
|
||||
Table, Text, MText, Leader, MultiLeader, Underlay, Shape,
|
||||
Ole2Frame, Helix,
|
||||
Ole2Frame, Helix, Light,
|
||||
],
|
||||
_ => None,
|
||||
)
|
||||
|
|
@ -288,7 +289,7 @@ impl EntityTypeOps for EntityType {
|
|||
Solid, Solid3D, Region, Body, Face3D, PolygonMesh,
|
||||
PolyfaceMesh, Mesh, Table, Point, Spline, Text, MText,
|
||||
Viewport, Insert, Leader, MultiLeader, Dimension, Hatch,
|
||||
Underlay, Shape, Ole2Frame, Helix,
|
||||
Underlay, Shape, Ole2Frame, Helix, Light,
|
||||
],
|
||||
_ => vec![],
|
||||
)
|
||||
|
|
@ -304,7 +305,7 @@ impl EntityTypeOps for EntityType {
|
|||
Solid, Solid3D, Region, Body, Face3D, PolygonMesh,
|
||||
PolyfaceMesh, Mesh, Table, Hatch, Point, Spline, Text, MText,
|
||||
Viewport, Insert, Dimension, Leader, MultiLeader, Underlay,
|
||||
Shape, Ole2Frame, Helix,
|
||||
Shape, Ole2Frame, Helix, Light,
|
||||
],
|
||||
_ => vec![],
|
||||
)
|
||||
|
|
@ -320,7 +321,7 @@ impl EntityTypeOps for EntityType {
|
|||
Solid, Solid3D, Region, Body, Face3D, PolygonMesh,
|
||||
PolyfaceMesh, Mesh, Table, Hatch, Point, Spline, Text, MText,
|
||||
Viewport, Insert, Dimension, Leader, MultiLeader, Underlay,
|
||||
Shape, Ole2Frame, Helix,
|
||||
Shape, Ole2Frame, Helix, Light,
|
||||
],
|
||||
_ => {},
|
||||
)
|
||||
|
|
@ -336,7 +337,7 @@ impl EntityTypeOps for EntityType {
|
|||
Solid, Solid3D, Region, Body, Face3D, PolygonMesh,
|
||||
PolyfaceMesh, Mesh, Table, Point, Spline, Text, MText,
|
||||
Viewport, Insert, Leader, MultiLeader, Dimension, Hatch,
|
||||
Underlay, Shape, Ole2Frame, Helix,
|
||||
Underlay, Shape, Ole2Frame, Helix, Light,
|
||||
],
|
||||
_ => {},
|
||||
)
|
||||
|
|
@ -425,7 +426,7 @@ impl EntityTypeOps for EntityType {
|
|||
Tolerance, Solid, Face3D, PolygonMesh, PolyfaceMesh, Mesh,
|
||||
Table, MText, Point, Spline, Text, Viewport, Dimension,
|
||||
Leader, MultiLeader, Underlay, Shape, Ole2Frame,
|
||||
Solid3D, Region, Body, Surface, Helix,
|
||||
Solid3D, Region, Body, Surface, Helix, Light,
|
||||
],
|
||||
_ => {},
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue