com.xj.anylogic.engine.presentation
Class ShapeCAD

java.lang.Object
  extended by com.xj.anylogic.engine.presentation.Shape
      extended by com.xj.anylogic.engine.presentation.ShapeCAD
All Implemented Interfaces:
com.xj.anylogic.engine.internal.Child, Locatable2D, java.io.Serializable, java.lang.Cloneable

public class ShapeCAD
extends Shape
implements com.xj.anylogic.engine.internal.Child

Persistent CAD drawing shape.

This object is only available in the AnyLogic Professional

Author:
XJ Technologies Company Ltd. www.anylogic.com
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.xj.anylogic.engine.presentation.Shape
UNKNOWN_NAME
 
Constructor Summary
ShapeCAD(Presentable presentable, boolean ispublic, double x, double y, double width, double height, java.lang.String packagePrefix, java.lang.String filename, int id, java.awt.Color backgroundColor, java.lang.String[] layerNames, java.awt.Color[] customLayerColors, boolean invertDefaultColors)
          Deprecated. this constructor will be removed in the future releases, please use ShapeCAD(Presentable, boolean, double, double, double, double, String, String, int, Color, String[], Color[], int)
ShapeCAD(Presentable presentable, boolean ispublic, double x, double y, double width, double height, java.lang.String packagePrefix, java.lang.String filename, int id, java.awt.Color backgroundColor, java.lang.String[] layerNames, java.awt.Color[] customLayerColors, int drawingAttributes)
          Constructs a CAD drawing shape with specific attributes.
 
Method Summary
 ShapeCAD clone()
          Creates and returns a copy of this shape (i.e. new shape instance).
 boolean contains(double px, double py)
          Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e. in the same system with the coordinates of this shape, x and y)
 void draw(Panel panel, java.awt.Graphics2D g, java.awt.geom.AffineTransform xform, boolean publicOnly)
          Draws the shape in a given context
 java.awt.Color getBackgroundColor()
           
 java.awt.Color getCustomLayerColor(java.lang.String layerName)
          Returns custom color of the layer's shapes, if the one is defined.
 double getHeight()
          Returns the height of the shape.
 java.lang.String getImageFileName()
          Returns the file name of the CAD drawing.
 java.lang.String[] getLayerNames()
          Returns the array of layer names in this CAD, the returned array is backed by this shape and therefore shouldn't be modified by user.
 Presentable getPresentable()
          Returns the Presentable object (ActiveObject or Experiment) where this shape belongs to, or null.
 double getWidth()
          Returns the width of the shape.
 boolean isLayerVisible(java.lang.String layerName)
          Returns true if the layer with the given name is visible, otherwise returns false.
 boolean onClickAt(double px, double py, boolean publicOnly)
          Tests if the CAD drawing contains the point with the given coordinates and, if yes, executes the shape's reaction on click at that point.
 void restoreOwner(java.lang.Object owner)
          This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading
 void setBackgroundColor(java.awt.Color backgroundColor)
           
 void setCustomLayerColor(java.lang.String layerName, java.awt.Color color)
          Sets custom color for all the shapes for the given layer.
 void setHeight(double height)
          Sets the height of the shape.
 void setLayerVisible(java.lang.String layerName, boolean visible)
          Makes the layer with the given name visible/invisible.
 void setVisibleLayers(java.lang.String... layerNames)
          Makes the layers with given names visible and hides all other layers in this CAD.
 void setWidth(double width)
          Sets the width of the shape.
 
Methods inherited from class com.xj.anylogic.engine.presentation.Shape
canHandleClick, getGroup, getName, getRotation, getScaleX, getScaleY, getX, getY, isVisible, onClick, setPos, setRotation, setScale, setScale, setScaleX, setScaleY, setVisible, setX, setY
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShapeCAD

public ShapeCAD(Presentable presentable,
                boolean ispublic,
                double x,
                double y,
                double width,
                double height,
                java.lang.String packagePrefix,
                java.lang.String filename,
                int id,
                java.awt.Color backgroundColor,
                java.lang.String[] layerNames,
                java.awt.Color[] customLayerColors,
                boolean invertDefaultColors)
Deprecated. this constructor will be removed in the future releases, please use ShapeCAD(Presentable, boolean, double, double, double, double, String, String, int, Color, String[], Color[], int)


ShapeCAD

public ShapeCAD(Presentable presentable,
                boolean ispublic,
                double x,
                double y,
                double width,
                double height,
                java.lang.String packagePrefix,
                java.lang.String filename,
                int id,
                java.awt.Color backgroundColor,
                java.lang.String[] layerNames,
                java.awt.Color[] customLayerColors,
                int drawingAttributes)
Constructs a CAD drawing shape with specific attributes.

