Class JaxoLoopObject
java.lang.Object
net.sf.jaxodraw.object.JaxoObject
net.sf.jaxodraw.object.JaxoExtendedObject
net.sf.jaxodraw.object.JaxoParticleObject
net.sf.jaxodraw.object.loop.JaxoLoopObject
- All Implemented Interfaces:
Shape, PropertyChangeListener, Serializable, Cloneable, EventListener
- Direct Known Subclasses:
JaxoDashLoop, JaxoFLoop, JaxoGlLoop, JaxoPLoop
A general loop object.
- Since:
- 2.0
- See Also:
-
Field Summary
Fields inherited from class JaxoParticleObject
GHOST_DASH, GLUON_FREQ, PHOTON_FREQ, SCALAR_DASHFields inherited from class JaxoExtendedObject
SELECT_DX, SELECT_DY, SELECT_P2Fields inherited from class JaxoObject
D_FORMAT, GRAY_SCALE_FORMAT, SELECT_NONE, SELECT_P1 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the coordinates of the arrow of the current object.final JaxoObjectcopy(JaxoLoopObject temp) Returns an exact copy of this JaxoLoop.protected abstract StringgetAxo4JOptions(float scale) Return the option part of the LaTeX command for this line.Returns the bounding box of this object.final Point2D.Float[]getEquidistantPoints(int n) Dividing the loop into n equidistant segments of length d, so n * d = 2 * r * PI is the circumference of the loop, this routine returns the n + 1 loop points that are i * d away from P1, where 0 invalid input: '<'= i invalid input: '<'= n.protected Point2DReturns an angle which is used by the latexCommand method.protected Point2DgetLaTexCenter(float scaleFactor, int canvasHeight) Returns a center point which is used by the latexCommand method.protected floatgetLaTexRadius(float scaleFactor) Returns a radius which is used by the latexCommand method.protected abstract GeneralPathGet the GeneralPath that paints this loop.booleanisCopy(JaxoObject comp) Determines if this JaxoObject is a copy of the specified one.latexCommand(float scale, Dimension canvasDim) The LaTeX command that is necessary to draw the given JaxoObject using the axodraw.sty package.voidpaint(JaxoGraphics2D g2) The method that paints the JaxoObject.final voidPaints a visual aid for the user during dragging (moving or resizing) of this JaxoObject.final voidrescaleObject(int orx, int ory, float scale) Rescale this JaxoObject by the scale factor scale, keeping the point (orx, ory) fixed.Methods inherited from class JaxoParticleObject
arrowPositionIs, copy, copyFrom, dashIs, dlSepIs, getAmp, getArrow, getArrowPosition, getDash, getDLSeparation, getWiggles, isDoubleLine, isFlip, isPaintArrow, paintArrow, setAmp, setArrow, setArrowPosition, setDash, setDLSeparation, setDoubleLine, setFlip, setPaintArrow, setPreferences, setState, setWigglesMethods inherited from class JaxoExtendedObject
canBeSelected, copyFrom, getGrabbedHandle, getHeight, getPointCount, getRadius, getRelh, getRelSize, getRelw, getSize, getStroke, getStrokeWidth, getWidth, getX, getX2, getY, getY2, latexWidth, moveBy, paintHandles, resetStroke, setLocation, setRadius, setRelativeHeight, setRelativeWidth, setRelWAndH, setStroke, setStrokeWidth, setX, setX2, setY, setY2, smallestDistanceTo, strokeIsMethods inherited from class JaxoObject
addPropertyChangeListener, contains, contains, contains, contains, copyFrom, firePropertyChange, getBounds2D, getBoundsWithHandles, getColor, getGeneralPath, getLaTexLocation, getName, getPathIterator, getPathIterator, getPoints, getX, getY, intersects, intersects, isAround, isMarked, prepareEditPanel, propertyChange, removePropertyChangeListener, setAsMarked, setColor, setLocation, setParameter, setParameter, setParameter, setParameter, setParameter, setParameter, setParameter, setPointCount, setPoints, setTransient, setX, setXPosition, setY, setYPosition
-
Constructor Details
-
JaxoLoopObject
public JaxoLoopObject()
-
-
Method Details
-
copy
Returns an exact copy of this JaxoLoop.- Parameters:
temp- An instance of the loop to copy to (since this is an abstract class, we have to provide an instance of a sub-class).- Returns:
- A copy of this JaxoLoop.
-
isCopy
Determines if this JaxoObject is a copy of the specified one.- Overrides:
isCopyin classJaxoParticleObject- Parameters:
comp- The JaxoObject to compare against.- Returns:
- True if the JaxoObjects are identical.
-
paint
The method that paints the JaxoObject.- Specified by:
paintin classJaxoObject- Parameters:
g2- The graphics context where the object has to be painted.
-
getBounds
Returns the bounding box of this object.- Returns:
- the bounding box of this object.
-
latexCommand
The LaTeX command that is necessary to draw the given JaxoObject using the axodraw.sty package.- Specified by:
latexCommandin classJaxoObject- Parameters:
scale- A scale factor to translate Java coordinates to LaTeX coordinates.canvasDim- The current dimension of the canvas.- Returns:
- The corresponding axodraw LaTeX command.
-
paintVisualAid
Paints a visual aid for the user during dragging (moving or resizing) of this JaxoObject.- Overrides:
paintVisualAidin classJaxoObject- Parameters:
g2- The graphics context to paint the visual aid.
-
arrowCoordinates
Returns the coordinates of the arrow of the current object.- Specified by:
arrowCoordinatesin classJaxoParticleObject- Returns:
- The coordinates of the arrow of the current object.
-
rescaleObject
public final void rescaleObject(int orx, int ory, float scale) Rescale this JaxoObject by the scale factor scale, keeping the point (orx, ory) fixed.- Specified by:
rescaleObjectin classJaxoObject- Parameters:
orx- The x-coordinate of the fixed point.ory- The y-coordinate of the fixed point.scale- The scale parameter.
-
getLaTexCenter
Returns a center point which is used by the latexCommand method.- Parameters:
scaleFactor- A scale factor.canvasHeight- The height of the current canvas.- Returns:
- A Point2D object holding the center point.
-
getEquidistantPoints
Dividing the loop into n equidistant segments of length d, so n * d = 2 * r * PI is the circumference of the loop, this routine returns the n + 1 loop points that are i * d away from P1, where 0 invalid input: '<'= i invalid input: '<'= n.- Parameters:
n- The number of segments to divide the loop.- Returns:
- The equidistant points of the loop.
-
getLaTexRadius
protected float getLaTexRadius(float scaleFactor) Returns a radius which is used by the latexCommand method.- Parameters:
scaleFactor- A scale factor.- Returns:
- The latex radius.
-
getLaTexAngles
Returns an angle which is used by the latexCommand method. This is basically the relative angle between the center and the second (release) point of the loop.- Returns:
- A Point2D object with x-component the starting angle and y-component the starting angle + 360.
-
getObjectPath
Get the GeneralPath that paints this loop.- Returns:
- GeneralPath. May be null for an object that cannot be painted.
-
getAxo4JOptions
Return the option part of the LaTeX command for this line.- Parameters:
scale- the axodraw4j scale factor.- Returns:
- the option String.
-