public abstract class JaxoLineObject extends JaxoParticleObject
Modifier and Type | Field and Description |
---|---|
static int |
SELECT_P0
Center point of a line.
|
GHOST_DASH, GLUON_FREQ, PHOTON_FREQ, SCALAR_DASH
SELECT_DX, SELECT_DY, SELECT_P2
D_FORMAT, GRAY_SCALE_FORMAT, SELECT_NONE, SELECT_P1
Constructor and Description |
---|
JaxoLineObject() |
Modifier and Type | Method and Description |
---|---|
JaxoArrow.Coordinates |
arrowCoordinates()
Returns the coordinates of the arrow of the current object.
|
boolean |
canBeSelected(int handle,
int mode)
Determines if the object can be selected (moved, edited, etc)
from the given point in a given edit mode.
|
protected abstract java.lang.String |
getAxo4JOptions(float scale)
Return the option part of the LaTeX command for this line.
|
java.awt.Rectangle |
getBounds()
Returns the bounding box of this line.
|
int |
getGrabbedHandle(int clickX,
int clickY,
JaxoHandle h)
Determines which handle the user has selected to move/resize/edit
an object.
|
protected java.awt.geom.Point2D |
getLatexDLOffSet(float scaleFactor)
Returns the amount this line is offset in double-line mode.
|
protected java.awt.geom.Point2D |
getLaTexEndPoint(float scaleFactor,
int canvasHeight)
Returns the end point of this line in latex (ie axodraw) coordinates.
|
protected java.awt.geom.Point2D |
getLaTexStartPoint(float scaleFactor,
int canvasHeight)
Returns the first point of this line in latex (ie axodraw) coordinates.
|
protected abstract java.awt.geom.GeneralPath |
getObjectPath()
Get the GeneralPath that paints this line.
|
boolean |
isCopy(JaxoObject comp)
Determines if this JaxoObject is a copy of the specified one.
|
java.lang.String |
latexCommand(float scale,
java.awt.Dimension canvasDim)
The LaTeX command that is necessary to draw the given JaxoObject
using the axodraw.sty package.
|
double |
length()
Returns the length of this line.
|
void |
paint(JaxoGraphics2D g2)
The method that paints the JaxoObject.
|
void |
paintHandles(JaxoGraphics2D g2,
JaxoHandle h,
int editMode)
Paints the handles of this JaxoObject that allow
to move/resize/edit it.
|
void |
rescaleObject(int orx,
int ory,
float scale)
Rescale this JaxoObject by the scale factor scale,
keeping the point (orx, ory) fixed.
|
void |
setState(JaxoObject o)
Restore state to the values of 'o'.
|
float |
smallestDistanceTo(int px,
int py)
Determines the smallest distance of any of the handles
of this JaxoObject from the given point.
|
arrowPositionIs, copy, copyFrom, dashIs, dlSepIs, getAmp, getArrow, getArrowPosition, getDash, getDLSeparation, getWiggles, isDoubleLine, isFlip, isPaintArrow, paintArrow, setAmp, setArrow, setArrowPosition, setDash, setDLSeparation, setDoubleLine, setFlip, setPaintArrow, setPreferences, setWiggles
copyFrom, getHeight, getPointCount, getRadius, getRelh, getRelSize, getRelw, getSize, getStroke, getStrokeWidth, getWidth, getX, getX2, getY, getY2, latexWidth, moveBy, resetStroke, setLocation, setRadius, setRelativeHeight, setRelativeWidth, setRelWAndH, setStroke, setStrokeWidth, setX, setX2, setY, setY2, strokeIs
addPropertyChangeListener, contains, contains, contains, contains, copyFrom, firePropertyChange, getBounds2D, getBoundsWithHandles, getColor, getGeneralPath, getLaTexLocation, getName, getPathIterator, getPathIterator, getPoints, getX, getY, intersects, intersects, isAround, isMarked, paintVisualAid, prepareEditPanel, propertyChange, removePropertyChangeListener, setAsMarked, setColor, setLocation, setParameter, setParameter, setParameter, setParameter, setParameter, setParameter, setParameter, setPointCount, setPoints, setTransient, setX, setXPosition, setY, setYPosition
public static final int SELECT_P0
public boolean isCopy(JaxoObject comp)
isCopy
in class JaxoParticleObject
comp
- The JaxoObject to compare against.public void setState(JaxoObject o)
JaxoObject.copy()
.setState
in class JaxoParticleObject
o
- the object to copy from.public int getGrabbedHandle(int clickX, int clickY, JaxoHandle h)
getGrabbedHandle
in class JaxoExtendedObject
clickX
- The x coordinate where the mouse click has ocurred.clickY
- The y coordinate where the mouse click has ocurred.h
- A handle object.public final void paintHandles(JaxoGraphics2D g2, JaxoHandle h, int editMode)
paintHandles
in class JaxoExtendedObject
g2
- The corresponding graphics context.h
- A handle object to be used for painting.editMode
- The edit mode that the handles are being painted in.public boolean canBeSelected(int handle, int mode)
canBeSelected
in class JaxoExtendedObject
handle
- One of the static variables SELECT_* defined for
this JaxoObject.mode
- The current edit mode.public final float smallestDistanceTo(int px, int py)
smallestDistanceTo
in class JaxoExtendedObject
px
- The x coordinate of the test point.py
- The y coordinate of the test point.public void paint(JaxoGraphics2D g2)
paint
in class JaxoObject
g2
- The graphics context where the object has to be painted.public java.awt.Rectangle getBounds()
public java.lang.String latexCommand(float scale, java.awt.Dimension canvasDim)
latexCommand
in class JaxoObject
scale
- A scale factor to translate Java coordinates to
LaTeX coordinates.canvasDim
- The current dimension of the canvas.protected java.awt.geom.Point2D getLaTexStartPoint(float scaleFactor, int canvasHeight)
scaleFactor
- A scale factor.canvasHeight
- The height of the current canvas.protected java.awt.geom.Point2D getLaTexEndPoint(float scaleFactor, int canvasHeight)
scaleFactor
- A scale factor.canvasHeight
- The height of the current canvas.protected java.awt.geom.Point2D getLatexDLOffSet(float scaleFactor)
scaleFactor
- A scale factor.public JaxoArrow.Coordinates arrowCoordinates()
arrowCoordinates
in class JaxoParticleObject
public final void rescaleObject(int orx, int ory, float scale)
rescaleObject
in class JaxoObject
orx
- The x-coordinate of the fixed point.ory
- The y-coordinate of the fixed point.scale
- The scale parameter.public double length()
protected abstract java.awt.geom.GeneralPath getObjectPath()
protected abstract java.lang.String getAxo4JOptions(float scale)
scale
- the axodraw4j scale factor.Licensed under GPL. For more information, see http://jaxodraw.sourceforge.net/license.html or the LICENSE file in the jaxodraw distribution.