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.

See also

Wikipedia article containing the definition above
http://en.wikipedia.org/wiki/Geometry

See also

Corresponding data types in ROS
http://www.ros.org/wiki/geometry_msgs

Messages

digraph message_graph { fontname="Arial"; fontsize=11; stylesheet="../_static/graphs.css"; node [fontsize=11,fontname="Arial"] edge [fontsize=11,fontname="Arial"] "38" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3DSet" TITLE="Structure rst.geometry.PolygonalPatch3DSet" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PolygonalPatch3DSet</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3D" TITLE="Structure rst.geometry.PolygonalPatch3D" TARGET="_parent">PolygonalPatch3D</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3DSet.patches" TITLE="Field rst.geometry.PolygonalPatch3DSet.patches" TARGET="_parent" PORT="patches">patches</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "39" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3D" TITLE="Structure rst.geometry.PolygonalPatch3D" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PolygonalPatch3D</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent">Pose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3D.base" TITLE="Field rst.geometry.PolygonalPatch3D.base" TARGET="_parent" PORT="base">base</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Structure rst.math.Vec2DFloat" TARGET="_parent">Vec2DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PolygonalPatch3D.border" TITLE="Field rst.geometry.PolygonalPatch3D.border" TARGET="_parent" PORT="border">border</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "35" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloatSet" TITLE="Structure rst.geometry.TriangleMesh3DFloatSet" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">TriangleMesh3DFloatSet</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat" TITLE="Structure rst.geometry.TriangleMesh3DFloat" TARGET="_parent">TriangleMesh3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloatSet.meshes" TITLE="Field rst.geometry.TriangleMesh3DFloatSet.meshes" TARGET="_parent" PORT="meshes">meshes</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "36" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat" TITLE="Structure rst.geometry.TriangleMesh3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">TriangleMesh3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud3DFloat" TITLE="Structure rst.geometry.PointCloud3DFloat" TARGET="_parent">PointCloud3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.vertices" TITLE="Field rst.geometry.TriangleMesh3DFloat.vertices" TARGET="_parent" PORT="vertices">vertices</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.Triangle" TITLE="Structure rst.geometry.TriangleMesh3DFloat.Triangle" TARGET="_parent">Triangle</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.triangles" TITLE="Field rst.geometry.TriangleMesh3DFloat.triangles" TARGET="_parent" PORT="triangles">triangles</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "37" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.Triangle" TITLE="Structure rst.geometry.TriangleMesh3DFloat.Triangle" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Triangle</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.Triangle.point1" TITLE="Field rst.geometry.TriangleMesh3DFloat.Triangle.point1" TARGET="_parent" PORT="point1">point1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.Triangle.point2" TITLE="Field rst.geometry.TriangleMesh3DFloat.Triangle.point2" TARGET="_parent" PORT="point2">point2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TriangleMesh3DFloat.Triangle.point3" TITLE="Field rst.geometry.TriangleMesh3DFloat.Triangle.point3" TARGET="_parent" PORT="point3">point3</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "32" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloudSet3DFloat" TITLE="Structure rst.geometry.PointCloudSet3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointCloudSet3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud3DFloat" TITLE="Structure rst.geometry.PointCloud3DFloat" TARGET="_parent">PointCloud3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloudSet3DFloat.clouds" TITLE="Field rst.geometry.PointCloudSet3DFloat.clouds" TARGET="_parent" PORT="clouds">clouds</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "33" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud3DFloat" TITLE="Structure rst.geometry.PointCloud3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointCloud3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec3DFloat" TITLE="Structure rst.math.Vec3DFloat" TARGET="_parent">Vec3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud3DFloat.points" TITLE="Field rst.geometry.PointCloud3DFloat.points" TARGET="_parent" PORT="points">points</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "34" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-math.html#rst.math.Vec3DFloat" TITLE="Structure rst.math.Vec3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Vec3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec3DFloat.x" TITLE="Field rst.math.Vec3DFloat.x" TARGET="_parent" PORT="x">x</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec3DFloat.y" TITLE="Field rst.math.Vec3DFloat.y" TARGET="_parent" PORT="y">y</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec3DFloat.z" TITLE="Field rst.math.Vec3DFloat.z" TARGET="_parent" PORT="z">z</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "30" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloatSet" TITLE="Structure rst.geometry.Cylinder3DFloatSet" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Cylinder3DFloatSet</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloat" TITLE="Structure rst.geometry.Cylinder3DFloat" TARGET="_parent">Cylinder3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloatSet.cylinders" TITLE="Field rst.geometry.Cylinder3DFloatSet.cylinders" TARGET="_parent" PORT="cylinders">cylinders</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "31" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloat" TITLE="Structure rst.geometry.Cylinder3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Cylinder3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent">Pose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloat.transformation" TITLE="Field rst.geometry.Cylinder3DFloat.transformation" TARGET="_parent" PORT="transformation">transformation</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloat.radius" TITLE="Field rst.geometry.Cylinder3DFloat.radius" TARGET="_parent" PORT="radius">radius</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Cylinder3DFloat.height" TITLE="Field rst.geometry.Cylinder3DFloat.height" TARGET="_parent" PORT="height">height</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "29" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloatSet" TITLE="Structure rst.geometry.BoundingBox3DFloatSet" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">BoundingBox3DFloatSet</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat" TITLE="Structure rst.geometry.BoundingBox3DFloat" TARGET="_parent">BoundingBox3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloatSet.boxes" TITLE="Field rst.geometry.BoundingBox3DFloatSet.boxes" TARGET="_parent" PORT="boxes">boxes</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "28" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfViewCollection" TITLE="Structure rst.geometry.FieldOfViewCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">FieldOfViewCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfView" TITLE="Structure rst.geometry.FieldOfView" TARGET="_parent">FieldOfView</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfViewCollection.element" TITLE="Field rst.geometry.FieldOfViewCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "26" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBoxCollection" TITLE="Structure rst.geometry.BoundingBoxCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">BoundingBoxCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox" TITLE="Structure rst.geometry.BoundingBox" TARGET="_parent">BoundingBox</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBoxCollection.element" TITLE="Field rst.geometry.BoundingBoxCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "27" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox" TITLE="Structure rst.geometry.BoundingBox" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">BoundingBox</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DInt" TITLE="Structure rst.math.Vec2DInt" TARGET="_parent">Vec2DInt</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox.top_left" TITLE="Field rst.geometry.BoundingBox.top_left" TARGET="_parent" PORT="top_left">top_left</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox.width" TITLE="Field rst.geometry.BoundingBox.width" TARGET="_parent" PORT="width">width</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox.height" TITLE="Field rst.geometry.BoundingBox.height" TARGET="_parent" PORT="height">height</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox.image_width" TITLE="Field rst.geometry.BoundingBox.image_width" TARGET="_parent" PORT="image_width">image_width</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox.image_height" TITLE="Field rst.geometry.BoundingBox.image_height" TARGET="_parent" PORT="image_height">image_height</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "24" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloatCollection" TITLE="Structure rst.geometry.AxisAlignedBoundingBox3DFloatCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">AxisAlignedBoundingBox3DFloatCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat" TITLE="Structure rst.geometry.AxisAlignedBoundingBox3DFloat" TARGET="_parent">AxisAlignedBoundingBox3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloatCollection.element" TITLE="Field rst.geometry.AxisAlignedBoundingBox3DFloatCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "25" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat" TITLE="Structure rst.geometry.AxisAlignedBoundingBox3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">AxisAlignedBoundingBox3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation" TITLE="Structure rst.geometry.Translation" TARGET="_parent">Translation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat.left_front_bottom" TITLE="Field rst.geometry.AxisAlignedBoundingBox3DFloat.left_front_bottom" TARGET="_parent" PORT="left_front_bottom">left_front_bottom</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat.width" TITLE="Field rst.geometry.AxisAlignedBoundingBox3DFloat.width" TARGET="_parent" PORT="width">width</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat.depth" TITLE="Field rst.geometry.AxisAlignedBoundingBox3DFloat.depth" TARGET="_parent" PORT="depth">depth</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.AxisAlignedBoundingBox3DFloat.height" TITLE="Field rst.geometry.AxisAlignedBoundingBox3DFloat.height" TARGET="_parent" PORT="height">height</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "23" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TranslationCollection" TITLE="Structure rst.geometry.TranslationCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">TranslationCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation" TITLE="Structure rst.geometry.Translation" TARGET="_parent">Translation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.TranslationCollection.element" TITLE="Field rst.geometry.TranslationCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "20" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud2DIntCollection" TITLE="Structure rst.geometry.PointCloud2DIntCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointCloud2DIntCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud2DInt" TITLE="Structure rst.geometry.PointCloud2DInt" TARGET="_parent">PointCloud2DInt</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud2DIntCollection.element" TITLE="Field rst.geometry.PointCloud2DIntCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "21" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud2DInt" TITLE="Structure rst.geometry.PointCloud2DInt" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointCloud2DInt</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DInt" TITLE="Structure rst.math.Vec2DInt" TARGET="_parent">Vec2DInt</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointCloud2DInt.points" TITLE="Field rst.geometry.PointCloud2DInt.points" TARGET="_parent" PORT="points">points</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "22" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DInt" TITLE="Structure rst.math.Vec2DInt" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Vec2DInt</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-INT32.html#INT32" TITLE="Fundamental INT32" TARGET="_parent">INT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DInt.x" TITLE="Field rst.math.Vec2DInt.x" TARGET="_parent" PORT="x">x</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-INT32.html#INT32" TITLE="Fundamental INT32" TARGET="_parent">INT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DInt.y" TITLE="Field rst.math.Vec2DInt.y" TARGET="_parent" PORT="y">y</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "19" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PoseCollection" TITLE="Structure rst.geometry.PoseCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PoseCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent">Pose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PoseCollection.element" TITLE="Field rst.geometry.PoseCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "18" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.RotationCollection" TITLE="Structure rst.geometry.RotationCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">RotationCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation" TITLE="Structure rst.geometry.Rotation" TARGET="_parent">Rotation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.RotationCollection.element" TITLE="Field rst.geometry.RotationCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "15" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPoseCollection" TITLE="Structure rst.geometry.CameraPoseCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">CameraPoseCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose" TITLE="Structure rst.geometry.CameraPose" TARGET="_parent">CameraPose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPoseCollection.element" TITLE="Field rst.geometry.CameraPoseCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "16" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose" TITLE="Structure rst.geometry.CameraPose" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">CameraPose</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame" TITLE="Enum rst.geometry.CameraPose.CoordinateFrame" TARGET="_parent">CoordinateFrame</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.coordinate_frame" TITLE="Field rst.geometry.CameraPose.coordinate_frame" TARGET="_parent" PORT="coordinate_frame">coordinate_frame</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent">Pose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.pose" TITLE="Field rst.geometry.CameraPose.pose" TARGET="_parent" PORT="pose">pose</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "17" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame" TITLE="Enum rst.geometry.CameraPose.CoordinateFrame" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">CoordinateFrame</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_IMAGE_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_IMAGE_FRAME" TARGET="_parent">CAMERA_IMAGE_FRAME</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_IMAGE_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_IMAGE_FRAME" TARGET="_parent">0</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_X_UP_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_X_UP_FRAME" TARGET="_parent">CAMERA_X_UP_FRAME</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_X_UP_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_X_UP_FRAME" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_Y_UP_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_Y_UP_FRAME" TARGET="_parent">CAMERA_Y_UP_FRAME</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.CAMERA_Y_UP_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.CAMERA_Y_UP_FRAME" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.LASER_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.LASER_FRAME" TARGET="_parent">LASER_FRAME</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.LASER_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.LASER_FRAME" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.SCREEN_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.SCREEN_FRAME" TARGET="_parent">SCREEN_FRAME</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.CameraPose.CoordinateFrame.SCREEN_FRAME" TITLE="Value rst.geometry.CameraPose.CoordinateFrame.SCREEN_FRAME" TARGET="_parent">4</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "13" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.LengthsCollection" TITLE="Structure rst.geometry.LengthsCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">LengthsCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Lengths" TITLE="Structure rst.geometry.Lengths" TARGET="_parent">Lengths</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.LengthsCollection.element" TITLE="Field rst.geometry.LengthsCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "14" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Lengths" TITLE="Structure rst.geometry.Lengths" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Lengths</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Lengths.lengths" TITLE="Field rst.geometry.Lengths.lengths" TARGET="_parent" PORT="lengths">lengths</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "10" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustumCollection" TITLE="Structure rst.geometry.ViewFrustumCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">ViewFrustumCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustum" TITLE="Structure rst.geometry.ViewFrustum" TARGET="_parent">ViewFrustum</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustumCollection.element" TITLE="Field rst.geometry.ViewFrustumCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "11" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustum" TITLE="Structure rst.geometry.ViewFrustum" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">ViewFrustum</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfView" TITLE="Structure rst.geometry.FieldOfView" TARGET="_parent">FieldOfView</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustum.fov" TITLE="Field rst.geometry.ViewFrustum.fov" TARGET="_parent" PORT="fov">fov</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustum.minimal_distance" TITLE="Field rst.geometry.ViewFrustum.minimal_distance" TARGET="_parent" PORT="minimal_distance">minimal_distance</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.ViewFrustum.maximal_distance" TITLE="Field rst.geometry.ViewFrustum.maximal_distance" TARGET="_parent" PORT="maximal_distance">maximal_distance</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "12" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfView" TITLE="Structure rst.geometry.FieldOfView" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">FieldOfView</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfView.horizontal_aov" TITLE="Field rst.geometry.FieldOfView.horizontal_aov" TARGET="_parent" PORT="horizontal_aov">horizontal_aov</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.FieldOfView.vertical_aov" TITLE="Field rst.geometry.FieldOfView.vertical_aov" TARGET="_parent" PORT="vertical_aov">vertical_aov</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "4" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Shape3DFloatCollection" TITLE="Structure rst.geometry.Shape3DFloatCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Shape3DFloatCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Shape3DFloat" TITLE="Structure rst.geometry.Shape3DFloat" TARGET="_parent">Shape3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Shape3DFloatCollection.element" TITLE="Field rst.geometry.Shape3DFloatCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "5" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Shape3DFloat" TITLE="Structure rst.geometry.Shape3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Shape3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat" TITLE="Structure rst.geometry.BoundingBox3DFloat" TARGET="_parent">BoundingBox3DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Shape3DFloat.box" TITLE="Field rst.geometry.Shape3DFloat.box" TARGET="_parent" PORT="box">box</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "6" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat" TITLE="Structure rst.geometry.BoundingBox3DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">BoundingBox3DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent">Pose</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat.transformation" TITLE="Field rst.geometry.BoundingBox3DFloat.transformation" TARGET="_parent" PORT="transformation">transformation</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat.width" TITLE="Field rst.geometry.BoundingBox3DFloat.width" TARGET="_parent" PORT="width">width</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat.depth" TITLE="Field rst.geometry.BoundingBox3DFloat.depth" TARGET="_parent" PORT="depth">depth</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.BoundingBox3DFloat.height" TITLE="Field rst.geometry.BoundingBox3DFloat.height" TARGET="_parent" PORT="height">height</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "7" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose" TITLE="Structure rst.geometry.Pose" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Pose</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation" TITLE="Structure rst.geometry.Translation" TARGET="_parent">Translation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose.translation" TITLE="Field rst.geometry.Pose.translation" TARGET="_parent" PORT="translation">translation</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation" TITLE="Structure rst.geometry.Rotation" TARGET="_parent">Rotation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Pose.rotation" TITLE="Field rst.geometry.Pose.rotation" TARGET="_parent" PORT="rotation">rotation</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "9" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation" TITLE="Structure rst.geometry.Rotation" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Rotation</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation.qw" TITLE="Field rst.geometry.Rotation.qw" TARGET="_parent" PORT="qw">qw</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation.qx" TITLE="Field rst.geometry.Rotation.qx" TARGET="_parent" PORT="qx">qx</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation.qy" TITLE="Field rst.geometry.Rotation.qy" TARGET="_parent" PORT="qy">qy</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation.qz" TITLE="Field rst.geometry.Rotation.qz" TARGET="_parent" PORT="qz">qz</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Rotation.frame_id" TITLE="Field rst.geometry.Rotation.frame_id" TARGET="_parent" PORT="frame_id">frame_id</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "8" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation" TITLE="Structure rst.geometry.Translation" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Translation</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation.x" TITLE="Field rst.geometry.Translation.x" TARGET="_parent" PORT="x">x</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation.y" TITLE="Field rst.geometry.Translation.y" TARGET="_parent" PORT="y">y</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation.z" TITLE="Field rst.geometry.Translation.z" TARGET="_parent" PORT="z">z</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.Translation.frame_id" TITLE="Field rst.geometry.Translation.frame_id" TARGET="_parent" PORT="frame_id">frame_id</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPairCollection" TITLE="Structure rst.geometry.PointPairCollection" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointPairCollection</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPair" TITLE="Structure rst.geometry.PointPair" TARGET="_parent">PointPair</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPairCollection.element" TITLE="Field rst.geometry.PointPairCollection.element" TARGET="_parent" PORT="element">element</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPair" TITLE="Structure rst.geometry.PointPair" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">PointPair</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Structure rst.math.Vec2DFloat" TARGET="_parent">Vec2DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPair.first" TITLE="Field rst.geometry.PointPair.first" TARGET="_parent" PORT="first">first</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Structure rst.math.Vec2DFloat" TARGET="_parent">Vec2DFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.PointPair.second" TITLE="Field rst.geometry.PointPair.second" TARGET="_parent" PORT="second">second</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat" TITLE="Structure rst.math.Vec2DFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">Vec2DFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat.x" TITLE="Field rst.math.Vec2DFloat.x" TARGET="_parent" PORT="x">x</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-math.html#rst.math.Vec2DFloat.y" TITLE="Field rst.math.Vec2DFloat.y" TARGET="_parent" PORT="y">y</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "38":patches -> "39" []; "39":border -> "3" []; "39":base -> "7" []; "35":meshes -> "36" []; "36" -> "37" []; "36":triangles -> "37" []; "36":vertices -> "33" []; "32":clouds -> "33" []; "33":points -> "34" []; "30":cylinders -> "31" []; "31":transformation -> "7" []; "29":boxes -> "6" []; "28":element -> "12" []; "26":element -> "27" []; "27":top_left -> "22" []; "24":element -> "25" []; "25":left_front_bottom -> "8" []; "23":element -> "8" []; "20":element -> "21" []; "21":points -> "22" []; "19":element -> "7" []; "18":element -> "9" []; "15":element -> "16" []; "16" -> "17" []; "16":pose -> "7" []; "16":coordinate_frame -> "17" []; "13":element -> "14" []; "10":element -> "11" []; "11":fov -> "12" []; "4":element -> "5" []; "5":box -> "6" []; "6":transformation -> "7" []; "7":rotation -> "9" []; "7":translation -> "8" []; "1":element -> "2" []; "2":second -> "3" []; "2":first -> "3" []; }

Message PointPairCollection

class rst.geometry.PointPairCollection

Collection of PointPair instances.

Auto-generated.

element
Type:array of rst.geometry.PointPair

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message PointPairCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated PointPair element = 1;

}

