pub struct Sketch3dDoc {
pub points: Vec<Sketch3dPoint>,
pub geometries: Vec<Sketch3dGeometry>,
pub constraints: Vec<Sketch3dConstraint>,
}Expand description
The editable 3D sketch document.
Fields§
§points: Vec<Sketch3dPoint>§geometries: Vec<Sketch3dGeometry>§constraints: Vec<Sketch3dConstraint>Implementations§
Source§impl Sketch3dDoc
impl Sketch3dDoc
pub fn point(&self, id: &Value) -> Option<&Sketch3dPoint>
pub fn point_mut(&mut self, id: &Value) -> Option<&mut Sketch3dPoint>
pub fn geometry(&self, id: &Value) -> Option<&Sketch3dGeometry>
pub fn geometry_mut(&mut self, id: &Value) -> Option<&mut Sketch3dGeometry>
pub fn constraint(&self, id: &Value) -> Option<&Sketch3dConstraint>
Sourcepub fn next_point_id(&self) -> Value
pub fn next_point_id(&self) -> Value
Mint the next unused POINT id (max numeric id + 1).
Sourcepub fn next_geometry_id(&self) -> Value
pub fn next_geometry_id(&self) -> Value
Mint the next unused GEOMETRY id.
Sourcepub fn next_constraint_id(&self) -> Value
pub fn next_constraint_id(&self) -> Value
Mint the next unused CONSTRAINT id.
Sourcepub fn snap_or_add_point(&mut self, p: Vec3, radius: f64) -> Value
pub fn snap_or_add_point(&mut self, p: Vec3, radius: f64) -> Value
Return the id of the existing point within radius of p (the nearest
one), else mint a new free point there.
Sourcepub fn add_geometry(
&mut self,
geom_type: &str,
points: Vec<Value>,
construction: bool,
) -> Value
pub fn add_geometry( &mut self, geom_type: &str, points: Vec<Value>, construction: bool, ) -> Value
Add a geometry of geom_type over points and return its id.
Sourcepub fn add_constraint(
&mut self,
ctype: &str,
points: Vec<Value>,
value: Option<f64>,
) -> Value
pub fn add_constraint( &mut self, ctype: &str, points: Vec<Value>, value: Option<f64>, ) -> Value
Add a constraint and return its id. value is the dimension for the
dimensional types (None for the geometric ones).
Sourcepub fn geometry_positions(
&self,
geometry: &Sketch3dGeometry,
) -> Option<Vec<Vec3>>
pub fn geometry_positions( &self, geometry: &Sketch3dGeometry, ) -> Option<Vec<Vec3>>
The point ids a geometry carries, resolved to positions (None when any
id is missing).
Trait Implementations§
Source§impl Clone for Sketch3dDoc
impl Clone for Sketch3dDoc
Source§impl Debug for Sketch3dDoc
impl Debug for Sketch3dDoc
Source§impl Default for Sketch3dDoc
impl Default for Sketch3dDoc
Source§impl<'de> Deserialize<'de> for Sketch3dDoc
impl<'de> Deserialize<'de> for Sketch3dDoc
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for Sketch3dDoc
impl PartialEq for Sketch3dDoc
Source§impl Serialize for Sketch3dDoc
impl Serialize for Sketch3dDoc
impl StructuralPartialEq for Sketch3dDoc
Auto Trait Implementations§
impl Forget for Sketch3dDoc
impl Freeze for Sketch3dDoc
impl Move for Sketch3dDoc
impl RefUnwindSafe for Sketch3dDoc
impl Send for Sketch3dDoc
impl Sync for Sketch3dDoc
impl Unpin for Sketch3dDoc
impl UnsafeUnpin for Sketch3dDoc
impl UnwindSafe for Sketch3dDoc
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
Mutably borrows from an owned value. Read more