mirror of https://github.com/CGAL/cgal
Do not needless lose precision in outer frame computations
This commit is contained in:
parent
c25c407b81
commit
7449c7419a
|
|
@ -166,16 +166,15 @@ create_partial_exterior_straight_skeleton_2 ( FT const& aMaxOffset
|
|||
|
||||
if ( margin )
|
||||
{
|
||||
double lm = CGAL::to_double(*margin);
|
||||
Bbox_2 bbox = bbox_2(aVerticesBegin, aVerticesEnd);
|
||||
const IFT lm = *margin;
|
||||
const Bbox_2 bbox = bbox_2(aVerticesBegin, aVerticesEnd);
|
||||
|
||||
FT fxmin = bbox.xmin() - lm ;
|
||||
FT fxmax = bbox.xmax() + lm ;
|
||||
FT fymin = bbox.ymin() - lm ;
|
||||
FT fymax = bbox.ymax() + lm ;
|
||||
const IFT fxmin = IFT(bbox.xmin()) - lm ;
|
||||
const IFT fxmax = IFT(bbox.xmax()) + lm ;
|
||||
const IFT fymin = IFT(bbox.ymin()) - lm ;
|
||||
const IFT fymax = IFT(bbox.ymax()) + lm ;
|
||||
|
||||
Point_2 frame[4] ;
|
||||
|
||||
frame[0] = Point_2(fxmin,fymin) ;
|
||||
frame[1] = Point_2(fxmax,fymin) ;
|
||||
frame[2] = Point_2(fxmax,fymax) ;
|
||||
|
|
|
|||
|
|
@ -165,16 +165,15 @@ create_exterior_straight_skeleton_2 ( FT const& aMaxOffset
|
|||
|
||||
if ( margin )
|
||||
{
|
||||
const double lm = CGAL::to_double(*margin);
|
||||
Bbox_2 bbox = bbox_2(aVerticesBegin, aVerticesEnd);
|
||||
const IFT lm = *margin;
|
||||
const Bbox_2 bbox = bbox_2(aVerticesBegin, aVerticesEnd);
|
||||
|
||||
FT fxmin = bbox.xmin() - lm ;
|
||||
FT fxmax = bbox.xmax() + lm ;
|
||||
FT fymin = bbox.ymin() - lm ;
|
||||
FT fymax = bbox.ymax() + lm ;
|
||||
const IFT fxmin = IFT(bbox.xmin()) - lm ;
|
||||
const IFT fxmax = IFT(bbox.xmax()) + lm ;
|
||||
const IFT fymin = IFT(bbox.ymin()) - lm ;
|
||||
const IFT fymax = IFT(bbox.ymax()) + lm ;
|
||||
|
||||
Point_2 frame[4] ;
|
||||
|
||||
frame[0] = Point_2(fxmin,fymin) ;
|
||||
frame[1] = Point_2(fxmax,fymin) ;
|
||||
frame[2] = Point_2(fxmax,fymax) ;
|
||||
|
|
|
|||
|
|
@ -182,17 +182,18 @@ create_exterior_weighted_straight_skeleton_2(const FT& max_offset,
|
|||
// converter stuff that is done in `create_partial_exterior_straight_skeleton_2`?).
|
||||
boost::optional<IFT> margin = compute_outer_frame_margin(vertices_begin,
|
||||
vertices_end,
|
||||
weights[0],
|
||||
offset);
|
||||
|
||||
if(margin)
|
||||
{
|
||||
const double lm = CGAL::to_double(*margin);
|
||||
Bbox_2 bbox = bbox_2(vertices_begin, vertices_end);
|
||||
const IFT lm = *margin;
|
||||
const Bbox_2 bbox = bbox_2(vertices_begin, vertices_end);
|
||||
|
||||
FT fxmin = bbox.xmin() - lm;
|
||||
FT fxmax = bbox.xmax() + lm;
|
||||
FT fymin = bbox.ymin() - lm;
|
||||
FT fymax = bbox.ymax() + lm;
|
||||
const IFT fxmin = IFT(bbox.xmin()) - lm;
|
||||
const IFT fxmax = IFT(bbox.xmax()) + lm;
|
||||
const IFT fymin = IFT(bbox.ymin()) - lm;
|
||||
const IFT fymax = IFT(bbox.ymax()) + lm;
|
||||
|
||||
Point_2 frame[4];
|
||||
frame[0] = Point_2(fxmin,fymin);
|
||||
|
|
|
|||
Loading…
Reference in New Issue