Message Shape3DFloatCollection

class rst.geometry.Shape3DFloatCollection

Collection of Shape3DFloat instances.

Auto-generated.

element
Type:array of rst.geometry.Shape3DFloat

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message Shape3DFloatCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Shape3DFloat element = 1;

}

Message ViewFrustumCollection

class rst.geometry.ViewFrustumCollection

Collection of ViewFrustum instances.

Auto-generated.

element
Type:array of rst.geometry.ViewFrustum

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message ViewFrustumCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated ViewFrustum element = 1;

}

Message LengthsCollection

class rst.geometry.LengthsCollection

Collection of Lengths instances.

Auto-generated.

element
Type:array of rst.geometry.Lengths

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message LengthsCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Lengths element = 1;

}

Message CameraPoseCollection

class rst.geometry.CameraPoseCollection

Collection of CameraPose instances.

Auto-generated.

element
Type:array of rst.geometry.CameraPose

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message CameraPoseCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated CameraPose element = 1;

}

Message RotationCollection

class rst.geometry.RotationCollection

Collection of Rotation instances.

Auto-generated.

element
Type:array of rst.geometry.Rotation

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message RotationCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Rotation element = 1;

}

Message PoseCollection

class rst.geometry.PoseCollection

Collection of Pose instances.

