public final class Utilities
extends java.lang.Object
Constructor and Description |
---|
Utilities() |
Modifier and Type | Method and Description |
---|---|
static <T extends android.graphics.PointF> |
add(T changed,
float addX,
float addY) |
static <T extends android.graphics.PointF> |
add(T changed,
android.graphics.PointF changeVector)
Add (translate) the coordinates of one point with the coordinates of another
|
static boolean |
areClose(float a,
float b) |
static void |
cartesianToPolar(android.graphics.PointF coordCenter,
android.graphics.PointF point,
android.graphics.PointF result) |
static boolean |
checkIntersect(android.graphics.PointF pt,
android.graphics.RectF rc,
float rad) |
static android.graphics.Point |
clone(android.graphics.Point point) |
static android.graphics.PointF |
clone(android.graphics.PointF point) |
static android.graphics.RectF |
clone(android.graphics.RectF rect) |
static java.lang.String |
concat(java.lang.String delimiter,
java.lang.Object... objs)
Joins array elements using the specified delimiter.
|
static float |
convert(float value,
GraphicsUnit valueMeasureUnit,
GraphicsUnit targetMeasureUnit)
Convert value from valueMeasureUnit to targetMeasureUnit
|
static android.graphics.RectF |
deviceToDoc(android.graphics.Canvas g,
android.graphics.Rect r) |
static double |
distance(android.graphics.PointF pt1,
PointD pt2) |
static double |
distance(android.graphics.PointF pt1,
android.graphics.PointF pt2) |
static float |
distToLineSegment(android.graphics.PointF pt,
android.graphics.PointF p1,
android.graphics.PointF p2)
Calculates distance from the specified
point to the specified line segment.
|
static android.graphics.PointF |
distToRectPoint(android.graphics.PointF pt,
android.graphics.RectF r)
Returns the nearest to pt point that lies on the outline of rectangle.
|
static android.graphics.Rect |
docToDevice(android.graphics.Canvas g,
android.graphics.RectF r) |
static void |
drawImage(android.graphics.Canvas g,
android.graphics.Bitmap image,
android.graphics.RectF rect,
ImageAlign imageAlign,
Diagram diagram) |
static void |
drawImage(android.graphics.Canvas g,
android.graphics.Bitmap image,
android.graphics.RectF rect,
ImageAlign imageAlign,
Diagram diagram,
double rotationAngle,
android.graphics.PointF pivot) |
static <T,D extends T> |
filter(java.lang.Iterable<T> unfiltered,
java.lang.Class<D> desiredType)
Creates Iterable that iterates only over the subset of the given Iterable that consist of elements of desired type
Example: for (TableNode t: filter(diagram .getItems(), TableNode.class)) t.getRowCount();
|
static <T,D extends T> |
filter(java.util.Iterator<T> unfiltered,
java.lang.Class<D> desiredType)
Creates Iterator that iterates only over the subset of the
given Iterator that consist of elements of desired type
|
static android.graphics.RectF |
fromXYWH(float x,
float y,
float w,
float h) |
static android.graphics.PointF |
getLocation(android.graphics.RectF rect) |
static int |
getScreenResolution()
Returns the screen resolution in dots-per-inch.
|
static Dimension |
getSize(android.graphics.RectF rect) |
static <T extends android.graphics.PointF> |
lineIntersect(android.graphics.PointF pA,
android.graphics.PointF pB,
android.graphics.PointF pC,
android.graphics.PointF pD,
PointD result)
Calculates the intersection point of endless lines (pA, pB) and (pC, pD)
|
static float |
lineIntersectHorizontal(double y,
android.graphics.PointF pA,
android.graphics.PointF pB)
Finds the x coordinate of the intersection point of the horizontal line at y and the
line defined by points pA and pB.
|
static float |
lineIntersectVertical(double x,
android.graphics.PointF pA,
android.graphics.PointF pB)
Finds the y coordinate of the intersection point of the vertical line at x and the
line defined by points pA and pB.
|
static double |
minDistToRect(android.graphics.PointF pt,
android.graphics.RectF rc) |
static android.graphics.PointF |
newPointDouble(float x,
float y) |
static android.graphics.PointF |
newPointDouble(android.graphics.PointF point) |
static android.graphics.PointF |
newPointF(float x,
float y) |
static android.graphics.PointF |
newPointF(android.graphics.PointF point) |
static android.graphics.PointF |
newPointFloat() |
static android.graphics.PointF |
newPointFloat(float x,
float y) |
static android.graphics.PointF |
newPointFloat(android.graphics.PointF point) |
static android.graphics.RectF |
newRectangleDouble(float x,
float y,
float width,
float height) |
static android.graphics.RectF |
newRectangleDouble(android.graphics.RectF rc) |
static android.graphics.RectF |
newRectangleFloat(float x,
float y,
float width,
float height) |
static android.graphics.RectF |
newRectangleFloat(android.graphics.RectF rc) |
static android.graphics.RectF |
newRectF(float x,
float y,
float width,
float height) |
static android.graphics.RectF |
normalizeRect(android.graphics.RectF rc) |
static boolean |
parse(java.lang.String pair,
android.graphics.PointF dest)
Parses space separated numbers into PointF
|
static android.graphics.PointF |
pointAlongLength(float distance,
java.util.List<android.graphics.PointF> segments) |
static void |
polarToCartesian(android.graphics.PointF coordCenter,
double a,
double r,
android.graphics.PointF point) |
static <T extends android.graphics.RectF> |
resize(T changed,
float width,
float height) |
static android.graphics.PointF |
set(android.graphics.PointF changed,
float x,
float y) |
static android.graphics.Point |
set(android.graphics.Point changed,
float x,
float y) |
static <T extends android.graphics.RectF> |
set(T changed,
float x,
float y) |
static <T extends android.graphics.RectF> |
set(T changed,
float x,
float y,
float width,
float height) |
static <T extends android.graphics.RectF> |
set(T changed,
android.graphics.RectF src) |
static void |
setHeight(android.graphics.RectF rect,
float height) |
static android.graphics.PointF |
setLocation(android.graphics.PointF changed,
android.graphics.RectF src) |
static void |
setWidth(android.graphics.RectF rect,
float width) |
static android.graphics.PointF |
setX(android.graphics.PointF changed,
float x) |
static void |
setX(android.graphics.RectF changed,
float x) |
static android.graphics.PointF |
setY(android.graphics.PointF changed,
float y) |
static void |
setY(android.graphics.RectF changed,
float y) |
static android.graphics.Point |
subtract(android.graphics.Point changed,
android.graphics.Point changeVector)
Subtract the coordinates of one point from the coordinates of another
|
static <T extends android.graphics.RectF> |
translate(T changed,
float addX,
float addY) |
static <T extends android.graphics.PointF> |
translateX(T changed,
float addX) |
static <T extends android.graphics.RectF> |
translateX(T changed,
float addX) |
static <T extends android.graphics.PointF> |
translateY(T changed,
float addY) |
static <T extends android.graphics.RectF> |
translateY(T changed,
float addY) |
static byte[] |
unzip(byte[] bytes) |
public static void setWidth(android.graphics.RectF rect, float width)
public static void setHeight(android.graphics.RectF rect, float height)
public static android.graphics.Rect docToDevice(android.graphics.Canvas g, android.graphics.RectF r)
public static android.graphics.RectF deviceToDoc(android.graphics.Canvas g, android.graphics.Rect r)
public static android.graphics.RectF normalizeRect(android.graphics.RectF rc)
public static android.graphics.RectF fromXYWH(float x, float y, float w, float h)
public static boolean areClose(float a, float b)
public static float lineIntersectVertical(double x, android.graphics.PointF pA, android.graphics.PointF pB)
y
coordinate.public static float lineIntersectHorizontal(double y, android.graphics.PointF pA, android.graphics.PointF pB)
x
coordinate.public static <T extends android.graphics.PointF> boolean lineIntersect(android.graphics.PointF pA, android.graphics.PointF pB, android.graphics.PointF pC, android.graphics.PointF pD, PointD result)
T
- pA
- pB
- pC
- pD
- result
- the point that will receive the result if the lines intersectpublic static float distToLineSegment(android.graphics.PointF pt, android.graphics.PointF p1, android.graphics.PointF p2)
public static void drawImage(android.graphics.Canvas g, android.graphics.Bitmap image, android.graphics.RectF rect, ImageAlign imageAlign, Diagram diagram)
public static void drawImage(android.graphics.Canvas g, android.graphics.Bitmap image, android.graphics.RectF rect, ImageAlign imageAlign, Diagram diagram, double rotationAngle, android.graphics.PointF pivot)
public static float convert(float value, GraphicsUnit valueMeasureUnit, GraphicsUnit targetMeasureUnit)
value
- A double value that should be converted.valueMeasureUnit
- The source GraphicsUnit
.targetMeasureUnit
- The target GraphicsUnit
.public static void polarToCartesian(android.graphics.PointF coordCenter, double a, double r, android.graphics.PointF point)
public static void cartesianToPolar(android.graphics.PointF coordCenter, android.graphics.PointF point, android.graphics.PointF result)
public static double distance(android.graphics.PointF pt1, android.graphics.PointF pt2)
public static double distance(android.graphics.PointF pt1, PointD pt2)
public static android.graphics.Point subtract(android.graphics.Point changed, android.graphics.Point changeVector)
changed
- changeVector
- public static <T extends android.graphics.PointF> T add(T changed, android.graphics.PointF changeVector)
changed
- changeVector
- public static <T extends android.graphics.PointF> T add(T changed, float addX, float addY)
public static <T extends android.graphics.PointF> T translateX(T changed, float addX)
public static <T extends android.graphics.PointF> T translateY(T changed, float addY)
public static android.graphics.PointF set(android.graphics.PointF changed, float x, float y)
public static android.graphics.Point set(android.graphics.Point changed, float x, float y)
public static android.graphics.PointF setX(android.graphics.PointF changed, float x)
public static android.graphics.PointF setY(android.graphics.PointF changed, float y)
public static android.graphics.PointF setLocation(android.graphics.PointF changed, android.graphics.RectF src)
public static android.graphics.PointF getLocation(android.graphics.RectF rect)
public static Dimension getSize(android.graphics.RectF rect)
public static <T extends android.graphics.RectF> T set(T changed, float x, float y, float width, float height)
public static <T extends android.graphics.RectF> T set(T changed, float x, float y)
public static <T extends android.graphics.RectF> T set(T changed, android.graphics.RectF src)
public static void setX(android.graphics.RectF changed, float x)
public static void setY(android.graphics.RectF changed, float y)
public static <T extends android.graphics.RectF> T resize(T changed, float width, float height)
public static <T extends android.graphics.RectF> T translate(T changed, float addX, float addY)
public static <T extends android.graphics.RectF> T translateX(T changed, float addX)
public static <T extends android.graphics.RectF> T translateY(T changed, float addY)
public static android.graphics.PointF clone(android.graphics.PointF point)
public static android.graphics.Point clone(android.graphics.Point point)
public static android.graphics.RectF clone(android.graphics.RectF rect)
public static android.graphics.PointF newPointFloat()
public static android.graphics.PointF newPointFloat(android.graphics.PointF point)
public static android.graphics.PointF newPointFloat(float x, float y)
public static android.graphics.PointF newPointDouble(android.graphics.PointF point)
public static android.graphics.PointF newPointDouble(float x, float y)
public static android.graphics.PointF newPointF(android.graphics.PointF point)
public static android.graphics.PointF newPointF(float x, float y)
public static android.graphics.RectF newRectangleFloat(float x, float y, float width, float height)
public static android.graphics.RectF newRectF(float x, float y, float width, float height)
public static android.graphics.RectF newRectangleFloat(android.graphics.RectF rc)
public static android.graphics.RectF newRectangleDouble(float x, float y, float width, float height)
public static android.graphics.RectF newRectangleDouble(android.graphics.RectF rc)
public static java.lang.String concat(java.lang.String delimiter, java.lang.Object... objs)
delimiter
- A character inserted between the array elements.objs
- The objects to be joined.public static boolean parse(java.lang.String pair, android.graphics.PointF dest)
pair
- A string representation of the point coordinates.dest
- A PointF object to which the parsed values are assigned.true
if the string has been parsed successfully, otherwise false
.public static <T,D extends T> java.lang.Iterable<D> filter(java.lang.Iterable<T> unfiltered, java.lang.Class<D> desiredType)
unfiltered
- the collection of items that can be of different type.desiredType
- the class of the items in the collection to be returned.public static <T,D extends T> java.util.Iterator<D> filter(java.util.Iterator<T> unfiltered, java.lang.Class<D> desiredType)
unfiltered
- the collection of items that can be of different type.desiredType
- the class of the items in the collection to be returned.public static int getScreenResolution()
public static boolean checkIntersect(android.graphics.PointF pt, android.graphics.RectF rc, float rad)
public static double minDistToRect(android.graphics.PointF pt, android.graphics.RectF rc)
public static android.graphics.PointF distToRectPoint(android.graphics.PointF pt, android.graphics.RectF r)
public static byte[] unzip(byte[] bytes)
public static android.graphics.PointF pointAlongLength(float distance, java.util.List<android.graphics.PointF> segments)