[][src]Struct ncollide3d::shape::Polyline

pub struct Polyline<N: Real> { /* fields omitted */ }

A polygonal line.

Methods

impl<N: Real> Polyline<N>[src]

pub fn new(
    points: Vec<Point<N>>,
    indices: Option<Vec<Point2<usize>>>
) -> Polyline<N>
[src]

Builds a new polyline.

pub fn aabb(&self) -> &AABB<N>[src]

The polyline's AABB.

pub fn points(&self) -> &[Point<N>][src]

The points of this polyline.

pub fn edges(&self) -> &[PolylineEdge<N>][src]

The edges of this polyline.

pub fn oriented(&self) -> bool[src]

Whether this polyline is considered is oriented or not.

By default a polyline is not oriented.

pub fn set_oriented(&mut self, oriented: bool)[src]

Whether this polyline is considered as oriented or not.

This is determined at the initialization of the polyline.

pub fn edge_containing_feature(&self, id: FeatureId) -> usize[src]

Face containing feature.

pub fn edge_segment(&self, i: usize) -> Segment<N>[src]

The segment of the i-th edge on this polyline.

pub fn segment_at(&self, i: usize) -> Segment<N>[src]

Gets the i-th polyline element.

pub fn bvt(&self) -> &BVT<usize, AABB<N>>[src]

The optimization structure used by this polyline.

pub fn vertex_tangent_cone_contains_dir(
    &self,
    _i: usize,
    _deformations: Option<&[N]>,
    _dir: &Unit<Vector<N>>
) -> bool
[src]

Tests that the given dir is on the tangent cone of the ith vertex of this polyline.

pub fn transform_by(&mut self, transform: &Isometry<N>)[src]

Applies a transformation to this polyline.

pub fn scale_by(&mut self, scale: &Vector<N>)[src]

Applies a non-uniform scale to this polyline.

pub fn is_backface(&self, feature: FeatureId) -> bool[src]

Returns true if the given feature is a FeatureId::Face and identifies a backface of this polyline.

pub fn vertex_tangent_cone_polar_contains_dir(
    &self,
    i: usize,
    dir: &Unit<Vector<N>>,
    sin_ang_tol: N
) -> bool
[src]

Tests that the given dir is on the polar of the tangent cone of the ith vertex of this polyline.

pub fn edge_tangent_cone_contains_dir(
    &self,
    _i: usize,
    _deformations: Option<&[N]>,
    _dir: &Unit<Vector<N>>
) -> bool
[src]

Tests that the given dir is on the tangent cone of the ith edge of this polyline.

pub fn edge_tangent_cone_polar_contains_dir(
    &self,
    i: usize,
    dir: &Unit<Vector<N>>,
    cos_ang_tol: N
) -> bool
[src]

Tests whether the polar of the tangent cone of the i-th edge of this polyline contains the direction dir considering the cosinus of an angular tolerance cos_ang_tol.

pub fn tangent_cone_polar_contains_dir(
    &self,
    _feature: FeatureId,
    _dir: &Unit<Vector<N>>,
    _sin_ang_tol: N,
    _cos_ang_tol: N
) -> bool
[src]

(Not yet implemented) Tests whether the polar of the tangent cone of the specified feature of this polyline contains the direction dir considering the sinus and cosinus of an angular tolerance.

Trait Implementations

impl<N: Real> HasBoundingVolume<N, AABB<N>> for Polyline<N>[src]

impl<N: Real> HasBoundingVolume<N, BoundingSphere<N>> for Polyline<N>[src]

impl<N: Real> PointQuery<N> for Polyline<N>[src]

fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N[src]

Computes the minimal distance between a point and self transformed by m.

impl<N: Real> PointQueryWithLocation<N> for Polyline<N>[src]

type Location = (usize, SegmentPointLocation<N>)

Additional shape-specific projection information Read more

impl<N: Real> RayCast<N> for Polyline<N>[src]

fn toi_and_normal_and_uv_with_ray(
    &self,
    m: &Isometry<N>,
    ray: &Ray<N>,
    solid: bool
) -> Option<RayIntersection<N>>
[src]

Computes time of impact, normal, and texture coordinates (uv) between this transformed shape and a ray. Read more

fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>) -> bool[src]

Tests whether a ray intersects this transformed shape.

impl<N: Real> CompositeShape<N> for Polyline<N>[src]

impl<N: Real> DeformableShape<N> for Polyline<N>[src]

fn set_deformations(&mut self, coords: &[N])[src]

Updates all the degrees of freedom of this shape.

impl<N: Real> Shape<N> for Polyline<N>[src]

fn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>[src]

The convex polyhedron representation of self if applicable.

fn as_support_map(&self) -> Option<&dyn SupportMap<N>>[src]

The support mapping of self if applicable.

fn is_convex_polyhedron(&self) -> bool[src]

Whether self uses a convex polyhedron representation.

fn is_support_map(&self) -> bool[src]

Whether self uses a support-mapping based representation.

impl<N: Clone + Real> Clone for Polyline<N>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<N> Send for Polyline<N> where
    N: Scalar

impl<N> Sync for Polyline<N> where
    N: Scalar

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> Same for T

type Output = T

Should always be Self