Main MRPT website > C++ reference for MRPT 1.9.9
CEllipsoidInverseDepth2D.cpp
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #include "opengl-precomp.h" // Precompiled header
11 
13 #include <mrpt/math/matrix_serialization.h> // for << >> ops of matrices
15 
16 using namespace mrpt;
17 using namespace mrpt::opengl;
18 
19 using namespace mrpt::math;
20 using namespace std;
21 
24 
25 /*---------------------------------------------------------------
26  transformFromParameterSpace
27  ---------------------------------------------------------------*/
29  const std::vector<BASE::array_parameter_t>& in_pts,
30  std::vector<BASE::array_point_t>& out_pts) const
31 {
33 
34  // (inv_range,yaw) --> (x,y)
35  const size_t N = in_pts.size();
36  out_pts.resize(N);
37  for (size_t i = 0; i < N; i++)
38  {
39  const double inv_range = in_pts[i][0];
40  const double yaw = in_pts[i][1];
41  const double range = inv_range < 0
42  ? m_underflowMaxRange
43  : (inv_range != 0 ? 1. / inv_range : 0);
44  out_pts[i][0] = range * cos(yaw);
45  out_pts[i][1] = range * sin(yaw);
46  }
47 
48  MRPT_END
49 }
50 
54 {
55  writeToStreamRender(out);
56  BASE::thisclass_writeToStream(out);
57 
58  out << m_underflowMaxRange;
59 }
62 {
63  switch (version)
64  {
65  case 0:
66  {
67  readFromStreamRender(in);
68  BASE::thisclass_readFromStream(in);
69 
70  in >> m_underflowMaxRange;
71  }
72  break;
73  default:
75  };
77 }
matrix_serialization.h
mrpt::opengl::CEllipsoidInverseDepth2D::transformFromParameterSpace
virtual void transformFromParameterSpace(const std::vector< BASE::array_parameter_t > &in_pts, std::vector< BASE::array_point_t > &out_pts) const override
To be implemented by derived classes: maps, using some arbitrary space transformation,...
mrpt::opengl::CRenderizableDisplayList
A renderizable object suitable for rendering with OpenGL's display lists.
Definition: CRenderizableDisplayList.h:39
IMPLEMENTS_SERIALIZABLE
IMPLEMENTS_SERIALIZABLE(CEllipsoidInverseDepth2D, CRenderizableDisplayList, mrpt::opengl) void CEllipsoidInverseDepth2D
Definition: CEllipsoidInverseDepth2D.cpp:22
mrpt::opengl::CRenderizableDisplayList::notifyChange
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
Definition: CRenderizableDisplayList.h:57
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
uint8_t
unsigned char uint8_t
Definition: rptypes.h:41
mrpt::serialization::CArchive
Virtual base class for "archives": classes abstracting I/O streams.
Definition: CArchive.h:48
mrpt::opengl::CEllipsoidInverseDepth2D::serializeFrom
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
MRPT_START
#define MRPT_START
Definition: exceptions.h:262
mrpt::opengl::CEllipsoidInverseDepth2D::serializeTo
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
CEllipsoidInverseDepth2D.h
mrpt::opengl::CEllipsoidInverseDepth2D
An especial "ellipsoid" in 3D computed as the uncertainty iso-surfaces of a (inv_range,...
Definition: CEllipsoidInverseDepth2D.h:46
opengl-precomp.h
mrpt::opengl::CEllipsoidInverseDepth2D::serializeGetVersion
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
MRPT_END
#define MRPT_END
Definition: exceptions.h:266
mrpt::math
This base provides a set of functions for maths stuff.
Definition: math/include/mrpt/math/bits_math.h:13
in
GLuint in
Definition: glext.h:7274
CArchive.h
MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
Definition: exceptions.h:90
range
GLsizei range
Definition: glext.h:5907
mrpt::opengl
The namespace for 3D scene representation and rendering.
Definition: CGlCanvasBase.h:15



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