Parameters:
presentable - the presentable object owning this shape
ispublic - if true, the shape is visible on container's presentation
x - the x coordinate of the shape upper left corner
y - the y coordinate of the shape upper left corner
width - the width of the shape
height - the height of the shape
packagePrefix - the package name of original active object where this CAD is defined, formatted using '/' characters; with '/' character at the beginning and at the end
filename - the CAD drawing file name (.DXF)
backgroundColor - the background color for CAD drawing
layerNames - the array of names of CAD layers to be drawn.
customLayerColors - the array of the same length as layerNames. Allows user to specify custom color for all the shapes in a particular layer(s). Default layer colors are used for layers having null item in this array.
drawingAttributes - the drawing attributes, this value should be zero or an "OR" combination of CAD_* constants, e.g. CAD_NEGATIVE | CAD_ANTIALIASING
Method Detail

setWidth

public void setWidth(double width)
Sets the width of the shape.

Parameters:
width - the width of the shape

getWidth

public double getWidth()
Returns the width of the shape.

Returns:
the width of the shape

setHeight

public void setHeight(double height)
Sets the height of the shape.

Parameters:
height - the height of the shape

getHeight

public double getHeight()
Returns the height of the shape.

Returns:
the height of the shape

getImageFileName

public java.lang.String getImageFileName()
Returns the file name of the CAD drawing.

Returns:
the file name of the CAD drawing

getLayerNames

public java.lang.String[] getLayerNames()
Returns the array of layer names in this CAD, the returned array is backed by this shape and therefore shouldn't be modified by user.

Returns:
the array of layer names

isLayerVisible

public boolean isLayerVisible(java.lang.String layerName)
Returns true if the layer with the given name is visible, otherwise returns false.
Returns false if layer with the given name isn't found.

Parameters:
layerName - the name of the layer
Returns:
true if the layer with the given name is visible.

setLayerVisible

public void setLayerVisible(java.lang.String layerName,
                            boolean visible)
Makes the layer with the given name visible/invisible.
Throws an error if layer with the given name isn't found.

Parameters:
layerName - the name of the layer
visible - new visibility state of the layer

setVisibleLayers

public void setVisibleLayers(java.lang.String... layerNames)
Makes the layers with given names visible and hides all other layers in this CAD.
Throws an error if layer(s) with the given name isn't found.
To show all the layers, please call setVisibleLayers(getLayerNames())

Parameters:
layerNames - visible layer names

getCustomLayerColor

public java.awt.Color getCustomLayerColor(java.lang.String layerName)
Returns custom color of the layer's shapes, if the one is defined. Otherwise returns null.
Returns null if layer with the given name isn't found.

Parameters:
layerName - the name of the layer
Returns:
custom color of the layer's shapes

setCustomLayerColor

public void setCustomLayerColor(java.lang.String layerName,
                                java.awt.Color color)
Sets custom color for all the shapes for the given layer. The value of null indicates that layer will be drawn using its default color(s).
Throws an error if layer with the given name isn't found.

Parameters:
layerName - the name of the layer
color - the value of custom layer color, or null

getBackgroundColor

public java.awt.Color getBackgroundColor()

setBackgroundColor

public void setBackgroundColor(java.awt.Color backgroundColor)

onClickAt

public boolean onClickAt(double px,
                         double py,
                         boolean publicOnly)
Tests if the CAD drawing contains the point with the given coordinates and, if yes, executes the shape's reaction on click at that point.

Overrides:
onClickAt in class Shape
Parameters:
px - the x coordinate of the click
py - the y coordinate of the click
publicOnly - if true, not public shape returns false
Returns:
true if the click has been handled AND further click processing is not needed, false otherwise

contains

public boolean contains(double px,
                        double py)
Description copied from class: Shape
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e. in the same system with the coordinates of this shape, x and y)

Specified by:
contains in class Shape
Parameters:
px - the x coordinate relative to this shape's container
py - the y coordinate relative to this shape's container
Returns:
true if the shape contains the point with the given coordinates

draw

public void draw(Panel panel,
                 java.awt.Graphics2D g,
                 java.awt.geom.AffineTransform xform,
                 boolean publicOnly)
Draws the shape in a given context

Specified by:
draw in class Shape
Parameters:
panel - the panel where the drawing is done
g - the graphics where the drawing takes place
xform - the "original" transform that must be restored before drawing
publicOnly - if true, the shape is only drawn if it is public

getPresentable

public Presentable getPresentable()
Description copied from class: Shape
Returns the Presentable object (ActiveObject or Experiment) where this shape belongs to, or null.

Overrides:
getPresentable in class Shape
Returns:
the Presentable that owns this shape, or null

restoreOwner

public void restoreOwner(java.lang.Object owner)
Description copied from class: Shape
This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading

Specified by:
restoreOwner in interface com.xj.anylogic.engine.internal.Child
Overrides:
restoreOwner in class Shape
Parameters:
owner - owner of this object, usually ActiveObject, Experiment or ShapeGroup

clone

public final ShapeCAD clone()
Description copied from class: Shape
Creates and returns a copy of this shape (i.e. new shape instance).
The returned shape is the object of the same class
The returned copy isn't automatically added to the group this shape belongs to.
The clone is created in the context of the same experiment or active object

Note that cloning of GIS shape, controls and charts is not supported

Overrides:
clone in class Shape


Copyright © 1991-2008 XJ Technlogies. All Rights Reserved.