Table of Contents

Class GeoObb3

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether an oriented box touches another shape.

public sealed class GeoObb3 : IEquatable<GeoObb3>
Inheritance
GeoObb3
Implements
Inherited Members

Constructors

GeoObb3(GeoCoordinateSystem3, double, double, double)

Initializes a box from a local coordinate system and its sizes.

GeoObb3(GeoPoint3, double, double, double)

Initializes a box aligned with the world axes.

GeoObb3(GeoPoint3, double, double, double, GeoVector3, GeoVector3)

Initializes a box with its own orientation.

Properties

AxisX

Gets the local X axis, a unit vector.

AxisY

Gets the local Y axis, a unit vector.

AxisZ

Gets the local Z axis, a unit vector.

Center

Gets the centre point of the box.

CoordinateSystem

Gets the local coordinate system of the box: its centre and its three orthonormal axes.

ExtentX

Gets the half-size of the box along its local X axis.

ExtentY

Gets the half-size of the box along its local Y axis.

ExtentZ

Gets the half-size of the box along its local Z axis.

SizeX

Gets the full size of the box along its local X axis.

SizeY

Gets the full size of the box along its local Y axis.

SizeZ

Gets the full size of the box along its local Z axis.

SurfaceArea

Gets the total area of the six faces.

Volume

Gets the volume of the box.

Methods

Clone()

Creates a copy of this box.

CollidesWith(GeoAabb3)

Checks whether this box touches an axis-aligned box, using the default tolerance.

CollidesWith(GeoAabb3, Tolerance)

Checks whether this box touches an axis-aligned box, within a tolerance.

CollidesWith(GeoArc3)

Checks whether this oriented box touches an arc, using the default tolerance.

CollidesWith(GeoArc3, Tolerance)

Checks whether this oriented box touches an arc, within a tolerance.

CollidesWith(GeoCircle3)

Checks whether this oriented box touches a circle, using the default tolerance.

CollidesWith(GeoCircle3, Tolerance)

Checks whether this oriented box touches a circle, within a tolerance.

CollidesWith(GeoEdge3)

Checks whether this oriented box touches an edge.

CollidesWith(GeoEdge3, Tolerance)

Checks whether this oriented box touches an edge, within a tolerance.

CollidesWith(GeoLine3)

Checks whether this box touches a segment, using the default tolerance.

CollidesWith(GeoLine3, Tolerance)

Checks whether this box touches a segment, within a tolerance.

CollidesWith(GeoObb3)

Checks whether this box overlaps another one, using the default tolerance.

CollidesWith(GeoObb3, Tolerance)

Checks whether this box overlaps another one, within a tolerance.

CollidesWith(GeoPolygon3)

Checks whether this box touches a polygon, using the default tolerance.

CollidesWith(GeoPolygon3, Tolerance)

Checks whether this box touches a polygon, within a tolerance.

CollidesWith(GeoPolygonArc3)

Checks whether this oriented box touches a curved loop.

CollidesWith(GeoPolygonArc3, Tolerance)

Checks whether this oriented box touches a curved loop, within a tolerance.

CollidesWith(GeoPolylineArc3)

Checks whether this oriented box touches a curved chain.

CollidesWith(GeoPolylineArc3, Tolerance)

Checks whether this oriented box touches a curved chain, within a tolerance.

CollidesWith(GeoRay3)

Checks whether a ray starts inside this box or runs into it, using the default tolerance.

CollidesWith(GeoRay3, Tolerance)

Checks whether a ray starts inside this box or runs into it, within a tolerance.

CollidesWith(GeoSolid3)

Checks whether this box touches a solid, using the default tolerance.

CollidesWith(GeoSolid3, Tolerance)

Checks whether this box touches a solid, within a tolerance.

Contains(GeoPoint3)

Checks whether this box holds a point, using the default tolerance.

Contains(GeoPoint3, Tolerance)

Checks whether this box holds a point, within a tolerance.

DistanceTo(GeoObb3)

Gets the distance from this box to a box, using the default tolerance.

DistanceTo(GeoObb3, Tolerance)

Gets the distance from this box to a box, within a tolerance.

DistanceTo(GeoPoint3)

Calculates the shortest distance from this box to a point. A point inside the box is at distance zero.

DistanceTo(GeoPolyline3)

Gets the distance from this box to a polyline, using the default tolerance.

DistanceTo(GeoPolyline3, Tolerance)

Gets the distance from this box to a polyline, within a tolerance.

DistanceTo(GeoSolid3)

Gets the distance from this box to a solid, using the default tolerance.

DistanceTo(GeoSolid3, Tolerance)

Gets the distance from this box to a solid, within a tolerance.

Equals(GeoObb3)

Determines whether another box has exactly the same placement and sizes.

Equals(object)

Determines whether the specified object is equal to the current box.

Fit(IEnumerable<GeoPoint3>)

Gets a small box round some points, turned to fit them, using the default tolerance.

Fit(IEnumerable<GeoPoint3>, Tolerance)

