Some documentation, C++11 conversion, code beautification,
added some helper methods.
This commit is contained in:
@@ -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((";
|
||||
|
||||
Reference in New Issue
Block a user