Auto-generated.

element
Type:array of rst.geometry.Pose

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message PoseCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Pose element = 1;

}

Message PointCloud2DIntCollection

class rst.geometry.PointCloud2DIntCollection

Collection of PointCloud2DInt instances.

Auto-generated.

element
Type:array of rst.geometry.PointCloud2DInt

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message PointCloud2DIntCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated PointCloud2DInt element = 1;

}

Message TranslationCollection

class rst.geometry.TranslationCollection

Collection of Translation instances.

Auto-generated.

element
Type:array of rst.geometry.Translation

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message TranslationCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated Translation element = 1;

}

Message AxisAlignedBoundingBox3DFloatCollection

class rst.geometry.AxisAlignedBoundingBox3DFloatCollection

Collection of AxisAlignedBoundingBox3DFloat instances.

Auto-generated.

element
Type:array of rst.geometry.AxisAlignedBoundingBox3DFloat

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message AxisAlignedBoundingBox3DFloatCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated AxisAlignedBoundingBox3DFloat element = 1;

}

Message BoundingBoxCollection

class rst.geometry.BoundingBoxCollection

Collection of BoundingBox instances.

Auto-generated.

element
Type:array of rst.geometry.BoundingBox

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message BoundingBoxCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated BoundingBox element = 1;

}

