net.sf.latexdraw.glib.models.impl
Class LEllipse

java.lang.Object
  extended by net.sf.latexdraw.glib.models.impl.LShape
      extended by net.sf.latexdraw.glib.models.impl.LPositionShape
          extended by net.sf.latexdraw.glib.models.impl.LRectangularShape
              extended by net.sf.latexdraw.glib.models.impl.LEllipse
All Implemented Interfaces:
IArrowable, IEllipse, IPositionShape, IRectangularShape, IShape, Modifiable
Direct Known Subclasses:
LArc, LCircle

 class LEllipse
extends LRectangularShape
implements IEllipse

Defines a model of an ellipse.

This file is part of LaTeXDraw.
Copyright (c) 2005-2012 Arnaud BLOUIN

LaTeXDraw is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
LaTeXDraw is distributed without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

02/13/2008

Since:
3.0
Version:
3.0
Author:
Arnaud BLOUIN

Nested Class Summary
 
Nested classes/interfaces inherited from interface net.sf.latexdraw.glib.models.interfaces.IShape
IShape.BorderPos, IShape.FillingStyle, IShape.LineStyle, IShape.Position
 
Field Summary
 
Fields inherited from class net.sf.latexdraw.glib.models.impl.LShape
arrows, bordersPosition, dashSepBlack, dashSepWhite, dbleBordCol, dbleBordSep, dotSep, fillingCol, fillingStyle, gradAngle, gradColEnd, gradColStart, gradMidPt, hasDbleBord, hasShadow, hatchingsAngle, hatchingsCol, hatchingsSep, hatchingsWidth, id, lineColour, lineStyle, modified, opacity, points, rotationAngle, shadowAngle, shadowCol, shadowSize, showPts, thickness
 
Fields inherited from interface net.sf.latexdraw.glib.models.interfaces.IShape
GOLDEN_ANGLE, PPC
 
Constructor Summary
protected LEllipse(boolean isUniqueID)
          Creates an Ellipse.
protected LEllipse(IPoint tl, IPoint br, boolean isUniqueID)
          Creates an ellipse.
 
Method Summary
 IEllipse duplicate()
          Creates a duplicate of the shape (however id are not the same).
 double getA()
           
 double getB()
           
 IPoint[] getIntersection(ILine line)
          Computes the intersection points between the ellipse and the given line.
 double getRx()
           
 double getRy()
           
 void setCentre(IPoint centre)
          Translates the shape to its new centre.
 void setRx(double rx)
          Sets the x radius of the ellipse.
 void setRy(double ry)
          Sets the y radius of the ellipse.
 
Methods inherited from class net.sf.latexdraw.glib.models.impl.LRectangularShape
getHeight, getWidth, isBordersMovable, isDbleBorderable, isFillable, isInteriorStylable, isLineStylable, isShadowable, isThicknessable, setHeight, setWidth
 
Methods inherited from class net.sf.latexdraw.glib.models.impl.LPositionShape
getPosition, getX, getY, setPosition, setPosition, setX, setY
 
Methods inherited from class net.sf.latexdraw.glib.models.impl.LShape
addToRotationAngle, copy, copyArrows, copyPoints, getArrowAt, getArrowInset, getArrowLength, getArrowLine, getArrows, getArrowSizeDim, getArrowSizeNum, getArrowStyle, getBorderGap, getBordersPosition, getBottomLeftPoint, getBottomRightPoint, getBracketNum, getDashSepBlack, getDashSepWhite, getDbleBordCol, getDbleBordSep, getDotSep, getDotSizeDim, getDotSizeNum, getFillingCol, getFillingStyle, getFullBottomRightPoint, getFullTopLeftPoint, getGradAngle, getGradColEnd, getGradColStart, getGradMidPt, getGravityCentre, getHatchingsAngle, getHatchingsCol, getHatchingsSep, getHatchingsWidth, getId, getLineColour, getLineStyle, getNbPoints, getOpacity, getPoints, getPtAt, getRBracketNum, getRotationAngle, getShadowAngle, getShadowCol, getShadowGap, getShadowSize, getTBarSizeDim, getTBarSizeNum, getThickness, getTopLeftPoint, getTopRightPoint, hasDbleBord, hasGradient, hasHatchings, hasShadow, isArrowable, isColourable, isFilled, isModified, isParametersEquals, isShowPts, isShowPtsable, mirrorHorizontal, mirrorVertical, rotate, scale, scaleSetPoints, setArrowInset, setArrowLength, setArrowSizeDim, setArrowSizeNum, setArrowStyle, setBordersPosition, setBracketNum, setDashSepBlack, setDashSepWhite, setDbleBordCol, setDbleBordSep, setDotSep, setDotSizeDim, setDotSizeNum, setFilled, setFillingCol, setFillingStyle, setGradAngle, setGradColEnd, setGradColStart, setGradMidPt, setHasDbleBord, setHasShadow, setHatchingsAngle, setHatchingsCol, setHatchingsSep, setHatchingsWidth, setId, setLineColour, setLineStyle, setModified, setNewId, setOpacity, setRBracketNum, setRotationAngle, setShadowAngle, setShadowCol, setShadowSize, setShowPts, setTBarSizeDim, setTBarSizeNum, setThickness, shadowFillsShape, translate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.latexdraw.glib.models.interfaces.IRectangularShape
getHeight, getWidth, setHeight, setWidth
 
