Struct implicit3d::Intersection
[−]
[src]
pub struct Intersection<S: Real> { /* fields omitted */ }
Intersect objects.
Methods
impl<S: Real + Float + From<f32>> Intersection<S>
[src]
pub fn from_vec(v: Vec<Box<Object<S>>>, r: S) -> Option<Box<Object<S>>>
[src]
Create an intersection of the objects in v. The intersection will be rounded, if r > 0.
pub fn difference_from_vec(
v: Vec<Box<Object<S>>>,
r: S
) -> Option<Box<Object<S>>>
[src]
v: Vec<Box<Object<S>>>,
r: S
) -> Option<Box<Object<S>>>
Create a Difference from Vec. The resulting object is v[0] minus all the other objects. Minus is implemented as intersection with negation. The difference will be rounded, if r > 0.
Trait Implementations
impl<S: Clone + Real> Clone for Intersection<S>
[src]
fn clone(&self) -> Intersection<S>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<S: Debug + Real> Debug for Intersection<S>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<S: Real + From<f32> + Float> Object<S> for Intersection<S>
[src]
fn approx_value(&self, p: Point3<S>, slack: S) -> S
[src]
Value is 0 on object surfaces, negative inside and positive outside of objects. If positive, value is guarateed to be the minimum distance to the object surface. return some approximation (which is always larger then the proper value). Only do a proper calculation, for values smaller then slack. Read more
fn bbox(&self) -> &BoundingBox<S>
[src]
Get the Bounding Box of this Object.
fn set_parameters(&mut self, p: &PrimitiveParameters<S>)
[src]
Allows to set parameters.
fn normal(&self, p: Point3<S>) -> Vector3<S>
[src]
Evaluate the normal of self
at the given point.
fn set_bbox(&mut self, _: BoundingBox<S>)
[src]
Explicitly set the Bounding Box.
ⓘImportant traits for Box<W>fn translate(&self, v: Vector3<S>) -> Box<Object<S>>
[src]
Return a translated version of self
.
ⓘImportant traits for Box<W>fn rotate(&self, r: Vector3<S>) -> Box<Object<S>>
[src]
Return a rotated version of self
.
ⓘImportant traits for Box<W>fn scale(&self, s: Vector3<S>) -> Box<Object<S>>
[src]
Return a scaled version of self
.