ilog.views.graphic
Class IlvPolygon

java.lang.Object
  extended by ilog.views.IlvGraphic
      extended by ilog.views.graphic.IlvPolyPoints
          extended by ilog.views.graphic.IlvPolygon
All Implemented Interfaces:
IlvPolyPointsInterface, IlvPersistentObject, Transferable, Serializable
Direct Known Subclasses:
IlvOutlinePolygon

public class IlvPolygon
extends IlvPolyPoints

IlvPolygon represents a polygon.

The default values for an IlvPolygon instance are as follows:

Example

The following code example shows how to use IlvPolygon in a simple Java application:

   IlvManager manager = new IlvManager();
       
   IlvPoint[] points = new IlvPoint[7];
   points[0] = new IlvPoint(40f, 40f);
   points[1] = new IlvPoint(50f, 20f);
   points[2] = new IlvPoint(90f, 40f);
   points[3] = new IlvPoint(70f, 70f);
   points[4] = new IlvPoint(90f, 90f);
   points[5] = new IlvPoint(40f, 90f);
   points[6] = new IlvPoint(40f, 40f);
   
   IlvPolygon defaultPolygon = new IlvPolygon(points, true);
   IlvPolygon customPolygon = new IlvPolygon(points, true);
   
   customPolygon.setStrokeOn(true);
   customPolygon.setBackground(Color.blue);
   customPolygon.setForeground(Color.green);
   customPolygon.moveResize(new IlvRect(100,80,40,40));
   IlvPoint center = customPolygon.getCenter(new IlvTransformer());
   customPolygon.rotate(center, 130);
    
   manager.addObject(defaultPolygon, true);
   manager.addObject(customPolygon, true);
 

The following image shows the graphic objects created in the code example:

IlvPolyPoints

About Graphic Objects

IlvPolygon is a custom graphic object, that is, a subclass of IlvGraphic. Graphic objects are controlled using an instance of IlvManager or one of its subclasses, and displayed using one or more IlvManagerView instances in a Java Swing application. For information about generic features for graphic objects, see IlvGraphic.

See Also:
IlvManager, IlvManagerView, Serialized Form

Constructor Summary
IlvPolygon(IlvInputStream stream)
          Reads the object from an IlvInputStream.
IlvPolygon(IlvPoint[] points)
          Creates a new polygon.
IlvPolygon(IlvPoint[] points, boolean copy)
          Creates a new IlvPolygon.
IlvPolygon(IlvPoint[] points, boolean copy, boolean outlined, boolean filled)
          Creates a new IlvPolygon.
IlvPolygon(IlvPolygon source)
          Creates a new polygon by copying an existing one.
 
Method Summary
 boolean contains(IlvPoint p, IlvPoint tp, IlvTransformer t)
          Tests if a point lies within the outline of the object.
 IlvGraphic copy()
          Copies the object.
 void draw(Graphics dst, IlvTransformer t)
          Draws the object.
 Color getBackground()
          Returns the background color of the IlvPolygon.
 Color getForeground()
          Returns the foreground color of the polygon.
 IlvPoint getIntersectionWithOutline(IlvPoint innerPoint, IlvPoint outerPoint, IlvTransformer t)
          Returns the intersection of the line segment from inner point to outer point with the shape of the graphic object.
 boolean isFillOn()
          Returns true if the inside of the polygon will be filled.
 boolean isStrokeOn()
          Returns true if the shape of the polygon is stroked.
 IlvSelection makeSelection()
          Creates the selection object for this class.
 boolean pointsInBBox()
          Returns true if all points of the polypoint object are contained in the bounding box.
 void setBackground(Color color)
          Changes the background color of the IlvPolygon.
 void setFillOn(boolean set)
          If true, specifies that the inside of the polygon will be filled.
 void setForeground(Color c)
          Changes the foreground color of the polygon.
 void setStrokeOn(boolean set)
          When set to true, specifies that the shape of the polygon is stroked.
 void write(IlvOutputStream stream)
          Writes the object to an IlvOutputStream.
 
Methods inherited from class ilog.views.graphic.IlvPolyPoints
allowsPointInsertion, allowsPointMove, allowsPointRemoval, applyTransform, boundingBox, computeBBox, getPointAt, getPoints, getPointsCardinal, inBBox, insertPoint, intersects, movePoint, recomputeBBox, removePoint
 
Methods inherited from class ilog.views.IlvGraphic
addActionListener, addNamedPropertyListener, boundingBox, getAndAssociateObjectInteractor, getCenter, getDefaultInteractor, getGraphicBag, GetGraphicObject, getName, getNamedProperty, getObjectInteractor, getPopupMenu, getPopupMenu, getPopupMenuName, getProperty, getToolTipText, getToolTipText, getTopLevelGraphicBag, getTransferData, getTransferDataFlavors, hasProperty, inside, isDataFlavorSupported, isEditable, isInApplyToObject, isMovable, isPersistent, isSelectable, isVisible, move, move, moveResize, notifyObjectInteractorToManager, processActionEvent, reDraw, removeActionListener, removeNamedProperty, removeNamedPropertyListener, removeProperty, replaceProperty, resize, rotate, scale, setEditable, setGraphicBag, setInApplyToObject, setMovable, setName, setNamedProperty, setNameImpl, setObjectInteractor, setPopupMenu, setPopupMenuName, setProperty, setSelectable, setToolTipText, setVisible, toString, translate, zoomable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IlvPolygon

public IlvPolygon(IlvPoint[] points)
Creates a new polygon. Note that this constructor will copy the array and the points in the array, so you can reuse the same array for another operation.

Parameters:
points - The points of the polygon.

IlvPolygon

public IlvPolygon(IlvPoint[] points,
                  boolean copy)
Creates a new IlvPolygon.

