31 const double *vA0,
const double *vA1,
32 const double *vB0,
const double *vB1);
43 const double *vB0,
const double *vB1,
44 vector<double> *coefficients = NULL,
45 const double *tolerance = NULL);
58 const double *p0,
const double *p1,
const double *p,
59 vector<double> &baryCentrics,
const int &dimension = 3);
73 const double &x0,
const double &y0,
74 const double &x1,
const double &y1,
75 const double &x,
const double &y,
76 vector<double> &baryCentrics);
88 const double *p0,
const double *p1,
const double *p2,
90 vector<double> &baryCentrics);
103 const float *p0,
const float *p1,
const float *p2,
105 vector<double> &baryCentrics);
120 const double &xA,
const double &yA,
const double &xB,
const double &yB,
121 const double &xC,
const double &yC,
const double &xD,
const double &yD,
122 double &x,
double &y);
130 const double *p0,
const double *p1,
const double *p2,
131 vector<double> &angles);
140 const double *p0,
const double *p1,
const double *p2,
151 const double *vA0,
const double *vA1,
152 const double *vB0,
const double *vB1,
160 static int crossProduct(
const double *vA,
const double *vB,
168 static double distance(
const double *p0,
const double *p1,
169 const int &dimension = 3);
176 static double distance(
const float *p0,
const float *p1,
177 const int &dimension = 3);
186 const double *vA0,
const double *vA1,
187 const double *vB0,
const double *vB1);
203 vector<pair<double, double>> &bBox);
212 const double *p2,
const double *p);
221 const float *p2,
const float *p);
233 const double &xA,
const double &yA,
const double &xB,
const double &yB);
244 const double *pA,
const double *pB,
const int &dimension = 3);
252 const double *p0,
const double *p1,
const double *p2,
253 const double *tolerance = NULL);
258 static double magnitude(
const double *v);
263 static double magnitude(
const double *o,
const double *d);
static bool isPointOnSegment(const double &x, const double &y, const double &xA, const double &yA, const double &xB, const double &yB)
Definition: Geometry.cpp:454
static int computeBarycentricCoordinates(const double *p0, const double *p1, const double *p, vector< double > &baryCentrics, const int &dimension=3)
Definition: Geometry.cpp:121
static int computeTriangleAngles(const double *p0, const double *p1, const double *p2, vector< double > &angles)
Definition: Geometry.cpp:305
static double distance(const double *p0, const double *p1, const int &dimension=3)
Definition: Geometry.cpp:347
virtual ~Geometry()
Definition: Geometry.cpp:10
static int crossProduct(const double *vA0, const double *vA1, const double *vB0, const double *vB1, vector< double > &crossProduct)
Definition: Geometry.cpp:318
static int getBoundingBox(const vector< vector< double > > &points, vector< pair< double, double >> &bBox)
Definition: Geometry.cpp:387
static double dotProduct(const double *vA0, const double *vA1, const double *vB0, const double *vB1)
Definition: Geometry.cpp:371
static bool isTriangleColinear(const double *p0, const double *p1, const double *p2, const double *tolerance=NULL)
Definition: Geometry.cpp:489
Minimalist class that handles simple geometric computations (operations on vectors, barycentric coordinates, etc.).
Definition: Geometry.h:16
Geometry()
Definition: Geometry.cpp:6
Minimalist debugging class.
Definition: Debug.h:39
static bool computeSegmentIntersection(const double &xA, const double &yA, const double &xB, const double &yB, const double &xC, const double &yC, const double &xD, const double &yD, double &x, double &y)
Definition: Geometry.cpp:251
static bool isPointInTriangle(const double *p0, const double *p1, const double *p2, const double *p)
Definition: Geometry.cpp:420
static int computeTriangleArea(const double *p0, const double *p1, const double *p2, double &area)
Definition: Geometry.cpp:292
Definition: CommandLineParser.h:13
static bool areVectorsColinear(const double *vA0, const double *vA1, const double *vB0, const double *vB1, vector< double > *coefficients=NULL, const double *tolerance=NULL)
Definition: Geometry.cpp:22
static double magnitude(const double *v)
Definition: Geometry.cpp:531
static double angle(const double *vA0, const double *vA1, const double *vB0, const double *vB1)
Definition: Geometry.cpp:13