Struct MeshPlaneSectionRegistry
pub struct MeshPlaneSectionRegistry { /* private fields */ }Expand description
Ordered executable mesh plane-section providers.
Only unsupported/unavailable providers permit fallback. Geometry, degeneracy, budget, cancellation, and contract errors fail immediately.
Implementations§
§impl MeshPlaneSectionRegistry
impl MeshPlaneSectionRegistry
pub const fn new() -> MeshPlaneSectionRegistry
pub const fn new() -> MeshPlaneSectionRegistry
Empty registry.
pub fn register<P>(&mut self, priority: i32, provider: P)where
P: MeshPlaneSection + 'static,
pub fn register<P>(&mut self, priority: i32, provider: P)where
P: MeshPlaneSection + 'static,
Register an implementation. Higher priorities run first.
pub fn register_conformant<P>(
&mut self,
priority: i32,
provider: P,
) -> Result<(), Box<ConformanceReport>>where
P: MeshPlaneSection + 'static,
pub fn register_conformant<P>(
&mut self,
priority: i32,
provider: P,
) -> Result<(), Box<ConformanceReport>>where
P: MeshPlaneSection + 'static,
Validate a provider with the shared conformance suite before registration.
pub fn register_request_conformant<P>(
&mut self,
priority: i32,
provider: P,
) -> Result<(), Box<RegionConformanceReport>>where
P: MeshPlaneSection + 'static,
pub fn register_request_conformant<P>(
&mut self,
priority: i32,
provider: P,
) -> Result<(), Box<RegionConformanceReport>>where
P: MeshPlaneSection + 'static,
Validate a provider with both conformance suites before registration:
the base suite, then, when the provider claims section_request, the
region suite. A provider that does not claim the method passes on the
base suite alone. Failures of either suite are in the report.
pub fn register_arc(
&mut self,
priority: i32,
provider: Arc<dyn MeshPlaneSection>,
)
pub fn register_arc( &mut self, priority: i32, provider: Arc<dyn MeshPlaneSection>, )
Register a shared implementation. Higher priorities run first.
pub fn providers(&self) -> impl Iterator<Item = &dyn MeshPlaneSection>
pub fn providers(&self) -> impl Iterator<Item = &dyn MeshPlaneSection>
Registered providers in dispatch order.
pub fn section(
&self,
mesh: &TriMesh,
frame: Frame3,
limits: SectionLimits,
options: &ExecutionOptions,
) -> Result<SectionOutcome, GeomError>
pub fn section( &self, mesh: &TriMesh, frame: Frame3, limits: SectionLimits, options: &ExecutionOptions, ) -> Result<SectionOutcome, GeomError>
Validate and execute one plane-section request.
pub fn section_request(
&self,
mesh: &TriMesh,
request: &SectionRequest,
options: &ExecutionOptions,
) -> Result<PlaneSection, GeomError>
pub fn section_request( &self, mesh: &TriMesh, request: &SectionRequest, options: &ExecutionOptions, ) -> Result<PlaneSection, GeomError>
Validate and execute one request that reports faces lying in the plane as regions (ADR 0091).
The source must be a closed, consistently wound, outward oriented
two-manifold, as for section, when the request’s
role is SectionRole::Solid. For a SectionRole::Sheet it may be
open, but must be consistently wound, non-degenerate and
two-manifold. A provider without
section_request refuses with Unsupported, which falls back to the
next provider; every other error fails immediately.
Trait Implementations§
§impl Clone for MeshPlaneSectionRegistry
impl Clone for MeshPlaneSectionRegistry
§fn clone(&self) -> MeshPlaneSectionRegistry
fn clone(&self) -> MeshPlaneSectionRegistry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for MeshPlaneSectionRegistry
impl Debug for MeshPlaneSectionRegistry
§impl Default for MeshPlaneSectionRegistry
impl Default for MeshPlaneSectionRegistry
§fn default() -> MeshPlaneSectionRegistry
fn default() -> MeshPlaneSectionRegistry
Auto Trait Implementations§
impl !RefUnwindSafe for MeshPlaneSectionRegistry
impl !UnwindSafe for MeshPlaneSectionRegistry
impl Freeze for MeshPlaneSectionRegistry
impl Send for MeshPlaneSectionRegistry
impl Sync for MeshPlaneSectionRegistry
impl Unpin for MeshPlaneSectionRegistry
impl UnsafeUnpin for MeshPlaneSectionRegistry
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