pub struct ViewDrawing {Show 17 fields
pub id: String,
pub view: String,
pub name: String,
pub position: [f64; 2],
pub scale: f64,
pub error: String,
pub edges: Vec<Vec<[f64; 2]>>,
pub annotations: Vec<AnnotationDrawing>,
pub anchors: Vec<AnchorPoint>,
pub text_mm: f64,
pub section: Option<SectionDrawing>,
pub section_marks: Vec<SectionMark>,
pub detail: Option<DetailDrawing>,
pub detail_marks: Vec<DetailMark>,
pub bounds: [f64; 4],
pub hidden_line: String,
pub tolerances: Vec<ToleranceSource>,
}Expand description
One placed view, projected. Paper millimetres throughout, measured from the paper’s TOP-LEFT corner with y running DOWN — SVG’s own frame, so the writer transforms nothing.
Fields§
§id: StringThe placed view’s id (SV2).
view: StringThe saved PMI view it places (VIEW1).
name: StringThe saved view’s name, for the panel and the SVG group label.
position: [f64; 2]§scale: f64§error: StringEmpty when the view projected; the reason it did not otherwise (no such saved view, no captured camera, a perspective camera).
edges: Vec<Vec<[f64; 2]>>The model as VISIBLE edge lines, one polyline per visible run.
annotations: Vec<AnnotationDrawing>Every enabled, resolved annotation of the saved view, projected.
anchors: Vec<AnchorPoint>Every point of this projection a SHEET dimension can be anchored to — each named vertex, each named edge’s two ends and its midpoint, and the centre of each circular edge. The anchor space is the MODEL’s topology, so the hidden-line pass has no vote on it: a candidate whose ink the pass removed is still here, and a dimension anchored to it still draws.
text_mm: f64The saved view’s text size in PAPER millimetres — what a sheet dimension on this placement is drawn at, so it reads at the size of the annotations it sits among.
section: Option<SectionDrawing>This placement IS a section view: the cut face’s hatch and its caption
(SectionDrawing). None on a plain placement.
section_marks: Vec<SectionMark>The section LINES drawn on THIS placement — one per section view cut through it. A plain placement that nothing sections has none.
detail: Option<DetailDrawing>This placement IS a detail view: its boundary circle and its caption
(DetailDrawing). None on every other placement.
detail_marks: Vec<DetailMark>The detail CIRCLES drawn on THIS placement — one per detail view drawn from it.
bounds: [f64; 4][x0, y0, x1, y1] over everything drawn — empty geometry gives the
placement point twice.
Which hidden-line pass drew Self::edges: analytic (the exact
pass on the B-rep, super::hlr::visible_edges) or mesh (the same
pass on the display, super::hlr::visible_mesh_lines — the stated
approximation while a drawn solid’s B-rep has not reached the scene).
Empty on a placement that did not project.
tolerances: Vec<ToleranceSource>The saved view’s PMI dimensions that carry a tolerance block (or read
as a reference dimension), by what they MEASURE on this paper: what a
sheet dimension anchored to the same points inherits
(super::dimension). Engine-side only — the drawing does not
publish them; a dimension that inherits says so on its own row.
Trait Implementations§
Source§impl Clone for ViewDrawing
impl Clone for ViewDrawing
Source§impl Debug for ViewDrawing
impl Debug for ViewDrawing
Source§impl PartialEq for ViewDrawing
impl PartialEq for ViewDrawing
Source§impl Serialize for ViewDrawing
impl Serialize for ViewDrawing
impl StructuralPartialEq for ViewDrawing
Auto Trait Implementations§
impl Freeze for ViewDrawing
impl RefUnwindSafe for ViewDrawing
impl Send for ViewDrawing
impl Sync for ViewDrawing
impl Unpin for ViewDrawing
impl UnsafeUnpin for ViewDrawing
impl UnwindSafe for ViewDrawing
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more