Methods inherited from interface net.sf.latexdraw.glib.models.interfaces.IPositionShape
getPosition, getX, getY, setPosition, setPosition, setX, setY
 
Methods inherited from interface net.sf.latexdraw.glib.models.interfaces.IShape
addToRotationAngle, copy, getArrowAt, getArrowLine, getArrows, getArrowStyle, getBorderGap, getBordersPosition, getBottomLeftPoint, getBottomRightPoint, getDashSepBlack, getDashSepWhite, getDbleBordCol, getDbleBordSep, getDotSep, getFillingCol, getFillingStyle, getFullBottomRightPoint, getFullTopLeftPoint, getGradAngle, getGradColEnd, getGradColStart, getGradMidPt, getGravityCentre, getHatchingsAngle, getHatchingsCol, getHatchingsSep, getHatchingsWidth, getId, getLineColour, getLineStyle, getNbPoints, getOpacity, getPoints, getPtAt, getRotationAngle, getShadowAngle, getShadowCol, getShadowGap, getShadowSize, getThickness, getTopLeftPoint, getTopRightPoint, hasDbleBord, hasGradient, hasHatchings, hasShadow, isArrowable, isBordersMovable, isColourable, isDbleBorderable, isFillable, isFilled, isInteriorStylable, isLineStylable, isParametersEquals, isShadowable, isShowPts, isShowPtsable, isThicknessable, mirrorHorizontal, mirrorVertical, rotate, scale, setArrowStyle, setBordersPosition, setDashSepBlack, setDashSepWhite, setDbleBordCol, setDbleBordSep, setDotSep, setFilled, setFillingCol, setFillingStyle, setGradAngle, setGradColEnd, setGradColStart, setGradMidPt, setHasDbleBord, setHasShadow, setHatchingsAngle, setHatchingsCol, setHatchingsSep, setHatchingsWidth, setId, setLineColour, setLineStyle, setNewId, setOpacity, setRotationAngle, setShadowAngle, setShadowCol, setShadowSize, setShowPts, setThickness, shadowFillsShape, translate
 
Methods inherited from interface org.malai.properties.Modifiable
isModified, setModified
 
Methods inherited from interface net.sf.latexdraw.glib.models.interfaces.IArrowable
getArrowInset, getArrowLength, getArrowSizeDim, getArrowSizeNum, getBracketNum, getDotSizeDim, getDotSizeNum, getRBracketNum, getTBarSizeDim, getTBarSizeNum, setArrowInset, setArrowLength, setArrowSizeDim, setArrowSizeNum, setBracketNum, setDotSizeDim, setDotSizeNum, setRBracketNum, setTBarSizeDim, setTBarSizeNum
 

Constructor Detail

LEllipse

protected LEllipse(boolean isUniqueID)
Creates an Ellipse.

Parameters:
isUniqueID - isUniqueID True: the ellipse will have a unique ID.
Since:
3.0

LEllipse

protected LEllipse(IPoint tl,
                   IPoint br,
                   boolean isUniqueID)
Creates an ellipse.

Parameters:
tl - The top-left point of the ellipse.
br - The bottom-right point of the ellipse.
isUniqueID - True: the ellipse will have a unique ID.
Throws:
java.lang.IllegalArgumentException - If a or b is not valid.
Method Detail

duplicate

public IEllipse duplicate()
Description copied from interface: IShape
Creates a duplicate of the shape (however id are not the same).

Specified by:
duplicate in interface IEllipse
Specified by:
duplicate in interface IShape
Overrides:
duplicate in class LShape
Returns:
The duplicata.

getIntersection

public IPoint[] getIntersection(ILine line)
Description copied from interface: IEllipse
Computes the intersection points between the ellipse and the given line.

Specified by:
getIntersection in interface IEllipse
Parameters:
line - The line to test.
Returns:
1 or 2 points or null.

getRx

public double getRx()
Specified by:
getRx in interface IEllipse
Returns:
The x radius of the ellipse.

getRy

public double getRy()
Specified by:
getRy in interface IEllipse
Returns:
The y radius of the ellipse.

setRx

public void setRx(double rx)
Description copied from interface: IEllipse
Sets the x radius of the ellipse.

Specified by:
setRx in interface IEllipse
Parameters:
rx - The new x radius.

setRy

public void setRy(double ry)
Description copied from interface: IEllipse
Sets the y radius of the ellipse.

Specified by:
setRy in interface IEllipse
Parameters:
ry - The new y radius.

setCentre

public void setCentre(IPoint centre)
Description copied from interface: IEllipse
Translates the shape to its new centre.

Specified by:
setCentre in interface IEllipse
Parameters:
centre - The new centre.

getA

public double getA()
Specified by:
getA in interface IEllipse
Returns:
The half of the biggest axe.

getB

public double getB()
Specified by:
getB in interface IEllipse
Returns:
The half of the smallest axe.