pub struct BezierRetainedSignedAreaRoleReport2 { /* private fields */ }Expand description
Exact orientation-derived role assignment for native retained Bezier loops.
This report is broader than BezierRetainedLineRegionRoleReport2: it
accepts native polynomial Bezier and rational quadratic conic loops whenever
their exact Green-integral signed area is implemented and nonzero. It is
intentionally narrower than full curved-loop nesting: it assigns roles from
the authored loop orientation only, returns the signed areas as evidence,
and rejects algebraic, unresolved, zero-area, or unsupported-area loops.
That keeps the construction/decision boundary explicit in Yap’s sense; see
Yap, “Towards Exact Geometric Computation,” Computational Geometry
7(1-2), 3-23 (1997). The signed-area evidence comes from Green’s theorem
and Bernstein/rational Bezier identities as described by Farin, Curves and
Surfaces for CAGD (5th ed., 2002).
Implementations§
Source§impl BezierRetainedSignedAreaRoleReport2
impl BezierRetainedSignedAreaRoleReport2
Sourcepub fn new(
roles: Vec<BezierRetainedRegionLoopRole>,
signed_areas: Vec<Real>,
) -> CurveResult<Self>
pub fn new( roles: Vec<BezierRetainedRegionLoopRole>, signed_areas: Vec<Real>, ) -> CurveResult<Self>
Constructs a retained signed-area role report.
Sourcepub fn with_loop_arrangement_sources(
self,
loop_arrangement_sources: Vec<Option<Vec<BezierRetainedFragmentSource2>>>,
) -> CurveResult<Self>
pub fn with_loop_arrangement_sources( self, loop_arrangement_sources: Vec<Option<Vec<BezierRetainedFragmentSource2>>>, ) -> CurveResult<Self>
Attaches one optional arrangement source trail per retained loop.
Sourcepub fn roles(&self) -> &[BezierRetainedRegionLoopRole]
pub fn roles(&self) -> &[BezierRetainedRegionLoopRole]
Returns one assigned role per retained boundary loop.
Sourcepub fn signed_areas(&self) -> &[Real]
pub fn signed_areas(&self) -> &[Real]
Returns exact signed areas used as orientation evidence.
Sourcepub fn loop_arrangement_sources(
&self,
) -> Option<&[Option<Vec<BezierRetainedFragmentSource2>>]>
pub fn loop_arrangement_sources( &self, ) -> Option<&[Option<Vec<BezierRetainedFragmentSource2>>]>
Returns per-loop arrangement/source provenance when the report has it.
Sourcepub fn material_loop_indices(&self) -> Vec<usize>
pub fn material_loop_indices(&self) -> Vec<usize>
Returns loop indices assigned as material.
Sourcepub fn hole_loop_indices(&self) -> Vec<usize>
pub fn hole_loop_indices(&self) -> Vec<usize>
Returns loop indices assigned as holes.
Trait Implementations§
Source§impl Clone for BezierRetainedSignedAreaRoleReport2
impl Clone for BezierRetainedSignedAreaRoleReport2
Source§fn clone(&self) -> BezierRetainedSignedAreaRoleReport2
fn clone(&self) -> BezierRetainedSignedAreaRoleReport2
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl PartialEq for BezierRetainedSignedAreaRoleReport2
impl PartialEq for BezierRetainedSignedAreaRoleReport2
Source§fn eq(&self, other: &BezierRetainedSignedAreaRoleReport2) -> bool
fn eq(&self, other: &BezierRetainedSignedAreaRoleReport2) -> bool
self and other values to be equal, and is used by ==.