diff options
Diffstat (limited to 'src/display/curve.cpp')
| -rw-r--r-- | src/display/curve.cpp | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/src/display/curve.cpp b/src/display/curve.cpp index 1261cf9b0..065365973 100644 --- a/src/display/curve.cpp +++ b/src/display/curve.cpp @@ -895,6 +895,23 @@ SPCurve::last_bpath() const } /** + * Return last pathsegment (possibly the closing path segment) in PathVector or NULL. + * equal in functionality to SPCurve::last_bpath() + */ +Geom::Curve const * +SPCurve::last_segment() const +{ + if (is_empty()) { + return NULL; + } + if (_pathv.back().empty()) { + return NULL; + } + + return &_pathv.back().back_default(); +} + +/** * Return last path in PathVector or NULL. */ Geom::Path const * @@ -925,6 +942,23 @@ SPCurve::first_bpath() const } /** + * Return first pathsegment in PathVector or NULL. + * equal in functionality to SPCurve::first_bpath() + */ +Geom::Curve const * +SPCurve::first_segment() const +{ + if (is_empty()) { + return NULL; + } + if (_pathv.front().empty()) { + return NULL; + } + + return &_pathv.front().front(); +} + +/** * Return first path in PathVector or NULL. */ Geom::Path const * @@ -1020,8 +1054,8 @@ SPCurve::last_point() const return NR::Point(0, 0); debug_check("SPCurve::last_point", bpath->c(3) == _pathv.back().finalPoint() ); - return bpath->c(3); - // return from_2geom( _pathv.back().finalPoint() ); + //return bpath->c(3); + return from_2geom( _pathv.back().finalPoint() ); } inline static bool |
