The namespace for 3D scene representation and rendering.
See also the summary page of the mrpt-opengl library for more info and thumbnails of many of the render primitive.
Namespaces | |
detail | |
gl_utils | |
A set of auxiliary functions that can be called to render OpenGL primitives from MRPT or user code. | |
graph_tools | |
Tool functions for graphs of pose constraints. | |
stock_objects | |
A collection of pre-built 3D objects for quick insertion in opengl::COpenGLScene objects. | |
Classes | |
class | C3DSScene |
This element keeps a set of objects imported from a 3DStudio file (.3ds). More... | |
class | CAngularObservationMesh |
A mesh built from a set of 2D laser scan observations. More... | |
class | CArrow |
A 3D arrow. More... | |
class | CAssimpModel |
This class can load & render 3D models in a number of different formats (requires the library assimp). More... | |
class | CAxis |
Draw a 3D world axis, with coordinate marks at some regular interval. More... | |
class | CBox |
A solid or wireframe box in 3D, defined by 6 rectangular faces parallel to the planes X, Y and Z (note that the object can be translated and rotated afterwards as any other CRenderizable object using the "object pose" in the base class). More... | |
class | CCamera |
A camera: if added to a scene, the viewpoint defined by this camera will be used instead of the camera parameters set in COpenGLViewport::m_camera. More... | |
class | CColorBar |
A colorbar indicator. More... | |
class | CCylinder |
A cylinder or cone whose base lies in the XY plane. More... | |
class | CDisk |
A planar disk in the XY plane. More... | |
class | CEllipsoid |
A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3). More... | |
class | CEllipsoidInverseDepth2D |
An especial "ellipsoid" in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw) variable. More... | |
class | CEllipsoidInverseDepth3D |
An especial "ellipsoid" in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw,pitch) variable. More... | |
class | CEllipsoidRangeBearing2D |
An especial "ellipsoid" in 2D computed as the uncertainty iso-surfaces of a (range,bearing) variable. More... | |
class | CFBORender |
A class for rendering 3D scenes off-screen directly into an image using OpenGL extensions (glext). More... | |
class | CFrustum |
A solid or wireframe frustum in 3D (a rectangular truncated pyramid), with arbitrary (possibly assymetric) field-of-view angles. More... | |
class | CGeneralizedCylinder |
This object represents any figure obtained by extruding any profile along a given axis. More... | |
class | CGeneralizedEllipsoidTemplate |
A class that generalizes the concept of an ellipsoid to arbitrary parameterizations of uncertainty shapes in either 2D or 3D. More... | |
class | CGridPlaneXY |
A grid of lines over the XY plane. More... | |
class | CGridPlaneXZ |
A grid of lines over the XZ plane. More... | |
struct | CLight |
Each of the possible lights of a 3D scene. More... | |
class | CMesh |
A planar (XY) grid where each cell has an associated height and, optionally, a texture map. More... | |
class | CMesh3D |
A 3D mesh composed of Triangles and/or Quads. More... | |
class | CMeshFast |
A planar (XY) grid where each cell has an associated height and, optionally, a texture map. More... | |
class | COctoMapVoxels |
A flexible renderer of voxels, typically from a 3D octo map (see mrpt::maps::COctoMap). More... | |
class | COctreePointRenderer |
Template class that implements the data structure and algorithms for Octree-based efficient rendering. More... | |
class | COpenGLScene |
This class allows the user to create, load, save, and render 3D scenes using OpenGL primitives. More... | |
class | COpenGLStandardObject |
Objects of this class represent a generic openGL object without specific geometric properties. More... | |
class | COpenGLViewport |
A viewport within a COpenGLScene, containing a set of OpenGL objects to render. More... | |
class | CPlanarLaserScan |
This object renders a 2D laser scan by means of three elements: the points, the line along end-points and the 2D scanned surface. More... | |
class | CPointCloud |
A cloud of points, all with the same color or each depending on its value along a particular coordinate axis. More... | |
class | CPointCloudColoured |
A cloud of points, each one with an individual colour (R,G,B). More... | |
class | CPolyhedron |
This class represents arbitrary polyhedra. More... | |
class | CRenderizable |
The base class of 3D objects that can be directly rendered through OpenGL. More... | |
class | CRenderizableDisplayList |
A renderizable object suitable for rendering with OpenGL's display lists. More... | |
class | CSetOfLines |
A set of independent lines (or segments), one line with its own start and end positions (X,Y,Z). More... | |
class | CSetOfObjects |
A set of object, which are referenced to the coordinates framework established in this object. More... | |
class | CSetOfTexturedTriangles |
A set of textured triangles. More... | |
class | CSetOfTriangles |
A set of colored triangles. More... | |
class | CSimpleLine |
A line segment. More... | |
class | CSphere |
A solid or wire-frame sphere. More... | |
class | CText |
A 2D text (bitmap rendering): it always "faces the observer" despite it's at some 3D location. More... | |
class | CText3D |
A 3D text (rendered with OpenGL primitives), with selectable font face and drawing style. More... | |
class | CTextMessageCapable |
Keeps a list of text messages which can be rendered to OpenGL contexts by graphic classes. More... | |
class | CTexturedObject |
A base class for all OpenGL objects with loadable textures. More... | |
class | CTexturedPlane |
A 2D plane in the XY plane with a texture image. More... | |
class | CVectorField2D |
A 2D vector field representation, consisting of points and arrows drawn on a plane (invisible grid). More... | |
class | CVectorField3D |
A 3D vector field representation, consisting of points and arrows drawn at any spatial position. More... | |
class | mrptEventGLPostRender |
An event sent by an mrpt::opengl::COpenGLViewport after calling the scene OpenGL drawing primitives and before doing a glSwapBuffers. More... | |
class | mrptEventGLPreRender |
An event sent by an mrpt::opengl::COpenGLViewport just after clearing the viewport and setting the GL_PROJECTION matrix, and before calling the scene OpenGL drawing primitives. More... | |
struct | T2DTextData |
An auxiliary struct for holding a list of text messages in some mrpt::opengl & mrpt::gui classes The font can be either a bitmapped or a vectorized font. More... | |
struct | TFontParams |
A description of a bitmapped or vectorized text font. More... | |
Typedefs | |
typedef uint32_t | _GLENUM |
typedef std::deque< CRenderizablePtr > | CListOpenGLObjects |
A list of objects pointers, automatically managing memory free at destructor, and managing copies correctly. More... | |
Enumerations | |
enum | predefined_voxel_sets_t { VOXEL_SET_OCCUPIED = 0, VOXEL_SET_FREESPACE = 1 } |
enum | TOpenGLFont { MRPT_GLUT_BITMAP_NONE = -1, MRPT_GLUT_BITMAP_TIMES_ROMAN_10 = 0, MRPT_GLUT_BITMAP_TIMES_ROMAN_24 = 1, MRPT_GLUT_BITMAP_HELVETICA_10 = 2, MRPT_GLUT_BITMAP_HELVETICA_12 = 3, MRPT_GLUT_BITMAP_HELVETICA_18 = 4 } |
Existing fonts for 2D texts in mrpt::opengl methods. More... | |
enum | TOpenGLFontStyle { FILL = 0, OUTLINE = 1, NICE = 2 } |
Different style for vectorized font rendering. More... | |
Variables | |
class OPENGL_IMPEXP | CCylinder |
class OPENGL_IMPEXP | CGeneralizedCylinder |
class OPENGL_IMPEXP | CPolyhedron |
class OPENGL_IMPEXP | CVectorField3D |
typedef uint32_t mrpt::opengl::_GLENUM |
Definition at line 17 of file COpenGLStandardObject.h.
typedef std::deque<CRenderizablePtr> mrpt::opengl::CListOpenGLObjects |
A list of objects pointers, automatically managing memory free at destructor, and managing copies correctly.
Definition at line 33 of file CRenderizable.h.
Enumerator | |
---|---|
VOXEL_SET_OCCUPIED | |
VOXEL_SET_FREESPACE |
Definition at line 20 of file COctoMapVoxels.h.
Different style for vectorized font rendering.
Enumerator | |
---|---|
FILL | renders glyphs as filled polygons |
OUTLINE | renders glyphs as outlines with GL_LINES |
NICE | renders glyphs filled with antialiased outlines |
Definition at line 37 of file opengl_fonts.h.
mrpt::opengl::FWRD_DECL | ( | C3DSScene | ) |
mrpt::opengl::FWRD_DECL | ( | CArrow | ) |
mrpt::opengl::FWRD_DECL | ( | CAssimpModel | ) |
mrpt::opengl::FWRD_DECL | ( | CAxis | ) |
mrpt::opengl::FWRD_DECL | ( | CBox | ) |
mrpt::opengl::FWRD_DECL | ( | CCamera | ) |
mrpt::opengl::FWRD_DECL | ( | CColorBar | ) |
mrpt::opengl::FWRD_DECL | ( | CCylinder | ) |
mrpt::opengl::FWRD_DECL | ( | CDisk | ) |
mrpt::opengl::FWRD_DECL | ( | CEllipsoid | ) |
mrpt::opengl::FWRD_DECL | ( | CEllipsoidInverseDepth2D | ) |
mrpt::opengl::FWRD_DECL | ( | CEllipsoidInverseDepth3D | ) |
mrpt::opengl::FWRD_DECL | ( | CEllipsoidRangeBearing2D | ) |
mrpt::opengl::FWRD_DECL | ( | CFrustum | ) |
mrpt::opengl::FWRD_DECL | ( | CGeneralizedCylinder | ) |
mrpt::opengl::FWRD_DECL | ( | CGridPlaneXY | ) |
mrpt::opengl::FWRD_DECL | ( | CGridPlaneXZ | ) |
mrpt::opengl::FWRD_DECL | ( | CMesh | ) |
mrpt::opengl::FWRD_DECL | ( | CMesh3D | ) |
mrpt::opengl::FWRD_DECL | ( | CMeshFast | ) |
mrpt::opengl::FWRD_DECL | ( | COctoMapVoxels | ) |
mrpt::opengl::FWRD_DECL | ( | COpenGLScene | ) |
mrpt::opengl::FWRD_DECL | ( | COpenGLViewport | ) |
mrpt::opengl::FWRD_DECL | ( | CPointCloud | ) |
mrpt::opengl::FWRD_DECL | ( | CPointCloudColoured | ) |
mrpt::opengl::FWRD_DECL | ( | CPolyhedron | ) |
mrpt::opengl::FWRD_DECL | ( | CSetOfLines | ) |
mrpt::opengl::FWRD_DECL | ( | CSetOfObjects | ) |
mrpt::opengl::FWRD_DECL | ( | CSetOfTriangles | ) |
mrpt::opengl::FWRD_DECL | ( | CSimpleLine | ) |
mrpt::opengl::FWRD_DECL | ( | CSphere | ) |
mrpt::opengl::FWRD_DECL | ( | CText | ) |
mrpt::opengl::FWRD_DECL | ( | CText3D | ) |
mrpt::opengl::FWRD_DECL | ( | CTexturedPlane | ) |
mrpt::opengl::FWRD_DECL | ( | CVectorField2D | ) |
mrpt::opengl::FWRD_DECL | ( | CVectorField3D | ) |
mrpt::utils::CStream & mrpt::opengl::operator<< | ( | mrpt::utils::CStream & | out, |
const mrpt::opengl::CLight & | o | ||
) |
Definition at line 132 of file CLight.cpp.
References mrpt::opengl::CLight::writeToStream().
|
inline |
Inserts an object into the list.
Allows call chaining.
Definition at line 153 of file CSetOfObjects.h.
|
inline |
Inserts a set of objects into the list.
Allows call chaining.
Definition at line 160 of file CSetOfObjects.h.
|
inline |
Inserts a set of triangles into the list; note that this method allows to pass another CSetOfTriangles as argument.
Allows call chaining.
Definition at line 198 of file CSetOfTriangles.h.
|
inline |
Inserts a triangle into the list.
Allows call chaining.
Definition at line 205 of file CSetOfTriangles.h.
CRenderizablePtr & mrpt::opengl::operator<< | ( | CRenderizablePtr & | r, |
const mrpt::poses::CPose3D & | p | ||
) |
Applies a mrpt::poses::CPose3D transformation to the object.
Note that this method doesn't set the pose to the given value, but combines it with the existing one.
Definition at line 334 of file CRenderizable.cpp.
|
inline |
Inserts an openGL object into a scene.
Allows call chaining.
Definition at line 222 of file COpenGLScene.h.
CStream & mrpt::opengl::operator<< | ( | mrpt::utils::CStream & | out, |
const CPointCloudColoured::TPointColour & | o | ||
) |
Definition at line 174 of file CPointCloudColoured.cpp.
References mrpt::opengl::CPointCloudColoured::TPointColour::B, mrpt::opengl::CPointCloudColoured::TPointColour::G, mrpt::opengl::CPointCloudColoured::TPointColour::R, mrpt::opengl::CPointCloudColoured::TPointColour::x, mrpt::opengl::CPointCloudColoured::TPointColour::y, and mrpt::opengl::CPointCloudColoured::TPointColour::z.
|
inline |
Inserts a set of segments into the list.
Allows call chaining.
Definition at line 227 of file CSetOfLines.h.
|
inline |
Inserts any iterable collection of openGL objects into a scene, allowing call chaining.
Definition at line 227 of file COpenGLScene.h.
|
inline |
Inserts a segment into the list.
Allows call chaining.
Definition at line 234 of file CSetOfLines.h.
|
inline |
Inserts an openGL object into a viewport.
Allows call chaining.
Definition at line 353 of file COpenGLViewport.h.
|
inline |
Inserts any iterable set of openGL objects into a viewport.
Allows call chaining.
Definition at line 361 of file COpenGLViewport.h.
CStream & mrpt::opengl::operator<< | ( | mrpt::utils::CStream & | out, |
const CPolyhedron::TPolyhedronEdge & | o | ||
) |
Writes a polyhedron edge to a binary stream.
Definition at line 1452 of file CPolyhedron.cpp.
References mrpt::opengl::CPolyhedron::TPolyhedronEdge::v1, and mrpt::opengl::CPolyhedron::TPolyhedronEdge::v2.
CStream & mrpt::opengl::operator<< | ( | mrpt::utils::CStream & | out, |
const CPolyhedron::TPolyhedronFace & | o | ||
) |
Writes a polyhedron face to a binary stream.
Definition at line 1462 of file CPolyhedron.cpp.
References mrpt::opengl::CPolyhedron::TPolyhedronFace::normal, and mrpt::opengl::CPolyhedron::TPolyhedronFace::vertices.
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CCylinderPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CFrustumPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CBoxPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CColorBarPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CEllipsoidInverseDepth2DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CEllipsoidInverseDepth3DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
COpenGLStandardObjectPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CEllipsoidRangeBearing2DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPolyhedronPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSpherePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CDiskPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSetOfLinesPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CRenderizableDisplayListPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSetOfTexturedTrianglesPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CArrowPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CEllipsoidPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CAxisPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSimpleLinePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CTexturedPlanePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
C3DSScenePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CTextPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CGridPlaneXZPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CGridPlaneXYPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CVectorField2DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSetOfTrianglesPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CText3DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CGeneralizedCylinderPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CSetOfObjectsPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
COpenGLScenePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CTexturedObjectPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CAssimpModelPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPointCloudColouredPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CCameraPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CAngularObservationMeshPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CMesh3DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPointCloudPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CMeshFastPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CMeshPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CVectorField3DPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
COctoMapVoxelsPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPlanarLaserScanPtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CRenderizablePtr & | pObj | ||
) |
::mrpt::utils::CStream& mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
COpenGLViewportPtr & | pObj | ||
) |
mrpt::utils::CStream & mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
mrpt::opengl::CLight & | o | ||
) |
Definition at line 127 of file CLight.cpp.
References mrpt::opengl::CLight::readFromStream().
CStream & mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPointCloudColoured::TPointColour & | o | ||
) |
Definition at line 167 of file CPointCloudColoured.cpp.
References mrpt::opengl::CPointCloudColoured::TPointColour::B, mrpt::opengl::CPointCloudColoured::TPointColour::G, mrpt::opengl::CPointCloudColoured::TPointColour::R, mrpt::opengl::CPointCloudColoured::TPointColour::x, mrpt::opengl::CPointCloudColoured::TPointColour::y, and mrpt::opengl::CPointCloudColoured::TPointColour::z.
CStream & mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPolyhedron::TPolyhedronEdge & | o | ||
) |
Reads a polyhedron edge from a binary stream.
Definition at line 1447 of file CPolyhedron.cpp.
References mrpt::opengl::CPolyhedron::TPolyhedronEdge::v1, and mrpt::opengl::CPolyhedron::TPolyhedronEdge::v2.
CStream & mrpt::opengl::operator>> | ( | mrpt::utils::CStream & | in, |
CPolyhedron::TPolyhedronFace & | o | ||
) |
Reads a polyhedron face from a binary stream.
Definition at line 1457 of file CPolyhedron.cpp.
References mrpt::opengl::CPolyhedron::TPolyhedronFace::normal, and mrpt::opengl::CPolyhedron::TPolyhedronFace::vertices.
|
inline |
Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPosePDF::getAs3DObject.
Definition at line 23 of file pose_pdfs.h.
References mrpt::opengl::CSetOfObjects::posePDF2opengl().
Referenced by mrpt::poses::CPointPDF::getAs3DObject(), mrpt::poses::CPose3DQuatPDF::getAs3DObject(), mrpt::poses::CPosePDF::getAs3DObject(), and mrpt::poses::CPose3DPDF::getAs3DObject().
Definition at line 16 of file CCylinder.h.
Referenced by mrpt::opengl::CCylinder::Create().
Definition at line 21 of file CGeneralizedCylinder.h.
Referenced by mrpt::opengl::CGeneralizedCylinder::Create().
Definition at line 17 of file CPolyhedron.h.
Referenced by mrpt::opengl::CPolyhedron::Create(), mrpt::opengl::CPolyhedron::CreateEmpty(), and mrpt::opengl::CPolyhedron::CreateNoCheck().
Definition at line 23 of file CVectorField3D.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at mié abr 15 19:30:12 CEST 2020 |