17#ifdef LIBCARLA_INCLUDED_FROM_UE4
64 auto point_in_bbox_space = in_world_point;
68 return point_in_bbox_space.
x >= -
extent.
x && point_in_bbox_space.x <=
extent.
x &&
69 point_in_bbox_space.y >= -
extent.
y && point_in_bbox_space.y <=
extent.
y &&
70 point_in_bbox_space.z >= -
extent.
z && point_in_bbox_space.z <=
extent.
z;
113 std::for_each(world_vertices.begin(), world_vertices.end(), [&in_bbox_to_world_tr](
auto &world_vertex) {
114 in_bbox_to_world_tr.TransformPoint(world_vertex);
116 return world_vertices;
128 return !(*
this == rhs);
135#ifdef LIBCARLA_INCLUDED_FROM_UE4
139 extent(1e-2f * Box.Extent.X, 1e-2f * Box.Extent.Y, 1e-2f * Box.Extent.Z),
BoundingBox(const Vector3D &in_extent)
bool operator!=(const BoundingBox &rhs) const
Location location
Center of the BoundingBox in local space
std::array< Location, 8 > GetLocalVertices() const
Returns the positions of the 8 vertices of this BoundingBox in local space.
std::array< Location, 8 > GetLocalVerticesNoRotation() const
Returns the positions of the 8 vertices of this BoundingBox in local space without its own rotation.
MSGPACK_DEFINE_ARRAY(location, extent, rotation)
BoundingBox(const Location &in_location, const Vector3D &in_extent)
bool Contains(const Location &in_world_point, const Transform &in_bbox_to_world_transform) const
Whether this BoundingBox contains in_world_point in world space.
Vector3D extent
Half the size of the BoundingBox in local space
BoundingBox(const FBoundingBox &Box)
std::array< Location, 8 > GetWorldVertices(const Transform &in_bbox_to_world_tr) const
Returns the positions of the 8 vertices of this BoundingBox in world space.
BoundingBox(const Location &in_location, const Vector3D &in_extent, const Rotation &in_rotation)
bool operator==(const BoundingBox &rhs) const
Rotation rotation
Rotation of the BoundingBox in local space
void RotateVector(Vector3D &in_point) const
This file contains definitions of common data structures used in traffic manager.