[−][src]Trait cam_geom::Bundle
Specifies operations which any RayBundle must implement.
Required methods
fn to_single_ray<Coords>(
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
Return a single ray from a RayBundle
with exactly one ray.
fn directions<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
Get directions of each ray in bundle.
This can be inefficient, because when not every ray has a different
direction (which is the case for the SharedDirectionRayBundle
type),
this will nevertheless copy the single direction NPTS
times.
fn centers<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
Get centers of each ray in bundle.
This can be inefficient, because when not every ray has a different
center (which is the case for the SharedOriginRayBundle
type),
this will nevertheless copy the single center NPTS
times.
fn point_on_ray<NPTS, StorageIn, OutFrame>(
&self,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
&self,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
Return points on on the input rays.
The distance of the point from the ray bundle center is not definted and can be arbitrary.
fn point_on_ray_at_distance<NPTS, StorageIn, OutFrame>(
&self,
self_data: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
&self,
self_data: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
Return points on on the input rays at a defined distance from the origin(s).
fn to_pose<NPTS, StorageIn, OutFrame>(
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
Convert the input rays by the pose given.
Implementors
impl<R> Bundle<R> for SharedOriginRayBundle<R> where
R: RealField,
[src]
R: RealField,
fn to_single_ray<Coords>(
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
[src]
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
fn directions<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn centers<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn point_on_ray<NPTS, StorageIn, OutFrame>(
&self,
directions: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
directions: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn point_on_ray_at_distance<NPTS, StorageIn, OutFrame>(
&self,
directions: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
directions: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn to_pose<NPTS, StorageIn, OutFrame>(
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
impl<R: RealField> Bundle<R> for SharedDirectionRayBundle<R>
[src]
fn to_single_ray<Coords>(
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
[src]
&self,
self_data: &MatrixMN<R, U1, U3>
) -> Ray<Coords, R> where
Coords: CoordinateSystem,
fn directions<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn centers<'a, NPTS, StorageIn>(
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
self_data: &'a Matrix<R, NPTS, U3, StorageIn>
) -> Matrix<R, NPTS, U3, Owned<R, NPTS, U3>> where
NPTS: DimName,
StorageIn: Storage<R, NPTS, U3>,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn point_on_ray<NPTS, StorageIn, OutFrame>(
&self,
centers: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
centers: &Matrix<R, NPTS, U3, StorageIn>
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn point_on_ray_at_distance<NPTS, StorageIn, OutFrame>(
&self,
centers: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
centers: &Matrix<R, NPTS, U3, StorageIn>,
distance: R
) -> Points<OutFrame, R, NPTS, Owned<R, NPTS, U3>> where
Self: Sized,
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
fn to_pose<NPTS, StorageIn, OutFrame>(
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,
[src]
&self,
pose: Isometry3<R>,
self_data: &Matrix<R, NPTS, U3, StorageIn>
) -> RayBundle<OutFrame, Self, R, NPTS, Owned<R, NPTS, U3>> where
R: RealField,
NPTS: Dim,
StorageIn: Storage<R, NPTS, U3>,
OutFrame: CoordinateSystem,
DefaultAllocator: Allocator<R, NPTS, U3>,