Message FieldOfViewCollection

class rst.geometry.FieldOfViewCollection

Collection of FieldOfView instances.

Auto-generated.

element
Type:array of rst.geometry.FieldOfView

The individual elements of the collection.

Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.

Download this file

message FieldOfViewCollection {

    /**
     * The individual elements of the collection.
     *
     * Constraints regarding the empty collection, sorting, duplicated
     * entries etc. are use case specific.
     */
    repeated FieldOfView element = 1;

}

Message BoundingBox3DFloatSet

class rst.geometry.BoundingBox3DFloatSet

A set of BoundingBox3DFloat objects.

Code author: Christian Emmerich <cemmeric@cor-lab.de>

boxes
Type:array of rst.geometry.BoundingBox3DFloat

Empty collection of boxes is allowed. The order of box objects is not significant.

Download this file

message BoundingBox3DFloatSet {

    /**
     * Empty collection of boxes is allowed.
     * The order of box objects is not significant.
     */
    repeated geometry.BoundingBox3DFloat boxes = 1;

}

Message PointPair

class rst.geometry.PointPair

A pair of 2D Points with float entries.

Code author: Jordi Sanchez <Riera> <jordi.sanchez-riera@inrialpes.fr>

@create_collection

first
Type:rst.math.Vec2DFloat

