BoundingOrientedBox structure (directxcollision.h)

An oriented bounding box object.

Syntax

struct BoundingOrientedBox {
  size_t                            CORNER_COUNT;
  XMFLOAT3                          Center;
  XMFLOAT3                          Extents;
  XMFLOAT4                          Orientation;
  void                              BoundingOrientedBox() noexcept;
  void                              BoundingOrientedBox(
    const BoundingOrientedBox & unnamedParam1
  );
  BoundingOrientedBox &             operator=(
    const BoundingOrientedBox & unnamedParam1
  );
  void                              BoundingOrientedBox(
    BoundingOrientedBox && unnamedParam1
  );
  BoundingOrientedBox &             operator=(
    BoundingOrientedBox && unnamedParam1
  );
  void                              BoundingOrientedBox(
    const XMFLOAT3 & center,
    const XMFLOAT3 & extents,
    const XMFLOAT4 & orientation
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingOrientedBox & Out,
    FXMMATRIX             M
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingOrientedBox & Out,
    float                 Scale,
    FXMVECTOR             Rotation,
    FXMVECTOR             Translation
  ) noexcept;
  void                              GetCorners(
    XMFLOAT3 *Corners
  ) noexcept;
  ContainmentType XM_CALLCONV       Contains(
    FXMVECTOR Point
  ) noexcept;
  ContainmentType XM_CALLCONV       Contains(
    FXMVECTOR V0,
    FXMVECTOR V1,
    FXMVECTOR V2
  ) noexcept;
  ContainmentType                   Contains(
    const BoundingSphere & sh
  ) noexcept;
  ContainmentType                   Contains(
    const BoundingBox & box
  ) noexcept;
  ContainmentType                   Contains(
    const BoundingOrientedBox & box
  ) noexcept;
  ContainmentType                   Contains(
    const BoundingFrustum & fr
  ) noexcept;
  bool                              Intersects(
    const BoundingSphere & sh
  ) noexcept;
  bool                              Intersects(
    const BoundingBox & box
  ) noexcept;
  bool                              Intersects(
    const BoundingOrientedBox & box
  ) noexcept;
  bool                              Intersects(
    const BoundingFrustum & fr
  ) noexcept;
  bool XM_CALLCONV                  Intersects(
    FXMVECTOR V0,
    FXMVECTOR V1,
    FXMVECTOR V2
  ) noexcept;
  PlaneIntersectionType XM_CALLCONV Intersects(
    FXMVECTOR Plane
  ) noexcept;
  bool XM_CALLCONV                  Intersects(
    FXMVECTOR Origin,
    FXMVECTOR Direction,
    float &   Dist
  ) noexcept;
  ContainmentType XM_CALLCONV       ContainedBy(
    FXMVECTOR Plane0,
    FXMVECTOR Plane1,
    FXMVECTOR Plane2,
    GXMVECTOR Plane3,
    HXMVECTOR Plane4,
    HXMVECTOR Plane5
  ) noexcept;
  void                              CreateFromBoundingBox(
    BoundingOrientedBox & Out,
    const BoundingBox &   box
  ) noexcept;
  void                              CreateFromPoints(
    BoundingOrientedBox & Out,
    size_t                Count,
    const XMFLOAT3        *pPoints,
    size_t                Stride
  ) noexcept;
};

Members

CORNER_COUNT

The number of points defining the BoundingOrientedBox.

Center

The center of the BoundingOrientedBox.

Extents

The extents of the BoundingOrientedBox.

Orientation

The orientation of the BoundingOrientedBox represented as a quaternion.

void BoundingOrientedBox() noexcept

Creates an instance of BoundingOrientedBox.

void BoundingOrientedBox( const BoundingOrientedBox & unnamedParam1)

Creates an instance of BoundingOrientedBox.

BoundingOrientedBox & operator=( const BoundingOrientedBox & unnamedParam1)

Copies values from another BoundingOrientedBox.

void BoundingOrientedBox( BoundingOrientedBox && unnamedParam1)

Creates an instance of BoundingOrientedBox.

BoundingOrientedBox & operator=( BoundingOrientedBox && unnamedParam1)

Copies values from another BoundingOrientedBox.

void BoundingOrientedBox( const XMFLOAT3 & center, const XMFLOAT3 & extents, const XMFLOAT4 & orientation) noexcept

Creates an instance of BoundingOrientedBox.

void XM_CALLCONV Transform( BoundingOrientedBox & Out, FXMMATRIX M) noexcept

Transforms the BoundingOrientedBox.

void XM_CALLCONV Transform( BoundingOrientedBox & Out, float Scale, FXMVECTOR Rotation, FXMVECTOR Translation) noexcept

Transforms the BoundingOrientedBox.

void GetCorners( XMFLOAT3 *Corners) noexcept

Retrieves the corners of the BoundingOrientedBox.

ContainmentType XM_CALLCONV Contains( FXMVECTOR Point) noexcept

Tests whether the BoundingOrientedBox contains a specified point.

ContainmentType XM_CALLCONV Contains( FXMVECTOR V0, FXMVECTOR V1, FXMVECTOR V2) noexcept

Tests whether the BoundingOrientedBox contains a triangle.

ContainmentType Contains( const BoundingSphere & sh) noexcept

Tests whether the BoundingOrientedBox contains a BoundingSphere.

ContainmentType Contains( const BoundingBox & box) noexcept

Tests whether the BoundingOrientedBox contains a BoundingBox.

ContainmentType Contains( const BoundingOrientedBox & box) noexcept

Tests whether the BoundingOrientedBox contains a BoundingOrientedBox.

ContainmentType Contains( const BoundingFrustum & fr) noexcept

Tests whether the BoundingOrientedBox contains a BoundingFrustum.

bool Intersects( const BoundingSphere & sh) noexcept

Tests the BoundingOrientedBox for intersection with a BoundingSphere.

bool Intersects( const BoundingBox & box) noexcept

Tests the BoundingOrientedBox for intersection with a BoundingBox.

bool Intersects( const BoundingOrientedBox & box) noexcept

Tests the BoundingOrientedBox for intersection with a BoundingOrientedBox.

bool Intersects( const BoundingFrustum & fr) noexcept

Tests the BoundingOrientedBox for intersection with a BoundingFrustum.

bool XM_CALLCONV Intersects( FXMVECTOR V0, FXMVECTOR V1, FXMVECTOR V2) noexcept

Tests the BoundingOrientedBox for intersection with a triangle.

PlaneIntersectionType XM_CALLCONV Intersects( FXMVECTOR Plane) noexcept

Tests the BoundingOrientedBox for intersection with a plane.

bool XM_CALLCONV Intersects( FXMVECTOR Origin, FXMVECTOR Direction, float & Dist) noexcept

Tests the BoundingOrientedBox for intersection with a ray.

ContainmentType XM_CALLCONV ContainedBy( FXMVECTOR Plane0, FXMVECTOR Plane1, FXMVECTOR Plane2, GXMVECTOR Plane3, HXMVECTOR Plane4, HXMVECTOR Plane5) noexcept

Tests whether the BoundingOrientedBox is contained by a frustum.

void CreateFromBoundingBox( BoundingOrientedBox & Out, const BoundingBox & box) noexcept

Creates a BoundingOrientedBox from a BoundingBox.

void CreateFromPoints( BoundingOrientedBox & Out, size_t Count, const XMFLOAT3 *pPoints, size_t Stride) noexcept

Creates a BoundingOrientedBox from a collection of points.

Remarks

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.

Requirements

Requirement Value
Header directxcollision.h

See also

DirectXMath Library Classes