Struct DistanceResult

Inheritance Relationships

Base Type

Struct Documentation

struct DistanceResult : public coal::QueryResult

distance result

Public Functions

inline DistanceResult(CoalScalar min_distance_ = (std::numeric_limits<CoalScalar>::max)())
inline void update(CoalScalar distance, const CollisionGeometry *o1_, const CollisionGeometry *o2_, int b1_, int b2_)

add distance information into the result

inline void update(CoalScalar distance, const CollisionGeometry *o1_, const CollisionGeometry *o2_, int b1_, int b2_, const Vec3s &p1, const Vec3s &p2, const Vec3s &normal_)

add distance information into the result

inline void update(const DistanceResult &other_result)

add distance information into the result

inline void clear()

clear the result

inline bool operator==(const DistanceResult &other) const

whether two DistanceResult are the same or not

Public Members

CoalScalar min_distance

minimum distance between two objects. If two objects are in collision and DistanceRequest::enable_signed_distance is activated, min_distance <= 0.

Note

The nearest points are the points of the shapes that achieve a distance of DistanceResult::min_distance.

Vec3s normal

normal.

std::array<Vec3s, 2> nearest_points

nearest points. See CollisionResult::nearest_points.

const CollisionGeometry *o1

collision object 1

const CollisionGeometry *o2

collision object 2

int b1

information about the nearest point in object 1 if object 1 is mesh or point cloud, it is the triangle or point id if object 1 is geometry shape, it is NONE (-1), if object 1 is octree, it is the id of the cell

int b2

information about the nearest point in object 2 if object 2 is mesh or point cloud, it is the triangle or point id if object 2 is geometry shape, it is NONE (-1), if object 2 is octree, it is the id of the cell

Public Static Attributes

static const int NONE = -1

invalid contact primitive information