Trait rust_3d::traits::IsProjectionToPlane
[−]
[src]
pub trait IsProjectionToPlane<P2, P3, N> where
P2: Is2D + IsBuildable2D + IsTransFormableTo3D,
P3: Is3D + IsTransFormableTo2D,
N: IsNormalized3D, { fn from_2d<PL>(plane: PL, pc: PointCloud2D<P2>) -> Box<Self>
where
PL: IsPlane3D<P3, N>; fn from_3d<PL>(plane: PL, pc: PointCloud3D<P3>) -> Box<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>) -> Box<Self> where
PL: IsPlane3D<P3, N>,
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>) -> Box<Self> where
PL: IsPlane3D<P3, N>,
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>,
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