pub trait TransformObject: Sized {
    // Required method
    fn transform_with_cache(
        self,
        transform: &Transform,
        objects: &mut Service<Objects>,
        cache: &mut TransformCache
    ) -> Self;

    // Provided methods
    fn transform(
        self,
        transform: &Transform,
        objects: &mut Service<Objects>
    ) -> Self { ... }
    fn translate(
        self,
        offset: impl Into<Vector<3>>,
        objects: &mut Service<Objects>
    ) -> Self { ... }
    fn rotate(
        self,
        axis_angle: impl Into<Vector<3>>,
        objects: &mut Service<Objects>
    ) -> Self { ... }
}
Expand description

Transform an object

Implementation Note

So far, a general transform method is available, along some convenience methods for more specific transformations.

More convenience methods can be added as required. The only reason this hasn’t been done so far, is that no one has put in the work yet.

Required Methods§

source

fn transform_with_cache( self, transform: &Transform, objects: &mut Service<Objects>, cache: &mut TransformCache ) -> Self

Transform the object using the provided cache

Provided Methods§

source

fn transform( self, transform: &Transform, objects: &mut Service<Objects> ) -> Self

Transform the object

source

fn translate( self, offset: impl Into<Vector<3>>, objects: &mut Service<Objects> ) -> Self

Translate the object

Convenience wrapper around TransformObject::transform.

source

fn rotate( self, axis_angle: impl Into<Vector<3>>, objects: &mut Service<Objects> ) -> Self

Rotate the object

Convenience wrapper around TransformObject::transform.

Implementors§