Skip to content

Commit cd229b0

Browse files
committed
Move bezier bounding rect estimation to the geometry file.
1 parent a837694 commit cd229b0

3 files changed

Lines changed: 14 additions & 9 deletions

File tree

Sources/NodeUIEngine/NUIE_Geometry.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,4 +549,14 @@ std::vector<Point> SegmentBezier (size_t segmentCount, const Point& p1, const Po
549549
return points;
550550
}
551551

552+
Rect GetBezierBoundingRect (const Point& p1, const Point& p2, const Point& p3, const Point& p4)
553+
{
554+
BoundingRect boundingRect;
555+
boundingRect.AddPoint (p1);
556+
boundingRect.AddPoint (p2);
557+
boundingRect.AddPoint (p3);
558+
boundingRect.AddPoint (p4);
559+
return boundingRect.GetRect ();
560+
}
561+
552562
}

Sources/NodeUIEngine/NUIE_Geometry.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ bool IsEqual (const Point& a, const Point& b);
182182
bool IsEqual (const Size& a, const Size& b);
183183
bool IsEqual (const Rect& a, const Rect& b);
184184

185-
std::vector<Point> SegmentBezier (size_t segmentCount, const Point& p1, const Point& p2, const Point& p3, const Point& p4);
185+
std::vector<Point> SegmentBezier (size_t segmentCount, const Point& p1, const Point& p2, const Point& p3, const Point& p4);
186+
Rect GetBezierBoundingRect (const Point& p1, const Point& p2, const Point& p3, const Point& p4);
186187

187188
}
188189

Sources/NodeUIEngine/NUIE_NodeUIManagerDrawer.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -284,14 +284,8 @@ bool NodeUIManagerDrawer::IsConnectionVisible (NodeUIDrawingEnvironment& drawing
284284
{
285285
Point controlPoint1, controlPoint2;
286286
GetBezierControlPoints (beg, end, controlPoint1, controlPoint2);
287-
288-
BoundingRect connectionRect;
289-
connectionRect.AddPoint (beg);
290-
connectionRect.AddPoint (controlPoint1);
291-
connectionRect.AddPoint (controlPoint2);
292-
connectionRect.AddPoint (end);
293-
294-
return IsRectVisible (drawingEnv, connectionRect.GetRect ());
287+
Rect boundingRect = GetBezierBoundingRect (beg, controlPoint1, controlPoint2, end);
288+
return IsRectVisible (drawingEnv, boundingRect);
295289
}
296290

297291
bool NodeUIManagerDrawer::IsNodeVisible (NodeUIDrawingEnvironment& drawingEnv, const NodeUIScaleIndependentData& scaleIndependentData, const NodeDrawingModifier* drawModifier, const UINode* uiNode) const

0 commit comments

Comments
 (0)