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.Objectclone()booleancontains(org.jogamp.vecmath.Point2f thisPoint)Rect2DgetBounds()Returns a rectangle which bounds this 2D shapeorg.jogamp.vecmath.Point2fgetCenterPt()float[]getCoords()Returns the coordinates of this shape as an array of length2*n.java.lang.StringgetDTD()Returns the Data Type Declaration (DTD) for this object's XML representationjava.lang.StringgetLocalName()Returns the local name associated with this XML object.floatgetProximity(org.jogamp.vecmath.Point2f thisPoint)org.jogamp.vecmath.Point2fgetProximityPoint(org.jogamp.vecmath.Point2f thisPoint)java.lang.StringgetShortXML(int tab)Returns a short XML representation of this object.intgetSize()Returns the number of vertices in this shape.abstract org.jogamp.vecmath.Point2fgetVertex(int i)abstract java.util.ArrayList<org.jogamp.vecmath.Point2f>getVertices()voidgetVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> theNodes)java.lang.StringgetXML()Returns this object's XML representation as a single string.java.lang.StringgetXML(int tab)Returns this object's XML representation as a single string.java.lang.StringgetXMLSchema()Returns the XML schema for this object's XML representationvoidhandleXMLElementEnd(java.lang.String localName)Handles the end of an XML element.voidhandleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)Handles the start of an XML element.voidhandleXMLString(java.lang.String s)Handles a string within an XML element.voidsetCoords(float[] coords)Sets the coordinates of this shape fromcoords.abstract voidsetVertices(java.util.ArrayList<org.jogamp.vecmath.Point2f> n)voidsetVertices(org.jogamp.vecmath.Point2f[] n)booleantransform(Jama.Matrix T)Transform this shape with affine transformation Jama matrixM.booleantransform(org.jogamp.vecmath.Matrix4d M)Transform this shape with affine transformation matrixM.voidwriteXML(int tab, java.io.Writer writer)Writes the XML representation of this object to file.voidwriteXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar)Writes the XML representation of this object to file, asXMLType.Normal.voidwriteXML(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:ShapeTransform 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:
clonein classjava.lang.Object
-
transform
public boolean transform(Jama.Matrix T)Description copied from interface:ShapeTransform this shape with affine transformation Jama matrixM. -
getDTD
public java.lang.String getDTD()Description copied from interface:XMLObjectReturns 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:XMLObjectReturns the local name associated with this XML object.- Specified by:
getLocalNamein interfaceXMLObject- Returns:
-
getXML
public java.lang.String getXML()Description copied from interface:XMLObjectReturns 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:XMLObjectReturns 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:XMLObjectReturns the XML schema for this object's XML representation- Specified by:
getXMLSchemain interfaceXMLObject- Returns:
-
handleXMLElementEnd
public void handleXMLElementEnd(java.lang.String localName)Description copied from interface:XMLObjectHandles the end of an XML element.- Specified by:
handleXMLElementEndin 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:XMLObjectHandles the start of an XML element.- Specified by:
handleXMLElementStartin interfaceXMLObject- Parameters:
localName- Local name of the elementattributes- Set of element attributestype- TheXMLTypeof this element
-
handleXMLString
public void handleXMLString(java.lang.String s)Description copied from interface:XMLObjectHandles a string within an XML element.- Specified by:
handleXMLStringin interfaceXMLObject- Parameters:
s- String to handle
-
writeXML
public void writeXML(int tab, java.io.Writer writer) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites 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.Asciiwill be used. -
writeXML
public void writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites the XML representation of this object to file, asXMLType.Normal. The default format ofXMLFormat.Asciiwill 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:XMLObjectWrites 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.Asciiwill be used. -
getShortXML
public java.lang.String getShortXML(int tab)Description copied from interface:XMLObjectReturns a short XML representation of this object.- Specified by:
getShortXMLin interfaceXMLObject- Returns:
-