Bagikan melalui


Struktur BoundingBox (directxcollision.h)

Objek rata sumbu pembatas.

Sintaks

struct BoundingBox {
  size_t                            CORNER_COUNT;
  XMFLOAT3                          Center;
  XMFLOAT3                          Extents;
  void                              BoundingBox() noexcept;
  void                              BoundingBox(
    const BoundingBox & unnamedParam1
  );
  BoundingBox &                     operator=(
    const BoundingBox & unnamedParam1
  );
  void                              BoundingBox(
    BoundingBox && unnamedParam1
  );
  BoundingBox &                     operator=(
    BoundingBox && unnamedParam1
  );
  void                              BoundingBox(
    const XMFLOAT3 & center,
    const XMFLOAT3 & extents
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingBox & Out,
    FXMMATRIX     M
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingBox & 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                              CreateMerged(
    BoundingBox &       Out,
    const BoundingBox & b1,
    const BoundingBox & b2
  ) noexcept;
  void                              CreateFromSphere(
    BoundingBox &          Out,
    const BoundingSphere & sh
  ) noexcept;
  void XM_CALLCONV                  CreateFromPoints(
    BoundingBox & Out,
    FXMVECTOR     pt1,
    FXMVECTOR     pt2
  ) noexcept;
  void                              CreateFromPoints(
    BoundingBox &  Out,
    size_t         Count,
    const XMFLOAT3 *pPoints,
    size_t         Stride
  ) noexcept;
};

Anggota

CORNER_COUNT

Jumlah titik yang menentukan BoundingBox.

Center

Bagian tengah BoundingBox.

Extents

Jangkauan BoundingBox.

void BoundingBox() noexcept

Membuat instans BoundingBox kelas .

void BoundingBox( const BoundingBox & unnamedParam1)

Membuat instans BoundingBox kelas .

Operator & BoundingBox=( const BoundingBox & unnamedParam1)

Menyalin nilai dari BoundingBox lain.

void BoundingBox( BoundingBox && unnamedParam1)

Membuat instans BoundingBox kelas .

BoundingBox & operator=( BoundingBox && unnamedParam1)

noexcept void BoundingBox( const XMFLOAT3 & center, const XMFLOAT3 & extents)

Membuat instans BoundingBox kelas .

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

Mengubah BoundingBox.

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

Mengubah BoundingBox.

void GetCorners( XMFLOAT3 *Corners) noexcept

Mengambil sudut BoundingBox.

ContainmentType XM_CALLCONV Contains( FXMVECTOR Point) noexcept

Menguji apakah BoundingBox berisi titik tertentu.

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

Uji apakah BoundingBox berisi segitiga tertentu.

ContainmentType Contains( const BoundingSphere & sh) noexcept

Menguji apakah BoundingBox berisi BoundingSphere tertentu.

ContainmentType Contains( const BoundingBox & box) noexcept

Menguji apakah BoundingBox berisi BoundingBox lain.

ContainmentType Contains( const BoundingOrientedBox & box) noexcept

Menguji apakah BoundingBox berisi BoundingOrientedBox yang ditentukan.

ContainmentType Contains( const BoundingFrustum & fr) noexcept

Menguji apakah BoundingBox berisi BoundingFrustum yang ditentukan.

bool Intersects( const BoundingSphere & sh) noexcept

Menguji BoundingBox untuk persimpangan dengan BoundingSphere.

noexcept bool Intersects( const BoundingBox & box)

Menguji BoundingBox untuk persimpangan dengan BoundingBox lain.

bool Intersects( const BoundingOrientedBox & box) noexcept

Uji BoundingBox untuk persimpangan dengan BoundingOrientedBox.

bool Intersects( const BoundingFrustum & fr) noexcept

Uji BoundingBox untuk persimpangan dengan BoundingFrustum.

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

Uji BoundingBox untuk persimpangan dengan segitiga.

PlaneIntersectionType XM_CALLCONV Intersects( FXMVECTOR Plane) noexcept

Uji BoundingBox untuk persimpangan dengan pesawat.

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

Uji BoundingBox untuk persimpangan dengan sinar.

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

Menguji apakah BoundingBox terkandung oleh frustum yang ditentukan.

void CreateMerged( BoundingBox & Out, const BoundingBox & b1, const BoundingBox & b2) noexcept

Membuat BoundingBox yang cukup besar untuk berisi dua instans BoundBox tertentu.

void CreateFromSphere( BoundingBox & Out, const BoundingSphere & sh) noexcept

Membuat BoundingBox yang cukup besar untuk memuat BoundingSphere yang ditentukan.

void XM_CALLCONV createFromPoints( BoundingBox & Out, FXMVECTOR pt1, FXMVECTOR pt2) noexcept

Membuat BoundingBox dari dua titik.

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

Membuat BoundingBox dari daftar titik.

Keterangan

Persyaratan Platform

Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.

Gunakan DirectX.

Persyaratan

   
Header directxcollision.h

Lihat juga

Kelas Pustaka DirectXMath