166 const float baseRadius,
const float topRadius,
const float height = 1,
167 const int slices = 10,
const int stacks = 10)
197 : (Z <= mHeight && Z >= 0);
bool mHasTopBase
Boolean parameters about including the bases in the object.
void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
float getBottomRadius() const
Gets the bottom radius.
void setHasBases(bool top=true, bool bottom=true)
Configuration of the cylinder's bases display.
#define DEFINE_SCHEMA_SERIALIZABLE()
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
A renderizable object suitable for rendering with OpenGL's display lists.
void setSlicesCount(uint32_t slices)
Gets how many slices are used in the cylinder's lateral area and in its bases.
uint32_t getSlicesCount() const
Sets the amount of slices used to display the object.
CCylinder()=default
Basic empty constructor.
A cylinder or cone whose base lies in the XY plane.
void render_dl() const override
Render.
uint32_t mSlices
Implementation parameters on which depend the number of actually rendered polygons.
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...
void setStacksCount(uint32_t stacks)
Gets how many stacks are used in the cylinder's lateral area.
uint32_t getStacksCount() const
Sets the amount of stacks used to display the object.
float mHeight
Cylinder's height.
bool hasTopBase() const
Check whether top base is displayed.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
void setRadius(float radius)
Sets both radii to a single value, thus configuring the object as a cylinder.
bool hasBottomBase() const
Check whether bottom base is displayed.
GLdouble GLdouble GLdouble r
float mBaseRadius
Cylinder's radii.
bool reachesHeight(float Z) const
Checks whether the cylinder exists at some height.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing.
float getHeight() const
Gets the cylinder's height.
The namespace for 3D scene representation and rendering.
float getTopRadius() const
Gets the top radius.
~CCylinder() override=default
Destructor.
void setHeight(float height)
Chenges cylinder's height.
GLenum GLsizei GLsizei height
unsigned __int32 uint32_t
void setRadii(float bottom, float top)
Sets both radii independently.
CCylinder(const float baseRadius, const float topRadius, const float height=1, const int slices=10, const int stacks=10)
Complete constructor.
bool getRadius(float Z, float &r) const
Gets the radius of the circunference located at certain height, returning false if the cylinder doesn...