UnigineEditor
界面概述
资产工作流程
设置和首选项
项目开发
调整节点参数
Setting Up Materials
Setting Up Properties
照明
Landscape Tool
Sandworm (Experimental)
使用编辑器工具执行特定任务
Extending Editor Functionality
编程
基本原理
搭建开发环境
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Unigine::WorldBoundFrustum Class

Header: #include <UnigineBounds.h>

This class serves to construct the bounding frustum in double precision coordinates.

WorldBoundFrustum Class

Members


static WorldBoundFrustumPtr create ( ) #

Default constructor.

WorldBoundFrustum ( const Math::mat4 & projection, const Math::Mat4 & modelview ) #

Constructor. Initializes the bounding frustum by given matrices.

Arguments

  • const Math::mat4 & projection - A projection matrix.
  • const Math::Mat4 & modelview - A modelview matrix.

WorldBoundFrustum ( const WorldBoundFrustum & bf ) #

Constructor. Initializes by given bounding frustum.

Arguments

  • const WorldBoundFrustum & bf - The bounding frustum.

WorldBoundFrustum ( const BoundFrustum & bf, const Math::Mat4 & itransform ) #

Constructor. Initializes by given bounding frustum and transformation matrix.

Arguments

  • const BoundFrustum & bf - The bounding frustum.
  • const Math::Mat4 & itransform - The inverse transformation matrix.

WorldBoundFrustum ( const WorldBoundFrustum & bf, const Math::Mat4 & transform ) #

Constructor. Initializes by given bounding frustum and transformation matrix.

Arguments

  • const WorldBoundFrustum & bf - The bounding frustum.
  • const Math::Mat4 & transform - The transformation matrix.

BoundFrustum & operator= ( const BoundFrustum & bf ) #

Assignment operator.

Arguments

Return value

Bounding frustum.

void clear ( ) #

Clears the bounding frustum.

void set ( const Math::mat4 & projection, const Math::Mat4 & modelview ) #

Sets the bounding frustum by given matrices.

Arguments

  • const Math::mat4 & projection - A projection matrix.
  • const Math::Mat4 & modelview - A modelview matrix.

void set ( const WorldBoundFrustum & bf ) #

Sets the bounding frustum by given bounding frustum.

Arguments

  • const WorldBoundFrustum & bf - The bounding frustum.

void set ( const BoundFrustum & bf, const Math::Mat4 & itransform ) #

Sets the bounding frustum by given bounding frustum and transformation matrix.

Arguments

  • const BoundFrustum & bf - The bounding frustum.
  • const Math::Mat4 & itransform - The inverse transformation matrix.

void set ( const WorldBoundFrustum & bf, const Math::Mat4 & itransform ) #

Sets the bounding frustum by given bounding frustum and transformation matrix.

Arguments

  • const WorldBoundFrustum & bf - The bounding frustum.
  • const Math::Mat4 & itransform - The inverse transformation matrix.

int inside ( const Math::Vec3 & point ) const#

Checks if the point is inside the bounding frustum.

Arguments

  • const Math::Vec3 & point - The coordinates of the point.

Return value

1 if the point is inside the bounding frustum; otherwise, 0.

int inside ( const Math::Vec3 & point, Math::Scalar radius ) const#

Checks if the sphere is inside the bounding frustum.

Arguments

  • const Math::Vec3 & point - The coordinates of the center of the sphere.
  • Math::Scalar radius - The sphere radius.

Return value

1 if the sphere is inside the bounding frustum; otherwise, 0.

int inside ( const Math::Vec3 & min, const Math::Vec3 & max ) const#

Checks if the box is inside the bounding frustum.

Arguments

  • const Math::Vec3 & min - The box minimum coordinate.
  • const Math::Vec3 & max - The box maximum coordinate.

Return value

1 if the box is inside the bounding frustum; otherwise, 0.

int inside ( const Math::Vec3 * points, int num ) const#

Checks if a set of points is inside the bounding frustum.

Arguments

  • const Math::Vec3 * points - Vector of points.
  • int num - Number of points.

Return value

1 if the points are inside the bounding frustum; otherwise, 0.

int inside ( const WorldBoundBox & bb ) const#

Checks if the bounding box is inside the bounding frustum.

