Struct ncollide3d::shape::Segment [−][src]
A segment shape.
Fields
a: Point<N>
The segment first point.
b: Point<N>
The segment second point.
Implementations
impl<N: RealField> Segment<N>
[src]
impl<N: RealField> Segment<N>
[src]impl<N: RealField> Segment<N>
[src]
impl<N: RealField> Segment<N>
[src]impl<N: RealField> Segment<N>
[src]
impl<N: RealField> Segment<N>
[src]pub fn scaled_direction(&self) -> Vector<N>
[src]
The direction of this segment scaled by its length.
Points from self.a
toward self.b
.
pub fn length(&self) -> N
[src]
The length of this segment.
pub fn swap(&mut self)
[src]
Swaps the two vertices of this segment.
pub fn direction(&self) -> Option<Unit<Vector<N>>>
[src]
The unit direction of this segment.
Points from self.a()
toward self.b()
.
Returns None
is both points are equal.
pub fn normal(&self) -> Option<Unit<Vector<N>>>
[src]
Returns None
. Exists only for API similarity with the 2D ncollide.
pub fn transformed(&self, m: &Isometry<N>) -> Self
[src]
Applies the isometry m
to the vertices of this segment and returns the resulting segment.
pub fn point_at(&self, location: &SegmentPointLocation<N>) -> Point<N>
[src]
Computes the point at the given location.
pub fn tangent_cone_contains_dir(
&self,
feature: FeatureId,
m: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> bool
[src]
&self,
feature: FeatureId,
m: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> bool
Checks that the given direction in world-space is on the tangent cone of the given feature
.
Trait Implementations
impl<N: RealField> ConvexPolyhedron<N> for Segment<N>
[src]
impl<N: RealField> ConvexPolyhedron<N> for Segment<N>
[src]fn vertex(&self, id: FeatureId) -> Point<N>
[src]
fn edge(&self, _: FeatureId) -> (Point<N>, Point<N>, FeatureId, FeatureId)
[src]
fn face(&self, _: FeatureId, _: &mut ConvexPolygonalFeature<N>)
[src]
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
_: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &Isometry<N>,
_: &Unit<Vector<N>>,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
face: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
eps: N,
face: &mut ConvexPolygonalFeature<N>
)
fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId
[src]
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Segment<N>
[src]
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Segment<N>
[src]fn bounding_volume(&self, m: &Isometry<N>) -> AABB<N>
[src]
fn local_bounding_volume(&self) -> AABB<N>
[src]
impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for Segment<N>
[src]
impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for Segment<N>
[src]fn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>
[src]
fn local_bounding_volume(&self) -> BoundingSphere<N>
[src]
impl<N: RealField> PointQuery<N> for Segment<N>
[src]
impl<N: RealField> PointQuery<N> for Segment<N>
[src]fn project_point(
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> PointProjection<N>
[src]
&self,
m: &Isometry<N>,
pt: &Point<N>,
solid: bool
) -> PointProjection<N>
fn project_point_with_feature(
&self,
m: &Isometry<N>,
pt: &Point<N>
) -> (PointProjection<N>, FeatureId)
[src]
&self,
m: &Isometry<N>,
pt: &Point<N>
) -> (PointProjection<N>, FeatureId)
fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N
[src]
fn contains_point(&self, m: &Isometry<N>, pt: &Point<N>) -> bool
[src]
impl<N: RealField> PointQueryWithLocation<N> for Segment<N>
[src]
impl<N: RealField> PointQueryWithLocation<N> for Segment<N>
[src]type Location = SegmentPointLocation<N>
Additional shape-specific projection information Read more
fn project_point_with_location(
&self,
m: &Isometry<N>,
pt: &Point<N>,
_: bool
) -> (PointProjection<N>, Self::Location)
[src]
&self,
m: &Isometry<N>,
pt: &Point<N>,
_: bool
) -> (PointProjection<N>, Self::Location)
impl<N: RealField> RayCast<N> for Segment<N>
[src]
impl<N: RealField> RayCast<N> for Segment<N>
[src]fn toi_and_normal_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>
[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>
fn toi_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<N>
[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<N>
fn toi_and_normal_and_uv_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>
[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
max_toi: N,
solid: bool
) -> Option<RayIntersection<N>>
fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>, max_toi: N) -> bool
[src]
impl<N: RealField> Shape<N> for Segment<N>
[src]
impl<N: RealField> Shape<N> for Segment<N>
[src]fn aabb(&self, m: &Isometry<N>) -> AABB<N>
[src]
fn local_aabb(&self) -> AABB<N>
[src]
fn bounding_sphere(&self, m: &Isometry<N>) -> BoundingSphere<N>
[src]
fn as_ray_cast(&self) -> Option<&dyn RayCast<N>>
[src]
fn as_point_query(&self) -> Option<&dyn PointQuery<N>>
[src]
fn as_support_map(&self) -> Option<&dyn SupportMap<N>>
[src]
fn is_support_map(&self) -> bool
[src]
fn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>
[src]
fn is_convex_polyhedron(&self) -> bool
[src]
fn tangent_cone_contains_dir(
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
[src]
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
fn local_bounding_sphere(&self) -> BoundingSphere<N>
[src]
fn subshape_containing_feature(&self, _i: FeatureId) -> usize
[src]
fn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>
[src]
fn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>
[src]
fn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>
[src]
fn is_composite_shape(&self) -> bool
[src]
fn is_deformable_shape(&self) -> bool
[src]
impl<N: RealField> SupportMap<N> for Segment<N>
[src]
impl<N: RealField> SupportMap<N> for Segment<N>
[src]fn local_support_point(&self, dir: &Vector<N>) -> Point<N>
[src]
fn local_support_point_toward(&self, dir: &Unit<Vector<N>>) -> Point<N>
[src]
fn support_point(&self, transform: &Isometry<N>, dir: &Vector<N>) -> Point<N>
[src]
fn support_point_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>
impl<N: Copy + RealField> Copy for Segment<N>
[src]
impl<N: RealField> StructuralPartialEq for Segment<N>
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for Segment<N> where
N: RefUnwindSafe,
N: RefUnwindSafe,
impl<N> Send for Segment<N>
impl<N> Sync for Segment<N>
impl<N> Unpin for Segment<N> where
N: Unpin,
N: Unpin,
impl<N> UnwindSafe for Segment<N> where
N: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> Slottable for T where
T: Copy,
[src]
T: Copy,