.. _package-rst-geometry:
======================
Package rst.geometry
======================
*Not documented*
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"]
"6" [label=<
| BoundingBox |
|
Vec2DInt | top_left |
UINT32 | width |
UINT32 | height |
UINT32 | image_width |
UINT32 | image_height |
>,shape=box,style=filled,fillcolor="white"];
"7" [label=< | Vec2DInt |
|
INT32 | x |
INT32 | y |
>,shape=box,style=filled,fillcolor="white"];
"5" [label=< | AxisAlignedBoundingBox3DFloat |
|
Translation | left_front_bottom |
FLOAT32 | width |
FLOAT32 | depth |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"1" [label=< | BoundingBox3DFloat |
|
Pose | transformation |
FLOAT32 | width |
FLOAT32 | depth |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"2" [label=< | Pose |
|
Translation | translation |
Rotation | rotation |
>,shape=box,style=filled,fillcolor="white"];
"4" [label=< | Rotation |
|
FLOAT64 | qw |
FLOAT64 | qx |
FLOAT64 | qy |
FLOAT64 | qz |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"3" [label=< | Translation |
|
FLOAT64 | x |
FLOAT64 | y |
FLOAT64 | z |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"6":top_left -> "7" [];
"5":left_front_bottom -> "3" [];
"1":transformation -> "2" [];
"2":rotation -> "4" [];
"2":translation -> "3" [];
.. container:: mess4ge-list
.. container:: messages
* :ref:`BoundingBox3DFloat `
* :ref:`Pose `
* :ref:`AxisAlignedBoundingBox3DFloat `
* :ref:`Rotation `
* :ref:`Translation `
* :ref:`BoundingBox `
.. container:: clearer
clearer: should be made invisible via css
.. _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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/BoundingBox3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/BoundingBox3DFloat.proto
:lines: 24-50
: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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/Pose.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/Pose.proto
:lines: 17-31
:language: protobuf
:emphasize-lines: 7-7,13-13
.. _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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloat.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/AxisAlignedBoundingBox3DFloat.proto
:lines: 44-69
:language: protobuf
:emphasize-lines: 6-6,12-12,18-18,24-24
.. _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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/Rotation.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/Translation.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/Translation.proto
:lines: 16-40
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,24-24
.. _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.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/BoundingBox.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/geometry/BoundingBox.proto
:lines: 37-69
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,25-25,31-31