Parameters:
points - The array of points.
copy - If true then the array of points and the points of the first parameter will be copied. Otherwise this array will be used by the object and you must not use this array anymore.

IlvPolygon

public IlvPolygon(IlvPoint[] points,
                  boolean copy,
                  boolean outlined,
                  boolean filled)
Creates a new IlvPolygon.

Parameters:
points - The array of points.
copy - If true then the array of points and the points of the first parameter will be copied. Otherwise this array will be used by the object and you must not use this array anymore.
outlined - true if the polygon have to be stroked.
filled - true if the polygon have to be filled.
Since:
JViews 5.5
See Also:
setStrokeOn(boolean), setFillOn(boolean)

IlvPolygon

public IlvPolygon(IlvPolygon source)
Creates a new polygon by copying an existing one.

Parameters:
source - The copied object.

IlvPolygon

public IlvPolygon(IlvInputStream stream)
           throws IlvReadFileException
Reads the object from an IlvInputStream.

Parameters:
stream - The input stream.
Throws:
IlvReadFileException - if the format is not correct.
IlvReadFileException
Method Detail

copy

public IlvGraphic copy()
Copies the object. This method copies the object by calling the copy constructor.

Specified by:
copy in class IlvGraphic
Returns:
A copy of the object.
See Also:
IlvGraphic

pointsInBBox

public boolean pointsInBBox()
Returns true if all points of the polypoint object are contained in the bounding box. Since this is the case for the class IlvPolygon, this method simply returns true.


contains

public boolean contains(IlvPoint p,
                        IlvPoint tp,
                        IlvTransformer t)
Tests if a point lies within the outline of the object.

Overrides:
contains in class IlvGraphic
Parameters:
p - The point to be tested.
tp - The point p transformed by the transformer t.
t - The transformation that was applied to the object when it was drawn.
Returns:
true if the point lies inside this graphic object.
See Also:
IlvGraphic

getIntersectionWithOutline

public IlvPoint getIntersectionWithOutline(IlvPoint innerPoint,
                                           IlvPoint outerPoint,
                                           IlvTransformer t)
Returns the intersection of the line segment from inner point to outer point with the shape of the graphic object. This method is used the clip links against the shape of the node. The implementation of this method must be robust with respect to the input points: Even if innerPoint is not inside the graphic object, or if outerPoint is not outside the graphic object, it must return a valid point. For instance, if there is no intersection, it can return the start point.

Overrides:
getIntersectionWithOutline in class IlvGraphic
Parameters:
innerPoint - A point usually inside the graphic object, given in manager view coordinates.
outerPoint - A point usually outside of the graphic object, given in manager view coordinates.
t - The transformation used to draw the object.
Since:
JViews 8.1
See Also:
IlvClippingLinkConnector

draw

public void draw(Graphics dst,
                 IlvTransformer t)
Draws the object.

Specified by:
draw in class IlvGraphic
Parameters:
dst - The destination Graphics.
t - The transformation used to draw the object.
See Also:
IlvGraphic.boundingBox(ilog.views.IlvTransformer), IlvGraphic.zoomable(), IlvGraphic

setForeground

public void setForeground(Color c)
Changes the foreground color of the polygon. It is the color used to fill the polygon.

Overrides:
setForeground in class IlvGraphic
Parameters:
c - The new foreground color.
See Also:
getForeground()

getForeground

public Color getForeground()
Returns the foreground color of the polygon. It is the color used to fill the polygon.

Returns:
The foreground color of the polygon.
See Also:
setForeground(java.awt.Color)

setBackground

public void setBackground(Color color)
Changes the background color of the IlvPolygon. It is the color used to outline the polygon.

Overrides:
setBackground in class IlvGraphic
Parameters:
color - The new background color.
Since:
JViews 5.5
See Also:
IlvGraphic.draw(Graphics, IlvTransformer), IlvGraphic.setForeground(Color), IlvGraphic.setFillOn(boolean), IlvGraphic.setStrokeOn(boolean), IlvGraphic

getBackground

public Color getBackground()
Returns the background color of the IlvPolygon. It is the color used to outline the polygon.

Returns:
The background color of the polygon.
Since:
JViews 5.5

isFillOn

public boolean isFillOn()
Returns true if the inside of the polygon will be filled.

Since:
JViews 5.5
See Also:
setFillOn(boolean)

setFillOn

public void setFillOn(boolean set)
If true, specifies that the inside of the polygon will be filled.

Overrides:
setFillOn in class IlvGraphic
Parameters:
set - Set to true to enable the fill style for this graphic object.
Since:
JViews 5.5
See Also:
isFillOn()

isStrokeOn

public boolean isStrokeOn()
Returns true if the shape of the polygon is stroked.

Since:
JViews 5.5
See Also:
setStrokeOn(boolean)

setStrokeOn

public void setStrokeOn(boolean set)
When set to true, specifies that the shape of the polygon is stroked.

Overrides:
setStrokeOn in class IlvGraphic
Parameters:
set - Set to true to enable the stroke in your customized graphic object.
Since:
JViews 5.5
See Also:
isStrokeOn()

makeSelection

public IlvSelection makeSelection()
Creates the selection object for this class. The default implementation creates an instance of IlvPolyPointsSelection.

Overrides:
makeSelection in class IlvPolyPoints
See Also:
IlvPolyPointsSelection

write

public void write(IlvOutputStream stream)
           throws IOException
Writes the object to an IlvOutputStream. Note that even if this is a public method, you should not call it directly. You should use the write methods of the manager.

Specified by:
write in interface IlvPersistentObject
Overrides:
write in class IlvPolyPoints
Parameters:
stream - The output stream.
Throws:
IOException - thrown when an exception occurs during the write operation for this object.


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.