Collision Checker
collision::raytrace Namespace Reference

Classes

struct  EndsLineSegmentSort_X
 
struct  EndsLineSegmentSort_X_goe
 
struct  EndsLineSegmentSort_Y
 
struct  EndsLineSegmentSort_Y_goe
 
struct  Point
 
struct  StartsLineSegmentSort_X
 
struct  StartsLineSegmentSort_X_goe
 
struct  StartsLineSegmentSort_Y
 
struct  StartsLineSegmentSort_Y_goe
 
struct  Vector2dSort_X
 
struct  Vector2dSort_Y
 

Functions

void RaytraceDebugOutput (const char *)
 
void RaiseRaytraceError (const char *)
 
bool onSegment (Point p, Point q, Point r)
 
int orientation (Point p, Point q, Point r)
 
double det (double a, double b, double c, double d)
 
bool lineLineIntersect (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double &ixOut, double &iyOut)
 
int findLineCircleIntersections (double cx, double cy, double radius, const Eigen::Vector2d &p1, const Eigen::Vector2d &p2, std::vector< Eigen::Vector2d > &inters)
 
bool doIntersect (Point p1, Point q1, Point p2, Point q2, std::vector< Point > &inters)
 
bool rayTracePrimitive (std::vector< collision::CollisionObjectConstPtr > collision_objects, const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect, bool remove_overlaps)
 
bool rayTracePostprocess (const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< Eigen::Vector2d > inters1, std::vector< LineSegment > &intersect, const collision::CollisionObject *obj)
 
int rayTraceRemoveOverlaps (std::vector< LineSegment > intersect, std::vector< LineSegment > &out_vec, int axis=0)
 

Variables

struct collision::raytrace::Vector2dSort_X vector2dSortX
 
struct collision::raytrace::Vector2dSort_Y vector2dSortY
 
struct collision::raytrace::StartsLineSegmentSort_X startsSortX
 
struct collision::raytrace::StartsLineSegmentSort_X_goe startsSortXgoe
 
struct collision::raytrace::StartsLineSegmentSort_Y startsSortY
 
struct collision::raytrace::StartsLineSegmentSort_Y_goe startsSortY_goe
 
struct collision::raytrace::EndsLineSegmentSort_X endsSortX
 
struct collision::raytrace::EndsLineSegmentSort_X_goe endsSortX_goe
 
struct collision::raytrace::EndsLineSegmentSort_Y endsSortY
 
struct collision::raytrace::EndsLineSegmentSort_Y_goe endsSortY_goe
 

Function Documentation

◆ det()

double collision::raytrace::det ( double  a,
double  b,
double  c,
double  d 
)
inline

Definition at line 92 of file raytrace_primitive.cc.

◆ doIntersect()

bool collision::raytrace::doIntersect ( Point  p1,
Point  q1,
Point  p2,
Point  q2,
std::vector< Point > &  inters 
)

Definition at line 132 of file raytrace_primitive.cc.

◆ findLineCircleIntersections()

int collision::raytrace::findLineCircleIntersections ( double  cx,
double  cy,
double  radius,
const Eigen::Vector2d &  p1,
const Eigen::Vector2d &  p2,
std::vector< Eigen::Vector2d > &  inters 
)

Definition at line 21 of file raytrace_primitive.cc.

◆ lineLineIntersect()

bool collision::raytrace::lineLineIntersect ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
double  x4,
double  y4,
double &  ixOut,
double &  iyOut 
)

Definition at line 96 of file raytrace_primitive.cc.

◆ onSegment()

bool collision::raytrace::onSegment ( Point  p,
Point  q,
Point  r 
)

Definition at line 69 of file raytrace_primitive.cc.

◆ orientation()

int collision::raytrace::orientation ( Point  p,
Point  q,
Point  r 
)

Definition at line 82 of file raytrace_primitive.cc.

◆ RaiseRaytraceError()

void collision::raytrace::RaiseRaytraceError ( const char *  message)

Definition at line 61 of file raytrace_primitive.cc.

◆ RaytraceDebugOutput()

void collision::raytrace::RaytraceDebugOutput ( const char *  message)

Definition at line 55 of file raytrace_primitive.cc.

◆ rayTracePostprocess()

bool collision::raytrace::rayTracePostprocess ( const Eigen::Vector2d &  point1,
const Eigen::Vector2d &  point2,
std::vector< Eigen::Vector2d >  inters1,
std::vector< LineSegment > &  intersect,
const collision::CollisionObject obj 
)

Definition at line 105 of file raytrace_utils.cc.

◆ rayTracePrimitive()

bool collision::raytrace::rayTracePrimitive ( std::vector< collision::CollisionObjectConstPtr collision_objects,
const Eigen::Vector2d &  point1,
const Eigen::Vector2d &  point2,
std::vector< LineSegment > &  intersect,
bool  remove_overlaps 
)

Definition at line 75 of file raytrace_utils.cc.

◆ rayTraceRemoveOverlaps()

int collision::raytrace::rayTraceRemoveOverlaps ( std::vector< LineSegment intersect,
std::vector< LineSegment > &  out_vec,
int  axis = 0 
)

Definition at line 197 of file raytrace_utils.cc.

Variable Documentation

◆ endsSortX

struct collision::raytrace::EndsLineSegmentSort_X collision::raytrace::endsSortX

◆ endsSortX_goe

struct collision::raytrace::EndsLineSegmentSort_X_goe collision::raytrace::endsSortX_goe

◆ endsSortY

struct collision::raytrace::EndsLineSegmentSort_Y collision::raytrace::endsSortY

◆ endsSortY_goe

struct collision::raytrace::EndsLineSegmentSort_Y_goe collision::raytrace::endsSortY_goe

◆ startsSortX

struct collision::raytrace::StartsLineSegmentSort_X collision::raytrace::startsSortX

◆ startsSortXgoe

struct collision::raytrace::StartsLineSegmentSort_X_goe collision::raytrace::startsSortXgoe

◆ startsSortY

struct collision::raytrace::StartsLineSegmentSort_Y collision::raytrace::startsSortY

◆ startsSortY_goe

struct collision::raytrace::StartsLineSegmentSort_Y_goe collision::raytrace::startsSortY_goe

◆ vector2dSortX

struct collision::raytrace::Vector2dSort_X collision::raytrace::vector2dSortX

◆ vector2dSortY

struct collision::raytrace::Vector2dSort_Y collision::raytrace::vector2dSortY