Поделиться через


Структура BoundingFrustum (directxcollision.h)

Ограничивающий объект frustum.

Синтаксис

struct BoundingFrustum {
  size_t                            CORNER_COUNT;
  XMFLOAT3                          Origin;
  XMFLOAT4                          Orientation;
  float                             RightSlope;
  float                             LeftSlope;
  float                             TopSlope;
  float                             BottomSlope;
  float                             Near;
  float                             Far;
  void                              BoundingFrustum() noexcept;
  void                              BoundingFrustum(
    const BoundingFrustum & unnamedParam1
  );
  BoundingFrustum &                 operator=(
    const BoundingFrustum & unnamedParam1
  );
  void                              BoundingFrustum(
    BoundingFrustum && unnamedParam1
  );
  BoundingFrustum &                 operator=(
    BoundingFrustum && unnamedParam1
  );
  void                              BoundingFrustum(
    const XMFLOAT3 & origin,
    const XMFLOAT4 & orientation,
    float            rightSlope,
    float            leftSlope,
    float            topSlope,
    float            bottomSlope,
    float            nearPlane,
    float            farPlane
  ) noexcept;
  void                              BoundingFrustum(
    CXMMATRIX Projection,
    bool      rhcoords
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingFrustum & Out,
    FXMMATRIX         M
  ) noexcept;
  void XM_CALLCONV                  Transform(
    BoundingFrustum & 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 & sp
  ) 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 rayOrigin,
    FXMVECTOR Direction,
    float &   Dist
  ) noexcept;
  ContainmentType XM_CALLCONV       ContainedBy(
    FXMVECTOR Plane0,
    FXMVECTOR Plane1,
    FXMVECTOR Plane2,
    GXMVECTOR Plane3,
    HXMVECTOR Plane4,
    HXMVECTOR Plane5
  ) noexcept;
  void                              GetPlanes(
    XMVECTOR *NearPlane,
    XMVECTOR *FarPlane,
    XMVECTOR *RightPlane,
    XMVECTOR *LeftPlane,
    XMVECTOR *TopPlane,
    XMVECTOR *BottomPlane
  ) noexcept;
  void XM_CALLCONV                  CreateFromMatrix(
    BoundingFrustum & Out,
    FXMMATRIX         Projection,
    bool              rhcoords
  ) noexcept;
};

Члены

CORNER_COUNT

Количество углов, определяющих BoundingFrustum.

Origin

Источник BoundingFrustum.

Orientation

Ориентация BoundingFrustum представлена в виде кватерниона.

RightSlope

Наклон правой стороны ОграничивающегоFrustum.

LeftSlope

Наклон левой стороны ОграничивающегоFrustum.

TopSlope

Наклон верхней части BoundingFrustum.

BottomSlope

Наклон нижней части ОграничивающегоFrustum.

Near

Расстояние ближней плоскости ОграничивающегоFrustum от его происхождения .

Far

Расстояние дальней плоскости от начала ОграничивающегоFrustum.

void BoundingFrustum() noexcept

Создает экземпляр BoundingFrustum.

void BoundingFrustum( const BoundingFrustum & unnamedParam1)

Создает экземпляр BoundingFrustum.

BoundingFrustum & operator=( const BoundingFrustum & unnamedParam1)

Копирует значения из другого Объекта BoundingFrustum.

void BoundingFrustum( BoundingFrustum && без имениdParam1)

Создает экземпляр BoundingFrustum.

BoundingFrustum & operator=( BoundingFrustum && unnamedParam1)

Копирует значения из другого Объекта BoundingFrustum.

void BoundingFrustum( const XMFLOAT3 & origin, const XMFLOAT4 & ориентация, float rightSlope, float leftSlope, float topSlope, float bottomSlope, float nearPlane, float farPlane) noexcept

Создает экземпляр BoundingFrustum.

void BoundingFrustum( CXMMATRIX Projection, bool rhcoords) noexcept

Создает экземпляр BoundingFrustum из левой матрицы проекции. Дополнительные сведения см. в разделе BoundingFrustum::CreateFromMatrix.

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

Преобразует BoundingFrustum по заданной матрице преобразования.

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

Преобразует BoundingFrustum , используя указанные векторы масштаба, поворота и преобразования.

void GetCorners( XMFLOAT3 *Corners) noexcept

Получает углы, составляющие BoundingFrustum.

ContainmentType XM_CALLCONV Contains( FXMVECTOR Point) noexcept

Проверяет, содержит ли BoundingFrustum указанную точку.

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

Проверяет, содержит ли BoundingFrustum указанный треугольник.

ContainmentType Contains( const BoundingSphere & sp) noexcept

Проверяет, содержит ли BoundingFrustum указанную BoundingSphere.

ContainmentType Contains( const BoundingBox & box) noexcept

Проверяет, содержит ли BoundingFrustum указанный BoundingBox.

ContainmentType Contains( const BoundingOrientedBox & box) noexcept

Проверяет, содержит ли BoundingFrustum указанный объект BoundingOrientedBox.

ContainmentType Contains( const BoundingFrustum & fr) noexcept

Проверяет, содержит ли BoundingFrustum указанный объект BoundingFrustum.

bool Intersects( const BoundingSphere & sh) noexcept

Протестируйте BoundingFrustum на пересечение с BoundingSphere.

bool Intersects( const BoundingBox & box) noexcept

Протестируйте BoundingFrustum на пересечение с BoundingBox.

bool Intersects( const BoundingOrientedBox & box) noexcept

Протестируйте BoundingFrustum на пересечение с BoundingOrientedBox.

bool Intersects( const BoundingFrustum & fr) noexcept

Проверьте BoundingFrustum на пересечение с другим BoundingFrustum.

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

Проверьте BoundingFrustum на пересечение с треугольником.

PlaneIntersectionType XM_CALLCONV Intersects( FXMVECTOR Plane) noexcept

Проверьте BoundingFrustum на пересечение с плоскостью.

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

Проверьте BoundingFrustum на пересечение с лучом.

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

Проверяет, содержится ли BoundingFrustum в указанном frustum.

void GetPlanes( XMVECTOR *NearPlane, XMVECTOR *FarPlane, XMVECTOR *RightPlane, XMVECTOR *LeftPlane, XMVECTOR *TopPlane, XMVECTOR *BottomPlane) noexcept

Получает плоскости, составляющие BoundingFrustum.

void XM_CALLCONV CreateFromMatrix( BoundingFrustum & Out, FXMMATRIX Projection, bool rhcoords) noexcept

Создает BoundingFrustum из указанной матрицы проекции перспективы.

Комментарии

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.

Требования

   
Верхняя часть directxcollision.h

См. также раздел

Классы библиотек DirectXMath