[][src]Trait rust_3d::IsProjectionToPlane

pub trait IsProjectionToPlane<P2, P3, N>: Sized where
    P2: IsBuildable2D + IsTransFormableTo3D,
    P3: Is3D + IsTransFormableTo2D,
    N: IsNormalized3D
{ fn from_2d<PL>(plane: PL, pc: PointCloud2D<P2>) -> Self
    where
        PL: IsPlane3D<P3, N>
;
fn from_3d<PL>(plane: PL, pc: PointCloud3D<P3>) -> Self
    where
        PL: IsPlane3D<P3, N>
;
fn projected_pointcloud_3d_global(&self) -> PointCloud3D<P3>;
fn plane<PL>(&self) -> PL
    where
        PL: IsPlane3D<P3, N>
;
fn projected_pointcloud_2d_local(&self) -> PointCloud2D<P2>;
fn extrude(&self, distance: f64) -> (PointCloud3D<P3>, PointCloud3D<P3>); }

IsProjectionToPlane is a trait used types which can be projected onto and from planes within 3D space

Required methods

fn from_2d<PL>(plane: PL, pc: PointCloud2D<P2>) -> Self where
    PL: IsPlane3D<P3, N>, 

Should create a projection of the given 2d points on the given plane

fn from_3d<PL>(plane: PL, pc: PointCloud3D<P3>) -> Self where
    PL: IsPlane3D<P3, N>, 

Should project the given 3d points onto the plane

fn projected_pointcloud_3d_global(&self) -> PointCloud3D<P3>

Should return the projected positions as 3d positions in the global coordinate system

fn plane<PL>(&self) -> PL where
    PL: IsPlane3D<P3, N>, 

Should the plane which is used for the projection

fn projected_pointcloud_2d_local(&self) -> PointCloud2D<P2>

Should return the projected positions as 2d positions in the plane's coordinate system

fn extrude(&self, distance: f64) -> (PointCloud3D<P3>, PointCloud3D<P3>)

Should extrude the projection into 3d space as seperate layers

Loading content...

Implementors

Loading content...