Arguments

Return value

1 if the bounding box is inside the bounding frustum; otherwise, 0.

int inside ( const WorldBoundSphere & bs ) const#

Checks if the bounding sphere is inside the bounding frustum.

Arguments

Return value

1 if the bounding sphere is inside the bounding frustum; otherwise, 0.

int insideFast ( const Math::Vec3 & point ) const#

Performs a fast check if the point is inside the bounding frustum.

Arguments

  • const Math::Vec3 & point - Point.

Return value

1 if the point is inside the bounding frustum; otherwise, 0.

int insideFast ( const Math::Vec3 & point, Math::Scalar radius ) const#

Performs a fast check if the sphere is inside the bounding frustum.

Arguments

  • const Math::Vec3 & point - Center point.
  • Math::Scalar radius - Radius.

Return value

1 if the sphere is inside the bounding frustum; otherwise, 0.

int insideFast ( const Math::Vec3 & min, const Math::Vec3 & max ) const#

Performs a fast check if the box is inside the bounding frustum.

Arguments

  • const Math::Vec3 & min - Minimum point.
  • const Math::Vec3 & max - Maximum point.

Return value

1 if the box is inside the bounding frustum; otherwise, 0.

int insideFast ( const Math::Vec3 * points, int num ) const#

Performs a fast check if the set of points is inside the bounding frustum.

Arguments

  • const Math::Vec3 * points - Vector of points.
  • int num - Number of points.

Return value

1 if the point is inside the bounding frustum; otherwise, 0.

int insideValid ( const WorldBoundSphere & bs ) const#

Checks if the given bounding sphere is inside the bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding sphere is inside the bounding frustum; otherwise, 0.

int insideValid ( const WorldBoundBox & bb ) const#

Checks if the given bounding box is inside the bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding box is inside the bounding frustum; otherwise, 0.

int insideValidFast ( const WorldBoundSphere & bs ) const#

Performs a fast check if the given bounding sphere is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding sphere is inside the bounding frustum; otherwise, 0.

int insideValidFast ( const WorldBoundBox & bb ) const#

Performs a fast check if the given bounding box is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding box is inside the bounding frustum; otherwise, 0.

int insideAll ( const WorldBoundBox & bb ) const#

Checks if the whole given bounding box is inside the current bounding frustum.

Arguments

Return value

1 if the whole box is inside the bounding frustum; otherwise, 0.

int insideAll ( const WorldBoundSphere & bs ) const#

Checks if the whole given bounding sphere is inside the current bounding frustum.

Arguments

Return value

1 if the whole sphere is inside the bounding frustum; otherwise, 0.

int insideAllValid ( const WorldBoundSphere & bs ) const#

Checks if the whole given bounding sphere is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding sphere is inside the bounding frustum; otherwise, 0.

int insideAllValid ( const WorldBoundBox & bb ) const#

Checks if the whole given bounding box is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding box is inside the bounding frustum; otherwise, 0.

int insideAllValidFast ( const WorldBoundSphere & bs ) const#

Performs a fast check if the whole given bounding sphere is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding sphere is inside the bounding frustum; otherwise, 0.

int insideAllValidFast ( const WorldBoundBox & bb ) const#

Performs a fast check if the whole given bounding box is inside the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

Return value

1 if the given bounding box is inside the bounding frustum; otherwise, 0.

int insideShadowValid ( const WorldBoundSphere & object, const Math::Vec3 & direction ) const#

Checks if the given bounding sphere is inside the shadow of the current bounding frustum.
Notice
The method doesn't check the status of the current bounding frustum.

Arguments

  • const WorldBoundSphere & object - Bounding sphere.
  • const Math::Vec3 & direction - The direction vector.

Return value

1 if the given bounding sphere is inside the shadow; otherwise, 0.

bool isValid ( ) const#

Checks the bounding frustum status.

Return value

true if the bounding frustum is valid, otherwise false.

Math::dvec3 getCamera ( ) const#

Returns the position of the camera.

Return value

Camera position.

const Math::Vec4 * getPlanes ( ) const#

Returns the bounding frustum cliping planes array.

Return value

The bounding frustum cliping planes array.
Last update: 2020-04-10