java.lang.Object
eu.hansolo.toolboxfx.HelperFX
-
Method Summary
Modifier and TypeMethodDescriptionaddPointsOnCurve(List<Point> curvePoints, List<Point> points) Add points from given points to curvePoints if points are on the polygon defined by curvePointsstatic final doublebearing(double x1, double y1, double x2, double y2) static final doublestatic final double[]calcAutoScale(double minValue, double maxValue) static final double[]calcAutoScale(double minValue, double maxValue, double maxNoOfMajorTicks, double maxNoOfMinorTicks) static final PointcalcIntermediatePoint(Point leftPoint, Point rightPoint, double intervalX) static final PointcalcIntersectionOfTwoLines(double X1, double Y1, double X2, double Y2, double X3, double Y3, double X4, double Y4) static final PointcalcIntersectionOfTwoLines(Point A, Point B, Point C, Point D) static final PointcalcIntersectionPoint(Point leftPoint, Point rightPoint, double intersectionY) static final doublecalcNiceNumber(double range, boolean round) Returns a "niceScaling" number approximately equal to the range.static final double[]calculateIntersectionPoint(double x1, double y1, double x2, double y2, double intersectionY) static final double[]calculateIntersectionPoint(Point leftPoint, Point rightPoint, double intersectionY) static final intcheckCollision(double a, double b, double c, double centerX, double centerY, double radius) static final intcheckLineCircleCollision(double p1X, double p1Y, double p2X, double p2Y, double centerX, double centerY, double radius) static final intcheckLineCircleCollision(Point p1, Point p2, double centerX, double centerY, double radius) static final doublecolorDistance(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2) static final StringcolorToCss(javafx.scene.paint.Color color) static final StringcolorToRGB(javafx.scene.paint.Color color) static final StringcolorToRGBA(javafx.scene.paint.Color color) static final StringcolorToRGBA(javafx.scene.paint.Color color, double alpha) static final StringcolorToWeb(javafx.scene.paint.Color color) static final double[]colorToYUV(javafx.scene.paint.Color color) static final javafx.scene.effect.BlendcreateColorBlend(javafx.scene.image.Image sourceImage, javafx.scene.paint.Color color) static final javafx.scene.effect.ColorInputcreateColorMask(javafx.scene.image.Image sourceImage, javafx.scene.paint.Color color) static final List<javafx.scene.paint.Color>createColorPalette(javafx.scene.paint.Color fromColor, javafx.scene.paint.Color toColor, int noOfColors) static final javafx.scene.paint.Color[]createColorVariations(javafx.scene.paint.Color color, int newNoOfColors) createConvexHull(List<Point> points) createConvexHull_OLD(List<T> points) static final javafx.scene.image.ImagecreateNoiseImage(double width, double height, javafx.scene.paint.Color darkColor, javafx.scene.paint.Color brightColor, double alphaVariationInPercent) createSmoothedConvexHull(List<Point> points, int subDivisions) static final doubledistance(double p1X, double p1Y, double p2X, double p2Y) static final doublestatic final doubledistanceFromPointToLine(Point p, Point p1, Point p2) static final voiddrawRoundedRect(javafx.scene.canvas.GraphicsContext ctx, Bounds bounds, CornerRadii radii) static final voidenableNode(javafx.scene.Node node, boolean enable) static final doubleeuclideanDistance(double x1, double y1, double x2, double y2) static final doubleeuclideanDistance(Point p1, Point p2) Curve points should be ordered counterclockwise along the curvestatic final doublegetAngleFromXY(double x, double y, double centerX, double centerY) static final doublegetAngleFromXY(double x, double y, double centerX, double centerY, double angleOffset) static final javafx.scene.image.WritableImagegetBlueChannel(javafx.scene.image.Image sourceImage) static final StringgetCardinalDirectionFromBearing(double brng) static final javafx.scene.paint.ColorgetColorAt(List<javafx.scene.paint.Stop> stopList, double positionOfColor) static final javafx.scene.paint.ColorgetColorAt(javafx.scene.paint.LinearGradient gradient, double fraction) static final javafx.scene.paint.ColorgetColorWithOpacity(javafx.scene.paint.Color color, double opacity) static final javafx.scene.paint.ColorgetColorWithOpacityAt(javafx.scene.paint.LinearGradient gradient, double fraction, double targetOpacity) static final javafx.scene.paint.ColorgetContrastColor(javafx.scene.paint.Color color) static final double[]getCubicBezierXYatT(double startPointX, double startPointY, double controlPoint1X, double controlPoint1Y, double controlPoint2X, double controlPoint2Y, double endPointX, double endPointY, double distance) static final PointgetCubicBezierXYatT(Point startPoint, Point controlPoint1, Point controlPoint2, Point endPoint, double distance) static final doublegetDecimalDeg(int degrees, int minutes, double seconds) static final intgetDegrees(double decDeg) static final double[]getDoubleArrayFromPoints(List<Point> points) static final javafx.scene.image.WritableImagegetGreenChannel(javafx.scene.image.Image sourceImage) static final intgetMinutes(double decDeg) static final javafx.scene.NodegetNodeByColRow(int col, int row, javafx.scene.layout.GridPane gridPane) static final double[]getPointBetweenP1AndP2(double p1X, double p1Y, double p2X, double p2Y) static final PointgetPointBetweenP1AndP2(Point p1, Point p2) getPointsToCheck(List<Point> points, List<Point> hullCurvePoints) Check the given hull curve for diagonals and collect all points that are in the rectangle that will be defined by the two points of each diagonal.static final double[]getPointsXFromPoints(List<Point> points) static final double[]getPointsYFromPoints(List<Point> points) static final javafx.scene.image.WritableImagegetRedChannel(javafx.scene.image.Image sourceImage) static final doublegetSeconds(double decDeg) static final DimensiongetTextDimension(String text, javafx.scene.text.Font font) static final ZoneOffsetstatic final ZoneOffsetgetZoneOffset(ZoneId zoneId) static final javafx.scene.paint.ColorhslToRGB(double hue, double saturation, double luminance) static final javafx.scene.paint.ColorhslToRGB(double hue, double saturation, double luminance, double opacity) static final javafx.scene.paint.ColorinterpolateColor(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2, double fraction) static final javafx.scene.paint.ColorinterpolateColor(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2, double fraction, double targetOpacity) static final javafx.scene.paint.ColorinterpolateColor(javafx.scene.paint.Stop lowerBound, javafx.scene.paint.Stop upperBound, double position) static final booleanisBright(javafx.scene.paint.Color color) static final booleanisDark(javafx.scene.paint.Color color) static final booleanisHorizontal(Point p1, Point p2) static final booleanisInCircle(double x, double y, double centerX, double centerY, double radius) static final booleanisInEllipse(double x, double y, double centerX, double centerY, double radiusX, double radiusY) static final booleanisInPolygon(double x, double y, int noOfPointsInPolygon, double[] pointsX, double[] pointsY) static final booleanisInPolygon(double x, double y, List<Point> pointsOfPolygon) static final booleanisInPolygon(double x, double y, javafx.scene.shape.Polygon polygon) static final booleanisInRectangle(double x, double y, double minX, double minY, double maxX, double maxY) static final booleanisInRingSegment(double x, double y, double centerX, double centerY, double outerRadius, double innerRadius, double newStartAngle, double segmentAngle) static final booleanisInSector(double x, double y, double centerX, double centerY, double radius, double startAngle, double segmentAngle) static final booleanisMonochrome(javafx.scene.paint.Color color) static final <T extends Point>
booleanisPointInPolygon(T p, List<T> points) static final booleanisPointOnLine(Point p, Point p1, Point p2) static final booleanisVertical(Point p1, Point p2) static final doublenearest(double smaller, double value, double larger) static final intnearestPoint(Point p, List<Point> points) static final intnoOfDiagonalEdges(List<Point> polygonPoints) static final Stringstatic final Stringstatic final PointpointOnLine(double p1X, double p1Y, double p2X, double p2Y, double distanceToP2) reduceHull(List<Point> points, List<Point> hullPoints) removeDuplicatePoints(List<Point> points, double tolerance) removePointsOnConvexHull(List<Point> points, List<Point> convexHull) static final double[]rgbToHSL(double red, double green, double blue) static final voidrotateCtx(javafx.scene.canvas.GraphicsContext ctx, double x, double y, double angle) static final double[]rotatePointAroundRotationCenter(double x, double y, double rX, double rY, double angleDeg) static final voidstatic final voidscaleNodeTo(javafx.scene.Node node, double targetWidth, double targetHeight) static final LocalDateTimesecondsToLocalDateTime(long seconds) static final LocalDateTimesecondsToLocalDateTime(long seconds, ZoneId zoneId) static final javafx.scene.shape.PathsmoothPath(javafx.collections.ObservableList<javafx.scene.shape.PathElement> elements, boolean filled) static final Point[]smoothSparkLine(List<Double> dataList, double minValue, double maxValue, Rectangle graphBounds, int noOfDatapoints) static final Point[]smoothSparkLine(List<Double> dataList, double minValue, double maxValue, javafx.scene.shape.Rectangle graphBounds, int noOfDatapoints) static final doublesnapToTicks(double minValue, double maxValue, double value, int newMinorTickCount, double newMajorTickUnit) Can be used to implement discrete steps e.g.sortByDistance(List<Point> points) Sort a list of points by it's distance from each other.sortByDistance(List<Point> points, boolean counterClockWise) static final voidsplitNumberInDigits(double number) static final doublesquareDistance(double x1, double y1, double x2, double y2) static final <T extends Point>
doublesquareDistance(T p1, T p2) static final Point[]subdividePoints(Point[] points, int subDevisions) subdividePoints(List<Point> points, int subDevisions) static final Point[]subdividePointsLinear(Point[] points, int subDivisions) subdividePointsLinear(List<Point> points, int subDevisions) static final Point[]subdividePointsRadial(Point[] points, int subDivisions) subdividePointsRadial(List<Point> points, int subDevisions) static final double[]toHSL(javafx.scene.paint.Color color) static final longtoMillis(LocalDateTime dateTime, ZoneOffset zoneOffset) static final doubletoNumericValue(LocalDateTime date) static final doubletoNumericValue(LocalDateTime date, ZoneId zoneId) static final LocalDateTimetoRealValue(double value) static final LocalDateTimetoRealValue(double value, ZoneId zoneId) static final longtoSeconds(LocalDateTime dateTime, ZoneOffset zoneOffset)
-
Method Details
-
nearest
public static final double nearest(double smaller, double value, double larger) -
calcAutoScale
public static final double[] calcAutoScale(double minValue, double maxValue) -
calcAutoScale
public static final double[] calcAutoScale(double minValue, double maxValue, double maxNoOfMajorTicks, double maxNoOfMinorTicks) -
snapToTicks
public static final double snapToTicks(double minValue, double maxValue, double value, int newMinorTickCount, double newMajorTickUnit) Can be used to implement discrete steps e.g. on a slider.- Parameters:
minValue- The min value of the rangemaxValue- The max value of the rangevalue- The value to snapnewMinorTickCount- The number of ticks between 2 major tick marksnewMajorTickUnit- The distance between 2 major tick marks- Returns:
- The value snapped to the next tick mark defined by the given parameters
-
calcNiceNumber
public static final double calcNiceNumber(double range, boolean round) Returns a "niceScaling" number approximately equal to the range. Rounds the number if ROUND == true. Takes the ceiling if ROUND = false.- Parameters:
range- the value range (maxValue - minValue)round- whether to round the result or ceil- Returns:
- a "niceScaling" number to be used for the value range
-
subdividePoints
-
subdividePoints
-
subdividePointsRadial
-
subdividePointsRadial
-
subdividePointsLinear
-
subdividePointsLinear
-
calcIntermediatePoint
-
calcIntersectionOfTwoLines
-
calcIntersectionOfTwoLines
public static final Point calcIntersectionOfTwoLines(double X1, double Y1, double X2, double Y2, double X3, double Y3, double X4, double Y4) -
calcIntersectionPoint
-
calculateIntersectionPoint
-
calculateIntersectionPoint
public static final double[] calculateIntersectionPoint(double x1, double y1, double x2, double y2, double intersectionY) -
smoothSparkLine
-
isInRectangle
public static final boolean isInRectangle(double x, double y, double minX, double minY, double maxX, double maxY) -
isInCircle
public static final boolean isInCircle(double x, double y, double centerX, double centerY, double radius) -
isInEllipse
public static final boolean isInEllipse(double x, double y, double centerX, double centerY, double radiusX, double radiusY) -
isInPolygon
-
isInPolygon
public static final boolean isInPolygon(double x, double y, int noOfPointsInPolygon, double[] pointsX, double[] pointsY) -
isPointInPolygon
-
isInSector
public static final boolean isInSector(double x, double y, double centerX, double centerY, double radius, double startAngle, double segmentAngle) -
isInRingSegment
public static final boolean isInRingSegment(double x, double y, double centerX, double centerY, double outerRadius, double innerRadius, double newStartAngle, double segmentAngle) -
isPointOnLine
-
distanceFromPointToLine
-
squareDistance
-
squareDistance
public static final double squareDistance(double x1, double y1, double x2, double y2) -
distance
-
distance
public static final double distance(double p1X, double p1Y, double p2X, double p2Y) -
euclideanDistance
-
euclideanDistance
public static final double euclideanDistance(double x1, double y1, double x2, double y2) -
pointOnLine
public static final Point pointOnLine(double p1X, double p1Y, double p2X, double p2Y, double distanceToP2) -
checkLineCircleCollision
-
checkLineCircleCollision
public static final int checkLineCircleCollision(double p1X, double p1Y, double p2X, double p2Y, double centerX, double centerY, double radius) -
checkCollision
public static final int checkCollision(double a, double b, double c, double centerX, double centerY, double radius) -
getAngleFromXY
public static final double getAngleFromXY(double x, double y, double centerX, double centerY) -
getAngleFromXY
public static final double getAngleFromXY(double x, double y, double centerX, double centerY, double angleOffset) -
rotatePointAroundRotationCenter
public static final double[] rotatePointAroundRotationCenter(double x, double y, double rX, double rY, double angleDeg) -
rotateCtx
public static final void rotateCtx(javafx.scene.canvas.GraphicsContext ctx, double x, double y, double angle) -
getPointBetweenP1AndP2
-
getPointBetweenP1AndP2
public static final double[] getPointBetweenP1AndP2(double p1X, double p1Y, double p2X, double p2Y) -
createConvexHull_OLD
-
createConvexHull
-
createSmoothedConvexHull
-
reduceHull
-
removePointsOnConvexHull
-
noOfDiagonalEdges
-
isHorizontal
-
isVertical
-
getPointsToCheck
Check the given hull curve for diagonals and collect all points that are in the rectangle that will be defined by the two points of each diagonal. This points can then be used to reduce the convex hull curve of a polygon to a rectangular hull curve- Parameters:
points- points to checkhullCurvePoints- points on hull curve- Returns:
- list of points that can be used to reduce the diagonals in a convex hull curve
-
addPointsOnCurve
Add points from given points to curvePoints if points are on the polygon defined by curvePoints- Parameters:
curvePoints- list of points on curvepoints- list of points to add- Returns:
- list of points incl. the added ones
-
findGaps
public static final List<Point> findGaps(List<Point> curvePoints, double width, double height, List<Point> points) Curve points should be ordered counterclockwise along the curve- Parameters:
curvePoints- points that define the curve sorted counterclockwisewidth- width of the box that will be checked for next pointheight- height of the box that will be checked for next pointpoints- points to check- Returns:
- list of point pairs that define the start and end points of gaps
-
getPointsXFromPoints
-
getPointsYFromPoints
-
getDoubleArrayFromPoints
-
sortXY
-
sortByDistance
Sort a list of points by it's distance from each other. The algorithm starts with the point closest to 0,0 and from there always adds the point closest to the last point- Parameters:
points- list of points to sort- Returns:
- list of points sorted by it's distance from each other
-
sortByDistance
-
nearestPoint
-
padLeft
-
padRight
-
splitStringInCharacters
-
splitNumberInDigits
-
removeDuplicatePoints
-
simplify
-
bearing
-
bearing
public static final double bearing(double x1, double y1, double x2, double y2) -
getCardinalDirectionFromBearing
-
toHSL
public static final double[] toHSL(javafx.scene.paint.Color color) -
rgbToHSL
public static final double[] rgbToHSL(double red, double green, double blue) -
hslToRGB
public static final javafx.scene.paint.Color hslToRGB(double hue, double saturation, double luminance) -
hslToRGB
public static final javafx.scene.paint.Color hslToRGB(double hue, double saturation, double luminance, double opacity) -
colorToRGB
-
colorToRGBA
-
colorToRGBA
-
colorToWeb
-
colorToCss
-
isMonochrome
public static final boolean isMonochrome(javafx.scene.paint.Color color) -
colorDistance
public static final double colorDistance(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2) -
colorToYUV
public static final double[] colorToYUV(javafx.scene.paint.Color color) -
isBright
public static final boolean isBright(javafx.scene.paint.Color color) -
isDark
public static final boolean isDark(javafx.scene.paint.Color color) -
getContrastColor
public static final javafx.scene.paint.Color getContrastColor(javafx.scene.paint.Color color) -
getColorWithOpacity
public static final javafx.scene.paint.Color getColorWithOpacity(javafx.scene.paint.Color color, double opacity) -
createColorPalette
public static final List<javafx.scene.paint.Color> createColorPalette(javafx.scene.paint.Color fromColor, javafx.scene.paint.Color toColor, int noOfColors) -
createColorVariations
public static final javafx.scene.paint.Color[] createColorVariations(javafx.scene.paint.Color color, int newNoOfColors) -
getColorAt
public static final javafx.scene.paint.Color getColorAt(List<javafx.scene.paint.Stop> stopList, double positionOfColor) -
interpolateColor
public static final javafx.scene.paint.Color interpolateColor(javafx.scene.paint.Stop lowerBound, javafx.scene.paint.Stop upperBound, double position) -
interpolateColor
public static final javafx.scene.paint.Color interpolateColor(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2, double fraction) -
getColorAt
public static final javafx.scene.paint.Color getColorAt(javafx.scene.paint.LinearGradient gradient, double fraction) -
getColorWithOpacityAt
public static final javafx.scene.paint.Color getColorWithOpacityAt(javafx.scene.paint.LinearGradient gradient, double fraction, double targetOpacity) -
interpolateColor
public static final javafx.scene.paint.Color interpolateColor(javafx.scene.paint.Color color1, javafx.scene.paint.Color color2, double fraction, double targetOpacity) -
enableNode
public static final void enableNode(javafx.scene.Node node, boolean enable) -
scaleNodeTo
public static final void scaleNodeTo(javafx.scene.Node node, double targetWidth, double targetHeight) -
smoothSparkLine
-
drawRoundedRect
public static final void drawRoundedRect(javafx.scene.canvas.GraphicsContext ctx, Bounds bounds, CornerRadii radii) -
getCubicBezierXYatT
public static final Point getCubicBezierXYatT(Point startPoint, Point controlPoint1, Point controlPoint2, Point endPoint, double distance) - Parameters:
startPoint-controlPoint1-controlPoint2-endPoint-distance- in % (0-1)- Returns:
-
getCubicBezierXYatT
public static final double[] getCubicBezierXYatT(double startPointX, double startPointY, double controlPoint1X, double controlPoint1Y, double controlPoint2X, double controlPoint2Y, double endPointX, double endPointY, double distance) -
smoothPath
public static final javafx.scene.shape.Path smoothPath(javafx.collections.ObservableList<javafx.scene.shape.PathElement> elements, boolean filled) -
isInPolygon
public static final boolean isInPolygon(double x, double y, javafx.scene.shape.Polygon polygon) -
getDegrees
public static final int getDegrees(double decDeg) -
getMinutes
public static final int getMinutes(double decDeg) -
getSeconds
public static final double getSeconds(double decDeg) -
getDecimalDeg
public static final double getDecimalDeg(int degrees, int minutes, double seconds) -
getNodeByColRow
public static final javafx.scene.Node getNodeByColRow(int col, int row, javafx.scene.layout.GridPane gridPane) -
createColorMask
public static final javafx.scene.effect.ColorInput createColorMask(javafx.scene.image.Image sourceImage, javafx.scene.paint.Color color) -
createColorBlend
public static final javafx.scene.effect.Blend createColorBlend(javafx.scene.image.Image sourceImage, javafx.scene.paint.Color color) -
getRedChannel
public static final javafx.scene.image.WritableImage getRedChannel(javafx.scene.image.Image sourceImage) -
getGreenChannel
public static final javafx.scene.image.WritableImage getGreenChannel(javafx.scene.image.Image sourceImage) -
getBlueChannel
public static final javafx.scene.image.WritableImage getBlueChannel(javafx.scene.image.Image sourceImage) -
getTextDimension
-
getZoneOffset
-
getZoneOffset
-
toMillis
-
toSeconds
-
toNumericValue
-
toNumericValue
-
toRealValue
-
toRealValue
-
secondsToLocalDateTime
-
secondsToLocalDateTime
-
saveAsPng
-
createNoiseImage
public static final javafx.scene.image.Image createNoiseImage(double width, double height, javafx.scene.paint.Color darkColor, javafx.scene.paint.Color brightColor, double alphaVariationInPercent)
-