The first point.

second
Type:rst.math.Vec2DFloat

The second point.

Download this file

message PointPair {

    /**
     * The first point.
     */
    required math.Vec2DFloat first = 1;

    /**
     * The second point.
     */
    required math.Vec2DFloat second = 2;

}

Message Lengths

class rst.geometry.Lengths

A sequence of length measurements (e.g. length of a link in a kinematics chain).

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

@create_collection

lengths
Type:array of FLOAT64

Unit: meter

Download this file

message Lengths {

    // @unit(meter)
    repeated double lengths = 1;

}

Message PointCloud2DInt

class rst.geometry.PointCloud2DInt

A collection of points in 2D space.

Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>

@create_collection

points
Type:array of rst.math.Vec2DInt

The points.

Duplicate entries should be avoided. Order of entries is not significant.

Download this file

message PointCloud2DInt {

    /**
     * The points.
     *
     * Duplicate entries should be avoided.
     * Order of entries is not significant.
     */
    repeated math.Vec2DInt points = 1;

}

Message Cylinder3DFloatSet

class rst.geometry.Cylinder3DFloatSet

A set of Cylinder3DFloat objects.

Code author: Christian Emmerich <cemmeric@cor-lab.de>

cylinders
Type:array of rst.geometry.Cylinder3DFloat

Empty collection of cylinders is allowed. The order of cylinders is not significant.

Download this file

message Cylinder3DFloatSet {

    /**
     * Empty collection of cylinders is allowed.
     * The order of cylinders is not significant.
     */
    repeated geometry.Cylinder3DFloat cylinders = 1;

}

Message Cylinder3DFloat

class rst.geometry.Cylinder3DFloat

Cylinder in 3D in general position and orientation.

The general cylinder with dimensions radius and height is constructed by translating and rotating (via transformation) a zero-centered, z-oriented axis-aligned cylinder such as below around its center of mass.

                    < radius >
         .---------------------.
        /                       \
      /                           \
     +              +              +  ^
     |\                           /|
     | \                        /  |
     |   `---------------------'   |
     |                             |
     |            Z ^              |
     |              |  ^  Y        |  height
     |              | /            |
     |              |/             |
     |              +-----> X      |
     |                             |
˙    |                             |
     |                             |
     |                             |
     +                             +  v
      \                           /
        \                       /
         `---------------------'

Code author: Christian Emmerich <cemmeric@cor-lab.de>

transformation
Type:rst.geometry.Pose

Transformation, consisting of translation and orientation, of the center of mass of the cylinder.

radius
Type:FLOAT32

Unit: meter

The radius of the cylinder.

height
Type:FLOAT32

Unit: meter

The height of the cylinder.

Download this file

message Cylinder3DFloat {

    /**
     * Transformation, consisting of translation and orientation, of
     * the center of mass of the cylinder.
     */
    required geometry.Pose transformation = 1;

    /**
     * The radius of the cylinder.
     */
    // @unit(meter)
    required float radius = 2;

    /**
     * The height of the cylinder.
     */
    // @unit(meter)
    required float height = 3;

}

Message PointCloudSet3DFloat

class rst.geometry.PointCloudSet3DFloat

A set of 3D Point clouds.

Code author: Christian Emmerich <cemmeric@cor-lab.de>

