Skip to content

Commit 8df09a6

Browse files
committed
Pal cleanups:
- remove use of namespace blocks (avoids unnecessary indentation) - cleanup includes - remove old std::cout debugging blocks - move some documentation from cpp to headers
1 parent 4cc590c commit 8df09a6

16 files changed

+5409
-6226
lines changed

src/core/pal/costcalculator.cpp

+168-197
Large diffs are not rendered by default.

src/core/pal/feature.cpp

+1,018-1,119
Large diffs are not rendered by default.

src/core/pal/geomfunction.cpp

+242-289
Large diffs are not rendered by default.

src/core/pal/geomfunction.h

+52-36
Original file line numberDiff line numberDiff line change
@@ -34,51 +34,67 @@
3434

3535
namespace pal
3636
{
37-
38-
/*
39-
* o(x2,y2)
40-
* /
41-
* cp > 0 /
42-
* / cp < 0
43-
* /
44-
* /
45-
* o (x1, y1)
46-
*/
47-
inline double cross_product( double x1, double y1, double x2, double y2, double x3, double y3 )
37+
class CORE_EXPORT GeomFunction
4838
{
49-
return ( x2 - x1 ) *( y3 - y1 ) - ( x3 - x1 ) *( y2 - y1 );
50-
}
39+
public:
5140

52-
inline double dist_euc2d( double x1, double y1, double x2, double y2 )
53-
{
54-
return sqrt(( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 ) );
55-
}
41+
/*
42+
* o(x2,y2)
43+
* /
44+
* cp > 0 /
45+
* / cp < 0
46+
* /
47+
* /
48+
* o (x1, y1)
49+
*/
50+
static inline double cross_product( double x1, double y1, double x2, double y2, double x3, double y3 )
51+
{
52+
return ( x2 - x1 ) *( y3 - y1 ) - ( x3 - x1 ) *( y2 - y1 );
53+
}
5654

57-
inline double dist_euc2d_sq( double x1, double y1, double x2, double y2 )
58-
{
59-
return ( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 );
60-
}
55+
static inline double dist_euc2d( double x1, double y1, double x2, double y2 )
56+
{
57+
return sqrt(( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 ) );
58+
}
6159

62-
void findLineCircleIntersection( double cx, double cy, double radius,
63-
double x1, double y1, double x2, double y2,
64-
double& xRes, double& yRes );
60+
static inline double dist_euc2d_sq( double x1, double y1, double x2, double y2 )
61+
{
62+
return ( x2 - x1 ) *( x2 - x1 ) + ( y2 - y1 ) *( y2 - y1 );
63+
}
6564

65+
static void findLineCircleIntersection( double cx, double cy, double radius,
66+
double x1, double y1, double x2, double y2,
67+
double& xRes, double& yRes );
6668

67-
int convexHullId( int *id, const double* const x, const double* const y, int n, int *&cHull );
69+
/**
70+
* \brief Compute the convex hull in O(n·log(n))
71+
* \param id set of point (i.e. point no 0 is (x,y) = x[id[0]],y[id[0]])
72+
* \param x x coordinates
73+
* \param y y coordinates
74+
* \param n Size of subset (vector id)
75+
* \param cHull returns the point id (id of id's vector...) whom are parts of the convex hull
76+
* \return convexHull's size
77+
*/
78+
static int convexHullId( int *id, const double* const x, const double* const y, int n, int *&cHull );
6879

69-
bool isSegIntersects( double x1, double y1, double x2, double y2, // 1st segment
70-
double x3, double y3, double x4, double y4 ); // 2nd segment
80+
/**
81+
* Returns true if the two segments intersect.
82+
*/
83+
static bool isSegIntersects( double x1, double y1, double x2, double y2, // 1st segment
84+
double x3, double y3, double x4, double y4 ); // 2nd segment
7185

72-
/*
73-
* \brief compute the point wherre two lines intersects
74-
* \return true if the ok false if line are parallel
75-
*/
76-
bool computeLineIntersection( double x1, double y1, double x2, double y2, // 1st line (segment)
77-
double x3, double y3, double x4, double y4, // 2nd line segment
78-
double *x, double *y );
86+
/**
87+
* Compute the point where two lines intersect.
88+
* \returns true if the lines intersect, or false if the lines are parallel
89+
*/
90+
static bool computeLineIntersection( double x1, double y1, double x2, double y2, // 1st line (segment)
91+
double x3, double y3, double x4, double y4, // 2nd line segment
92+
double *x, double *y );
7993

80-
int reorderPolygon( int nbPoints, double *x, double *y );
94+
//! Reorder points to have cross prod ((x,y)[i], (x,y)[i+1), point) > 0 when point is outside
95+
static int reorderPolygon( int nbPoints, double *x, double *y );
8196

82-
} // end namespace
97+
};
98+
} //namespace
8399

84100
#endif

0 commit comments

Comments
 (0)