![]() |
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.
1.8.13