[][src]Trait oxygengine_physics_2d::prelude::force_generator::ForceGenerator

pub trait ForceGenerator<N, Handle>: Send + Sync + Downcast where
    Handle: BodyHandle,
    N: RealField
{ fn apply(
        &mut self,
        parameters: &IntegrationParameters<N>,
        bodies: &mut dyn BodySet<N, Handle = Handle>
    ); }

A persistent force generator.

A force generator applies a force to one or several bodies at each step of the simulation.

Required methods

fn apply(
    &mut self,
    parameters: &IntegrationParameters<N>,
    bodies: &mut dyn BodySet<N, Handle = Handle>
)

Apply forces to some bodies.

Loading content...

Implementations

impl<N, Handle> dyn ForceGenerator<N, Handle> + 'static where
    Handle: Any + 'static + BodyHandle,
    N: Any + 'static + RealField

pub fn is<__T>(&self) -> bool where
    __T: ForceGenerator<N, Handle>, 

Returns true if the trait object wraps an object of type __T.

pub fn downcast<__T>(
    self: Box<dyn ForceGenerator<N, Handle> + 'static>
) -> Result<Box<__T>, Box<dyn ForceGenerator<N, Handle> + 'static>> where
    __T: ForceGenerator<N, Handle>, 

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn't.

pub fn downcast_rc<__T>(
    self: Rc<dyn ForceGenerator<N, Handle> + 'static>
) -> Result<Rc<__T>, Rc<dyn ForceGenerator<N, Handle> + 'static>> where
    __T: ForceGenerator<N, Handle>, 

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn't.

pub fn downcast_ref<__T>(&self) -> Option<&__T> where
    __T: ForceGenerator<N, Handle>, 

Returns a reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T> where
    __T: ForceGenerator<N, Handle>, 

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn't.

Implementors

impl<N, Handle> ForceGenerator<N, Handle> for ConstantAcceleration<N, Handle> where
    Handle: BodyHandle,
    N: RealField
[src]

impl<N, Handle> ForceGenerator<N, Handle> for Spring<N, Handle> where
    Handle: BodyHandle,
    N: RealField
[src]

Loading content...