public class BasicEdgeArrowRenderingSupport<V,E> extends Object implements EdgeArrowRenderingSupport<V,E>
Constructor and Description |
---|
BasicEdgeArrowRenderingSupport() |
Modifier and Type | Method and Description |
---|---|
AffineTransform |
getArrowTransform(RenderContext<V,E> rc,
Line2D edgeShape,
Shape vertexShape)
Returns a transform to position the arrowhead on this edge shape at the
point where it intersects the passed vertex shape.
|
AffineTransform |
getArrowTransform(RenderContext<V,E> rc,
Shape edgeShape,
Shape vertexShape)
Returns a transform to position the arrowhead on this edge shape at the
point where it intersects the passed vertex shape.
|
protected Line2D |
getFirstOutsideSegment(Line2D line,
Shape shape)
Returns a line that intersects
shape 's boundary. |
protected Line2D |
getLastOutsideSegment(Line2D line,
Shape shape)
Returns a line that intersects
shape 's boundary. |
protected AffineTransform |
getReverseArrowTransform(RenderContext<V,E> rc,
Line2D edgeShape,
Shape vertexShape) |
AffineTransform |
getReverseArrowTransform(RenderContext<V,E> rc,
Shape edgeShape,
Shape vertexShape)
Returns a transform to position the arrowhead on this edge shape at the
point where it intersects the passed vertex shape.
|
AffineTransform |
getReverseArrowTransform(RenderContext<V,E> rc,
Shape edgeShape,
Shape vertexShape,
boolean passedGo)
Returns a transform to position the arrowhead on this edge shape at the
point where it intersects the passed vertex shape.
|
protected void |
subdivide(Line2D src,
Line2D left,
Line2D right)
divide a Line2D into 2 new Line2Ds that are returned
in the passed left and right instances, if non-null
|
public AffineTransform getArrowTransform(RenderContext<V,E> rc, Shape edgeShape, Shape vertexShape)
EdgeArrowRenderingSupport
getArrowTransform
in interface EdgeArrowRenderingSupport<V,E>
rc
- the rendering context used for rendering the arrowedgeShape
- the shape used to draw the edgevertexShape
- the shape used to draw the vertexpublic AffineTransform getReverseArrowTransform(RenderContext<V,E> rc, Shape edgeShape, Shape vertexShape)
EdgeArrowRenderingSupport
getReverseArrowTransform
in interface EdgeArrowRenderingSupport<V,E>
rc
- the rendering context used for rendering the arrowedgeShape
- the shape used to draw the edgevertexShape
- the shape used to draw the vertexpublic AffineTransform getReverseArrowTransform(RenderContext<V,E> rc, Shape edgeShape, Shape vertexShape, boolean passedGo)
EdgeArrowRenderingSupport
The Loop edge is a special case because its starting point is not inside the vertex. The passedGo flag handles this case.
getReverseArrowTransform
in interface EdgeArrowRenderingSupport<V,E>
rc
- the rendering context used for rendering the arrowedgeShape
- the shape used to draw the edgevertexShape
- the shape used to draw the vertexpassedGo
- used for rendering loop edgespublic AffineTransform getArrowTransform(RenderContext<V,E> rc, Line2D edgeShape, Shape vertexShape)
EdgeArrowRenderingSupport
getArrowTransform
in interface EdgeArrowRenderingSupport<V,E>
rc
- the rendering context used for rendering the arrowedgeShape
- the shape used to draw the edgevertexShape
- the shape used to draw the vertexprotected AffineTransform getReverseArrowTransform(RenderContext<V,E> rc, Line2D edgeShape, Shape vertexShape)
protected Line2D getLastOutsideSegment(Line2D line, Shape shape)
shape
's boundary.line
- line to subdivideshape
- shape to compare with lineIllegalArgumentException
- if the passed line's point2 is not inside the shapeprotected Line2D getFirstOutsideSegment(Line2D line, Shape shape)
shape
's boundary.line
- line to subdivideshape
- shape to compare with lineIllegalArgumentException
- if the passed line's point1 is not inside the shapeCopyright © 2015. All rights reserved.