pub struct NodePosition {
pub x: f64,
pub y: f64,
pub prev_x: f64,
pub prev_y: f64,
pub pinned: bool,
}Expand description
2D position and velocity for Verlet integration.
prev_x/prev_y encode velocity implicitly:
velocity = (pos - prev_pos) * damping
new_pos = pos + velocity + acceleration
Fields§
§x: f64§y: f64§prev_x: f64§prev_y: f64§pinned: boolWhether the node is pinned (for mouse drag)
Trait Implementations§
Source§impl Clone for NodePosition
impl Clone for NodePosition
Source§fn clone(&self) -> NodePosition
fn clone(&self) -> NodePosition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for NodePosition
impl RefUnwindSafe for NodePosition
impl Send for NodePosition
impl Sync for NodePosition
impl Unpin for NodePosition
impl UnsafeUnpin for NodePosition
impl UnwindSafe for NodePosition
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more