pub struct VItem {
pub basis: Basis2d,
pub vpoints: VPointVec,
pub stroke_widths: PointVec<Width>,
pub stroke_rgbas: PointVec<Rgba>,
pub fill_rgbas: PointVec<Rgba>,
}Expand description
A vectorized item.
It is built from four components:
VItem::vpoints: the vpoints of the item, seeVPointVec.VItem::stroke_widths: the stroke widths of the item, seeWidth.VItem::stroke_rgbas: the stroke colors of the item, seeRgba.VItem::fill_rgbas: the fill colors of the item, seeRgba.
You can construct a VItem from a list of VPoints, see VPointVec:
let vitem = VItem::from_vpoints(vec![
dvec3(0.0, 0.0, 0.0),
dvec3(1.0, 0.0, 0.0),
dvec3(0.5, 1.0, 0.0),
]);Fields§
§basis: Basis2dThe 2d basis used for projecting the item during rendering.
See Basis2d
vpoints: VPointVecvpoints data
stroke_widths: PointVec<Width>stroke widths
stroke_rgbas: PointVec<Rgba>stroke rgbas
fill_rgbas: PointVec<Rgba>fill rgbas
Implementations§
Source§impl VItem
impl VItem
Sourcepub fn set_points(&mut self, vpoints: Vec<DVec3>)
pub fn set_points(&mut self, vpoints: Vec<DVec3>)
Set the vpoints of the VItem
Sourcepub fn get_anchor(&self, idx: usize) -> Option<&DVec3>
pub fn get_anchor(&self, idx: usize) -> Option<&DVec3>
Get anchor points
Sourcepub fn with_basis(self, basis: Basis2d) -> Self
pub fn with_basis(self, basis: Basis2d) -> Self
Set the projection of the VItem
Sourcepub fn from_vpoints(vpoints: Vec<DVec3>) -> Self
pub fn from_vpoints(vpoints: Vec<DVec3>) -> Self
Construct a VItem form vpoints
Sourcepub fn extend_vpoints(&mut self, vpoints: &[DVec3])
pub fn extend_vpoints(&mut self, vpoints: &[DVec3])
Extend vpoints of the VItem
pub(crate) fn get_render_points(&self) -> Vec<Vec4>
Sourcepub fn put_start_and_end_on(&mut self, start: DVec3, end: DVec3) -> &mut Self
pub fn put_start_and_end_on(&mut self, start: DVec3, end: DVec3) -> &mut Self
Put start and end on
Trait Implementations§
Source§impl Alignable for VItem
impl Alignable for VItem
Source§fn is_aligned(&self, other: &Self) -> bool
fn is_aligned(&self, other: &Self) -> bool
Checking if two items are aligned
Source§fn align_with(&mut self, other: &mut Self)
fn align_with(&mut self, other: &mut Self)
Aligning two items
Source§impl FillColor for VItem
impl FillColor for VItem
Source§fn fill_color(&self) -> AlphaColor<Srgb>
fn fill_color(&self) -> AlphaColor<Srgb>
Getting fill color of an item
Source§fn set_fill_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
fn set_fill_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
Setting fill color(rgba) of an item
Source§fn set_fill_opacity(&mut self, opacity: f32) -> &mut Self
fn set_fill_opacity(&mut self, opacity: f32) -> &mut Self
Setting fill opacity of an item
Source§impl From<ArcBetweenPoints> for VItem
impl From<ArcBetweenPoints> for VItem
Source§fn from(value: ArcBetweenPoints) -> Self
fn from(value: ArcBetweenPoints) -> Self
Converts to this type from the input type.
Source§impl From<EllipticArc> for VItem
impl From<EllipticArc> for VItem
Source§fn from(value: EllipticArc) -> Self
fn from(value: EllipticArc) -> Self
Converts to this type from the input type.
Source§impl From<Parallelogram> for VItem
impl From<Parallelogram> for VItem
Source§fn from(value: Parallelogram) -> Self
fn from(value: Parallelogram) -> Self
Converts to this type from the input type.
Source§impl Interpolatable for VItem
impl Interpolatable for VItem
Source§impl Opacity for VItem
impl Opacity for VItem
Source§fn set_opacity(&mut self, opacity: f32) -> &mut Self
fn set_opacity(&mut self, opacity: f32) -> &mut Self
Setting opacity of an item
Source§impl Partial for VItem
impl Partial for VItem
Source§fn get_partial(&self, range: Range<f64>) -> Self
fn get_partial(&self, range: Range<f64>) -> Self
Getting a partial item
Source§fn get_partial_closed(&self, range: Range<f64>) -> Self
fn get_partial_closed(&self, range: Range<f64>) -> Self
Getting a partial item closed
Source§impl PointsFunc for VItem
impl PointsFunc for VItem
Source§fn apply_points_func(&mut self, f: impl Fn(&mut [DVec3])) -> &mut Self
fn apply_points_func(&mut self, f: impl Fn(&mut [DVec3])) -> &mut Self
Applying points function to an item
Source§fn apply_affine2(&mut self, affine: DAffine2) -> &mut Self
fn apply_affine2(&mut self, affine: DAffine2) -> &mut Self
Applying affine transform in xy plane to an item
Source§fn apply_affine3(&mut self, affine: DAffine3) -> &mut Self
fn apply_affine3(&mut self, affine: DAffine3) -> &mut Self
Applying affine transform to an item
Source§fn apply_point_func(&mut self, f: impl Fn(&mut DVec3)) -> &mut Self
fn apply_point_func(&mut self, f: impl Fn(&mut DVec3)) -> &mut Self
Applying point function to an item
Source§fn apply_point_map(&mut self, f: impl Fn(DVec3) -> DVec3) -> &mut Self
fn apply_point_map(&mut self, f: impl Fn(DVec3) -> DVec3) -> &mut Self
Applying point function to an item
Source§impl RotateTransform for VItem
impl RotateTransform for VItem
Source§fn rotate_on_axis(&mut self, axis: DVec3, angle: f64) -> &mut Self
fn rotate_on_axis(&mut self, axis: DVec3, angle: f64) -> &mut Self
Rotate the item by a given angle about a given axis.
Source§fn rotate_on_x(&mut self, angle: f64) -> &mut Self
fn rotate_on_x(&mut self, angle: f64) -> &mut Self
Rotate the item by a given angle about the X axis.
Source§fn rotate_on_y(&mut self, angle: f64) -> &mut Self
fn rotate_on_y(&mut self, angle: f64) -> &mut Self
Rotate the item by a given angle about the Y axis.
Source§fn rotate_on_z(&mut self, angle: f64) -> &mut Self
fn rotate_on_z(&mut self, angle: f64) -> &mut Self
Rotate the item by a given angle about the Z axis.
Source§impl ScaleTransform for VItem
impl ScaleTransform for VItem
Source§impl ShiftTransform for VItem
impl ShiftTransform for VItem
Source§impl StrokeColor for VItem
impl StrokeColor for VItem
Source§fn stroke_color(&self) -> AlphaColor<Srgb>
fn stroke_color(&self) -> AlphaColor<Srgb>
Getting stroke color of an item
Source§fn set_stroke_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
fn set_stroke_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
Setting stroke color(rgba) of an item
Source§fn set_stroke_opacity(&mut self, opacity: f32) -> &mut Self
fn set_stroke_opacity(&mut self, opacity: f32) -> &mut Self
Setting stroke opacity of an item
Source§impl StrokeWidth for VItem
impl StrokeWidth for VItem
Source§fn stroke_width(&self) -> f32
fn stroke_width(&self) -> f32
Get the stroke width
Source§fn apply_stroke_func(
&mut self,
f: impl for<'a> Fn(&'a mut [Width]),
) -> &mut Self
fn apply_stroke_func( &mut self, f: impl for<'a> Fn(&'a mut [Width]), ) -> &mut Self
Applying stroke width function to an item
Source§fn set_stroke_width(&mut self, width: f32) -> &mut Self
fn set_stroke_width(&mut self, width: f32) -> &mut Self
Setting stroke width of an item
impl StructuralPartialEq for VItem
Auto Trait Implementations§
impl Freeze for VItem
impl RefUnwindSafe for VItem
impl Send for VItem
impl Sync for VItem
impl Unpin for VItem
impl UnwindSafe for VItem
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Convert the source color to the destination color using the specified
method.
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Cast a collection of colors into a collection of arrays.
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Cast this collection of arrays into a collection of colors.
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self into C, using the provided parameters.Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Cast a collection of colors into a collection of color components.
§impl<T> Filterable for T
impl<T> Filterable for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
Performs a conversion from
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
Converts
other into Self, while performing the appropriate scaling,
rounding and clamping.§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> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
Performs a conversion into
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
The number type that’s used in
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
Converts
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> ScaleTransformExt for Twhere
T: ScaleTransform + ?Sized,
impl<T> ScaleTransformExt for Twhere
T: ScaleTransform + ?Sized,
Source§fn calc_scale_ratio(&self, hint: ScaleHint) -> DVec3where
Self: Aabb,
fn calc_scale_ratio(&self, hint: ScaleHint) -> DVec3where
Self: Aabb,
Calculate the scale ratio for a given hint. Read more
Source§fn scale_to(&mut self, hint: ScaleHint) -> &mut Selfwhere
Self: Aabb,
fn scale_to(&mut self, hint: ScaleHint) -> &mut Selfwhere
Self: Aabb,
Scale the item to a given hint (at origin). Read more
Source§impl<T> ScaleTransformStrokeExt for T
impl<T> ScaleTransformStrokeExt for T
Source§fn scale_with_stroke(&mut self, scale: DVec3) -> &mut Self
fn scale_with_stroke(&mut self, scale: DVec3) -> &mut Self
Scale the item with stroke width (at origin).
Source§impl<T> ShiftTransformExt for Twhere
T: ShiftTransform + ?Sized,
impl<T> ShiftTransformExt for Twhere
T: ShiftTransform + ?Sized,
Source§fn with_origin(
&mut self,
p: impl Locate<Self>,
f: impl FnOnce(&mut Self),
) -> &mut Self
fn with_origin( &mut self, p: impl Locate<Self>, f: impl FnOnce(&mut Self), ) -> &mut Self
Do something with the origin of the item. Read more
Source§fn move_anchor_to<A>(&mut self, anchor: A, point: DVec3) -> &mut Selfwhere
A: Locate<Self>,
fn move_anchor_to<A>(&mut self, anchor: A, point: DVec3) -> &mut Selfwhere
A: Locate<Self>,
Put anchor at a given point. Read more
Source§fn move_next_to<T>(&mut self, target: &T, anchor: AabbPoint) -> &mut Self
fn move_next_to<T>(&mut self, target: &T, anchor: AabbPoint) -> &mut Self
Put negative anchor of self on anchor of target
Source§impl<T> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
impl<T> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
Source§fn show(&self) -> AnimationCell<T>
fn show(&self) -> AnimationCell<T>
Show the item
Source§fn hide(&self) -> AnimationCell<T>
fn hide(&self) -> AnimationCell<T>
Hide the item
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Casts the value.
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
The error for when
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Try to cast this collection of color components into a collection of
colors. Read more
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
Source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Cast a collection of colors into a collection of unsigned integers.
Source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
Source§fn uints_into(self) -> C
fn uints_into(self) -> C
Cast this collection of unsigned integers into a collection of colors.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.