From a9c4f968812f8dad06b694573d3ed67eb03dafcd Mon Sep 17 00:00:00 2001 From: bulia byak Date: Sat, 1 Apr 2006 03:04:55 +0000 Subject: switch get_nearest_position and get_point to using supplied livarot Path instead of creating one each time from an item (bzr r384) --- src/splivarot.cpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'src/splivarot.cpp') diff --git a/src/splivarot.cpp b/src/splivarot.cpp index df5b82710..8dbdcdfd7 100644 --- a/src/splivarot.cpp +++ b/src/splivarot.cpp @@ -42,7 +42,8 @@ #include "livarot/Path.h" #include "livarot/Shape.h" -Path *Path_for_item(SPItem *item, bool doTransformation, bool transformFull = true); +#include "splivarot.h" + bool Ancetre(Inkscape::XML::Node *a, Inkscape::XML::Node *who); void sp_selected_path_boolop(bool_op bop); @@ -1566,31 +1567,17 @@ Path_for_item(SPItem *item, bool doTransformation, bool transformFull) return dest; } -NR::Maybe get_nearest_position_on_Path(SPItem *item, NR::Point p) +NR::Maybe get_nearest_position_on_Path(Path *path, NR::Point p) { - //Create and initialize a livarot Path - Path *path = Path_for_item(item, true, true); - if (path == NULL) { - return NR::Nothing(); - } - path->ConvertWithBackData(0.01); - //get nearest position on path Path::cut_position pos = path->PointToCurvilignPosition(p); - delete path; return pos; } -NR::Point get_point_on_Path(SPItem *item, int piece, double t) +NR::Point get_point_on_Path(Path *path, int piece, double t) { - //Create and initialize a livarot Path - Path *path = Path_for_item(item, true, true); - path->ConvertWithBackData(0.01); - - //get nearest position on path NR::Point p; path->PointAt(piece, t, p); - delete path; return p; } -- cgit v1.2.3