Struct fj_kernel::partial::PartialHalfEdge
source · [−]pub struct PartialHalfEdge {
pub surface: Option<Handle<Surface>>,
pub curve: MaybePartial<Curve>,
pub vertices: [MaybePartial<Vertex>; 2],
pub global_form: MaybePartial<GlobalEdge>,
}Expand description
A partial HalfEdge
See crate::partial for more information.
Fields
surface: Option<Handle<Surface>>curve: MaybePartial<Curve>The curve that the HalfEdge is defined in
vertices: [MaybePartial<Vertex>; 2]global_form: MaybePartial<GlobalEdge>The global form of the HalfEdge
Can be computed by PartialHalfEdge::build, if not available.
Implementations
sourceimpl PartialHalfEdge
impl PartialHalfEdge
sourcepub fn extract_global_curve(&self) -> Option<Handle<GlobalCurve>>
pub fn extract_global_curve(&self) -> Option<Handle<GlobalCurve>>
Extract the global curve from either the curve or global form
If a global curve is available through both, the curve is preferred.
sourcepub fn extract_global_vertices(&self) -> Option<[Handle<GlobalVertex>; 2]>
pub fn extract_global_vertices(&self) -> Option<[Handle<GlobalVertex>; 2]>
Access the vertices of the global form, if available
sourcepub fn with_surface(self, surface: Option<Handle<Surface>>) -> Self
pub fn with_surface(self, surface: Option<Handle<Surface>>) -> Self
Update the partial half-edge with the given surface
sourcepub fn with_curve(self, curve: Option<impl Into<MaybePartial<Curve>>>) -> Self
pub fn with_curve(self, curve: Option<impl Into<MaybePartial<Curve>>>) -> Self
Update the partial half-edge with the given curve
sourcepub fn with_back_vertex(
self,
vertex: Option<impl Into<MaybePartial<Vertex>>>
) -> Self
pub fn with_back_vertex(
self,
vertex: Option<impl Into<MaybePartial<Vertex>>>
) -> Self
Update the partial half-edge with the given from vertex
sourcepub fn with_front_vertex(
self,
vertex: Option<impl Into<MaybePartial<Vertex>>>
) -> Self
pub fn with_front_vertex(
self,
vertex: Option<impl Into<MaybePartial<Vertex>>>
) -> Self
Update the partial half-edge with the given from vertex
sourcepub fn with_vertices(
self,
vertices: Option<[impl Into<MaybePartial<Vertex>>; 2]>
) -> Self
pub fn with_vertices(
self,
vertices: Option<[impl Into<MaybePartial<Vertex>>; 2]>
) -> Self
Update the partial half-edge with the given vertices
sourcepub fn with_global_form(
self,
global_form: Option<impl Into<MaybePartial<GlobalEdge>>>
) -> Self
pub fn with_global_form(
self,
global_form: Option<impl Into<MaybePartial<GlobalEdge>>>
) -> Self
Update the partial half-edge with the given global form
sourcepub fn as_circle_from_radius(
self,
radius: impl Into<Scalar>,
objects: &Objects
) -> Result<Self, ValidationError>
pub fn as_circle_from_radius(
self,
radius: impl Into<Scalar>,
objects: &Objects
) -> Result<Self, ValidationError>
Update partial half-edge as a circle, from the given radius
Implementation Note
In principle, only the build method should take a reference to
Objects. As of this writing, this method is the only one that
deviates from that. I couldn’t think of a way to do it better.
sourcepub fn as_line_segment_from_points(
self,
points: [impl Into<Point<2>>; 2]
) -> Self
pub fn as_line_segment_from_points(
self,
points: [impl Into<Point<2>>; 2]
) -> Self
Update partial half-edge as a line segment, from the given points
sourcepub fn as_line_segment(self) -> Self
pub fn as_line_segment(self) -> Self
Update partial half-edge as a line segment, reusing existing vertices
Trait Implementations
sourceimpl Clone for PartialHalfEdge
impl Clone for PartialHalfEdge
sourcefn clone(&self) -> PartialHalfEdge
fn clone(&self) -> PartialHalfEdge
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl Debug for PartialHalfEdge
impl Debug for PartialHalfEdge
sourceimpl Default for PartialHalfEdge
impl Default for PartialHalfEdge
sourcefn default() -> PartialHalfEdge
fn default() -> PartialHalfEdge
sourceimpl From<&HalfEdge> for PartialHalfEdge
impl From<&HalfEdge> for PartialHalfEdge
sourceimpl From<PartialHalfEdge> for MaybePartial<HalfEdge>
impl From<PartialHalfEdge> for MaybePartial<HalfEdge>
sourcefn from(partial: PartialHalfEdge) -> Self
fn from(partial: PartialHalfEdge) -> Self
sourceimpl Hash for PartialHalfEdge
impl Hash for PartialHalfEdge
sourceimpl Ord for PartialHalfEdge
impl Ord for PartialHalfEdge
sourcefn cmp(&self, other: &PartialHalfEdge) -> Ordering
fn cmp(&self, other: &PartialHalfEdge) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl Partial for PartialHalfEdge
impl Partial for PartialHalfEdge
sourceimpl PartialEq<PartialHalfEdge> for PartialHalfEdge
impl PartialEq<PartialHalfEdge> for PartialHalfEdge
sourcefn eq(&self, other: &PartialHalfEdge) -> bool
fn eq(&self, other: &PartialHalfEdge) -> bool
sourceimpl PartialOrd<PartialHalfEdge> for PartialHalfEdge
impl PartialOrd<PartialHalfEdge> for PartialHalfEdge
sourcefn partial_cmp(&self, other: &PartialHalfEdge) -> Option<Ordering>
fn partial_cmp(&self, other: &PartialHalfEdge) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresourceimpl TransformObject for PartialHalfEdge
impl TransformObject for PartialHalfEdge
impl Eq for PartialHalfEdge
impl StructuralEq for PartialHalfEdge
impl StructuralPartialEq for PartialHalfEdge
Auto Trait Implementations
impl !RefUnwindSafe for PartialHalfEdge
impl Send for PartialHalfEdge
impl Sync for PartialHalfEdge
impl Unpin for PartialHalfEdge
impl !UnwindSafe for PartialHalfEdge
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read moreimpl<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 morefn 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.