![]() |
Mapper
0.9.0
API documentation
|
An arbitrary position on a path. More...
#include <path_coord.h>
Public Types | |
using | length_type = PathCoord::length_type |
A reaonably precise float type for lengths and distances. More... | |
Public Member Functions | |
MapCoordF | tangentVector () const |
Returns a vector which is a tangent to the path at this position. More... | |
Static Public Member Functions | |
static SplitPathCoord | begin (const PathCoordVector &path_coords) |
Returns a SplitPathCoord at the begin of the given path. More... | |
static SplitPathCoord | end (const PathCoordVector &path_coords) |
Returns a SplitPathCoord at the end of the given path. More... | |
static SplitPathCoord | at (const PathCoordVector &path_coords, std::vector< PathCoord >::size_type path_coord_index) |
Returns a SplitPathCoord at the given PathCoordVector index. More... | |
static SplitPathCoord | at (length_type length, const SplitPathCoord &first) |
Returns a SplitPathCoord at the given length. More... | |
static SplitPathCoord | at (const PathCoordVector &path_coords, length_type length) |
Returns a SplitPathCoord at the given length. More... | |
Public Attributes | |
MapCoordF | pos |
Position. More... | |
PathCoord::size_type | index |
Index of the cooresponding or preceding map coordinate and flags. More... | |
float | param |
Relative location of this position on the MapCoordVector edge ([0.0, 1.0)). More... | |
length_type | clen |
Cumulative length of the path since the start of the current part. More... | |
const PathCoordVector * | path_coords |
The underlying vector path coordinates. More... | |
std::vector< PathCoord >::size_type | path_coord_index |
Index of the corresponding or preceding path_coord in a vector. More... | |
bool | is_curve_end |
If true, a bezier edge ends at this split position. More... | |
bool | is_curve_start |
If true, a bezier edge starts at this split position. More... | |
MapCoordF | curve_end [2] |
If a bezier edge ends here, this will hold the last control points. More... | |
MapCoordF | curve_start [2] |
If a bezier edge starts here, this will hold the next control points. More... | |
An arbitrary position on a path.
A SplitPathCoord supports processing paths in connection with PathCoordVector. It can represent an arbitrary position even between the elements of the PathCoordVector. Other than PathCoord, it keeps a reference to the PathCoordVector. It captures additional state such as adjusted curve parameters.
A reaonably precise float type for lengths and distances.
|
static |
Returns a SplitPathCoord at the given PathCoordVector index.
|
static |
Returns a SplitPathCoord at the given length.
The search for the position will start at first.
|
inlinestatic |
Returns a SplitPathCoord at the given length.
|
static |
Returns a SplitPathCoord at the begin of the given path.
|
static |
Returns a SplitPathCoord at the end of the given path.
MapCoordF OpenOrienteering::SplitPathCoord::tangentVector | ( | ) | const |
Returns a vector which is a tangent to the path at this position.
Check distances, advance to a significant length, handle closed paths.
length_type OpenOrienteering::SplitPathCoord::clen |
Cumulative length of the path since the start of the current part.
MapCoordF OpenOrienteering::SplitPathCoord::curve_end[2] |
If a bezier edge ends here, this will hold the last control points.
Otherwise, curve_end[1] will hold the preceding coordinate, or the current coordinate for the start of open paths.
MapCoordF OpenOrienteering::SplitPathCoord::curve_start[2] |
If a bezier edge starts here, this will hold the next control points.
Otherwise, curve_start[0] will hold the next coordinate, or the current coordinate for the end of open paths
PathCoord::size_type OpenOrienteering::SplitPathCoord::index |
Index of the cooresponding or preceding map coordinate and flags.
bool OpenOrienteering::SplitPathCoord::is_curve_end |
If true, a bezier edge ends at this split position.
bool OpenOrienteering::SplitPathCoord::is_curve_start |
If true, a bezier edge starts at this split position.
float OpenOrienteering::SplitPathCoord::param |
Relative location of this position on the MapCoordVector edge ([0.0, 1.0)).
std::vector<PathCoord>::size_type OpenOrienteering::SplitPathCoord::path_coord_index |
Index of the corresponding or preceding path_coord in a vector.
const PathCoordVector* OpenOrienteering::SplitPathCoord::path_coords |
The underlying vector path coordinates.
MapCoordF OpenOrienteering::SplitPathCoord::pos |
Position.