@@ -387,16 +387,20 @@ message LogicalLaneAssignment
387387 optional double angle_to_lane = 4 ;
388388}
389389
390- // \brief A bounding box description.
390+ // \brief A bounding box description.
391391//
392- // A bounding box representing a sub-section of it 's parents overall dimension,
393- // either that of a \c BaseMoving or \c BaseStationary .
392+ // A bounding box representing a sub-section of its parent 's overall
393+ // dimension, either that of a \c BaseMoving or \c BaseStationary .
394394//
395- // The parent frame of the \c BoundingBox is not relative to the parent object
396- // it is associated to, but in the same parent frame as the parent object.
395+ // The parent frame of the \c BoundingBox is identical to the parent frame
396+ // of the \c MovingObject or \c StationaryObject it is associated to. For
397+ // example, if the parent object coordinates are given relative to the
398+ // global coordinate system, then the \c BoundingBox coordinates are also
399+ // given relative to the global coordinate system.
397400//
398- // \note The actual bounding box of the object is defined in dimension, position
399- // and orientation of the \c BaseMoving and \c BaseStationary .
401+ // \note The overall bounding box of the object is still defined using the
402+ // dimension, position and orientation of the \c BaseMoving or
403+ // \c BaseStationary .
400404//
401405message BoundingBox
402406{
@@ -406,25 +410,25 @@ message BoundingBox
406410
407411 // The 3D position of the bounding box.
408412 //
409- // \note The position should be within the same coordinate frame as it's
410- // parent, not relative to coordinate frame of the parent object. The
411- // position becomes global/absolute if the parent frame is inertial
413+ // \note The position should be within the same coordinate frame as
414+ // its parent, not relative to coordinate frame of the parent object.
415+ // The position becomes global/absolute if the parent frame is inertial
412416 // (all parent frames up to ground truth).
413417 //
414418 optional Vector3d position = 2 ;
415419
416420 // The 3D orientation of the bounding box.
417421 //
418- // \note The orientation should be within the same coordinate frame as it's
419- // parent, not relative to coordinate frame of the parent object. The
420- // orientation becomes global/absolute if the parent frame is inertial
422+ // \note The orientation should be within the same coordinate frame as
423+ // its parent, not relative to the coordinate frame of the parent object.
424+ // The orientation becomes global/absolute if the parent frame is inertial
421425 // (all parent frames up to ground truth).
422426 //
423427 optional Orientation3d orientation = 3 ;
424428
425429 // The type of object contained in the bounding box.
426430 //
427- optional Type contained_object_type = 4 ;
431+ optional Type contained_object_type = 4 ;
428432
429433 // Opaque reference of an associated 3D model of the bounding box.
430434 //
@@ -449,59 +453,59 @@ message BoundingBox
449453 // The main chassis of a vehicle.
450454 //
451455 TYPE_CHASSIS = 2 ;
452-
456+
453457 // The door of a vehicle.
454- //
458+ //
455459 TYPE_DOOR = 3 ;
456-
460+
457461 // The side mirror of a vehicle.
458462 //
459- // \note The side mirror is not included in the actual bounding box of
460- // the parent object.
461- //
463+ // \note The side mirror is not included in the overall bounding box
464+ // of the parent object.
465+ //
462466 TYPE_SIDE_MIRROR = 4 ;
463-
467+
464468 // Additional cargo attached to the a vehicle which is temporarily
465469 // attached.
466- //
470+ //
467471 TYPE_CARGO = 5 ;
468-
472+
469473 // The wheel of a vehicle.
470474 //
471475 // \note For more detailed information about the wheels of an object,
472476 // please refer to \c MovingObject/VehicleAttributes/WheelData.
473- //
477+ //
474478 TYPE_WHEEL = 6 ;
475-
479+
476480 // The torso section of a person or animal.
477- //
481+ //
478482 TYPE_TORSO = 7 ;
479-
483+
480484 // An external limb of a person or animal.
481- //
482- // \note Limbs can be sub-divided to increase accuracy, i.e. for upper
485+ //
486+ // \note Limbs can be sub-divided to increase accuracy, i.e. for upper
483487 // and lower arm/leg sections.
484488 //
485489 TYPE_LIMB = 8 ;
486-
490+
487491 // The head of a person or animal.
488- //
492+ //
489493 TYPE_HEAD = 9 ;
490-
494+
491495 // The trunk section of a tree.
492- //
496+ //
493497 TYPE_TREE_TRUNK = 10 ;
494-
498+
495499 // The crown of a tree, usually encompassing the branches and leaves.
496- //
500+ //
497501 TYPE_TREE_CROWN = 11 ;
498-
502+
499503 // The vertical pole of a street light.
500- //
504+ //
501505 TYPE_STREET_LIGHT_POLE = 12 ;
502-
506+
503507 // The horizontal arm of a street light.
504- //
508+ //
505509 TYPE_STREET_LIGHT_ARM = 13 ;
506510 }
507511}
@@ -524,7 +528,7 @@ message BaseStationary
524528 // The 3D dimensions of the stationary object (bounding box), e.g. a
525529 // landmark.
526530 //
527- // \note The \c #dimension must completely enclose the geometry of the
531+ // \note The \c #dimension must completely enclose the geometry of the
528532 // \c BaseStationary .
529533 //
530534 optional Dimension3d dimension = 1 ;
@@ -575,11 +579,15 @@ message BaseStationary
575579 // The bounding box sections can include separate parts on partially-opaque
576580 // objects such as trees with a distinction between trunk and crown.
577581 //
578- // \note It is expected that when using \c #bounding_box_section ,
579- // anyone consuming this data has the guarantee that all others parts of
580- // the \c BaseStationary are covered by a sub-section, such that the
581- // guarentee is that the remaining area of the objects dimension is
582- // represented by space where no physical collisions could be detected.
582+ // \note The bounding box sub-divisions can extend beyond the overall
583+ // bounding box, however no actual geometry must reside outside of the
584+ // overall bounding box.
585+ //
586+ // \note If any sub-divisions are provided, then they must cover all
587+ // occupied space of the overall bounding box. In other words, a consumer
588+ // of this data is guaranteed that any part of the overall bounding box
589+ // that is not covered by any sub-division is free of physical objects,
590+ // and thus no collisions can occur there.
583591 //
584592 repeated BoundingBox bounding_box_section = 5 ;
585593}
@@ -604,8 +612,8 @@ message BaseMoving
604612{
605613 // The 3D dimension of the moving object (its bounding box).
606614 //
607- // \note The \c #dimension must completely enclose the geometry of the
608- // \c BaseMoving .
615+ // \note The \c #dimension must completely enclose the geometry of the
616+ // \c BaseMoving with the exception of the side mirrors for vehicles .
609617 //
610618 // \note The bounding box does NOT include side mirrors for vehicles.
611619 //
@@ -614,7 +622,6 @@ message BaseMoving
614622 // The reference point for position and orientation: the center (x,y,z) of
615623 // the bounding box.
616624 //
617- //
618625 optional Vector3d position = 2 ;
619626
620627 // The relative orientation of the moving object w.r.t. its parent frame,
@@ -711,15 +718,19 @@ message BaseMoving
711718
712719 // Sub-divisions of the overall bounding box of the \c BaseMoving object.
713720 //
714- // The bounding box sections can include side mirrors, cargo, etc. for
715- // vehicles, as well as body-part sections for pedestrians.
716- //
717- // \note It is also expected that when using \c #bounding_box_section ,
718- // anyone consuming this data has the guarantee that all others parts of
719- // the \c BaseMoving are covered by a sub-section, such that the
720- // guarentee is that the remaining area of the objects dimension is
721- // represented by space where no physical collisions could be detected.
722- // This does not include the side mirrors.
721+ // The bounding box sections can include side mirrors, cargo, etc. for
722+ // vehicles, as well as body-part sections for pedestrians. Note that for
723+ // more precise pedestrian information \c PedestrianAttributes can be used.
724+ //
725+ // \note The bounding box sub-divisions can extend beyond the overall
726+ // bounding box, however no actual geometry must reside outside of the
727+ // overall bounding box, with the specific exception of the side mirrors.
728+ //
729+ // \note If any sub-divisions are provided, then they must cover all
730+ // occupied space of the overall bounding box. In other words, a consumer
731+ // of this data is guaranteed that any part of the overall bounding box
732+ // that is not covered by any sub-division is free of physical objects,
733+ // and thus no collisions can occur there.
723734 //
724735 repeated BoundingBox bounding_box_section = 9 ;
725736}
0 commit comments