clouds
Type:array of rst.geometry.PointCloud3DFloat

Empty collection of clouds is allowed. The order of cloud objects is not significant.

Download this file

message PointCloudSet3DFloat {

    /**
     * Empty collection of clouds is allowed.
     * The order of cloud objects is not significant.
     */
    repeated geometry.PointCloud3DFloat clouds = 1;

}

Message TriangleMesh3DFloatSet

class rst.geometry.TriangleMesh3DFloatSet

A set of TriangleMesh3DFloat objects.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

meshes
Type:array of rst.geometry.TriangleMesh3DFloat

Empty collection is allowed. Order is not important.

Download this file

message TriangleMesh3DFloatSet {

    /**
     * Empty collection is allowed. Order is not important.
     */
    repeated TriangleMesh3DFloat meshes = 1;

}

Message TriangleMesh3DFloat

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.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

vertices
Type:rst.geometry.PointCloud3DFloat

The collection of vertices in the mesh.

triangles
Type:array of 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.

Download this file

message TriangleMesh3DFloat {

    /**
     * The collection of vertices in the mesh.
     */
    required PointCloud3DFloat vertices = 1;

    /**
     * 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.
     */
    message Triangle {

        /**
         * Index of the first vertex defining the triangle.
         */
        required uint32 point1 = 1;

        /**
         * Index of the second vertex defining the triangle.
         */
        required uint32 point2 = 2;

        /**
         * Index of the third vertex defining the triangle.
         */
        required uint32 point3 = 3;

    }

    /**
     * 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.
     */
    repeated Triangle triangles = 2;

}

Message Triangle

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.

point1
Type:UINT32

Index of the first vertex defining the triangle.

point2
Type:UINT32

Index of the second vertex defining the triangle.

point3
Type:UINT32

Index of the third vertex defining the triangle.

Download this file

    message Triangle {

        /**
         * Index of the first vertex defining the triangle.
         */
        required uint32 point1 = 1;

        /**
         * Index of the second vertex defining the triangle.
         */
        required uint32 point2 = 2;

        /**
         * Index of the third vertex defining the triangle.
         */
        required uint32 point3 = 3;

    }

Message PolygonalPatch3DSet

class rst.geometry.PolygonalPatch3DSet

A set of PolygonalPatch3D objects.

Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>

patches
Type:array of rst.geometry.PolygonalPatch3D

Empty collection is allowed. Order is not important.

Download this file

message PolygonalPatch3DSet {

    /**
     * Empty collection is allowed. Order is not important.
     */
    repeated PolygonalPatch3D patches = 1;

}

Message PolygonalPatch3D

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 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.

Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>

base
Type: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).

border
Type:array of 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.

Download this file

message PolygonalPatch3D {

    /**
     * The 6D transformation specifying the base (X and Y axes span
     * the plane in which the patch and its bounding polygon reside).
     */
    required Pose base = 1;

    /**
     * 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.
     */
    // @constraint(len(value) >= 3)
    repeated math.Vec2DFloat border = 2;

}

Message Shape3DFloat

class rst.geometry.Shape3DFloat

Description of a 3D shape as a union of geometric primitives.

New primitive types can be added to this type.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>

@create_collection

box
Type:array of rst.geometry.BoundingBox3DFloat

Set of oriented bounding boxes contributing to the described 3D shape.

The order of bounding boxes is not significant.

Download this file

message Shape3DFloat {

    /**
     * Set of oriented bounding boxes contributing to the described 3D
     * shape.
     *
     * The order of bounding boxes is not significant.
     */
    repeated geometry.BoundingBox3DFloat box = 1;

}

Message PointCloud3DFloat

class rst.geometry.PointCloud3DFloat

A collection of points in 3D space.

Code author: Jordi Sanchez Riera <jordi.sanchez-riera@inrialpes.fr>

points
Type:array of rst.math.Vec3DFloat

The points of the cloud.

Order of elements does not matter. @unit(meter?)

Download this file

message PointCloud3DFloat {

    /**
     * The points of the cloud.
     *
     * Order of elements does not matter.
     */
    // @unit(meter?)
    repeated math.Vec3DFloat points = 1;

}

Message CameraPose

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. coordinate_frame realizes this convention by describing the three axes of the camera’s coordinate system semantically including viewing direction and up direction.

Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>

@create_collection

coordinate_frame
Type:rst.geometry.CameraPose.CoordinateFrame

Annotation of the axes.

pose
Type:rst.geometry.Pose

The pose of the camera’s coordinate system in 3d space relative to a given parent coordinate system.

Download this file

message CameraPose {

    /**
     * Semantic annotation of the axes. (all right-handed)
     */
    enum CoordinateFrame {

        /**
         * X: right - Y: down - Z: forward (depth axis)
         */
        CAMERA_IMAGE_FRAME = 0;

        /**
         * X: up - Y: right - Z: forward (depth axis)
         */
        CAMERA_X_UP_FRAME = 1;

        /**
         * X: left - Y: up - Z: forward (depth axis)
         */
        CAMERA_Y_UP_FRAME = 2;

        /**
         * X: forward (depth axis) - Y: left - Z: up
         */
        LASER_FRAME = 3;

        /**
         * X: right - Y: up - Z: towards viewer (negative depth axis)
         */
        SCREEN_FRAME = 4;

    }

    /**
     * Annotation of the axes.
     */
    optional CoordinateFrame coordinate_frame = 1 [default = CAMERA_IMAGE_FRAME];

    /**
     * The pose of the camera's coordinate system in 3d space relative
     * to a given parent coordinate system.
     */
    required geometry.Pose pose = 2;

}

