package scala2d
The scala2d
package contains classes, traits and objects for
for simple 2D graphics in scala, based upon java.swing
, java.awt
and
java_awt_geom
.
- Alphabetic
- By Inheritance
- scala2d
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
Arc() extends Double with Product with Serializable
Arc
is a convenience case class forArc2D
(a subclass ofRectangularShape
). -
case class
Arrow(p1: R2 = R2 (0.0, 0.0), p2: R2 = R2 (0.0, 0.0), len: Int = 10) extends Double with Product with Serializable
The
Arrow
class uses Java's Path2D class to create a line with an arrowhead on the far end.The
Arrow
class uses Java's Path2D class to create a line with an arrowhead on the far end. The main line is defined by points 'p1' and 'p2'. Points 'p3' and 'p4' are the corners of the triangular arrowhead.- p1
the starting point for the line/arrow
- p2
the ending point for the line/arrow
- len
the length of the arrowhead on the line/arrow
-
trait
CurvilinearShape extends Shape with Error
The
CurvilinearShape
trait provides a general type for line and curves.The
CurvilinearShape
trait provides a general type for line and curves. It is analogous toRectangularShape
. -
case class
Ellipse() extends Double with Product with Serializable
Ellipse
is a convenience case class for Ellipse2D (a subclass ofRectangularShape
). -
class
Frame extends JFrame
Frame
is a convenience class forJFrame
. -
case class
Hexagon(vertex: Array[R2]) extends Double with Product with Serializable
The
Hexagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a hexagon given its vertices.The
Hexagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a hexagon given its vertices.- vertex
the six corner points of the hexagon
-
case class
Line(p1: R2 = R2 (0.0, 0.0), p2: R2 = R2 (0.0, 0.0)) extends Double with Product with Serializable
Line
is a convenience case class forLine2D
(a subclass ofRectangularShape
). -
case class
Octagon(vertex: Array[R2]) extends Double with Product with Serializable
The
Octagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building an octagon given its vertices.The
Octagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building an octagon given its vertices.- vertex
the eight corner points of the octagon
-
class
Panel extends JPanel
Panel
is a convenience class forJPanel
. -
case class
Path() extends Double with Product with Serializable
Path
is a convenience case class forPath2D.
Its subtypes (case classPolygon
, etc.) are defined in other files in thescala2d
package. -
case class
Pentagon(vertex: Array[R2]) extends Double with Product with Serializable
The
Pentagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a pentagon given its vertices.The
Pentagon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a pentagon given its vertices.- vertex
the five corner points of the pentagon
-
case class
Polygon(vertex: Array[R2]) extends Double with Product with Serializable
The
Polygon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a polygon given its vertices.The
Polygon
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a polygon given its vertices.- vertex
the n >= 3 corner points of the polygon
-
case class
QArrow(p1: R2 = R2 (0.0, 0.0), pc: R2 = R2 (0.0, 0.0), p2: R2 = R2 (0.0, 0.0), len: Int = 10) extends Double with CurvilinearShape with Product with Serializable
The
QArrow
class uses Java'sPath2D
class to create a quad curve with an arrowhead on the far end.The
QArrow
class uses Java'sPath2D
class to create a quad curve with an arrowhead on the far end. The main curve is defined by points 'p1' and 'p2' along with a control point 'pc'. Points 'p3' and 'p4' are the corners of the triangular arrowhead.- p1
the starting point for the curve/arc
- pc
the control point for the curve/arc
- p2
the ending point for the curve/arc
- len
the length of the arrowhead on the curve/arc
-
case class
QCurve(p1: R2 = R2 (0.0, 0.0), pc: R2 = R2 (0.0, 0.0), p2: R2 = R2 (0.0, 0.0), straight: Boolean = true) extends Double with CurvilinearShape with Product with Serializable
The
QCurve
class enhances theQuadCurve.Double
class (from thejava.awt.geom
package) by allowing entities to move along such quadratic curves as well as lines.The
QCurve
class enhances theQuadCurve.Double
class (from thejava.awt.geom
package) by allowing entities to move along such quadratic curves as well as lines. Although the curve could be developed as a quadratic function where 'y = ax2 + bx + c'. The following quadratic bezier formulation is used:
p(t) = (x(t), y(t)) = [(1-t)2 * p1] + [2 * (1-t) * t * pc] + [t^2 * p2].- p1
the starting point for the quad curve
- pc
the control point for the quad curve
- p2
the ending point for the quad curve
- straight
whether the quad curve is straight (i.e., a line)
-
case class
Quad(vertex: Array[R2]) extends Double with Product with Serializable
The
Quad
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a quadrilateral given its vertices.The
Quad
class enhances thePath2D.Double
class (from thejava.awt.geom
package) by adding a constructor for building a quadrilateral given its vertices.- vertex
the four corner points of the quadrilateral
-
case class
R2(xx: Double, yy: Double) extends Double with Product with Serializable
R2
is a convenience case class forPoint2D
. -
case class
Rectangle() extends Double with Product with Serializable
Rectangle
is a convenience case class forRectangle2D
(a subclass ofRectangularShape
). -
case class
RoundRectangle() extends Double with Product with Serializable
RoundRectangle
is a convenience case class forRoundRectangle2D
(a subclass ofRectangularShape
). -
class
ScrollPane extends JScrollPane
ScrollPane
is a convenience class forJScrollPane
. -
class
Table extends JTable
Table
is a convenience class forJTable
. -
trait
Transform extends AnyRef
The
Transform
trait provides a simple technique for transforming (translation, scaling and rotation) rectangular shapes. -
case class
Triangle(vertex: Array[R2]) extends Double with Product with Serializable
The Triangle class enhances the Path2D.Double class (from the
java.awt.geom
package) by adding a constructor for building a triangle given its vertices.The Triangle class enhances the Path2D.Double class (from the
java.awt.geom
package) by adding a constructor for building a triangle given its vertices.- vertex
the three corner points of the triangle
-
class
VizFrame extends Frame
The
VizFrame
class puts the canvas in the visualization/drawing frame.
Value Members
-
object
ArrowTest extends App
The
ArrowTest
object is used to test theArrow
class. -
object
Colors
The
Colors
convenience object defines numerous common colors.The
Colors
convenience object defines numerous common colors. Source of colors:- See also
www.webmoments.com/colorchart.htm
-
object
ColorsTest extends App
The
ColorsTest
object is used to test theColors
object. -
object
Constants
Useful constants.
-
object
PolygonTest extends App
The
PolygonTest
object tests thePolygon
,Triangle
,Quad
,Hexagon
and Octagon classes. -
object
QArrowTest extends App
The
QArrowTest
object is used to test theQArrow
class. -
object
QCurve extends Serializable
The
QCurve
companion object provides formulas used by theQCurve
class. -
object
QCurveTest extends App
The
QCurveTest
object tests theQCurve
classes' quad curves. -
object
QCurveTest2 extends App
The
QCurveTest2
object tests traversal ofQCurve
's (quad curves). -
object
Shapes
The
Shapes
object Scala provides type aliases for basic Java2D types.