Mathematical representation of a frustum and related functions. This is also known as a view frustum. More...
#include <Frustum.hh>
Public Types | |
enum | FrustumPlane { FRUSTUM_PLANE_NEAR = 0, FRUSTUM_PLANE_FAR = 1, FRUSTUM_PLANE_LEFT = 2, FRUSTUM_PLANE_RIGHT = 3, FRUSTUM_PLANE_TOP = 4, FRUSTUM_PLANE_BOTTOM = 5 } |
Planes that define the boundaries of the frustum. More... | |
Public Member Functions | |
Frustum () | |
Default constructor. With the following default values: More... | |
Frustum (const double _near, const double _far, const math::Angle &_fov, const double _aspectRatio, const math::Pose3d &_pose=math::Pose3d::Zero) | |
Constructor. More... | |
Frustum (const Frustum &_p) | |
Copy Constructor. More... | |
virtual | ~Frustum () |
Destructor. More... | |
double | AspectRatio () const |
Get the aspect ratio, which is the width divided by height of the near or far planes. More... | |
bool | Contains (const AxisAlignedBox &_b) const |
Check if a box lies inside the pyramid frustum. More... | |
bool | Contains (const Vector3d &_p) const |
Check if a point lies inside the pyramid frustum. More... | |
double | Far () const |
Get the far distance. This is the distance from the frustum's vertex to the farthest plane. More... | |
math::Angle | FOV () const |
Get the horizontal field of view. The field of view is the angle between the frustum's vertex and the edges of the near or far plane. This value represents the horizontal angle. More... | |
double | Near () const |
Get the near distance. This is the distance from the frustum's vertex to the closest plane. More... | |
Frustum & | operator= (const Frustum &_f) |
Assignment operator. Set this frustum to the parameter. More... | |
Planed | Plane (const FrustumPlane _plane) const |
Get a plane of the frustum. More... | |
Pose3d | Pose () const |
Get the pose of the frustum. More... | |
void | SetAspectRatio (const double _aspectRatio) |
Set the aspect ratio, which is the width divided by height of the near or far planes. More... | |
void | SetFar (const double _far) |
Set the far distance. This is the distance from the frustum's vertex to the farthest plane. More... | |
void | SetFOV (const math::Angle &_fov) |
Set the horizontal field of view. The field of view is the angle between the frustum's vertex and the edges of the near or far plane. This value represents the horizontal angle. More... | |
void | SetNear (const double _near) |
Set the near distance. This is the distance from the frustum's vertex to the closest plane. More... | |
void | SetPose (const Pose3d &_pose) |
Set the pose of the frustum. More... | |
Detailed Description
Mathematical representation of a frustum and related functions. This is also known as a view frustum.
Member Enumeration Documentation
◆ FrustumPlane
enum FrustumPlane |
Constructor & Destructor Documentation
◆ Frustum() [1/3]
Frustum | ( | ) |
Default constructor. With the following default values:
- near: 0.0
- far: 1.0
- fov: 0.78539 radians (45 degrees)
- aspect ratio: 1.0
- pose: Pose3d::Zero
◆ Frustum() [2/3]
Frustum | ( | const double | _near, |
const double | _far, | ||
const math::Angle & | _fov, | ||
const double | _aspectRatio, | ||
const math::Pose3d & | _pose = math::Pose3d::Zero |
||
) |
Constructor.
- Parameters
-
[in] _near Near plane distance. This is the distance from the frustum's vertex to the closest plane [in] _far Far plane distance. This is the distance from the frustum's vertex to the farthest plane. [in] _fov Field of view. The field of view is the angle between the frustum's vertex and the edges of the near or far plane. This value represents the horizontal angle. [in] _aspectRatio The aspect ratio, which is the width divided by height of the near or far planes. [in] _pose Pose of the frustum, which is the vertex (top of the pyramid).
◆ Frustum() [3/3]
◆ ~Frustum()
|
virtual |
Destructor.
Member Function Documentation
◆ AspectRatio()
double AspectRatio | ( | ) | const |
Get the aspect ratio, which is the width divided by height of the near or far planes.
- Returns
- The frustum's aspect ratio.
- See also
- SetAspectRatio
◆ Contains() [1/2]
bool Contains | ( | const AxisAlignedBox & | _b | ) | const |
Check if a box lies inside the pyramid frustum.
- Parameters
-
[in] _b Box to check.
- Returns
- True if the box is inside the pyramid frustum.
◆ Contains() [2/2]
bool Contains | ( | const Vector3d & | _p | ) | const |
Check if a point lies inside the pyramid frustum.
- Parameters
-
[in] _p Point to check.
- Returns
- True if the point is inside the pyramid frustum.
◆ Far()
double Far | ( | ) | const |
Get the far distance. This is the distance from the frustum's vertex to the farthest plane.
- Returns
- Far distance.
- See also
- SetFar
◆ FOV()
math::Angle FOV | ( | ) | const |
Get the horizontal field of view. The field of view is the angle between the frustum's vertex and the edges of the near or far plane. This value represents the horizontal angle.
- Returns
- The field of view.
- See also
- SetFOV
◆ Near()
double Near | ( | ) | const |
Get the near distance. This is the distance from the frustum's vertex to the closest plane.
- Returns
- Near distance.
- See also
- SetNear
◆ operator=()
Assignment operator. Set this frustum to the parameter.
- Parameters
-
[in] _f Frustum to copy
- Returns
- The new frustum.
◆ Plane()
Planed Plane | ( | const FrustumPlane | _plane | ) | const |
◆ Pose()
◆ SetAspectRatio()
void SetAspectRatio | ( | const double | _aspectRatio | ) |
Set the aspect ratio, which is the width divided by height of the near or far planes.
- Parameters
-
[in] _aspectRatio The frustum's aspect ratio.
- See also
- AspectRatio
◆ SetFar()
void SetFar | ( | const double | _far | ) |
Set the far distance. This is the distance from the frustum's vertex to the farthest plane.
- Parameters
-
[in] _far Far distance.
- See also
- Far
◆ SetFOV()
void SetFOV | ( | const math::Angle & | _fov | ) |
Set the horizontal field of view. The field of view is the angle between the frustum's vertex and the edges of the near or far plane. This value represents the horizontal angle.
- Parameters
-
[in] _fov The field of view.
- See also
- FOV
◆ SetNear()
void SetNear | ( | const double | _near | ) |
Set the near distance. This is the distance from the frustum's vertex to the closest plane.
- Parameters
-
[in] _near Near distance.
- See also
- Near
◆ SetPose()
void SetPose | ( | const Pose3d & | _pose | ) |
The documentation for this class was generated from the following file: