Trait ccgeom::Geometry3[][src]

pub trait Geometry3<T: Scalar = f64>: Geometry<T> {
Show methods fn dir_to_local(
        pos: Self::Pos,
        dir: Self::Dir
    ) -> <Euclidean3<T> as Geometry<T>>::Dir;
fn dir_from_local(
        pos: Self::Pos,
        dir: <Euclidean3<T> as Geometry<T>>::Dir
    ) -> Self::Dir;
fn dir_when_moved_at_pos(
        src_pos: Self::Pos,
        src_dir: Self::Dir,
        dst_pos: Self::Pos
    ) -> Self::Dir;
fn shift_x(dist: T) -> Self::Map;
fn shift_y(dist: T) -> Self::Map;
fn shift_z(dist: T) -> Self::Map;
fn rotate_x(angle: T) -> Self::Map;
fn rotate_y(angle: T) -> Self::Map;
fn rotate_z(angle: T) -> Self::Map;
fn look_at_pos(pos: Self::Pos) -> Self::Map;
fn look_at_dir(dir: Self::Dir) -> Self::Map;
fn move_at_pos(pos: Self::Pos) -> Self::Map;
fn move_at_dir(dir: Self::Dir, dist: T) -> Self::Map;
}
Expand description

Three-dimensional geometry.

Required methods

fn dir_to_local(
    pos: Self::Pos,
    dir: Self::Dir
) -> <Euclidean3<T> as Geometry<T>>::Dir
[src]

fn dir_from_local(
    pos: Self::Pos,
    dir: <Euclidean3<T> as Geometry<T>>::Dir
) -> Self::Dir
[src]

fn dir_when_moved_at_pos(
    src_pos: Self::Pos,
    src_dir: Self::Dir,
    dst_pos: Self::Pos
) -> Self::Dir
[src]

Returns the direction of the line at point dst_pos when we know that the line at the point src_pos has direction of src_dir.

fn shift_x(dist: T) -> Self::Map[src]

fn shift_y(dist: T) -> Self::Map[src]

fn shift_z(dist: T) -> Self::Map[src]

fn rotate_x(angle: T) -> Self::Map[src]

fn rotate_y(angle: T) -> Self::Map[src]

fn rotate_z(angle: T) -> Self::Map[src]

fn look_at_pos(pos: Self::Pos) -> Self::Map[src]

Rotatates default_dir around the origin to make it point to pos.

fn look_at_dir(dir: Self::Dir) -> Self::Map[src]

Turns default_dir into dir.

fn move_at_pos(pos: Self::Pos) -> Self::Map[src]

Returns maping that translates origin to pos preserving orientation relatively to the line that connects the origin to pos.

fn move_at_dir(dir: Self::Dir, dist: T) -> Self::Map[src]

Implementors

impl<T: Scalar> Geometry3<T> for Euclidean3<T>[src]

fn dir_to_local(_pos: Self::Pos, dir: Self::Dir) -> Self::Dir[src]

fn dir_from_local(_pos: Self::Pos, dir: Self::Dir) -> Self::Dir[src]

fn dir_when_moved_at_pos(
    _src_pos: Self::Pos,
    src_dir: Self::Dir,
    _dst_pos: Self::Pos
) -> Self::Dir
[src]

fn shift_x(dist: T) -> Self::Map[src]

fn shift_y(dist: T) -> Self::Map[src]

fn shift_z(dist: T) -> Self::Map[src]

fn rotate_x(angle: T) -> Self::Map[src]

fn rotate_y(angle: T) -> Self::Map[src]

fn rotate_z(angle: T) -> Self::Map[src]

fn look_at_pos(pos: Self::Pos) -> Self::Map[src]

fn look_at_dir(dir: Self::Dir) -> Self::Map[src]

fn move_at_pos(pos: Self::Pos) -> Self::Map[src]

fn move_at_dir(dir: Self::Dir, dist: T) -> Self::Map[src]

impl<T: Scalar> Geometry3<T> for Hyperbolic3<T>[src]

fn dir_when_moved_at_pos(
    src_pos: Self::Pos,
    src_dir: Self::Dir,
    dst_pos: Self::Pos
) -> Self::Dir
[src]

Returns the direction of the line at point dst_pos when we know that the line at the point src_pos has direction of src_dir.

fn dir_to_local(_pos: Self::Pos, dir: Self::Dir) -> <Eu3<T> as Geometry<T>>::Dir[src]

fn dir_from_local(
    _pos: Self::Pos,
    dir: <Eu3<T> as Geometry<T>>::Dir
) -> Self::Dir
[src]

fn shift_x(dist: T) -> Self::Map[src]

fn shift_y(dist: T) -> Self::Map[src]

fn shift_z(dist: T) -> Self::Map[src]

fn rotate_x(angle: T) -> Self::Map[src]

fn rotate_y(angle: T) -> Self::Map[src]

fn rotate_z(angle: T) -> Self::Map[src]

fn look_at_pos(pos: Self::Pos) -> Self::Map[src]

fn look_at_dir(dir: Self::Dir) -> Self::Map[src]

fn move_at_pos(pos: Self::Pos) -> Self::Map[src]

fn move_at_dir(dir: Self::Dir, dist: T) -> Self::Map[src]