.. _package-rst-geometry:
======================
Package rst.geometry
======================
Geometry is a branch of mathematics concerned with questions of
shape, size, relative position of figures, and the properties of
space.
This package contains data types which represent geometrical
objects.
.. seealso::
Wikipedia article containing the definition above
http://en.wikipedia.org/wiki/Geometry
.. seealso::
Corresponding data types in ROS
http://www.ros.org/wiki/geometry_msgs
Messages
========
.. container:: mess4ge-multi
.. container:: mess4ge-graph
.. digraph:: message_graph
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"40" [label=<
| SphericalDirectionFloat |
|
FLOAT32 | azimuth |
FLOAT32 | elevation |
>,shape=box,style=filled,fillcolor="white"];
"39" [label=< | BoundingBox3DFloatSet |
|
BoundingBox3DFloat | boxes |
>,shape=box,style=filled,fillcolor="white"];
"37" [label=< | Cylinder3DFloatSet |
|
Cylinder3DFloat | cylinders |
>,shape=box,style=filled,fillcolor="white"];
"38" [label=< | Cylinder3DFloat |
|
Pose | transformation |
FLOAT32 | radius |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"34" [label=< | TriangleMesh3DFloatSet |
|
TriangleMesh3DFloat | meshes |
>,shape=box,style=filled,fillcolor="white"];
"35" [label=< | TriangleMesh3DFloat |
|
PointCloud3DFloat | vertices |
Triangle | triangles |
>,shape=box,style=filled,fillcolor="white"];
"36" [label=< | Triangle |
|
UINT32 | point1 |
UINT32 | point2 |
UINT32 | point3 |
>,shape=box,style=filled,fillcolor="white"];
"32" [label=< | PolygonalPatch3DSet |
|
PolygonalPatch3D | patches |
>,shape=box,style=filled,fillcolor="white"];
"33" [label=< | PolygonalPatch3D |
|
Pose | base |
Vec2DFloat | border |
>,shape=box,style=filled,fillcolor="white"];
"29" [label=< | PointCloudSet3DFloat |
|
PointCloud3DFloat | clouds |
>,shape=box,style=filled,fillcolor="white"];
"30" [label=< | PointCloud3DFloat |
|
Vec3DFloat | points |
>,shape=box,style=filled,fillcolor="white"];
"31" [label=< | Vec3DFloat |
|
FLOAT32 | x |
FLOAT32 | y |
FLOAT32 | z |
>,shape=box,style=filled,fillcolor="white"];
"28" [label=< | FieldOfViewCollection |
|
FieldOfView | element |
>,shape=box,style=filled,fillcolor="white"];
"25" [label=< | Shape3DFloatCollection |
|
Shape3DFloat | element |
>,shape=box,style=filled,fillcolor="white"];
"26" [label=< | Shape3DFloat |
|
BoundingBox3DFloat | box |
>,shape=box,style=filled,fillcolor="white"];
"27" [label=< | BoundingBox3DFloat |
|
Pose | transformation |
FLOAT32 | width |
FLOAT32 | depth |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"22" [label=< | ViewFrustumCollection |
|
ViewFrustum | element |
>,shape=box,style=filled,fillcolor="white"];
"23" [label=< | ViewFrustum |
|
FieldOfView | fov |
FLOAT32 | minimal_distance |
FLOAT32 | maximal_distance |
>,shape=box,style=filled,fillcolor="white"];
"24" [label=< | FieldOfView |
|
FLOAT32 | horizontal_aov |
FLOAT32 | vertical_aov |
>,shape=box,style=filled,fillcolor="white"];
"19" [label=< | PointPairCollection |
|
PointPair | element |
>,shape=box,style=filled,fillcolor="white"];
"20" [label=< | PointPair |
|
Vec2DFloat | first |
Vec2DFloat | second |
>,shape=box,style=filled,fillcolor="white"];
"21" [label=< | Vec2DFloat |
|
FLOAT32 | x |
FLOAT32 | y |
>,shape=box,style=filled,fillcolor="white"];
"18" [label=< | PoseCollection |
|
Pose | element |
>,shape=box,style=filled,fillcolor="white"];
"16" [label=< | LengthsCollection |
|
Lengths | element |
>,shape=box,style=filled,fillcolor="white"];
"17" [label=< | Lengths |
|
FLOAT64 | lengths |
>,shape=box,style=filled,fillcolor="white"];
"12" [label=< | CameraPoseCollection |
|
CameraPose | element |
>,shape=box,style=filled,fillcolor="white"];
"13" [label=< | CameraPose |
|
CoordinateFrame | coordinate_frame |
Pose | pose |
>,shape=box,style=filled,fillcolor="white"];
"15" [label=< | Pose |
|
Translation | translation |
Rotation | rotation |
>,shape=box,style=filled,fillcolor="white"];
"14" [label=< | CoordinateFrame |
|
CAMERA_IMAGE_FRAME | 0 |
CAMERA_X_UP_FRAME | 1 |
CAMERA_Y_UP_FRAME | 2 |
LASER_FRAME | 3 |
SCREEN_FRAME | 4 |
>,shape=box,style=filled,fillcolor="white"];
"10" [label=< | AxisAlignedBoundingBox3DFloatCollection |
|
AxisAlignedBoundingBox3DFloat | element |
>,shape=box,style=filled,fillcolor="white"];
"11" [label=< | AxisAlignedBoundingBox3DFloat |
|
Translation | left_front_bottom |
FLOAT32 | width |
FLOAT32 | depth |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"8" [label=< | RotationCollection |
|
Rotation | element |
>,shape=box,style=filled,fillcolor="white"];
"9" [label=< | Rotation |
|
FLOAT64 | qw |
FLOAT64 | qx |
FLOAT64 | qy |
FLOAT64 | qz |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"6" [label=< | BoundingBoxCollection |
|
BoundingBox | element |
>,shape=box,style=filled,fillcolor="white"];
"7" [label=< | BoundingBox |
|
Vec2DInt | top_left |
UINT32 | width |
UINT32 | height |
UINT32 | image_width |
UINT32 | image_height |
>,shape=box,style=filled,fillcolor="white"];
"4" [label=< | TranslationCollection |
|
Translation | element |
>,shape=box,style=filled,fillcolor="white"];
"5" [label=< | Translation |
|
FLOAT64 | x |
FLOAT64 | y |
FLOAT64 | z |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"1" [label=< | PointCloud2DIntCollection |
|
PointCloud2DInt | element |
>,shape=box,style=filled,fillcolor="white"];
"2" [label=< | PointCloud2DInt |
|
Vec2DInt | points |
>,shape=box,style=filled,fillcolor="white"];
"3" [label=< | Vec2DInt |
|
INT32 | x |
INT32 | y |
>,shape=box,style=filled,fillcolor="white"];
"39":boxes -> "27"[];
"37":cylinders -> "38"[];
"38":transformation -> "15"[];
"34":meshes -> "35"[];
"35" -> "36"[dir=both,arrowtail=odiamond];
"35":triangles -> "36"[];
"35":vertices -> "30"[];
"32":patches -> "33"[];
"33":border -> "21"[];
"33":base -> "15"[];
"29":clouds -> "30"[];
"30":points -> "31"[];
"28":element -> "24"[];
"25":element -> "26"[];
"26":box -> "27"[];
"27":transformation -> "15"[];
"22":element -> "23"[];
"23":fov -> "24"[];
"19":element -> "20"[];
"20":second -> "21"[];
"20":first -> "21"[];
"18":element -> "15"[];
"16":element -> "17"[];
"12":element -> "13"[];
"13" -> "14"[dir=both,arrowtail=odiamond];
"13":pose -> "15"[];
"13":coordinate_frame -> "14"[];
"15":rotation -> "9"[];
"15":translation -> "5"[];
"10":element -> "11"[];
"11":left_front_bottom -> "5"[];
"8":element -> "9"[];
"6":element -> "7"[];
"7":top_left -> "3"[];
"4":element -> "5"[];
"1":element -> "2"[];
"2":points -> "3"[];
.. container:: mess4ge-list
.. container:: messages
* :ref:`PointCloud2DIntCollection `
* :ref:`TranslationCollection `
* :ref:`BoundingBoxCollection `
* :ref:`RotationCollection `
* :ref:`AxisAlignedBoundingBox3DFloatCollection `
* :ref:`CameraPoseCollection `
* :ref:`LengthsCollection `
* :ref:`PoseCollection `
* :ref:`PointPairCollection `
* :ref:`ViewFrustumCollection `
* :ref:`Shape3DFloatCollection `
* :ref:`FieldOfViewCollection `
* :ref:`PointCloud2DInt `
* :ref:`PointCloudSet3DFloat `
* :ref:`PolygonalPatch3DSet `
* :ref:`TriangleMesh3DFloatSet `
* :ref:`TriangleMesh3DFloat `
* :ref:`Cylinder3DFloatSet `
* :ref:`BoundingBox3DFloatSet `
* :ref:`AxisAlignedBoundingBox3DFloat `
* :ref:`Lengths `
* :ref:`PointPair `
* :ref:`PolygonalPatch3D `
* :ref:`Cylinder3DFloat `
* :ref:`SphericalDirectionFloat `
* :ref:`PointCloud3DFloat `
* :ref:`CameraPose `
* :ref:`ViewFrustum `
* :ref:`FieldOfView `
* :ref:`Shape3DFloat `
* :ref:`BoundingBox `
* :ref:`BoundingBox3DFloat `
* :ref:`Pose `
* :ref:`Rotation `
* :ref:`Translation `
.. container:: clearer
clearer: should be made invisible via css
.. _message-rst-geometry-pointcloud2dintcollection:
Message PointCloud2DIntCollection
---------------------------------
.. container:: message-rst-geometry-pointcloud2dintcollection-multi
.. container:: message-rst-geometry-pointcloud2dintcollection-documentation
.. py:class:: rst.geometry.PointCloud2DIntCollection
Collection of :py:class:`PointCloud2DInt ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.PointCloud2DInt`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-pointcloud2dintcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud2DIntCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud2DIntCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-translationcollection:
Message TranslationCollection
-----------------------------
.. container:: message-rst-geometry-translationcollection-multi
.. container:: message-rst-geometry-translationcollection-documentation
.. py:class:: rst.geometry.TranslationCollection
Collection of :py:class:`Translation ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.Translation`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-translationcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TranslationCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TranslationCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-boundingboxcollection:
Message BoundingBoxCollection
-----------------------------
.. container:: message-rst-geometry-boundingboxcollection-multi
.. container:: message-rst-geometry-boundingboxcollection-documentation
.. py:class:: rst.geometry.BoundingBoxCollection
Collection of :py:class:`BoundingBox ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.BoundingBox`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-boundingboxcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBoxCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBoxCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-rotationcollection:
Message RotationCollection
--------------------------
.. container:: message-rst-geometry-rotationcollection-multi
.. container:: message-rst-geometry-rotationcollection-documentation
.. py:class:: rst.geometry.RotationCollection
Collection of :py:class:`Rotation ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.Rotation`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-rotationcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/RotationCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/RotationCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-axisalignedboundingbox3dfloatcollection:
Message AxisAlignedBoundingBox3DFloatCollection
-----------------------------------------------
.. container:: message-rst-geometry-axisalignedboundingbox3dfloatcollection-multi
.. container:: message-rst-geometry-axisalignedboundingbox3dfloatcollection-documentation
.. py:class:: rst.geometry.AxisAlignedBoundingBox3DFloatCollection
Collection of :py:class:`AxisAlignedBoundingBox3DFloat ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.AxisAlignedBoundingBox3DFloat`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-axisalignedboundingbox3dfloatcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloatCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloatCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-cameraposecollection:
Message CameraPoseCollection
----------------------------
.. container:: message-rst-geometry-cameraposecollection-multi
.. container:: message-rst-geometry-cameraposecollection-documentation
.. py:class:: rst.geometry.CameraPoseCollection
Collection of :py:class:`CameraPose ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.CameraPose`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-cameraposecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPoseCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPoseCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-lengthscollection:
Message LengthsCollection
-------------------------
.. container:: message-rst-geometry-lengthscollection-multi
.. container:: message-rst-geometry-lengthscollection-documentation
.. py:class:: rst.geometry.LengthsCollection
Collection of :py:class:`Lengths ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.Lengths`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-lengthscollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/LengthsCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/LengthsCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-posecollection:
Message PoseCollection
----------------------
.. container:: message-rst-geometry-posecollection-multi
.. container:: message-rst-geometry-posecollection-documentation
.. py:class:: rst.geometry.PoseCollection
Collection of :py:class:`Pose ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.Pose`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-posecollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PoseCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PoseCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-pointpaircollection:
Message PointPairCollection
---------------------------
.. container:: message-rst-geometry-pointpaircollection-multi
.. container:: message-rst-geometry-pointpaircollection-documentation
.. py:class:: rst.geometry.PointPairCollection
Collection of :py:class:`PointPair ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.PointPair`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-pointpaircollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointPairCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointPairCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-viewfrustumcollection:
Message ViewFrustumCollection
-----------------------------
.. container:: message-rst-geometry-viewfrustumcollection-multi
.. container:: message-rst-geometry-viewfrustumcollection-documentation
.. py:class:: rst.geometry.ViewFrustumCollection
Collection of :py:class:`ViewFrustum ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.ViewFrustum`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-viewfrustumcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/ViewFrustumCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/ViewFrustumCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-shape3dfloatcollection:
Message Shape3DFloatCollection
------------------------------
.. container:: message-rst-geometry-shape3dfloatcollection-multi
.. container:: message-rst-geometry-shape3dfloatcollection-documentation
.. py:class:: rst.geometry.Shape3DFloatCollection
Collection of :py:class:`Shape3DFloat ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.Shape3DFloat`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-shape3dfloatcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Shape3DFloatCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Shape3DFloatCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-fieldofviewcollection:
Message FieldOfViewCollection
-----------------------------
.. container:: message-rst-geometry-fieldofviewcollection-multi
.. container:: message-rst-geometry-fieldofviewcollection-documentation
.. py:class:: rst.geometry.FieldOfViewCollection
Collection of :py:class:`FieldOfView ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.geometry.FieldOfView`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-geometry-fieldofviewcollection-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/FieldOfViewCollection.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/FieldOfViewCollection.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-pointcloud2dint:
Message PointCloud2DInt
-----------------------
.. container:: message-rst-geometry-pointcloud2dint-multi
.. container:: message-rst-geometry-pointcloud2dint-documentation
.. py:class:: rst.geometry.PointCloud2DInt
A collection of points in 2D space.
.. codeauthor:: Jan Moringen
@create_collection
.. py:attribute:: points
:type: array of :py:class:`rst.math.Vec2DInt`
The points.
Duplicate entries should be avoided.
Order of entries is not significant.
.. container:: message-rst-geometry-pointcloud2dint-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud2DInt.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud2DInt.proto
:lines: 15-25
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-pointcloudset3dfloat:
Message PointCloudSet3DFloat
----------------------------
.. container:: message-rst-geometry-pointcloudset3dfloat-multi
.. container:: message-rst-geometry-pointcloudset3dfloat-documentation
.. py:class:: rst.geometry.PointCloudSet3DFloat
A set of 3D Point clouds.
.. codeauthor:: Christian Emmerich
.. py:attribute:: clouds
:type: array of :py:class:`rst.geometry.PointCloud3DFloat`
Empty collection of clouds is allowed.
The order of cloud objects is not significant.
.. container:: message-rst-geometry-pointcloudset3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloudSet3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloudSet3DFloat.proto
:lines: 14-22
:language: protobuf
:emphasize-lines: 7-7
.. _message-rst-geometry-polygonalpatch3dset:
Message PolygonalPatch3DSet
---------------------------
.. container:: message-rst-geometry-polygonalpatch3dset-multi
.. container:: message-rst-geometry-polygonalpatch3dset-documentation
.. py:class:: rst.geometry.PolygonalPatch3DSet
A set of :py:class:`PolygonalPatch3D ` objects.
.. codeauthor:: Leon Ziegler
.. py:attribute:: patches
:type: array of :py:class:`rst.geometry.PolygonalPatch3D`
Empty collection is allowed. Order is not important.
.. container:: message-rst-geometry-polygonalpatch3dset-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PolygonalPatch3DSet.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PolygonalPatch3DSet.proto
:lines: 14-21
:language: protobuf
:emphasize-lines: 6-6
.. _message-rst-geometry-trianglemesh3dfloatset:
Message TriangleMesh3DFloatSet
------------------------------
.. container:: message-rst-geometry-trianglemesh3dfloatset-multi
.. container:: message-rst-geometry-trianglemesh3dfloatset-documentation
.. py:class:: rst.geometry.TriangleMesh3DFloatSet
A set of :py:class:`TriangleMesh3DFloat ` objects.
.. codeauthor:: Johannes Wienke
.. py:attribute:: meshes
:type: array of :py:class:`rst.geometry.TriangleMesh3DFloat`
Empty collection is allowed. Order is not important.
.. container:: message-rst-geometry-trianglemesh3dfloatset-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloatSet.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloatSet.proto
:lines: 14-21
:language: protobuf
:emphasize-lines: 6-6
.. _message-rst-geometry-trianglemesh3dfloat:
Message TriangleMesh3DFloat
---------------------------
.. container:: message-rst-geometry-trianglemesh3dfloat-multi
.. container:: message-rst-geometry-trianglemesh3dfloat-documentation
.. py:class:: rst.geometry.TriangleMesh3DFloat
Defines a triangle mesh for describing 3D objects through vertices and their
assembly to triangles. Edges are therefore only implicitly defined through
the definitions of the triangles. Other typical mesh properties like faces,
and surfaces are not defined.
.. codeauthor:: Johannes Wienke
.. py:attribute:: vertices
:type: :py:class:`rst.geometry.PointCloud3DFloat`
The collection of vertices in the mesh.
.. py:attribute:: triangles
:type: array of :py:class:`rst.geometry.TriangleMesh3DFloat.Triangle`
Defines the triangles that form the mesh in the form of 3-tuples to
indexes in the vertices point cloud. No particular ordering is assumed
here.
.. container:: message-rst-geometry-trianglemesh3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloat.proto
:lines: 17-56
:language: protobuf
:emphasize-lines: 6-6,38-38
.. _message-rst-geometry-trianglemesh3dfloat-triangle:
Message Triangle
----------------
.. container:: message-rst-geometry-trianglemesh3dfloat-triangle-multi
.. container:: message-rst-geometry-trianglemesh3dfloat-triangle-documentation
.. py:class:: rst.geometry.TriangleMesh3DFloat.Triangle
Definition of a single triangle in a mesh by means of indices to the
vertex point cloud for all corners of the triangle. Vertices are indexed
in counter-clockwise order to define a normal of the triangle that
points outwards.
.. py:attribute:: point1
:type: :py:class:`UINT32`
Index of the first vertex defining the triangle.
.. py:attribute:: point2
:type: :py:class:`UINT32`
Index of the second vertex defining the triangle.
.. py:attribute:: point3
:type: :py:class:`UINT32`
Index of the third vertex defining the triangle.
.. container:: message-rst-geometry-trianglemesh3dfloat-triangle-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/TriangleMesh3DFloat.proto
:lines: 30-47
:language: protobuf
:emphasize-lines: 6-6,11-11,16-16
.. _message-rst-geometry-cylinder3dfloatset:
Message Cylinder3DFloatSet
--------------------------
.. container:: message-rst-geometry-cylinder3dfloatset-multi
.. container:: message-rst-geometry-cylinder3dfloatset-documentation
.. py:class:: rst.geometry.Cylinder3DFloatSet
A set of :py:class:`Cylinder3DFloat ` objects.
.. codeauthor:: Christian Emmerich
.. py:attribute:: cylinders
:type: array of :py:class:`rst.geometry.Cylinder3DFloat`
Empty collection of cylinders is allowed.
The order of cylinders is not significant.
.. container:: message-rst-geometry-cylinder3dfloatset-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Cylinder3DFloatSet.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Cylinder3DFloatSet.proto
:lines: 14-22
:language: protobuf
:emphasize-lines: 7-7
.. _message-rst-geometry-boundingbox3dfloatset:
Message BoundingBox3DFloatSet
-----------------------------
.. container:: message-rst-geometry-boundingbox3dfloatset-multi
.. container:: message-rst-geometry-boundingbox3dfloatset-documentation
.. py:class:: rst.geometry.BoundingBox3DFloatSet
A set of :py:class:`BoundingBox3DFloat ` objects.
.. codeauthor:: Christian Emmerich
.. py:attribute:: boxes
:type: array of :py:class:`rst.geometry.BoundingBox3DFloat`
Empty collection of boxes is allowed.
The order of box objects is not significant.
.. container:: message-rst-geometry-boundingbox3dfloatset-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox3DFloatSet.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox3DFloatSet.proto
:lines: 14-22
:language: protobuf
:emphasize-lines: 7-7
.. _message-rst-geometry-axisalignedboundingbox3dfloat:
Message AxisAlignedBoundingBox3DFloat
-------------------------------------
.. container:: message-rst-geometry-axisalignedboundingbox3dfloat-multi
.. container:: message-rst-geometry-axisalignedboundingbox3dfloat-documentation
.. py:class:: rst.geometry.AxisAlignedBoundingBox3DFloat
An axis-aligned bounding-box in 3D.
The bounding-box is constructed by spanning at :py:attr:`left_front_bottom ` a rectangular volume of lengths :py:attr:`width ` x
:py:attr:`depth ` x :py:attr:`height ` along the positive directions of the X,
Y and Z axis respectively.
.. parsed-literal::
^ Z
|
| +----------------------+ ^
| / /|
| / / |
| / / | :py:attr:`height `
| +----------------------+ |
| | | |
| | | + v
| Y | | / ^
| ^ | | / :py:attr:`depth `
| / | |/
| / +----------------------+ v
| / :py:attr:`left_front_bottom `
| / < :py:attr:`width ` >
|/
+-----------------------------> X
For a bouding-box in general orientation (i.e. not axis-aligned)
see :py:class:`BoundingBox3DFloat `.
.. codeauthor:: Christian Emmerich
.. codeauthor:: Jan Moringen
@create_collection
.. py:attribute:: left_front_bottom
:type: :py:class:`rst.geometry.Translation`
Coordinates of the bottom left front corner.
.. py:attribute:: width
:type: :py:class:`FLOAT32`
**Unit**: meter
The width (along the X axis) of the box.
.. py:attribute:: depth
:type: :py:class:`FLOAT32`
**Unit**: meter
The depth (along the Y axis) of the box.
.. py:attribute:: height
:type: :py:class:`FLOAT32`
**Unit**: meter
The height (along the Z axis) of the box.
.. container:: message-rst-geometry-axisalignedboundingbox3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloat.proto
:lines: 44-69
:language: protobuf
:emphasize-lines: 6-6,12-12,18-18,24-24
.. _message-rst-geometry-lengths:
Message Lengths
---------------
.. container:: message-rst-geometry-lengths-multi
.. container:: message-rst-geometry-lengths-documentation
.. py:class:: rst.geometry.Lengths
A sequence of length measurements (e.g. length of a link in a
kinematics chain).
.. codeauthor:: Arne Nordmann
@create_collection
.. py:attribute:: lengths
:type: array of :py:class:`FLOAT64`
**Unit**: meter
.. container:: message-rst-geometry-lengths-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Lengths.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Lengths.proto
:lines: 14-19
:language: protobuf
:emphasize-lines: 4-4
.. _message-rst-geometry-pointpair:
Message PointPair
-----------------
.. container:: message-rst-geometry-pointpair-multi
.. container:: message-rst-geometry-pointpair-documentation
.. py:class:: rst.geometry.PointPair
A pair of 2D Points with float entries.
.. codeauthor:: Jordi Sanchez
@create_collection
.. py:attribute:: first
:type: :py:class:`rst.math.Vec2DFloat`
The first point.
.. py:attribute:: second
:type: :py:class:`rst.math.Vec2DFloat`
The second point.
.. container:: message-rst-geometry-pointpair-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointPair.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointPair.proto
:lines: 15-27
:language: protobuf
:emphasize-lines: 6-6,11-11
.. _message-rst-geometry-polygonalpatch3d:
Message PolygonalPatch3D
------------------------
.. container:: message-rst-geometry-polygonalpatch3d-multi
.. container:: message-rst-geometry-polygonalpatch3d-documentation
.. py:class:: rst.geometry.PolygonalPatch3D
A two-dimensional patch in 3D space bounded by a polygon.
In contrast to planes (with infinite extend) this kind of bounded
patch needs a local coordinate system in order to define the
borders of the patch. Thus, instead of the widely used point-normal
representation, we use a complete 6D pose for describing the
location of the plane. We define that the X and Y axes of the
resulting coordinate system span the plane. Accordingly, the Z axis
corresponds to the normal on the plane. The patch border is a 2D
polygon defined by a sequence of :py:class:`Vec2DFloat ` objects.
In order to construct a 3D representation of the patch, the 2D
coordinates of the polygon must be extended by a Z = 0 coordinate
and transformed using the 6D pose. The polygon must not be self
intersecting.
.. codeauthor:: Leon Ziegler
.. py:attribute:: base
:type: :py:class:`rst.geometry.Pose`
The 6D transformation specifying the base (X and Y axes span
the plane in which the patch and its bounding polygon reside).
.. py:attribute:: border
:type: array of :py:class:`rst.math.Vec2DFloat`
**Constraint**: ``len(value) >= 3``
The 2D polygon defining the border of the patch.
Winding rule: ccw w.r.t. normal (Z axis) (right-hand rule)
Linear segments arise by connecting consecutive entries of the
array (including an additional implicit segment connecting the
last entry to the first entry).
Order of entries is significant.
.. container:: message-rst-geometry-polygonalpatch3d-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PolygonalPatch3D.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PolygonalPatch3D.proto
:lines: 29-51
:language: protobuf
:emphasize-lines: 7-7,21-21
.. _message-rst-geometry-cylinder3dfloat:
Message Cylinder3DFloat
-----------------------
.. container:: message-rst-geometry-cylinder3dfloat-multi
.. container:: message-rst-geometry-cylinder3dfloat-documentation
.. py:class:: rst.geometry.Cylinder3DFloat
Cylinder in 3D in general position and orientation.
The general cylinder with dimensions :py:attr:`radius ` and :py:attr:`height `
is constructed by translating and rotating (via :py:attr:`transformation `) a zero-centered, z-oriented axis-aligned cylinder
such as below around its center of mass.
.. parsed-literal::
< :py:attr:`radius ` >
.---------------------.
/ \\
/ \\
+ + + ^
\|\\ /|
| \\ / |
| \`---------------------' |
| |
| Z ^ |
\| \| ^ Y \| :py:attr:`height `
\| \| / \|
\| \|/ \|
\| +-----> X \|
| |
˙ | |
| |
| |
+ + v
\\ /
\\ /
\`---------------------'
.. codeauthor:: Christian Emmerich
.. py:attribute:: transformation
:type: :py:class:`rst.geometry.Pose`
Transformation, consisting of translation and orientation, of
the center of mass of the cylinder.
.. py:attribute:: radius
:type: :py:class:`FLOAT32`
**Unit**: meter
The radius of the cylinder.
.. py:attribute:: height
:type: :py:class:`FLOAT32`
**Unit**: meter
The height of the cylinder.
.. container:: message-rst-geometry-cylinder3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Cylinder3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Cylinder3DFloat.proto
:lines: 45-65
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19
.. _message-rst-geometry-sphericaldirectionfloat:
Message SphericalDirectionFloat
-------------------------------
.. container:: message-rst-geometry-sphericaldirectionfloat-multi
.. container:: message-rst-geometry-sphericaldirectionfloat-documentation
.. py:class:: rst.geometry.SphericalDirectionFloat
Describes a direction using two angles in a spherical coordinate
system which is grounded in a right-handed 3D Cartesian coordinate
system. Rotations follow the right-hand rule.
.. seealso::
NIL
https://en.wikipedia.org/wiki/Spherical_coordinate_system
.. seealso::
NIL
https://en.wikipedia.org/wiki/Right-hand_rule
.. codeauthor:: Jan Moringen
.. codeauthor:: Johannes Wienke
.. py:attribute:: azimuth
:type: :py:class:`FLOAT32`
**Unit**: radian
Describes the rotation around the z axis of the underlying
Cartesian coordinate system. A value of 0 zero points into the
positive direction of the X axis.
.. py:attribute:: elevation
:type: :py:class:`FLOAT32`
**Unit**: radian
elevation angle with respect to the X-Y plane of the reference
Cartesian coordinate system. A value of 0 points towards the
"horizon".
.. container:: message-rst-geometry-sphericaldirectionfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/SphericalDirectionFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/SphericalDirectionFloat.proto
:lines: 18-36
:language: protobuf
:emphasize-lines: 9-9,17-17
.. _message-rst-geometry-pointcloud3dfloat:
Message PointCloud3DFloat
-------------------------
.. container:: message-rst-geometry-pointcloud3dfloat-multi
.. container:: message-rst-geometry-pointcloud3dfloat-documentation
.. py:class:: rst.geometry.PointCloud3DFloat
A collection of points in 3D space.
.. codeauthor:: Jordi Sanchez Riera
.. py:attribute:: points
:type: array of :py:class:`rst.math.Vec3DFloat`
The points of the cloud.
Order of elements does not matter.
@unit(meter?)
.. container:: message-rst-geometry-pointcloud3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/PointCloud3DFloat.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-camerapose:
Message CameraPose
------------------
.. container:: message-rst-geometry-camerapose-multi
.. container:: message-rst-geometry-camerapose-documentation
.. py:class:: rst.geometry.CameraPose
Pose of a camera with semantic annotation of the axes.
The pure transformation of the camera's pose (in terms of
coordinate systems) does not provide information about the viewing
direction. There must be a convention about the semantic meaning of
the transformation in order to convey the information about where
the camera actually looks. :py:attr:`coordinate_frame ` realizes this
convention by describing the three axes of the camera's coordinate
system semantically including viewing direction and up direction.
.. codeauthor:: Leon Ziegler
@create_collection
.. py:attribute:: coordinate_frame
:type: :py:class:`rst.geometry.CameraPose.CoordinateFrame`
Annotation of the axes.
.. py:attribute:: pose
:type: :py:class:`rst.geometry.Pose`
The pose of the camera's coordinate system in 3d space relative
to a given parent coordinate system.
.. container:: message-rst-geometry-camerapose-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPose.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPose.proto
:lines: 23-68
:language: protobuf
:emphasize-lines: 38-38,44-44
.. _message-rst-geometry-camerapose-coordinateframe:
Message CoordinateFrame
-----------------------
.. container:: message-rst-geometry-camerapose-coordinateframe-multi
.. container:: message-rst-geometry-camerapose-coordinateframe-documentation
.. py:class:: rst.geometry.CameraPose.CoordinateFrame
Semantic annotation of the axes. (all right-handed)
.. py:attribute:: CAMERA_IMAGE_FRAME
= 0
X: right - Y: down - Z: forward (depth axis)
.. py:attribute:: CAMERA_X_UP_FRAME
= 1
X: up - Y: right - Z: forward (depth axis)
.. py:attribute:: CAMERA_Y_UP_FRAME
= 2
X: left - Y: up - Z: forward (depth axis)
.. py:attribute:: LASER_FRAME
= 3
X: forward (depth axis) - Y: left - Z: up
.. py:attribute:: SCREEN_FRAME
= 4
X: right - Y: up - Z: towards viewer (negative depth axis)
.. container:: message-rst-geometry-camerapose-coordinateframe-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPose.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/CameraPose.proto
:lines: 28-55
:language: protobuf
:emphasize-lines: 6-6,11-11,16-16,21-21,26-26
.. _message-rst-geometry-viewfrustum:
Message ViewFrustum
-------------------
.. container:: message-rst-geometry-viewfrustum-multi
.. container:: message-rst-geometry-viewfrustum-documentation
.. py:class:: rst.geometry.ViewFrustum
**Constraint**: ``.maximal_distance > .minimal_distance``
A camera's view frustum.
Adds information about the maximal and minimal perceivable distance
(:py:attr:`minimal_distance `, :py:attr:`maximal_distance `) of a sensor to the
definition of its field of view (:py:attr:`fov `).
.. codeauthor:: Leon Ziegler
@create_collection
.. py:attribute:: fov
:type: :py:class:`rst.geometry.FieldOfView`
The field of view of the frustum.
.. py:attribute:: minimal_distance
:type: :py:class:`FLOAT32`
**Constraint**: ``value > 0``
**Unit**: meter
The minimal perceivable distance.
.. py:attribute:: maximal_distance
:type: :py:class:`FLOAT32`
**Constraint**: ``value > 0``
**Unit**: meter
The maximal perceivable distance.
.. container:: message-rst-geometry-viewfrustum-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/ViewFrustum.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/ViewFrustum.proto
:lines: 20-41
:language: protobuf
:emphasize-lines: 6-6,13-13,20-20
.. _message-rst-geometry-fieldofview:
Message FieldOfView
-------------------
.. container:: message-rst-geometry-fieldofview-multi
.. container:: message-rst-geometry-fieldofview-documentation
.. py:class:: rst.geometry.FieldOfView
The field of view of a sensor.
The sensor's FOV is defined as the angular extent of a scene that is
imaged by a visual sensor. The outermost observable ray that falls
in a sensor's FOV has the angular distance +/- AOV/2.0 from the
optical axis in the respective extent (vertical/horizontal). The
angles are given in radian.
.. codeauthor:: Leon Ziegler
@create_collection
.. py:attribute:: horizontal_aov
:type: :py:class:`FLOAT32`
**Constraint**: ``value > 0``
**Unit**: radian
An angle defining the horizontal bounds of the FOV.
.. py:attribute:: vertical_aov
:type: :py:class:`FLOAT32`
**Constraint**: ``value > 0``
**Unit**: radian
An angle defining the vertical bounds of the FOV.
.. container:: message-rst-geometry-fieldofview-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/FieldOfView.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/FieldOfView.proto
:lines: 19-35
:language: protobuf
:emphasize-lines: 8-8,15-15
.. _message-rst-geometry-shape3dfloat:
Message Shape3DFloat
--------------------
.. container:: message-rst-geometry-shape3dfloat-multi
.. container:: message-rst-geometry-shape3dfloat-documentation
.. py:class:: rst.geometry.Shape3DFloat
Description of a 3D shape as a union of geometric primitives.
New primitive types can be added to this type.
.. codeauthor:: Johannes Wienke
.. codeauthor:: Jan Moringen
@create_collection
.. py:attribute:: box
:type: array of :py:class:`rst.geometry.BoundingBox3DFloat`
Set of oriented bounding boxes contributing to the described 3D
shape.
The order of bounding boxes is not significant.
.. container:: message-rst-geometry-shape3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Shape3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Shape3DFloat.proto
:lines: 18-28
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-geometry-boundingbox:
Message BoundingBox
-------------------
.. container:: message-rst-geometry-boundingbox-multi
.. container:: message-rst-geometry-boundingbox-documentation
.. py:class:: rst.geometry.BoundingBox
**Constraint**: ``.top_left.x < .image_width``
**Constraint**: ``.top_left.x + .width <= .image_width``
**Constraint**: ``.top_left.y < .image_height``
**Constraint**: ``.top_left.y + .height <= .image_height``
A bounding box, which is associated to a raster image.
.. parsed-literal::
(0,0) Image
+----------------------------------+ ^
| |
| :py:attr:`top_left ` |
| +---------------+ ^ |
| | | |
| | | :py:attr:`height ` | :py:attr:`image_height `
| | | |
| +---------------+ v |
| < :py:attr:`width ` > |
| |
+----------------------------------+ v
< :py:attr:`image_width ` >
All values are in pixels and refer to the associated image.
.. codeauthor:: Johannes Wienke
@create_collection
.. py:attribute:: top_left
:type: :py:class:`rst.math.Vec2DInt`
**Unit**: pixel
Coordinates of the top left corner.
.. py:attribute:: width
:type: :py:class:`UINT32`
**Unit**: pixel
Width of the bounding box.
.. py:attribute:: height
:type: :py:class:`UINT32`
**Unit**: pixel
Height of the bounding box.
.. py:attribute:: image_width
:type: :py:class:`UINT32`
**Unit**: pixel
Width of the image the bounding box is based on.
.. py:attribute:: image_height
:type: :py:class:`UINT32`
**Unit**: pixel
Height of the image the bounding box is based on.
.. container:: message-rst-geometry-boundingbox-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox.proto
:lines: 37-69
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,25-25,31-31
.. _message-rst-geometry-boundingbox3dfloat:
Message BoundingBox3DFloat
--------------------------
.. container:: message-rst-geometry-boundingbox3dfloat-multi
.. container:: message-rst-geometry-boundingbox3dfloat-documentation
.. py:class:: rst.geometry.BoundingBox3DFloat
Bounding-box in 3D in general position and orientation.
The general bounding-box with dimensions :py:attr:`width ` x :py:attr:`depth `
x :py:attr:`height ` is constructed by translating and rotating (via :py:attr:`transformation `) an axis-aligned bounding-box around its center of
mass.
For an axis-aligned version, see :py:class:`AxisAlignedBoundingBox3DFloat `.
.. codeauthor:: Christian Emmerich
.. codeauthor:: Jan Moringen
.. py:attribute:: transformation
:type: :py:class:`rst.geometry.Pose`
Transformation, consisting of translation and orientation, of
the center of mass of the bounding-box.
.. py:attribute:: width
:type: :py:class:`FLOAT32`
**Unit**: meter
The width (along the X axis) of the box.
.. py:attribute:: depth
:type: :py:class:`FLOAT32`
**Unit**: meter
The depth (along the Y axis) of the box.
.. py:attribute:: height
:type: :py:class:`FLOAT32`
**Unit**: meter
The height (along the Z axis) of the box.
.. container:: message-rst-geometry-boundingbox3dfloat-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/BoundingBox3DFloat.proto
:lines: 23-49
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,25-25
.. _message-rst-geometry-pose:
Message Pose
------------
.. container:: message-rst-geometry-pose-multi
.. container:: message-rst-geometry-pose-documentation
.. py:class:: rst.geometry.Pose
Represents the pose (translation and rotation) of something in a
coordinate system.
.. codeauthor:: Arne Nordmann
@create_collection
.. py:attribute:: translation
:type: :py:class:`rst.geometry.Translation`
The translation of the object with respect to the origin of the
coordinate system.
.. py:attribute:: rotation
:type: :py:class:`rst.geometry.Rotation`
The rotation of the object at the position described by
:py:attr:`translation ` with respect to the coordinate system.
.. container:: message-rst-geometry-pose-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Pose.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Pose.proto
:lines: 17-31
:language: protobuf
:emphasize-lines: 7-7,13-13
.. _message-rst-geometry-rotation:
Message Rotation
----------------
.. container:: message-rst-geometry-rotation-multi
.. container:: message-rst-geometry-rotation-documentation
.. py:class:: rst.geometry.Rotation
**Constraint**: ``.qw x .qw + .qx x .qx + .qy x .qy + .qz x .qz = 1``
Cartesian 3-dimensional rotatory displacement or orientation.
The displacement or orientation (orientation being a rotation from
an origin) is in world coordinates and expressed as unit quaternion
(all-zero quaternion denotes an invalid orientation/rotation).
.. codeauthor:: Arne Nordmann
@create_collection
.. py:attribute:: qw
:type: :py:class:`FLOAT64`
Angle component of the quaternion.
.. py:attribute:: qx
:type: :py:class:`FLOAT64`
Defines the orientation of the turning axis wrt. the X axis of
the world (or the frame specified in :py:attr:`frame_id `).
.. py:attribute:: qy
:type: :py:class:`FLOAT64`
Defines the orientation of the turning axis wrt. the Y axis of
the world (or the frame specified in :py:attr:`frame_id `).
.. py:attribute:: qz
:type: :py:class:`FLOAT64`
Defines the orientation of the turning axis wrt. the Y axis of
the world (or the frame specified in :py:attr:`frame_id `).
.. py:attribute:: frame_id
:type: :py:class:`ASCII-STRING`
Identifier for the coordinate frame of the rotation.
.. container:: message-rst-geometry-rotation-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Rotation.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Rotation.proto
:lines: 18-48
:language: protobuf
:emphasize-lines: 6-6,12-12,18-18,24-24,29-29
.. _message-rst-geometry-translation:
Message Translation
-------------------
.. container:: message-rst-geometry-translation-multi
.. container:: message-rst-geometry-translation-documentation
.. py:class:: rst.geometry.Translation
Cartesian 3-dimensional translatory displacement or position.
The displacement or position (position being translation from an
origin) is expressed in world coordinates.
.. codeauthor:: Arne Nordmann
@create_collection
.. py:attribute:: x
:type: :py:class:`FLOAT64`
**Unit**: meter
Cartesian displacement along the x axis
.. py:attribute:: y
:type: :py:class:`FLOAT64`
**Unit**: meter
Cartesian displacement along the y axis
.. py:attribute:: z
:type: :py:class:`FLOAT64`
**Unit**: meter
Cartesian displacement along the z axis
.. py:attribute:: frame_id
:type: :py:class:`ASCII-STRING`
Identifier for the coordinate frame of the rotation.
.. container:: message-rst-geometry-translation-source
:download:`Download this file /home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Translation.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.17/upstream/RST-0.17.1-Linux/share/rst0.17/proto/stable/rst/geometry/Translation.proto
:lines: 16-40
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,24-24