public class CubicCurve
extends java.lang.Object
Constructor and Description |
---|
CubicCurve() |
Modifier and Type | Method and Description |
---|---|
static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,java.lang.Double> |
approxIntersectionPointOnCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge,
Connector c,
org.graphstream.ui.view.camera.DefaultCamera2D camera)
Use a dichotomy method to evaluate the intersection between the `edge` destination node
shape and the Bézier curve of the connector `c`.
|
static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,java.lang.Double> |
approxIntersectionPointOnCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge,
Connector c,
org.graphstream.ui.view.camera.DefaultCamera2D camera,
int maxDepth)
Use a dichotomy method to evaluate the intersection between the `edge` destination node
shape and the Bézier curve of the connector `c`.
|
static double |
approxLengthOfCurve(Connector c)
Evaluate the length of a Bézier curve by taking n points on the curve and summing the lengths of
the n+1 segments thus defined.
|
static double |
approxLengthOfCurveQuick(Connector c)
Evaluate the length of a Bézier curve by taking four points on the curve and summing the lengths of
the five segments thus defined.
|
static double |
approxLengthOfCurveQuickAndDirty(Connector c)
A quick and dirty hack to evaluate the length of a cubic bezier curve.
|
static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,org.graphstream.ui.geom.Point2> |
approxVectorEnteringCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge,
Connector c,
org.graphstream.ui.view.camera.DefaultCamera2D camera)
Return two points, one inside and the second outside of the shape of the destination node
of the given `edge`, the points can be used to deduce a vector along the Bézier curve entering
point in the shape.
|
static double |
derivative(double x0,
double x1,
double x2,
double x3,
double t)
Derivative of a cubic Bézier curve according to control points `x0`,
`x1`, `x2` and `x3` at parametric position `t` of the curve.
|
static org.graphstream.ui.geom.Point2 |
derivative(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point3 p3,
double t)
Derivative point of a cubic Bézier curve according to control points
`x0`, `x1`, `x2` and `x3` at parametric position `t` of the curve.
|
static org.graphstream.ui.geom.Point2 |
derivative(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point3 p3,
double t,
org.graphstream.ui.geom.Point2 result)
Store in `result` the derivative point of a cubic Bézier curve according
to control points `x0`, `x1`, `x2` and `x3` at parametric position `t` of
the curve.
|
static double |
eval(double x0,
double x1,
double x2,
double x3,
double t)
Evaluate a cubic Bézier curve according to control points `x0`, `x1`,
`x2` and `x3` and return the position at parametric position `t` of the
curve.
|
static org.graphstream.ui.geom.Point2 |
eval(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point2 p3,
double t)
Evaluate a cubic Bézier curve according to control points `p0`, `p1`,
`p2` and `p3` and return the position at parametric position `t` of the
curve.
|
static org.graphstream.ui.geom.Point2 |
eval(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point2 p3,
double t,
org.graphstream.ui.geom.Point2 result)
Evaluate a cubic Bézier curve according to control points `p0`, `p1`,
`p2` and `p3` and store the position at parametric position `t` of the
curve in `result`.
|
static org.graphstream.ui.geom.Point3 |
eval(org.graphstream.ui.geom.Point3 p0,
org.graphstream.ui.geom.Point3 p1,
org.graphstream.ui.geom.Point3 p2,
org.graphstream.ui.geom.Point3 p3,
double t)
Evaluate a cubic Bézier curve according to control points `p0`, `p1`, `p2` and `p3` and
return the position at parametric position `t` of the curve.
|
static org.graphstream.ui.geom.Vector2 |
perpendicular(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point2 p3,
double t)
The perpendicular vector to the curve defined by control points `p0`,
`p1`, `p2` and `p3` at parametric position `t`.
|
static org.graphstream.ui.geom.Vector2 |
perpendicular(org.graphstream.ui.geom.Point2 p0,
org.graphstream.ui.geom.Point2 p1,
org.graphstream.ui.geom.Point2 p2,
org.graphstream.ui.geom.Point2 p3,
double t,
org.graphstream.ui.geom.Vector2 result)
Store in `result` the perpendicular vector to the curve defined by
control points `p0`, `p1`, `p2` and `p3` at parametric position `t`.
|
public static double eval(double x0, double x1, double x2, double x3, double t)
public static org.graphstream.ui.geom.Point2 eval(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point2 p3, double t)
public static org.graphstream.ui.geom.Point3 eval(org.graphstream.ui.geom.Point3 p0, org.graphstream.ui.geom.Point3 p1, org.graphstream.ui.geom.Point3 p2, org.graphstream.ui.geom.Point3 p3, double t)
public static org.graphstream.ui.geom.Point2 eval(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point2 p3, double t, org.graphstream.ui.geom.Point2 result)
public static double derivative(double x0, double x1, double x2, double x3, double t)
public static org.graphstream.ui.geom.Point2 derivative(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point3 p3, double t)
public static org.graphstream.ui.geom.Point2 derivative(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point3 p3, double t, org.graphstream.ui.geom.Point2 result)
public static org.graphstream.ui.geom.Vector2 perpendicular(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point2 p3, double t)
public static org.graphstream.ui.geom.Vector2 perpendicular(org.graphstream.ui.geom.Point2 p0, org.graphstream.ui.geom.Point2 p1, org.graphstream.ui.geom.Point2 p2, org.graphstream.ui.geom.Point2 p3, double t, org.graphstream.ui.geom.Vector2 result)
public static double approxLengthOfCurveQuickAndDirty(Connector c)
public static double approxLengthOfCurveQuick(Connector c)
public static double approxLengthOfCurve(Connector c)
public static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,org.graphstream.ui.geom.Point2> approxVectorEnteringCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge, Connector c, org.graphstream.ui.view.camera.DefaultCamera2D camera)
public static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,java.lang.Double> approxIntersectionPointOnCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge, Connector c, org.graphstream.ui.view.camera.DefaultCamera2D camera)
public static AttributeUtils.Tuple<org.graphstream.ui.geom.Point2,java.lang.Double> approxIntersectionPointOnCurve(org.graphstream.ui.graphicGraph.GraphicEdge edge, Connector c, org.graphstream.ui.view.camera.DefaultCamera2D camera, int maxDepth)