$darkmode
cloe::Object Struct Reference

#include <object.hpp>

Public Types

enum class  Type { Unknown , Static , Dynamic }
 
enum class  Class {
  Unknown , Pedestrian , Bike , Motorbike ,
  Car , Truck , Trailer
}
 

Public Attributes

int id {-1}
 ID of object, should be unique.
 
double exist_prob {1.0}
 Object existence probability.
 
Type type {Type::Unknown}
 Type of object.
 
Class classification {Class::Unknown}
 Classification of object.
 
Eigen::Isometry3d pose {Eigen::Isometry3d()}
 Pose in [m] and [rad].
 
Eigen::Vector3d dimensions {Eigen::Vector3d::Zero()}
 Dimensions in [m].
 
Eigen::Vector3d cog_offset {Eigen::Vector3d::Zero()}
 Center of geometry offset in [m].
 
Eigen::Vector3d velocity {Eigen::Vector3d::Zero()}
 Absolute velocity in [m/s].
 
Eigen::Vector3d acceleration {Eigen::Vector3d::Zero()}
 Absolute acceleration in [m/(s*s)].
 
Eigen::Vector3d angular_velocity {Eigen::Vector3d::Zero()}
 Angular velocity in [rad/s].
 

Friends

void to_json (fable::Json &j, const Object &o)
 
void to_lua (sol::state_view view, Object *)
 

Detailed Description

Object represents an object in 3D space.

An object is a 3D bounding box with velocity, angular velocity, position, orientation, and acceleration.

Note: It is a POD and therefore nothing should inherit from it.

Approximate size of Object is: 168 bytes

TODO(ben): In one documentation from Eigen that I read, Eigen objects should not be copied, but passed by reference. If there is substance to this claim, then that would mean that an Object should also only be created on the heap. I have a hard time believing this, but maybe it's worth investigating.


The documentation for this struct was generated from the following file: