Package mgui.geometry
Class Shape2D
java.lang.Object
mgui.geometry.Shape2D
- Direct Known Subclasses:
Circle2D
,Ellipse2D
,LineSegment2D
,Point2D
,PointSet2D
,Polygon2D
,RadialRep2D
,Radius2D
,Rect2D
,Text2D
,Triangle2D
,Vector2D
public abstract class Shape2D extends java.lang.Object implements Shape, java.lang.Cloneable
Base class to be extended by all 2D shapes.
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
-
Nested Class Summary
Nested classes/interfaces inherited from interface mgui.interfaces.xml.XMLObject
XMLObject.XMLEncoding, XMLObject.XMLType
-
Constructor Summary
Constructors Constructor Description Shape2D()
-
Method Summary
Modifier and Type Method Description java.lang.Object
clone()
boolean
contains(org.jogamp.vecmath.Point2f thisPoint)
Rect2D
getBounds()
Returns a rectangle which bounds this 2D shapeorg.jogamp.vecmath.Point2f
getCenterPt()
float[]
getCoords()
Returns the coordinates of this shape as an array of length2*n
.java.lang.String
getDTD()
Returns the Data Type Declaration (DTD) for this object's XML representationjava.lang.String
getLocalName()
Returns the local name associated with this XML object.float
getProximity(org.jogamp.vecmath.Point2f thisPoint)
org.jogamp.vecmath.Point2f
getProximityPoint(org.jogamp.vecmath.Point2f thisPoint)
java.lang.String
getShortXML(int tab)
Returns a short XML representation of this object.int
getSize()
Returns the number of vertices in this shape.abstract org.jogamp.vecmath.Point2f
getVertex(int i)
abstract java.util.ArrayList<org.jogamp.vecmath.Point2f>
getVertices()
void
getVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> theNodes)
java.lang.String
getXML()
Returns this object's XML representation as a single string.java.lang.String
getXML(int tab)
Returns this object's XML representation as a single string.java.lang.String
getXMLSchema()
Returns the XML schema for this object's XML representationvoid
handleXMLElementEnd(java.lang.String localName)
Handles the end of an XML element.void
handleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)
Handles the start of an XML element.void
handleXMLString(java.lang.String s)
Handles a string within an XML element.void
setCoords(float[] coords)
Sets the coordinates of this shape fromcoords
.abstract void
setVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> n)
void
setVertices(org.jogamp.vecmath.Point2f[] n)
boolean
transform(Jama.Matrix T)
Transform this shape with affine transformation Jama matrixM
.boolean
transform(org.jogamp.vecmath.Matrix4d M)
Transform this shape with affine transformation matrixM
.void
writeXML(int tab, java.io.Writer writer)
Writes the XML representation of this object to file.void
writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar)
Writes the XML representation of this object to file, asXMLType.Normal
.void
writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar)
Writes the XML representation of this object to file.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Shape2D
public Shape2D()
-
-
Method Details
-
getProximity
public float getProximity(org.jogamp.vecmath.Point2f thisPoint) -
getProximityPoint
public org.jogamp.vecmath.Point2f getProximityPoint(org.jogamp.vecmath.Point2f thisPoint) -
transform
public boolean transform(org.jogamp.vecmath.Matrix4d M)Description copied from interface:Shape
Transform this shape with affine transformation matrixM
. -
contains
public boolean contains(org.jogamp.vecmath.Point2f thisPoint) -
getCenterPt
public org.jogamp.vecmath.Point2f getCenterPt() -
getVertex
public abstract org.jogamp.vecmath.Point2f getVertex(int i) -
getVertices
public abstract java.util.ArrayList<org.jogamp.vecmath.Point2f> getVertices() -
setVertices
public void setVertices(org.jogamp.vecmath.Point2f[] n) -
setVertices
public abstract void setVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> n) -
getVertices
public void getVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> theNodes) -
getSize
public int getSize()Returns the number of vertices in this shape. Subclasses can provide more efficient implementations. -
getBounds
Returns a rectangle which bounds this 2D shape- Returns:
-
getCoords
public float[] getCoords()Returns the coordinates of this shape as an array of length2*n
. Every two sequential elements in the array represents a coordinate.All shape classes which implement coordinates must implement this method.
-
setCoords
public void setCoords(float[] coords)Sets the coordinates of this shape fromcoords
. Every two sequential elements in the array represents a coordinate.All shape classes which implement coordinates must implement this method.
-
clone
public java.lang.Object clone()- Overrides:
clone
in classjava.lang.Object
-
transform
public boolean transform(Jama.Matrix T)Description copied from interface:Shape
Transform this shape with affine transformation Jama matrixM
. -
getDTD
public java.lang.String getDTD()Description copied from interface:XMLObject
Returns the Data Type Declaration (DTD) for this object's XML representationSee http://en.wikipedia.org/wiki/Document_Type_Definition for a description.
-
getLocalName
public java.lang.String getLocalName()Description copied from interface:XMLObject
Returns the local name associated with this XML object.- Specified by:
getLocalName
in interfaceXMLObject
- Returns:
-
getXML
public java.lang.String getXML()Description copied from interface:XMLObject
Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)
functions to write larger objects to file. -
getXML
public java.lang.String getXML(int tab)Description copied from interface:XMLObject
Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)
functions to write larger objects to file. -
getXMLSchema
public java.lang.String getXMLSchema()Description copied from interface:XMLObject
Returns the XML schema for this object's XML representation- Specified by:
getXMLSchema
in interfaceXMLObject
- Returns:
-
handleXMLElementEnd
public void handleXMLElementEnd(java.lang.String localName)Description copied from interface:XMLObject
Handles the end of an XML element.- Specified by:
handleXMLElementEnd
in interfaceXMLObject
- Parameters:
localName
- Local name of the element
-
handleXMLElementStart
public void handleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)Description copied from interface:XMLObject
Handles the start of an XML element.- Specified by:
handleXMLElementStart
in interfaceXMLObject
- Parameters:
localName
- Local name of the elementattributes
- Set of element attributestype
- TheXMLType
of this element
-
handleXMLString
public void handleXMLString(java.lang.String s)Description copied from interface:XMLObject
Handles a string within an XML element.- Specified by:
handleXMLString
in interfaceXMLObject
- Parameters:
s
- String to handle
-
writeXML
public void writeXML(int tab, java.io.Writer writer) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Ascii
will be used. -
writeXML
public void writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file, asXMLType.Normal
. The default format ofXMLFormat.Ascii
will be used. The basic contract for this method is that it should not write a newline character at its start or end. -
writeXML
public void writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Ascii
will be used. -
getShortXML
public java.lang.String getShortXML(int tab)Description copied from interface:XMLObject
Returns a short XML representation of this object.- Specified by:
getShortXML
in interfaceXMLObject
- Returns:
-