Struct vox_geometry_rust::implicit_surface_set3::ImplicitSurfaceSet3[][src]

pub struct ImplicitSurfaceSet3 {
    pub surface_data: Surface3Data,
    // some fields omitted
}
Expand description

3-D implicit surface set.

This class represents 3-D implicit surface set which extends ImplicitSurface3 by overriding implicit surface-related quries. This is class can hold a collection of other implicit surface instances.

Fields

surface_data: Surface3Data

data from surface3

Implementations

impl ImplicitSurfaceSet3[src]

pub fn new_default() -> ImplicitSurfaceSet3[src]

Constructs an empty implicit surface set.

pub fn new(
    surfaces: Vec<ImplicitSurface3Ptr>,
    transform: Option<Transform3>,
    is_normal_flipped: Option<bool>
) -> ImplicitSurfaceSet3
[src]

Constructs an implicit surface set using list of other surfaces.

pub fn new_explicit(
    surfaces: Vec<Surface3Ptr>,
    transform: Option<Transform3>,
    is_normal_flipped: Option<bool>
) -> ImplicitSurfaceSet3
[src]

Constructs an implicit surface set using list of other surfaces.

pub fn builder() -> Builder[src]

Returns builder fox ImplicitSurfaceSet3.

pub fn number_of_surfaces(&self) -> usize[src]

Returns the number of implicit surfaces.

pub fn surface_at(&self, i: usize) -> ImplicitSurface3Ptr[src]

Returns the i-th implicit surface.

pub fn add_explicit_surface(&mut self, surface: Surface3Ptr)[src]

Adds an explicit surface instance.

pub fn add_surface(&mut self, surface: ImplicitSurface3Ptr)[src]

Adds an implicit surface instance.

Trait Implementations

impl ImplicitSurface3 for ImplicitSurfaceSet3[src]

fn signed_distance_local(&self, other_point: &Vector3D) -> f64[src]

Returns signed distance from the given point \p otherPoint in local space.

fn is_inside_local(&self, other_point: &Vector3D) -> bool[src]

fn signed_distance(&self, other_point: &Vector3D) -> f64[src]

Returns signed distance from the given point \p otherPoint.

fn closest_distance_local(&self, other_point: &Vector3D) -> f64[src]

impl Surface3 for ImplicitSurfaceSet3[src]

fn closest_point_local(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the closest point from the given point \p other_point to the surface in local frame. Read more

fn bounding_box_local(&self) -> BoundingBox3D[src]

Returns the bounding box of this surface object in local frame.

fn closest_intersection_local(&self, ray: &Ray3D) -> SurfaceRayIntersection3[src]

Returns the closest intersection point for given \p ray in local frame.

fn closest_normal_local(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the normal to the closest point on the surface from the given point \p other_point in local frame. Read more

fn intersects_local(&self, ray: &Ray3D) -> bool[src]

Returns true if the given \p ray intersects with this surface object in local frame. Read more

fn closest_distance_local(&self, other_point: &Vector3D) -> f64[src]

Returns the closest distance from the given point \p otherPoint to the point on the surface in local frame. Read more

fn update_query_engine(&self)[src]

Updates internal spatial query engine.

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

Returns true if bounding box can be defined.

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

Returns true if the surface is a valid geometry.

fn view(&self) -> &Surface3Data[src]

fn is_inside_local(&self, other_point_local: &Vector3D) -> bool[src]

Returns true if \p otherPoint is inside by given \p depth the volume defined by the surface in local frame. Read more

fn closest_point(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the closest point from the given point \p other_point to the surface.

fn bounding_box(&self) -> BoundingBox3D[src]

Returns the bounding box of this surface object.

fn intersects(&self, ray: &Ray3D) -> bool[src]

Returns true if the given \p ray intersects with this surface object.

fn closest_distance(&self, other_point: &Vector3D) -> f64[src]

Returns the closest distance from the given point \p other_point to the point on the surface. Read more

fn closest_intersection(&self, ray: &Ray3D) -> SurfaceRayIntersection3[src]

Returns the closest intersection point for given \p ray.

fn closest_normal(&self, other_point: &Vector3D) -> Vector3D[src]

Returns the normal to the closest point on the surface from the given point \p other_point. Read more

fn is_inside(&self, other_point: &Vector3D) -> bool[src]

Returns true if \p other_point is inside the volume defined by the surface.

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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

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

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V