Back to class index
OBB[Class Summary]
pos
r
axis
ctor (+1 overload)
SetNegativeInfinity()
SetFrom(aabb) (+6 overloads)
SetFromApproximate(...)
ToPolyhedron()[const]
MinimalEnclosingAABB()[const]
MaximalContainedAABB()[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]
Volume()[const]
SurfaceArea()[const]
PointInside(x,y,z)[const]
Edge(edgeIndex)[const]
CornerPoint(cornerIndex)[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(aabb)[const] (+11 overloads)
Enclose(point)
Triangulate(...)[const]
ToEdgeList(outPos)[const]
ExtremePointsAlongDirection(...)[static]
PCAEnclosingOBB(...)[static]
NumVerticesInTriangulation(...)[static]
NumVerticesInEdgeList()[static]

OBB::Transform

Syntax

void OBB::Transform(const float3x3 &transform); [5 lines of code]
void OBB::Transform(const float3x4 &transform); [5 lines of code]
void OBB::Transform(const float4x4 &transform); [5 lines of code]
void OBB::Transform(const Quat &transform); [4 lines of code]

Applies a transformation to this OBB.

Parameters

const float3x3 &transformThe transformation to apply to this OBB. This transformation must be affine, and must contain an orthogonal set of column vectors (may not contain shear or projection). The transformation can only contain uniform scale, and may not contain mirroring.

Performance

void OBB::Transform(const float3x3 &transform)

0.094μsecs/call ≈ 10.59M calls/second ≈ 176.52k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

void OBB::Transform(const float3x4 &transform)

0.107μsecs/call ≈ 9.37M calls/second ≈ 156.15k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

void OBB::Transform(const float4x4 &transform)

0.115μsecs/call ≈ 8.7M calls/second ≈ 144.99k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

void OBB::Transform(const Quat &transform)

0.107μsecs/call ≈ 9.37M calls/second ≈ 156.15k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

See Also

Translate(), Scale(), classes float3x3, float3x4, float4x4, Quat.

Leave a Comment

Name:
Comments:
Captcha:captcha image Type in the black symbols:
Back to class index