Some documentation, C++11 conversion, code beautification,

added some helper methods.
This commit is contained in:
bubnikv
2018-07-25 16:11:31 +02:00
parent 077680b806
commit 440e58573e
14 changed files with 109 additions and 82 deletions

View File

@@ -193,23 +193,19 @@ Polyline::split_at(const Point &point, Polyline* p1, Polyline* p2) const
}
}
bool
Polyline::is_straight() const
bool Polyline::is_straight() const
{
/* Check that each segment's direction is equal to the line connecting
first point and last point. (Checking each line against the previous
one would cause the error to accumulate.) */
// Check that each segment's direction is equal to the line connecting
// first point and last point. (Checking each line against the previous
// one would cause the error to accumulate.)
double dir = Line(this->first_point(), this->last_point()).direction();
Lines lines = this->lines();
for (Lines::const_iterator line = lines.begin(); line != lines.end(); ++line) {
if (!line->parallel_to(dir)) return false;
}
for (const auto &line: this->lines())
if (! line.parallel_to(dir))
return false;
return true;
}
std::string
Polyline::wkt() const
std::string Polyline::wkt() const
{
std::ostringstream wkt;
wkt << "LINESTRING((";