Class RMPathUtils

java.lang.Object
com.reportmill.graphics.RMPathUtils

public class RMPathUtils extends Object
Some utility methods for RMPaths.
  • Field Details

  • Constructor Details

    • RMPathUtils

      public RMPathUtils()
  • Method Details

    • appendShape

      public static RMPath appendShape(RMPath aPath, Shape aShape)
      Returns a new path from an AWT shape.
    • appendOval

      public static RMPath appendOval(RMPath aPath, RMRect aRect, float startAngle, float sweep, boolean connect)
      Adds elements describing an oval in the given rect to this path.
    • isClosed

      public static boolean isClosed(RMPath aPath)
      Returns whether given path has any open subpaths.
    • isPolygonal

      public static boolean isPolygonal(RMPath aPath)
      Returns whether path has any curve segments (QuadTo, CurveTo).
    • hasCubics

      public static boolean hasCubics(RMPath aPath)
      Returns whether the path has any cubic curves in it.
    • getPathFlattened

      public static RMPath getPathFlattened(RMPath aPath)
      Returns a path with only moveto, lineto.
    • getPathWithFlattendCubics

      public static RMPath getPathWithFlattendCubics(RMPath aPath)
      Returns a copy of the path with cubics demoted to one or more quadratics.
    • quadraticCurveTo

      public static void quadraticCurveTo(RMPath aPath, RMPoint cp1, RMPoint cp2, RMPoint aPoint)
      This is effectively a curveTo but does it internally with one or more approximated quadratics. I found a C++ version of this on http://homepages.tig.com.au/~dkl/swf/ - Jeff Martin. It illustrates how to approximate 4-point cubic Beziers with 3-point quadratic Beziers. PostScript (and most apps) use cubics, Flash uses quadratics.
    • getDistance

      public static double getDistance(RMPath aPath, RMPoint aPoint)
      Returns shortest distance from any point in path to given point.
    • getDistanceSigned

      public static double getDistanceSigned(RMPath aPath, RMPoint aPoint)
      Returns shortest distance from any point in path to given point (negative means inside the path).
    • join

      public static RMPath join(List paths, int aJoinOp)
      Returns the combined paths from given paths.