9 #ifndef opengl_CFrustum_H    10 #define opengl_CFrustum_H    61                 static CFrustumPtr Create(
float near_distance, 
float far_distance, 
float horz_FOV_degrees, 
float vert_FOV_degrees, 
float lineWidth = 1.5f, 
bool draw_lines = 
true, 
bool draw_planes = 
false );
    71                 void setNearFarPlanes(
const float near_distance, 
const float far_distance);
    77                 void setHorzFOV(
const float fov_horz_degrees);
    79                 void setVertFOV(
const float fov_vert_degrees);
    81                 void setHorzFOVAsymmetric(
const float fov_horz_left_degrees,
const float fov_horz_right_degrees);
    83                 void setVertFOVAsymmetric(
const float fov_vert_down_degrees,
const float fov_vert_up_degrees);
   105                 CFrustum(
float near_distance, 
float far_distance, 
float horz_FOV_degrees, 
float vert_FOV_degrees, 
float lineWidth, 
bool draw_lines, 
bool draw_planes);
 float getHorzFOVLeft() const
 
#define MRPT_OVERRIDE
C++11 "override" for virtuals: 
 
bool BASE_IMPEXP traceRay(const std::vector< TPolygonWithPlane > &vec, const mrpt::poses::CPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties. 
 
float getNearPlaneDistance() const
 
float getHorzFOVRight() const
 
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
 
float getVertFOVUp() const
 
A renderizable object suitable for rendering with OpenGL's display lists. 
 
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
 
void setPlaneColor(const mrpt::utils::TColor &c)
Changes the color of the planes; to change color of lines, use CRenderizable base methods...
 
double RAD2DEG(const double x)
Radians to degrees. 
 
float m_fov_vert_up
Semi FOVs (in radians) 
 
float getLineWidth() const
 
const mrpt::utils::TColor & getPlaneColor() const
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
 
void setLineWidth(float width)
 
A solid or wireframe frustum in 3D (a rectangular truncated pyramid), with arbitrary (possibly assyme...
 
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
 
mrpt::utils::TColor m_planes_color
 
float getFarPlaneDistance() const
 
float getVertFOVDown() const
 
float m_fov_horz_right
Semi FOVs (in radians)