Message CoordinateFrame

class rst.geometry.CameraPose.CoordinateFrame

Semantic annotation of the axes. (all right-handed)

CAMERA_IMAGE_FRAME
= 0

X: right - Y: down - Z: forward (depth axis)

CAMERA_X_UP_FRAME
= 1

X: up - Y: right - Z: forward (depth axis)

CAMERA_Y_UP_FRAME
= 2

X: left - Y: up - Z: forward (depth axis)

LASER_FRAME
= 3

X: forward (depth axis) - Y: left - Z: up

SCREEN_FRAME
= 4

X: right - Y: up - Z: towards viewer (negative depth axis)

Download this file

    enum CoordinateFrame {

        /**
         * X: right - Y: down - Z: forward (depth axis)
         */
        CAMERA_IMAGE_FRAME = 0;

        /**
         * X: up - Y: right - Z: forward (depth axis)
         */
        CAMERA_X_UP_FRAME = 1;

        /**
         * X: left - Y: up - Z: forward (depth axis)
         */
        CAMERA_Y_UP_FRAME = 2;

        /**
         * X: forward (depth axis) - Y: left - Z: up
         */
        LASER_FRAME = 3;

        /**
         * X: right - Y: up - Z: towards viewer (negative depth axis)
         */
        SCREEN_FRAME = 4;

    }

Message ViewFrustum

class rst.geometry.ViewFrustum

Constraint: .maximal_distance > .minimal_distance

A camera’s view frustum.

Adds information about the maximal and minimal perceivable distance (minimal_distance, maximal_distance) of a sensor to the definition of its field of view (fov).

Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>

@create_collection

fov
Type:rst.geometry.FieldOfView

The field of view of the frustum.

minimal_distance
Type:FLOAT32

Constraint: value > 0

Unit: meter

The minimal perceivable distance.

maximal_distance
Type:FLOAT32

Constraint: value > 0

Unit: meter

The maximal perceivable distance.

Download this file

message ViewFrustum {

    /**
     * The field of view of the frustum.
     */
    required FieldOfView fov = 1;

    /**
     * The minimal perceivable distance.
     */
    // @constraint(value > 0)
    // @unit(meter)
    optional float minimal_distance = 2 [default = 0];

    /**
     * The maximal perceivable distance.
     */
    // @constraint(value > 0)
    // @unit(meter)
    optional float maximal_distance = 3 [default = 99999];

}

Message FieldOfView

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.

Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>

@create_collection

horizontal_aov
Type:FLOAT32

Constraint: value > 0

Unit: radian

An angle defining the horizontal bounds of the FOV.

vertical_aov
Type:FLOAT32

Constraint: value > 0

Unit: radian

An angle defining the vertical bounds of the FOV.

Download this file

message FieldOfView {

    /**
     * An angle defining the horizontal bounds of the FOV.
     */
    // @constraint(value > 0)
    // @unit(radian)
    required float horizontal_aov = 1;

    /**
     * An angle defining the vertical bounds of the FOV.
     */
    // @constraint(value > 0)
    // @unit(radian)
    required float vertical_aov = 2;

}

Message BoundingBox

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.

(0,0)           Image
+----------------------------------+ ^
|                                  |
|    top_left                    |
|    +---------------+ ^           |
|    |               |             |
|    |               | height    | image_height
|    |               |             |
|    +---------------+ v           |
|    <    width     >            |
|                                  |
+----------------------------------+ v
<         image_width            >

All values are in pixels and refer to the associated image.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

@create_collection

top_left
Type:rst.math.Vec2DInt

Unit: pixel

Coordinates of the top left corner.

width
Type:UINT32

Unit: pixel

Width of the bounding box.

height
Type:UINT32

Unit: pixel

Height of the bounding box.

image_width
Type:UINT32

Unit: pixel

Width of the image the bounding box is based on.

image_height
Type:UINT32

Unit: pixel

Height of the image the bounding box is based on.

Download this file

message BoundingBox {

    /**
     * Coordinates of the top left corner.
     */
    // @unit(pixel)
    required math.Vec2DInt top_left = 1;

    /**
     * Width of the bounding box.
     */
    // @unit(pixel)
    required uint32 width = 2;

    /**
     * Height of the bounding box.
     */
    // @unit(pixel)
    required uint32 height = 3;

    /**
     * Width of the image the bounding box is based on.
     */
    // @unit(pixel)
    optional uint32 image_width = 4;

    /**
     * Height of the image the bounding box is based on.
     */
    // @unit(pixel)
    optional uint32 image_height = 5;

}

Message BoundingBox3DFloat

class rst.geometry.BoundingBox3DFloat

Bounding-box in 3D in general position and orientation.

The general bounding-box with dimensions width x depth x height is constructed by translating and rotating (via transformation) an axis-aligned bounding-box around its center of mass.

For an axis-aligned version, see AxisAlignedBoundingBox3DFloat.

Code author: Christian Emmerich <cemmeric@cor-lab.de>

Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>

transformation
Type:rst.geometry.Pose

Transformation, consisting of translation and orientation, of the center of mass of the bounding-box.

width
Type:FLOAT32

Unit: meter

The width (along the X axis) of the box.

