Unigine::BoundFrustum Class
Header: | #include <UnigineBounds.h> |
This class serves to construct the bounding frustum in single precision coordinates.
Instances of this class are deleted automatically when it is necessary.
In case of double precision coordinates, the bounding frustum should be constructed by using the WorldBoundFrustum class. It includes the same functions as the BoundFrustum class, but its functions deal with the double precision coordinates.
To support both single and double precision builds, you can use the WorldBoundFrustum class only. The engine will automatically substitute it with the BoundFrustum if it is required.
BoundFrustum Class
Members
BoundFrustum()
Constructor. Creates an empty bounding frustum.BoundFrustum(const mat4 & projection, const mat4 & modelview)
Initialization by matrices.Arguments
- const mat4 & projection - A projection matrix.
- const mat4 & modelview - A modelview matrix.
BoundFrustum(const BoundFrustum & bf)
Initialization by the bounding frustum.Arguments
- const BoundFrustum & bf - The bounding frustum.
BoundFrustum(const BoundFrustum & bf, const mat4 & invtransform)
Initialization by the bounding frustum and transformation matrix.Arguments
- const BoundFrustum & bf - The bounding frustum.
- const mat4 & invtransform - The inverse transformation matrix.
void set(const mat4 & projection, const mat4 & modelview)
Sets the bounding frustum by matrices.Arguments
- const mat4 & projection - A projection matrix.
- const mat4 & modelview - A modelview matrix.
void set(const BoundFrustum & bf)
Sets the bounding frustum by the bounding frustum.Arguments
- const BoundFrustum & bf - The bounding frustum.
void set(const BoundFrustum & bf, const mat4 & itransform)
Sets the bounding frustum by the bounding frustum and transformation matrix.Arguments
- const BoundFrustum & bf - The bounding frustum.
- const mat4 & itransform - The inverse transformation matrix.
const mat4 & getModelview() const
Returns the bounding frustum modelview matrix.Return value
The bounding frustum modelview matrix.const vec4 * getPlanes() const
Returns the bounding frustum cliping planes array.Return value
The bounding frustum cliping planes array.const mat4 & getProjection() const
Returns the projection matrix of the bounding frustum.Return value
The bounding frustum projection matrix.int isValid() const
Checks the bounding frustum status.Return value
1 if the bounding frustum is valid.void clear()
Clears the bounding frustum.int inside(const vec3 & point, float radius) const
Checks if the sphere is inside the bounding frustum.Arguments
- const vec3 & point - The coordinates of the center of the sphere.
- float radius - The sphere radius.
Return value
1 if the sphere is inside the bounding frustum; otherwise, 0.int inside(const vec3 & min, const vec3 & max) const
Checks if the box is inside the bounding frustum.Arguments
- const vec3 & min - The box minimum coordinate.
- const vec3 & max - The box maximum coordinate.
Return value
1 if the box is inside the bounding frustum; otherwise, 0.int inside(const BoundSphere & bs) const
Checks if the bounding sphere is inside the bounding frustum.Arguments
- const BoundSphere & bs - The bounding sphere.
Return value
1 if the bounding sphere is inside the bounding frustum; otherwise, 0.int inside(const BoundBox & bb) const
Checks if the bounding box is inside the bounding frustum.Arguments
- const BoundBox & bb - The bounding box.
Return value
1 if the bounding box is inside the bounding frustum; otherwise, 0.int insideAll(const BoundBox & bb)
Checks if the whole given bounding box is inside the current bounding frustum.Arguments
- const BoundBox & bb - Bounding box.
Return value
1 if the whole bounding box is inside the bounding frustum; otherwise, 0.int insideAll(const BoundSphere & bs)
Checks if the whole given bounding sphere is inside the current bounding frustum.Arguments
- const BoundSphere & bs - Bounding sphere.
Return value
1 if the whole bounding sphere is inside the bounding frustum; otherwise, 0.Last update: 04.06.2018
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter