Struct GeometryGraph
pub struct GeometryGraph { /* private fields */ }Description
One non-persisted construction session for all admitted authored operations.
Implementations§
§impl GeometryGraph
impl GeometryGraph
pub fn new() -> GeometryGraph
pub fn new() -> GeometryGraph
Start one independent handle-ownership session.
pub fn rectangle_extrusion(
&self,
x_bounds_m: (f64, f64),
y_bounds_m: (f64, f64),
plane_z_m: f64,
extrusion_depth_m: f64,
requested_modeling_tolerance_m: f64,
) -> Result<GeometrySolidOperation, Diagnostic>
pub fn rectangle_extrusion( &self, x_bounds_m: (f64, f64), y_bounds_m: (f64, f64), plane_z_m: f64, extrusion_depth_m: f64, requested_modeling_tolerance_m: f64, ) -> Result<GeometrySolidOperation, Diagnostic>
Construct the admitted rectangle-extrusion solid operation.
pub fn decode_solid(
&self,
bytes: &[u8],
) -> Result<GeometrySolidOperation, Diagnostic>
pub fn decode_solid( &self, bytes: &[u8], ) -> Result<GeometrySolidOperation, Diagnostic>
Decode one accepted solid-operation wire into this graph session.
pub fn decode_face_handle(
&self,
operation: &GeometrySolidOperation,
bytes: &[u8],
) -> Result<GeometryFaceHandle, Diagnostic>
pub fn decode_face_handle( &self, operation: &GeometrySolidOperation, bytes: &[u8], ) -> Result<GeometryFaceHandle, Diagnostic>
Decode and validate one face handle against an owned solid revision.
pub fn circular_through_cut(
&self,
target: &GeometrySolidOperation,
center_m: [f64; 2],
radius_m: f64,
requested_boolean_tolerance_m: f64,
) -> Result<GeometrySolidOperation, Diagnostic>
pub fn circular_through_cut( &self, target: &GeometrySolidOperation, center_m: [f64; 2], radius_m: f64, requested_boolean_tolerance_m: f64, ) -> Result<GeometrySolidOperation, Diagnostic>
Append the admitted circular through-cut to an owned solid operation.
pub fn build_solid(
&self,
operation: &GeometrySolidOperation,
) -> Result<GeometryBuildReceipt, Diagnostic>
pub fn build_solid( &self, operation: &GeometrySolidOperation, ) -> Result<GeometryBuildReceipt, Diagnostic>
Admit the provider observation for one owned solid operation.
pub fn build_solid_geometry(
&self,
operation: &GeometrySolidOperation,
named_topology: &BTreeMap<String, Vec<GeometryFaceHandle>>,
) -> Result<CanonicalGeometryV1, Diagnostic>
pub fn build_solid_geometry( &self, operation: &GeometrySolidOperation, named_topology: &BTreeMap<String, Vec<GeometryFaceHandle>>, ) -> Result<CanonicalGeometryV1, Diagnostic>
Publish the admitted planar result of one owned solid operation.
pub fn rectangle(
&self,
x_bounds_m: [f64; 2],
y_bounds_m: [f64; 2],
) -> Result<PlanarOperation, Diagnostic>
pub fn rectangle( &self, x_bounds_m: [f64; 2], y_bounds_m: [f64; 2], ) -> Result<PlanarOperation, Diagnostic>
Construct one exact axis-aligned planar rectangle.
pub fn interval(
&self,
bounds_m: [f64; 2],
) -> Result<PlanarOperation, Diagnostic>
pub fn interval( &self, bounds_m: [f64; 2], ) -> Result<PlanarOperation, Diagnostic>
Construct one exact Cartesian interval.
pub fn circle(
&self,
center_m: [f64; 2],
radius_m: f64,
) -> Result<PlanarOperation, Diagnostic>
pub fn circle( &self, center_m: [f64; 2], radius_m: f64, ) -> Result<PlanarOperation, Diagnostic>
Construct one exact planar circle.
pub fn subtract(
&self,
rectangle: &PlanarOperation,
circle: &PlanarOperation,
) -> Result<PlanarOperation, Diagnostic>
pub fn subtract( &self, rectangle: &PlanarOperation, circle: &PlanarOperation, ) -> Result<PlanarOperation, Diagnostic>
Subtract one exact circle from one exact rectangle.
pub fn partition(
&self,
left: &PlanarOperation,
right: &PlanarOperation,
interface: [PlanarBoundaryHandle; 2],
) -> Result<PlanarOperation, Diagnostic>
pub fn partition( &self, left: &PlanarOperation, right: &PlanarOperation, interface: [PlanarBoundaryHandle; 2], ) -> Result<PlanarOperation, Diagnostic>
Join exactly two axis-aligned rectangles across one explicitly named, complete, oppositely oriented construction edge.
pub fn build(
&self,
operation: &PlanarOperation,
named_topology: &BTreeMap<String, Vec<PlanarTopologyHandle>>,
) -> Result<CanonicalGeometryV1, Diagnostic>
pub fn build( &self, operation: &PlanarOperation, named_topology: &BTreeMap<String, Vec<PlanarTopologyHandle>>, ) -> Result<CanonicalGeometryV1, Diagnostic>
Publish one completed operation with one atomic semantic-name mapping.
Trait Implementations§
§impl Clone for GeometryGraph
impl Clone for GeometryGraph
§impl Debug for GeometryGraph
impl Debug for GeometryGraph
§impl Default for GeometryGraph
impl Default for GeometryGraph
§fn default() -> GeometryGraph
fn default() -> GeometryGraph
Auto Trait Implementations§
impl Freeze for GeometryGraph
impl RefUnwindSafe for GeometryGraph
impl Send for GeometryGraph
impl Sync for GeometryGraph
impl Unpin for GeometryGraph
impl UnsafeUnpin for GeometryGraph
impl UnwindSafe for GeometryGraph
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.