Go to the documentation of this file.
9 #ifndef opengl_CFrustum_H
10 #define opengl_CFrustum_H
72 float near_distance,
float far_distance,
float horz_FOV_degrees,
73 float vert_FOV_degrees,
float lineWidth = 1.5f,
bool draw_lines =
true,
74 bool draw_planes =
false);
100 void setHorzFOV(
const float fov_horz_degrees);
102 void setVertFOV(
const float fov_vert_degrees);
105 const float fov_horz_left_degrees,
const float fov_horz_right_degrees);
108 const float fov_vert_down_degrees,
const float fov_vert_up_degrees);
138 float near_distance,
float far_distance,
float horz_FOV_degrees,
139 float vert_FOV_degrees,
float lineWidth,
bool draw_lines,
const mrpt::img::TColor & getPlaneColor() const
mrpt::img::TColor m_planes_color
float getVertFOVUp() const
void setHorzFOVAsymmetric(const float fov_horz_left_degrees, const float fov_horz_right_degrees)
Changes horizontal FOV (asymmetric)
void setLineWidth(float width)
void setNearFarPlanes(const float near_distance, const float far_distance)
Changes distance of near & far planes.
void setPlaneColor(const mrpt::img::TColor &c)
Changes the color of the planes; to change color of lines, use CRenderizable base methods.
float getFarPlaneDistance() const
float m_fov_horz_left
Semi FOVs (in radians)
A renderizable object suitable for rendering with OpenGL's display lists.
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
float getVertFOVDown() const
double RAD2DEG(const double x)
Radians to degrees.
void setVertFOVAsymmetric(const float fov_vert_down_degrees, const float fov_vert_up_degrees)
Changes vertical FOV (asymmetric)
std::shared_ptr< CFrustum > Ptr
float getLineWidth() const
void setVertFOV(const float fov_vert_degrees)
Changes vertical FOV (symmetric)
void render_dl() const override
Render.
float getHorzFOVLeft() const
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void setHorzFOV(const float fov_horz_degrees)
Changes horizontal FOV (symmetric)
void getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const override
Evaluates the bounding box of this object (including possible children) in the coordinate frame of th...
A solid or wireframe frustum in 3D (a rectangular truncated pyramid), with arbitrary (possibly assyme...
static Ptr Create(Args &&... args)
float m_fov_vert_down
Semi FOVs (in radians)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing.
float getHorzFOVRight() const
CFrustum()
Basic empty constructor.
float getNearPlaneDistance() const
float m_min_distance
Near and far planes.
virtual ~CFrustum()
Destructor
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |