Back to class index
OBB[Class Summary]
pos
r
axis
ctor (+2 overloads)
SetNegativeInfinity()
SetFrom(aabb) (+5 overloads)
ToPolyhedron()[const]
ToPBVolume()[const]
MinimalEnclosingAABB()[const]
MinimalEnclosingSphere()[const]
MaximalContainedSphere()[const]
Size()[const]
HalfSize()[const]
Diagonal()[const]
HalfDiagonal()[const]
WorldToLocal()[const]
LocalToWorld()[const]
IsFinite()[const]
IsDegenerate()[const]
CenterPoint()[const]
Centroid()[const]
AnyPointFast()[const]
Volume()[const]
SurfaceArea()[const]
PointInside(x,y,z)[const]
Edge(edgeIndex)[const]
CornerPoint(cornerIndex)[const]
ExtremePoint(direction)[const] (+1 overload)
ProjectToAxis(...)[const]
UniqueFaceNormals(out)[const]
UniqueEdgeDirections(out)[const]
PointOnEdge(edgeIndex,u)[const]
FaceCenterPoint(faceIndex)[const]
FacePoint(faceIndex,u,v)[const]
FacePlane(faceIndex)[const]
GetCornerPoints(outPointArray)[const]
GetFacePlanes(outPlaneArray)[const]
RandomPointInside(rng)[const]
RandomPointOnSurface(rng)[const]
RandomPointOnEdge(rng)[const]
RandomCornerPoint(rng)[const]
Translate(offset)
Scale(...) (+1 overload)
Transform(transform) (+3 overloads)
ClosestPoint(point)[const]
Distance(point)[const] (+1 overload)
Contains(point)[const] (+7 overloads)
Intersects(obb,epsilon)[const] (+14 overloads)
Enclose(point)
Triangulate(...)[const]
ToEdgeList(outPos)[const]
ToString()[const]
SerializeToString()[const]
SerializeToCodeString()[const]
Equals(rhs,epsilon)[const]
BitEquals(other)[const]
NumFaces()[static]
NumEdges()[static]
NumVertices()[static]
ExtremePointsAlongDirection(...)[static]
OptimalEnclosingOBB(...)[static]
NumVerticesInTriangulation(...)[static]
NumVerticesInEdgeList()[static]
FromString(str,outEndStr)[static] (+1 overload)

OBB::OBB

Syntax

OBB::OBB(); [1 line of code]

The default constructor does not initialize any members of this class. [opaque-qtscript].

This means that the values of the members pos, r and axis are undefined after creating a new OBB using this default constructor. Remember to assign to them before use.

See Also

pos, r, axis.

Syntax

OBB::OBB(const float4 &pos, const float4 &r, const float4 &axis0, const float4 &axis1, const float4 &axis2); [7 lines of code]

Constructs an OBB by explicitly specifying all its member values.

See Also

pos, r, axis.

Syntax

OBB::OBB(const AABB &aabb); [4 lines of code]

Constructs an OBB from an AABB.

Since the OBB is an AABB with arbirary rotations allowed, this conversion is exact, i.e. it does not loosen the set of points represented by the AABB. Therefore this constructor is implicit, meaning that you can directly assign an AABB to an OBB.

Note
Converting an OBB back to an AABB is not exact. See the MinimalEnclosingAABB() function for converting to the opposite direction.

See Also

class AABB, SetFrom(), MinimalEnclosingAABB().