pub struct Box2 {
pub surface_data: Surface2Data,
/* private fields */
}Expand description
§2-D box geometry.
This class represents 2-D box geometry which extends Surface2 by overriding surface-related queries. This box implementation is an axis-aligned box that wraps lower-level primitive type, BoundingBox2D.
Fields§
§surface_data: Surface2Datadata from surface2
Implementations§
Source§impl Box2
impl Box2
Sourcepub fn new_default(
transform: Option<Transform2>,
is_normal_flipped: Option<bool>,
) -> Box2
pub fn new_default( transform: Option<Transform2>, is_normal_flipped: Option<bool>, ) -> Box2
Constructs (0, 0) x (1, 1) box.
Sourcepub fn new(
lower_corner: Vector2D,
upper_corner: Vector2D,
transform: Option<Transform2>,
is_normal_flipped: Option<bool>,
) -> Box2
pub fn new( lower_corner: Vector2D, upper_corner: Vector2D, transform: Option<Transform2>, is_normal_flipped: Option<bool>, ) -> Box2
Constructs a box with given \p lower_corner and \p upper_corner.
Sourcepub fn new_aabb(
bounding_box: BoundingBox2D,
transform: Option<Transform2>,
is_normal_flipped: Option<bool>,
) -> Box2
pub fn new_aabb( bounding_box: BoundingBox2D, transform: Option<Transform2>, is_normal_flipped: Option<bool>, ) -> Box2
Constructs a box with BoundingBox2D instance.
Trait Implementations§
Source§impl Surface2 for Box2
impl Surface2 for Box2
Source§fn closest_point_local(&self, other_point: &Vector2D) -> Vector2D
fn closest_point_local(&self, other_point: &Vector2D) -> Vector2D
Returns the closest point from the given point \p other_point to the
surface in local frame.
Source§fn bounding_box_local(&self) -> BoundingBox2D
fn bounding_box_local(&self) -> BoundingBox2D
Returns the bounding box of this surface object in local frame.
Source§fn closest_intersection_local(&self, ray: &Ray2D) -> SurfaceRayIntersection2
fn closest_intersection_local(&self, ray: &Ray2D) -> SurfaceRayIntersection2
Returns the closest intersection point for given \p ray in local frame.
Source§fn closest_normal_local(&self, other_point: &Vector2D) -> Vector2D
fn closest_normal_local(&self, other_point: &Vector2D) -> Vector2D
Returns the normal to the closest point on the surface from the given
point \p other_point in local frame.
Source§fn intersects_local(&self, ray_local: &Ray2D) -> bool
fn intersects_local(&self, ray_local: &Ray2D) -> bool
Returns true if the given \p ray intersects with this surface object
in local frame.
fn view(&self) -> &Surface2Data
Source§fn closest_distance_local(&self, other_point_local: &Vector2D) -> f64
fn closest_distance_local(&self, other_point_local: &Vector2D) -> f64
Returns the closest distance from the given point \p otherPoint to the
point on the surface in local frame.
Source§fn is_inside_local(&self, other_point_local: &Vector2D) -> bool
fn is_inside_local(&self, other_point_local: &Vector2D) -> bool
Returns true if \p otherPoint is inside by given \p depth the volume
defined by the surface in local frame.
Source§fn closest_point(&self, other_point: &Vector2D) -> Vector2D
fn closest_point(&self, other_point: &Vector2D) -> Vector2D
Returns the closest point from the given point \p other_point to the surface.
Source§fn bounding_box(&self) -> BoundingBox2D
fn bounding_box(&self) -> BoundingBox2D
Returns the bounding box of this surface object.
Source§fn intersects(&self, ray: &Ray2D) -> bool
fn intersects(&self, ray: &Ray2D) -> bool
Returns true if the given \p ray intersects with this surface object.
Source§fn closest_distance(&self, other_point: &Vector2D) -> f64
fn closest_distance(&self, other_point: &Vector2D) -> f64
Returns the closest distance from the given point \p other_point to the
point on the surface.
Source§fn closest_intersection(&self, ray: &Ray2D) -> SurfaceRayIntersection2
fn closest_intersection(&self, ray: &Ray2D) -> SurfaceRayIntersection2
Returns the closest intersection point for given \p ray.
Source§fn closest_normal(&self, other_point: &Vector2D) -> Vector2D
fn closest_normal(&self, other_point: &Vector2D) -> Vector2D
Returns the normal to the closest point on the surface from the given
point \p other_point.
Source§fn update_query_engine(&self)
fn update_query_engine(&self)
Updates internal spatial query engine.
Source§fn is_bounded(&self) -> bool
fn is_bounded(&self) -> bool
Returns true if bounding box can be defined.
Source§fn is_valid_geometry(&self) -> bool
fn is_valid_geometry(&self) -> bool
Returns true if the surface is a valid geometry.
Auto Trait Implementations§
impl Freeze for Box2
impl RefUnwindSafe for Box2
impl Send for Box2
impl Sync for Box2
impl Unpin for Box2
impl UnwindSafe for Box2
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more