depth
Type:FLOAT32

Unit: meter

The depth (along the Y axis) of the box.

height
Type:FLOAT32

Unit: meter

The height (along the Z axis) of the box.

Download this file

message BoundingBox3DFloat {

    /**
     * Transformation, consisting of translation and orientation, of
     * the center of mass of the bounding-box.
     */
    required geometry.Pose transformation = 1;

    /**
     * The width (along the X axis) of the box.
     */
    // @unit(meter)
    required float width = 2;

    /**
     * The depth (along the Y axis) of the box.
     */
    // @unit(meter)
    required float depth = 3;

    /**
     * The height (along the Z axis) of the box.
     */
    // @unit(meter)
    required float height = 4;

}

Message AxisAlignedBoundingBox3DFloat

class rst.geometry.AxisAlignedBoundingBox3DFloat

An axis-aligned bounding-box in 3D.

The bounding-box is constructed by spanning at left_front_bottom a rectangular volume of lengths width x depth x height along the positive directions of the X, Y and Z axis respectively.

^ Z
|
|            +----------------------+ ^
|           /                      /|
|          /                      / |
|         /                      /  | height
|        +----------------------+   |
|        |                      |   |
|        |                      |   + v
|     Y  |                      |  / ^
|     ^  |                      | / depth
|    /   |                      |/
|   /    +----------------------+ v
|  /     left_front_bottom
| /      <     width      >
|/
+-----------------------------> X

For a bouding-box in general orientation (i.e. not axis-aligned) see BoundingBox3DFloat.

Code author: Christian Emmerich <cemmeric@cor-lab.de>

Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>

@create_collection

left_front_bottom
Type:rst.geometry.Translation

Coordinates of the bottom left front corner.

width
Type:FLOAT32

Unit: meter

The width (along the X axis) of the box.

depth
Type:FLOAT32

Unit: meter

The depth (along the Y axis) of the box.

height
Type:FLOAT32

Unit: meter

The height (along the Z axis) of the box.

Download this file

message AxisAlignedBoundingBox3DFloat {

    /**
     * Coordinates of the bottom left front corner.
     */
    required geometry.Translation left_front_bottom = 1;

    /**
     * The width (along the X axis) of the box.
     */
    // @unit(meter)
    required float width = 2;

    /**
     * The depth (along the Y axis) of the box.
     */
    // @unit(meter)
    required float depth = 3;

    /**
     * The height (along the Z axis) of the box.
     */
    // @unit(meter)
    required float height = 4;

}

Message Pose

class rst.geometry.Pose

Represents the pose (translation and rotation) of something in a coordinate system.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

@create_collection

translation
Type:rst.geometry.Translation

The translation of the object with respect to the origin of the coordinate system.

rotation
Type:rst.geometry.Rotation

The rotation of the object at the position described by translation with respect to the coordinate system.

Download this file

message Pose {

    /**
     * The translation of the object with respect to the origin of the
     * coordinate system.
     */
    required Translation translation = 1;

    /**
     * The rotation of the object at the position described by
     * @ref .translation with respect to the coordinate system.
     */
    required Rotation rotation = 2;

}

Message Rotation

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).

Code author: Arne Nordmann <anordman@cor-lab.uni-bielefeld.de>

@create_collection

qw
Type:FLOAT64

Angle component of the quaternion.

qx
Type:FLOAT64

Defines the orientation of the turning axis wrt. the X axis of the world (or the frame specified in frame_id).

qy
Type:FLOAT64

Defines the orientation of the turning axis wrt. the Y axis of the world (or the frame specified in frame_id).

qz
Type:FLOAT64

Defines the orientation of the turning axis wrt. the Y axis of the world (or the frame specified in frame_id).

frame_id
Type:ASCII-STRING

Identifier for the coordinate frame of the rotation.

Download this file

message Rotation {

    /**
     * Angle component of the quaternion.
     */
    required double qw = 4;

    /**
     * Defines the orientation of the turning axis wrt. the X axis of
     * the world (or the frame specified in @ref .frame_id).
     */
    required double qx = 5;

    /**
     * Defines the orientation of the turning axis wrt. the Y axis of
     * the world (or the frame specified in @ref .frame_id).
     */
    required double qy = 6;

    /**
     * Defines the orientation of the turning axis wrt. the Y axis of
     * the world (or the frame specified in @ref .frame_id).
     */
    required double qz = 7;

    /**
     * Identifier for the coordinate frame of the rotation.
     */
    optional string frame_id = 8;

}

Message Translation

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.

Code author: Arne Nordmann <anordman@cor-lab.uni-bielefeld.de>

@create_collection

x
Type:FLOAT64

Unit: meter

Cartesian displacement along the x axis

y
Type:FLOAT64

Unit: meter

Cartesian displacement along the y axis

z
Type:FLOAT64

Unit: meter

Cartesian displacement along the z axis

frame_id
Type:ASCII-STRING

Identifier for the coordinate frame of the rotation.

Download this file

message Translation {

    /**
     * Cartesian displacement along the x axis
     */
    // @unit(meter)
    required double x = 1;

    /**
     * Cartesian displacement along the y axis
     */
    // @unit(meter)
    required double y = 2;

    /**
     * Cartesian displacement along the z axis
     */
    // @unit(meter)
    required double z = 3;

    /**
     * Identifier for the coordinate frame of the rotation.
     */
    optional string frame_id = 8;
}