23 uint8_t
CSphere::serializeGetVersion()
const {
return 2; }
26 writeToStreamRender(
out);
28 out << (uint32_t)m_nDivsLongitude << (uint32_t)m_nDivsLatitude;
38 readFromStreamRender(in);
46 bool keepRadiusIndependentEyeDistance;
47 in >> keepRadiusIndependentEyeDistance;
50 regenerateBaseParams();
69 CPose3D transf = this->m_pose - o;
70 double x = transf.
x(), y = transf.
y(), z = transf.z();
71 double r2 = m_radius * m_radius;
72 double dyz = y * y + z * z;
73 if (dyz > r2)
return false;
74 double dx = sqrt(r2 - dyz);
107 const_cast<CSphere*
>(
this)->regenerateBaseParams();
108 BASE::renderUpdateBuffers();
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Simulation of ray-trace, given a pose.
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files.
void notifyChange() const
Call to enable calling renderUpdateBuffers() before the next render() rendering iteration.
The base class of 3D objects that can be directly rendered through OpenGL.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
void renderUpdateBuffers() const override
Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers, etc.
This base provides a set of functions for maths stuff.
double x() const
Common members of all points & poses classes.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Virtual base class for "archives": classes abstracting I/O streams.
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::vision::TStereoCalibResults out
A solid or wire-frame sphere.
The namespace for 3D scene representation and rendering.
virtual 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 serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.