Gets a small box round some points, turned to fit them.

GetAabb()

Gets the axis-aligned bounding box enclosing this oriented box.

GetAxisAt(int)

Gets one of the local axes, counted from zero.

GetClosestPointOnBoundary(GeoPoint3)

Gets the point of this box closest to a target point.

GetCorners()

Gets the eight corners of the box.

GetExtentAt(int)

Gets the half-size along one of the local axes, counted from zero.

GetFaces()

Gets the six faces of the box as polygons, each wound so its normal points outwards.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoArc3)

Gets every point where an arc crosses the surface of this oriented box, using the default tolerance.

GetIntersections(GeoArc3, Tolerance)

Gets every point where an arc crosses the surface of this oriented box, within a tolerance.

GetIntersections(GeoCircle3)

Gets every point where a circle crosses the surface of this oriented box, using the default tolerance.

GetIntersections(GeoCircle3, Tolerance)

Gets every point where a circle crosses the surface of this oriented box, within a tolerance.

GetIntersections(GeoEdge3)

Gets every point where an edge crosses this oriented box.

GetIntersections(GeoEdge3, Tolerance)

Gets every point where an edge crosses this oriented box, within a tolerance.

GetIntersections(GeoLine3)

Gets every point where a segment crosses the surface of this box, using the default tolerance.

GetIntersections(GeoLine3, Tolerance)

Gets every point where a segment crosses the surface of this box, within a tolerance.

GetIntersections(GeoPolygonArc3)

Gets every point where a curved loop crosses this oriented box.

GetIntersections(GeoPolygonArc3, Tolerance)

Gets every point where a curved loop crosses this oriented box, within a tolerance.

GetIntersections(GeoPolylineArc3)

Gets every point where a curved chain crosses this oriented box.

GetIntersections(GeoPolylineArc3, Tolerance)

Gets every point where a curved chain crosses this oriented box, within a tolerance.

GetIntersections(GeoRay3)

Gets every point where a ray crosses the surface of this box, using the default tolerance.

GetIntersections(GeoRay3, Tolerance)

Gets every point where a ray crosses the surface of this box, within a tolerance.

IsDegenerate()

Checks whether the box has zero size on any axis, using the default tolerance.

IsDegenerate(Tolerance)

Checks whether the box has zero size on any axis, within a tolerance.

IsEqualTo(GeoObb3)

Compares whether this box equals another using the default tolerance.

IsEqualTo(GeoObb3, Tolerance)

Compares whether this box equals another within a tolerance.

Locate(GeoPoint3)

Locates a point relative to this box, using the default tolerance.

Locate(GeoPoint3, Tolerance)

Locates a point relative to this box, within a tolerance.

SignedDistanceTo(GeoPoint3)

Calculates the distance from this box to a point, negative for a point within it.

SignedDistanceTo(GeoPoint3, Tolerance)

Calculates the distance from this box to a point, negative for a point within it, within a tolerance.

ToSolid()

Gets this box as a solid bounded by its six faces.

ToString()

Returns a string that represents the current box.

TransformBy(GeoTransform3)

Applies a transformation to the box.

Translate(GeoVector3)

Moves the box by a vector.

TryExpand(double, out GeoObb3)

Grows the box by a margin on every side, or shrinks it by a negative one.

TryIntersect(GeoObb3, out GeoSolid3)

Keeps what this box and another box both enclose.

TryIntersect(GeoObb3, out GeoSolid3, Tolerance)

Keeps what this box and another box both enclose, within a tolerance.

TryIntersect(GeoSolid3, out GeoSolid3)

Keeps what this box and a body both enclose.

TryIntersect(GeoSolid3, out GeoSolid3, Tolerance)

Keeps what this box and a body both enclose, within a tolerance.

TryIntersectWith(GeoArc3, out GeoPoint3[])

Tries to find where an arc crosses the surface of this oriented box, using the default tolerance.

TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)

Tries to find where an arc crosses the surface of this oriented box, within a tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[])

Tries to find where a circle crosses the surface of this oriented box, using the default tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)

Tries to find where a circle crosses the surface of this oriented box, within a tolerance.

TrySubtract(GeoObb3, out GeoSolid3)

Takes another box out of this box.

TrySubtract(GeoObb3, out GeoSolid3, Tolerance)

Takes another box out of this box, within a tolerance.

TrySubtract(GeoSolid3, out GeoSolid3)

Takes a body out of this box.

TrySubtract(GeoSolid3, out GeoSolid3, Tolerance)

Takes a body out of this box, within a tolerance.

TryUnion(GeoObb3, out GeoSolid3)

Joins this box to another box.

TryUnion(GeoObb3, out GeoSolid3, Tolerance)

Joins this box to another box, within a tolerance.

TryUnion(GeoSolid3, out GeoSolid3)

Joins this box to a body.

TryUnion(GeoSolid3, out GeoSolid3, Tolerance)

Joins this box to a body, within a tolerance.