summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRami Santina <[email protected]>2011-03-25 12:00:55 +0200
committerRami Santina <[email protected]>2011-03-25 12:00:55 +0200
commit526af50c03af2e00a028caf4b8504e6c3f3c4221 (patch)
tree69b63713bc99051f26bb7ca172ed5464fec13485 /src
parentb01b243241635ab4d210aa88cdbff6cc5713a815 (diff)
Refactored Vertex Point PointTex GraphPoint namings
Vertex class --> SVertex (Simple vertex wwhere memory impl is float[]) Point interface --> Vertex (which combines in it PointTex Interface) GraphPoint --> GraphVertex
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com/jogamp/graph/curve/HwRegionRenderer.java14
-rwxr-xr-xsrc/com/jogamp/graph/curve/OutlineShape.java68
-rwxr-xr-xsrc/com/jogamp/graph/curve/Region.java6
-rw-r--r--src/com/jogamp/graph/curve/tess/CDTriangulator2D.java16
-rw-r--r--src/com/jogamp/graph/curve/text/HwTextRenderer.java17
-rw-r--r--src/com/jogamp/graph/font/FontFactory.java7
-rw-r--r--src/com/jogamp/graph/geom/Line.java2
-rw-r--r--src/com/jogamp/graph/geom/Outline.java14
-rw-r--r--src/com/jogamp/graph/geom/PointTex.java37
-rw-r--r--src/com/jogamp/graph/geom/Triangle.java2
-rw-r--r--src/com/jogamp/graph/geom/Vertex.java (renamed from src/com/jogamp/graph/geom/Point.java)14
-rw-r--r--src/com/jogamp/graph/geom/opengl/SVertex.java (renamed from src/com/jogamp/graph/geom/opengl/Vertex.java)37
-rwxr-xr-xsrc/demo/GPURegionNewtDemo01.java4
-rwxr-xr-xsrc/demo/GPURegionNewtDemo02.java6
-rw-r--r--src/demo/GPUTextNewtDemo01.java6
-rw-r--r--src/demo/GPUTextNewtDemo02.java6
-rw-r--r--src/jogamp/graph/curve/opengl/VBORegion2PGL3.java22
-rw-r--r--src/jogamp/graph/curve/opengl/VBORegionSPES2.java24
-rw-r--r--src/jogamp/graph/curve/tess/GraphOutline.java12
-rw-r--r--src/jogamp/graph/curve/tess/GraphVertex.java (renamed from src/jogamp/graph/curve/tess/GraphPoint.java)10
-rw-r--r--src/jogamp/graph/curve/tess/HEdge.java20
-rw-r--r--src/jogamp/graph/curve/tess/Loop.java32
-rw-r--r--src/jogamp/graph/curve/text/GlyphShape.java31
-rw-r--r--src/jogamp/graph/curve/text/GlyphString.java27
-rw-r--r--src/jogamp/graph/font/typecast/TypecastFont.java10
-rw-r--r--src/jogamp/graph/font/typecast/TypecastFontFactory.java8
-rw-r--r--src/jogamp/graph/font/typecast/TypecastRenderer.java6
-rw-r--r--src/jogamp/graph/geom/plane/AffineTransform.java36
-rw-r--r--src/jogamp/graph/geom/plane/Path2D.java10
-rwxr-xr-xsrc/jogamp/graph/math/VectorFloatUtil.java10
30 files changed, 238 insertions, 276 deletions
diff --git a/src/com/jogamp/graph/curve/HwRegionRenderer.java b/src/com/jogamp/graph/curve/HwRegionRenderer.java
index 3c3142061..2caa6bb7e 100755
--- a/src/com/jogamp/graph/curve/HwRegionRenderer.java
+++ b/src/com/jogamp/graph/curve/HwRegionRenderer.java
@@ -40,7 +40,7 @@ import javax.media.opengl.GLUniformData;
import javax.media.opengl.fixedfunc.GLMatrixFunc;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import jogamp.opengl.Debug;
import com.jogamp.opengl.util.PMVMatrix;
@@ -71,7 +71,7 @@ public class HwRegionRenderer {
/** Create a Hardware accelerated Region Renderer
* @param context OpenGL rendering context
- * @param factory optional Point.Factory for PointTex construction. Default is Vertex.Factory.
+ * @param factory optional Point.Factory for Vertex construction. Default is Vertex.Factory.
*/
public HwRegionRenderer(GLContext context) {
this.context = context;
@@ -248,8 +248,8 @@ public class HwRegionRenderer {
outlineShape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
- ArrayList<Triangle<PointTex>> triangles = (ArrayList<Triangle<PointTex>>) outlineShape.triangulate(sharpness);
- ArrayList<PointTex> vertices = (ArrayList<PointTex>) outlineShape.getVertices();
+ ArrayList<Triangle<Vertex>> triangles = (ArrayList<Triangle<Vertex>>) outlineShape.triangulate(sharpness);
+ ArrayList<Vertex> vertices = (ArrayList<Vertex>) outlineShape.getVertices();
region.addVertices(vertices);
region.addTriangles(triangles);
@@ -265,11 +265,11 @@ public class HwRegionRenderer {
for(OutlineShape outlineShape:outlineShapes){
outlineShape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
- ArrayList<Triangle<PointTex>> triangles = outlineShape.triangulate(sharpness);
+ ArrayList<Triangle<Vertex>> triangles = outlineShape.triangulate(sharpness);
region.addTriangles(triangles);
- ArrayList<PointTex> vertices = outlineShape.getVertices();
- for(PointTex vert:vertices){
+ ArrayList<Vertex> vertices = outlineShape.getVertices();
+ for(Vertex vert:vertices){
vert.setId(numVertices++);
}
region.addVertices(vertices);
diff --git a/src/com/jogamp/graph/curve/OutlineShape.java b/src/com/jogamp/graph/curve/OutlineShape.java
index d939d7427..b48804b4d 100755
--- a/src/com/jogamp/graph/curve/OutlineShape.java
+++ b/src/com/jogamp/graph/curve/OutlineShape.java
@@ -35,8 +35,8 @@ import jogamp.graph.math.VectorFloatUtil;
import com.jogamp.graph.geom.Outline;
import com.jogamp.graph.geom.Line;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.curve.tess.CDTriangulator2D;
@@ -54,24 +54,24 @@ import com.jogamp.graph.curve.tess.CDTriangulator2D;
*/
public class OutlineShape {
public static final int QUADRATIC_NURBS = 10;
- private final Point.Factory<? extends PointTex> pointFactory;
- private ArrayList<Outline<PointTex>> outlines = new ArrayList<Outline<PointTex>>(3);
+ private final Vertex.Factory<? extends Vertex> pointFactory;
+ private ArrayList<Outline<Vertex>> outlines = new ArrayList<Outline<Vertex>>(3);
/** Create a new Outline based Shape
*/
- public OutlineShape(Point.Factory<? extends PointTex> factory) {
+ public OutlineShape(Vertex.Factory<? extends Vertex> factory) {
pointFactory = factory;
- outlines.add(new Outline<PointTex>());
+ outlines.add(new Outline<Vertex>());
}
- public final Point.Factory<? extends PointTex> pointFactory() { return pointFactory; }
+ public final Vertex.Factory<? extends Vertex> pointFactory() { return pointFactory; }
/** Add a new empty outline
* to the shape, this new outline will
* be placed at the end of the outline list.
*/
public void addEmptyOutline(){
- outlines.add(new Outline<PointTex>());
+ outlines.add(new Outline<Vertex>());
}
/** Adds an outline to the OutlineShape object
@@ -80,7 +80,7 @@ public class OutlineShape {
* it will do nothing.
* @param outline an Outline object
*/
- public void addOutline(Outline<PointTex> outline){
+ public void addOutline(Outline<Vertex> outline){
if(outline.isEmpty()){
return;
}
@@ -94,7 +94,7 @@ public class OutlineShape {
* shape
* @param point
*/
- public final void addVertex(PointTex point){
+ public final void addVertex(Vertex point){
getLastOutline().addVertex(point);
}
@@ -123,7 +123,7 @@ public class OutlineShape {
* of outlines that define the shape
* @return the last outline
*/
- public final Outline<PointTex> getLastOutline(){
+ public final Outline<Vertex> getLastOutline(){
return outlines.get(outlines.size()-1);
}
/** Make sure that the outlines represent
@@ -138,19 +138,19 @@ public class OutlineShape {
}
private void transformOutlinesQuadratic(){
- ArrayList<Outline<PointTex>> newOutlines = new ArrayList<Outline<PointTex>>(3);
+ ArrayList<Outline<Vertex>> newOutlines = new ArrayList<Outline<Vertex>>(3);
/**loop over the outlines and make sure no
* adj off-curve vertices
*/
- for(Outline<PointTex> outline:outlines){
- Outline<PointTex> newOutline = new Outline<PointTex>();
+ for(Outline<Vertex> outline:outlines){
+ Outline<Vertex> newOutline = new Outline<Vertex>();
- ArrayList<PointTex> vertices = outline.getVertices();
+ ArrayList<Vertex> vertices = outline.getVertices();
int size =vertices.size()-1;
for(int i=0;i<size;i++){
- PointTex currentVertex = vertices.get(i);
- PointTex nextVertex = vertices.get((i+1)%size);
+ Vertex currentVertex = vertices.get(i);
+ Vertex nextVertex = vertices.get((i+1)%size);
if(!(currentVertex.isOnCurve()) && !(nextVertex.isOnCurve())) {
newOutline.addVertex(currentVertex);
@@ -168,9 +168,9 @@ public class OutlineShape {
private void generateVertexIds(){
int maxVertexId = 0;
- for(Outline<PointTex> outline:outlines){
- ArrayList<PointTex> vertices = outline.getVertices();
- for(PointTex vert:vertices){
+ for(Outline<Vertex> outline:outlines){
+ ArrayList<Vertex> vertices = outline.getVertices();
+ for(Vertex vert:vertices){
vert.setId(maxVertexId);
maxVertexId++;
}
@@ -180,9 +180,9 @@ public class OutlineShape {
/** @return the list of vertices associated with the
* {@code Outline} list of this object
*/
- public ArrayList<PointTex> getVertices(){
- ArrayList<PointTex> vertices = new ArrayList<PointTex>();
- for(Outline<PointTex> polyline:outlines){
+ public ArrayList<Vertex> getVertices(){
+ ArrayList<Vertex> vertices = new ArrayList<Vertex>();
+ for(Outline<Vertex> polyline:outlines){
vertices.addAll(polyline.getVertices());
}
return vertices;
@@ -193,17 +193,17 @@ public class OutlineShape {
* parts of this graph
* @return arraylist of lines
*/
- public ArrayList<Line<PointTex>> getLines(){
- ArrayList<Line<PointTex>> lines = new ArrayList<Line<PointTex>>();
- for(Outline<PointTex> outline:outlines){
- ArrayList<PointTex> outVertices = outline.getVertices();
+ public ArrayList<Line<Vertex>> getLines(){
+ ArrayList<Line<Vertex>> lines = new ArrayList<Line<Vertex>>();
+ for(Outline<Vertex> outline:outlines){
+ ArrayList<Vertex> outVertices = outline.getVertices();
int size = outVertices.size();
for(int i=0; i < size; i++) {
- PointTex currentVertex = outVertices.get(i);
+ Vertex currentVertex = outVertices.get(i);
if(currentVertex.isOnCurve()) {
- PointTex v2 = outVertices.get((i+1)%size);
+ Vertex v2 = outVertices.get((i+1)%size);
if(v2.isOnCurve()){
- lines.add(new Line<PointTex>(currentVertex, v2));
+ lines.add(new Line<Vertex>(currentVertex, v2));
}
}
}
@@ -214,21 +214,21 @@ public class OutlineShape {
/** Triangluate the graph object
* @param sharpness sharpness of the curved regions default = 0.5
*/
- public ArrayList<Triangle<PointTex>> triangulate(float sharpness){
+ public ArrayList<Triangle<Vertex>> triangulate(float sharpness){
if(outlines.size() == 0){
return null;
}
sortOutlines();
generateVertexIds();
- CDTriangulator2D<PointTex> triangulator2d = new CDTriangulator2D<PointTex>(sharpness);
+ CDTriangulator2D<Vertex> triangulator2d = new CDTriangulator2D<Vertex>(sharpness);
for(int index = 0; index< outlines.size();index++){
- Outline<PointTex> outline = outlines.get(index);
+ Outline<Vertex> outline = outlines.get(index);
triangulator2d.addCurve(outline);
}
- ArrayList<Triangle<PointTex>> triangles = triangulator2d.generateTriangulation();
+ ArrayList<Triangle<Vertex>> triangles = triangulator2d.generateTriangulation();
triangulator2d.reset();
return triangles;
diff --git a/src/com/jogamp/graph/curve/Region.java b/src/com/jogamp/graph/curve/Region.java
index 44f426313..f3a87bb7f 100755
--- a/src/com/jogamp/graph/curve/Region.java
+++ b/src/com/jogamp/graph/curve/Region.java
@@ -30,7 +30,7 @@ package com.jogamp.graph.curve;
import java.util.ArrayList;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.opengl.util.PMVMatrix;
/** A Region is the OGL binding of one or more OutlineShapes
@@ -80,7 +80,7 @@ public interface Region {
*
* @see update()
*/
- public void addTriangles(ArrayList<Triangle<PointTex>> tris);
+ public void addTriangles(ArrayList<Triangle<Vertex>> tris);
/** Get the current number of vertices associated
* with this region. This number is not necessary equal to
@@ -98,7 +98,7 @@ public interface Region {
*
* @see update()
*/
- public void addVertices(ArrayList<PointTex> verts);
+ public void addVertices(ArrayList<Vertex> verts);
/** Check if this region is dirty. A region is marked dirty
* when new Vertices, Triangles, and or Lines are added after a
diff --git a/src/com/jogamp/graph/curve/tess/CDTriangulator2D.java b/src/com/jogamp/graph/curve/tess/CDTriangulator2D.java
index 936965f0c..00c97d463 100644
--- a/src/com/jogamp/graph/curve/tess/CDTriangulator2D.java
+++ b/src/com/jogamp/graph/curve/tess/CDTriangulator2D.java
@@ -31,13 +31,13 @@ package com.jogamp.graph.curve.tess;
import java.util.ArrayList;
import jogamp.graph.curve.tess.GraphOutline;
-import jogamp.graph.curve.tess.GraphPoint;
+import jogamp.graph.curve.tess.GraphVertex;
import jogamp.graph.curve.tess.Loop;
import jogamp.graph.math.VectorFloatUtil;
import com.jogamp.graph.geom.Outline;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import jogamp.opengl.Debug;
/** Constrained Delaunay Triangulation
@@ -45,7 +45,7 @@ import jogamp.opengl.Debug;
* Closed Regions with optional n holes.
*
*/
-public class CDTriangulator2D <T extends PointTex> {
+public class CDTriangulator2D <T extends Vertex> {
protected static final boolean DEBUG = Debug.debug("Triangulation");
@@ -149,13 +149,13 @@ public class CDTriangulator2D <T extends PointTex> {
@SuppressWarnings("unchecked")
private GraphOutline<T> extractBoundaryTriangles(GraphOutline<T> outline, boolean hole){
GraphOutline<T> innerOutline = new GraphOutline<T>();
- ArrayList<GraphPoint<T>> outVertices = outline.getGraphPoint();
+ ArrayList<GraphVertex<T>> outVertices = outline.getGraphPoint();
int size = outVertices.size();
for(int i=0; i < size; i++) {
- GraphPoint<T> currentVertex = outVertices.get(i);
- GraphPoint<T> gv0 = outVertices.get((i+size-1)%size);
- GraphPoint<T> gv2 = outVertices.get((i+1)%size);
- GraphPoint<T> gv1 = currentVertex;
+ GraphVertex<T> currentVertex = outVertices.get(i);
+ GraphVertex<T> gv0 = outVertices.get((i+size-1)%size);
+ GraphVertex<T> gv2 = outVertices.get((i+1)%size);
+ GraphVertex<T> gv1 = currentVertex;
if(!currentVertex.getPoint().isOnCurve()) {
T v0 = (T) gv0.getPoint().clone();
diff --git a/src/com/jogamp/graph/curve/text/HwTextRenderer.java b/src/com/jogamp/graph/curve/text/HwTextRenderer.java
index 61d8309c7..bbe62f158 100644
--- a/src/com/jogamp/graph/curve/text/HwTextRenderer.java
+++ b/src/com/jogamp/graph/curve/text/HwTextRenderer.java
@@ -48,9 +48,8 @@ import com.jogamp.common.util.ReflectionUtil;
import com.jogamp.graph.curve.Region;
import com.jogamp.graph.font.Font;
import com.jogamp.graph.font.FontFactory;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import jogamp.opengl.Debug;
import com.jogamp.opengl.util.PMVMatrix;
import com.jogamp.opengl.util.glsl.ShaderCode;
@@ -100,28 +99,28 @@ public class HwTextRenderer {
private GLContext context;
private FloatBuffer color = FloatBuffer.allocate(3);
private HashMap<String, GlyphString> strings = new HashMap<String, GlyphString>();
- private final Point.Factory<? extends PointTex> pointFactory;
+ private final Vertex.Factory<? extends Vertex> pointFactory;
int win_width = 0;
int win_height = 0;
/** Create a Hardware accelerated Text Renderer
* @param context OpenGL rendering context
- * @param factory optional Point.Factory for PointTex construction. Default is Vertex.Factory.
+ * @param factory optional Point.Factory for Vertex construction. Default is Vertex.Factory.
*/
- public HwTextRenderer(GLContext context, Point.Factory<? extends PointTex> factory, int type) {
- this.pointFactory = (null != factory) ? factory : Vertex.factory();
+ public HwTextRenderer(GLContext context, Vertex.Factory<? extends Vertex> factory, int type) {
+ this.pointFactory = (null != factory) ? factory : SVertex.factory();
this.context = context;
this.regionType = type;
init(context, 0.5f);
}
- public Font createFont(Point.Factory<? extends PointTex> factory, String name, int size) {
+ public Font createFont(Vertex.Factory<? extends Vertex> factory, String name, int size) {
return fontFactory.createFont(factory, name, size);
}
- public Font createFont(Point.Factory<? extends PointTex> factory,
+ public Font createFont(Vertex.Factory<? extends Vertex> factory,
String[] families,
String style,
String variant,
diff --git a/src/com/jogamp/graph/font/FontFactory.java b/src/com/jogamp/graph/font/FontFactory.java
index d10e1c38b..a96dac1b8 100644
--- a/src/com/jogamp/graph/font/FontFactory.java
+++ b/src/com/jogamp/graph/font/FontFactory.java
@@ -27,19 +27,18 @@
*/
package com.jogamp.graph.font;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
public interface FontFactory {
- Font createFont(Point.Factory<? extends PointTex> factory,
+ Font createFont(Vertex.Factory<? extends Vertex> factory,
String[] families,
String style,
String variant,
String weight,
String size);
- Font createFont(Point.Factory<? extends PointTex> factory,
+ Font createFont(Vertex.Factory<? extends Vertex> factory,
String name,
int size);
} \ No newline at end of file
diff --git a/src/com/jogamp/graph/geom/Line.java b/src/com/jogamp/graph/geom/Line.java
index dbdee569c..92d1b007f 100644
--- a/src/com/jogamp/graph/geom/Line.java
+++ b/src/com/jogamp/graph/geom/Line.java
@@ -27,7 +27,7 @@
*/
package com.jogamp.graph.geom;
-public class Line <T extends Point> {
+public class Line <T extends Vertex> {
private T v1;
private T v2;
diff --git a/src/com/jogamp/graph/geom/Outline.java b/src/com/jogamp/graph/geom/Outline.java
index b8b824a1c..d9bde4177 100644
--- a/src/com/jogamp/graph/geom/Outline.java
+++ b/src/com/jogamp/graph/geom/Outline.java
@@ -29,7 +29,7 @@ package com.jogamp.graph.geom;
import java.util.ArrayList;
-import com.jogamp.graph.geom.Point;
+import com.jogamp.graph.geom.Vertex;
import jogamp.graph.math.VectorFloatUtil;
@@ -45,7 +45,7 @@ import jogamp.graph.math.VectorFloatUtil;
* @see OutlineShape, Region
*
*/
-public class Outline<T extends Point> implements Comparable<Outline<T>>{
+public class Outline<T extends Vertex> implements Comparable<Outline<T>>{
private ArrayList<T> vertices = new ArrayList<T>(3);
private boolean closed = false;
@@ -68,20 +68,20 @@ public class Outline<T extends Point> implements Comparable<Outline<T>>{
box.resize(vertex.getX(), vertex.getY(), vertex.getZ());
}
- public final void addVertex(Point.Factory<? extends Point> factory, float x, float y, boolean onCurve) {
+ public final void addVertex(Vertex.Factory<? extends Vertex> factory, float x, float y, boolean onCurve) {
addVertex(factory, x, y, 0f, onCurve);
}
@SuppressWarnings("unchecked")
- public final void addVertex(Point.Factory<? extends Point> factory, float x, float y, float z, boolean onCurve) {
- Point v = factory.create(x, y, z);
+ public final void addVertex(Vertex.Factory<? extends Vertex> factory, float x, float y, float z, boolean onCurve) {
+ Vertex v = factory.create(x, y, z);
v.setOnCurve(onCurve);
addVertex((T)v);
}
@SuppressWarnings("unchecked")
- public final void addVertex(Point.Factory<? extends Point> factory, float[] coordsBuffer, int offset, int length, boolean onCurve) {
- Point v = factory.create(coordsBuffer, offset, length);
+ public final void addVertex(Vertex.Factory<? extends Vertex> factory, float[] coordsBuffer, int offset, int length, boolean onCurve) {
+ Vertex v = factory.create(coordsBuffer, offset, length);
v.setOnCurve(onCurve);
addVertex((T)v);
}
diff --git a/src/com/jogamp/graph/geom/PointTex.java b/src/com/jogamp/graph/geom/PointTex.java
deleted file mode 100644
index 59f7ee0c6..000000000
--- a/src/com/jogamp/graph/geom/PointTex.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright 2011 JogAmp Community. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are
- * permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this list of
- * conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice, this list
- * of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those of the
- * authors and should not be interpreted as representing official policies, either expressed
- * or implied, of JogAmp Community.
- */
-package com.jogamp.graph.geom;
-
-/**
- * A Point with texture coordinates
- */
-public interface PointTex extends Point {
- float[] getTexCoord();
-
- void setTexCoord(float s, float t);
-}
diff --git a/src/com/jogamp/graph/geom/Triangle.java b/src/com/jogamp/graph/geom/Triangle.java
index 341a4483b..7b11ba23d 100644
--- a/src/com/jogamp/graph/geom/Triangle.java
+++ b/src/com/jogamp/graph/geom/Triangle.java
@@ -27,7 +27,7 @@
*/
package com.jogamp.graph.geom;
-public class Triangle<T extends PointTex> {
+public class Triangle<T extends Vertex> {
private int id = Integer.MAX_VALUE;
final private T[] vertices;
private boolean[] boundaryEdges = new boolean[3];
diff --git a/src/com/jogamp/graph/geom/Point.java b/src/com/jogamp/graph/geom/Vertex.java
index 5f85801f8..9d19c89f6 100644
--- a/src/com/jogamp/graph/geom/Point.java
+++ b/src/com/jogamp/graph/geom/Vertex.java
@@ -28,11 +28,11 @@
package com.jogamp.graph.geom;
/**
- * A point with custom memory layout using custom factory.
+ * A Vertex with custom memory layout using custom factory.
*/
-public interface Point extends Comparable<Point>, Cloneable {
+public interface Vertex extends Comparable<Vertex>, Cloneable {
- public static interface Factory <T extends Point> {
+ public static interface Factory <T extends Vertex> {
T create();
T create(float x, float y);
@@ -72,7 +72,11 @@ public interface Point extends Comparable<Point>, Cloneable {
void setId(int id);
- int compareTo(Point p);
+ int compareTo(Vertex p);
- Point clone();
+ float[] getTexCoord();
+
+ void setTexCoord(float s, float t);
+
+ Vertex clone();
}
diff --git a/src/com/jogamp/graph/geom/opengl/Vertex.java b/src/com/jogamp/graph/geom/opengl/SVertex.java
index 77d18d7f5..86b95854d 100644
--- a/src/com/jogamp/graph/geom/opengl/Vertex.java
+++ b/src/com/jogamp/graph/geom/opengl/SVertex.java
@@ -29,10 +29,9 @@ package com.jogamp.graph.geom.opengl;
import jogamp.graph.math.VectorFloatUtil;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
-public class Vertex implements PointTex {
+public class SVertex implements Vertex {
private int id = Integer.MAX_VALUE;
protected float[] coord = new float[3];
protected boolean onCurve = true;
@@ -42,25 +41,25 @@ public class Vertex implements PointTex {
public static Factory factory() { return factory; }
- public static class Factory implements Point.Factory<Vertex> {
+ public static class Factory implements Vertex.Factory<SVertex> {
@Override
- public Vertex create() {
- return new Vertex();
+ public SVertex create() {
+ return new SVertex();
}
@Override
- public Vertex create(float x, float y) {
- return new Vertex(x, y);
+ public SVertex create(float x, float y) {
+ return new SVertex(x, y);
}
@Override
- public Vertex create(float x, float y, float z) {
- return new Vertex(x, y, z);
+ public SVertex create(float x, float y, float z) {
+ return new SVertex(x, y, z);
}
@Override
- public Vertex create(float[] coordsBuffer, int offset, int length) {
- return new Vertex(coordsBuffer, offset, length);
+ public SVertex create(float[] coordsBuffer, int offset, int length) {
+ return new SVertex(coordsBuffer, offset, length);
}
/* @Override
@@ -69,16 +68,16 @@ public class Vertex implements PointTex {
} */
}
- public Vertex() {
+ public SVertex() {
}
- public Vertex(float x, float y) {
+ public SVertex(float x, float y) {
setCoord(x, y);
}
- public Vertex(float x, float y, float z) {
+ public SVertex(float x, float y, float z) {
setCoord(x, y, z);
}
- public Vertex(float[] coordsBuffer, int offset, int length) {
+ public SVertex(float[] coordsBuffer, int offset, int length) {
setCoord(coordsBuffer, offset, length);
}
@@ -151,7 +150,7 @@ public class Vertex implements PointTex {
this.id = id;
}
- public int compareTo(Point p) {
+ public int compareTo(Vertex p) {
if(VectorFloatUtil.checkEquality(coord, p.getCoord())) {
return 0;
}
@@ -167,8 +166,8 @@ public class Vertex implements PointTex {
this.texCoord[1] = t;
}
- public Vertex clone(){
- Vertex v = new Vertex(this.coord, 0, 3);
+ public SVertex clone(){
+ SVertex v = new SVertex(this.coord, 0, 3);
v.setOnCurve(this.onCurve);
return v;
}
diff --git a/src/demo/GPURegionNewtDemo01.java b/src/demo/GPURegionNewtDemo01.java
index c728e74e5..76e4bb97b 100755
--- a/src/demo/GPURegionNewtDemo01.java
+++ b/src/demo/GPURegionNewtDemo01.java
@@ -37,7 +37,7 @@ import javax.media.opengl.GLProfile;
import com.jogamp.graph.curve.HwRegionRenderer;
import com.jogamp.graph.curve.OutlineShape;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import com.jogamp.newt.event.KeyEvent;
import com.jogamp.newt.event.KeyListener;
import com.jogamp.newt.event.WindowAdapter;
@@ -134,7 +134,7 @@ class RegionNewtWindow {
private void createTestOutline(){
float offset = 0;
- outlineShape = new OutlineShape(Vertex.factory());
+ outlineShape = new OutlineShape(SVertex.factory());
outlineShape.addVertex(0.0f,-10.0f, true);
outlineShape.addVertex(15.0f,-10.0f, true);
outlineShape.addVertex(10.0f,5.0f, false);
diff --git a/src/demo/GPURegionNewtDemo02.java b/src/demo/GPURegionNewtDemo02.java
index 414b7942d..a4a8e91e6 100755
--- a/src/demo/GPURegionNewtDemo02.java
+++ b/src/demo/GPURegionNewtDemo02.java
@@ -37,7 +37,7 @@ import javax.media.opengl.GLProfile;
import com.jogamp.graph.curve.HwRegionRenderer;
import com.jogamp.graph.curve.OutlineShape;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import com.jogamp.newt.event.KeyEvent;
import com.jogamp.newt.event.KeyListener;
import com.jogamp.newt.event.WindowAdapter;
@@ -131,7 +131,7 @@ class RegionsNewtWindow {
private void createTestOutline(){
float offset = 0;
- outlineShapes[0] = new OutlineShape(Vertex.factory());
+ outlineShapes[0] = new OutlineShape(SVertex.factory());
outlineShapes[0].addVertex(0.0f,-10.0f,true);
outlineShapes[0].addVertex(15.0f,-10.0f, true);
outlineShapes[0].addVertex(10.0f,5.0f, false);
@@ -148,7 +148,7 @@ class RegionsNewtWindow {
outlineShapes[0].closeLastOutline();
/** Same shape as above but without any off-curve vertices */
- outlineShapes[1] = new OutlineShape(Vertex.factory());
+ outlineShapes[1] = new OutlineShape(SVertex.factory());
offset = 30;
outlineShapes[1].addVertex(offset+0.0f,-10.0f, true);
outlineShapes[1].addVertex(offset+17.0f,-10.0f, true);
diff --git a/src/demo/GPUTextNewtDemo01.java b/src/demo/GPUTextNewtDemo01.java
index fcd2134ae..0051df72e 100644
--- a/src/demo/GPUTextNewtDemo01.java
+++ b/src/demo/GPUTextNewtDemo01.java
@@ -37,8 +37,8 @@ import javax.media.opengl.GLProfile;
import com.jogamp.graph.curve.Region;
import com.jogamp.graph.curve.text.HwTextRenderer;
import com.jogamp.graph.font.Font;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import com.jogamp.newt.event.KeyEvent;
import com.jogamp.newt.event.KeyListener;
import com.jogamp.newt.event.WindowAdapter;
@@ -56,7 +56,7 @@ public class GPUTextNewtDemo01 {
}
class TextNewtWindow1 {
- Point.Factory<Vertex> pointFactory = Vertex.factory();
+ Vertex.Factory<SVertex> pointFactory = SVertex.factory();
TextGLListener textGLListener = null;
diff --git a/src/demo/GPUTextNewtDemo02.java b/src/demo/GPUTextNewtDemo02.java
index b0c7115ec..b048a3a68 100644
--- a/src/demo/GPUTextNewtDemo02.java
+++ b/src/demo/GPUTextNewtDemo02.java
@@ -38,8 +38,8 @@ import javax.media.opengl.GLProfile;
import com.jogamp.graph.curve.Region;
import com.jogamp.graph.curve.text.HwTextRenderer;
import com.jogamp.graph.font.Font;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import com.jogamp.newt.event.KeyEvent;
import com.jogamp.newt.event.KeyListener;
import com.jogamp.newt.event.WindowAdapter;
@@ -57,7 +57,7 @@ public class GPUTextNewtDemo02 {
}
class TextNewtWindow {
- Point.Factory<Vertex> pointFactory = Vertex.factory();
+ Vertex.Factory<SVertex> pointFactory = SVertex.factory();
TextGLListener textGLListener = null;
public TextNewtWindow(){
diff --git a/src/jogamp/graph/curve/opengl/VBORegion2PGL3.java b/src/jogamp/graph/curve/opengl/VBORegion2PGL3.java
index c5182059e..4f2714494 100644
--- a/src/jogamp/graph/curve/opengl/VBORegion2PGL3.java
+++ b/src/jogamp/graph/curve/opengl/VBORegion2PGL3.java
@@ -41,7 +41,7 @@ import com.jogamp.common.nio.Buffers;
import com.jogamp.graph.geom.AABBox;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.curve.Region;
import com.jogamp.opengl.util.PMVMatrix;
@@ -53,8 +53,8 @@ public class VBORegion2PGL3 implements Region{
private IntBuffer t_vboIds;
- private ArrayList<Triangle<PointTex>> triangles = new ArrayList<Triangle<PointTex>>();
- private ArrayList<PointTex> vertices = new ArrayList<PointTex>();
+ private ArrayList<Triangle<Vertex>> triangles = new ArrayList<Triangle<Vertex>>();
+ private ArrayList<Vertex> vertices = new ArrayList<Vertex>();
private GLContext context;
private int numBuffers = 3;
@@ -85,7 +85,7 @@ public class VBORegion2PGL3 implements Region{
GL3 gl = context.getGL().getGL3();
ShortBuffer indicies = Buffers.newDirectShortBuffer(triangles.size() * 3);
- for(Triangle<PointTex> t:triangles){
+ for(Triangle<Vertex> t:triangles){
if(t.getVertices()[0].getId() == Integer.MAX_VALUE){
t.getVertices()[0].setId(numVertices++);
t.getVertices()[1].setId(numVertices++);
@@ -100,9 +100,9 @@ public class VBORegion2PGL3 implements Region{
indicies.put((short) t.getVertices()[2].getId());
}
else{
- PointTex v1 = t.getVertices()[0];
- PointTex v2 = t.getVertices()[1];
- PointTex v3 = t.getVertices()[2];
+ Vertex v1 = t.getVertices()[0];
+ Vertex v2 = t.getVertices()[1];
+ Vertex v3 = t.getVertices()[2];
indicies.put((short) v1.getId());
indicies.put((short) v2.getId());
@@ -112,7 +112,7 @@ public class VBORegion2PGL3 implements Region{
indicies.rewind();
FloatBuffer verticesBuffer = Buffers.newDirectFloatBuffer(vertices.size() * 3);
- for(PointTex v:vertices){
+ for(Vertex v:vertices){
verticesBuffer.put(v.getX());
if(flipped){
verticesBuffer.put(-1*v.getY());
@@ -127,7 +127,7 @@ public class VBORegion2PGL3 implements Region{
verticesBuffer.rewind();
FloatBuffer texCoordBuffer = Buffers.newDirectFloatBuffer(vertices.size() * 2);
- for(PointTex v:vertices){
+ for(Vertex v:vertices){
float[] tex = v.getTexCoord();
texCoordBuffer.put(tex[0]);
texCoordBuffer.put(tex[1]);
@@ -327,7 +327,7 @@ public class VBORegion2PGL3 implements Region{
gl.glBindBuffer(GL3.GL_ARRAY_BUFFER, 0);
}
- public void addTriangles(ArrayList<Triangle<PointTex>> tris) {
+ public void addTriangles(ArrayList<Triangle<Vertex>> tris) {
triangles.addAll(tris);
dirty = true;
}
@@ -336,7 +336,7 @@ public class VBORegion2PGL3 implements Region{
return numVertices;
}
- public void addVertices(ArrayList<PointTex> verts){
+ public void addVertices(ArrayList<Vertex> verts){
vertices.addAll(verts);
numVertices = vertices.size();
dirty = true;
diff --git a/src/jogamp/graph/curve/opengl/VBORegionSPES2.java b/src/jogamp/graph/curve/opengl/VBORegionSPES2.java
index 5ef23d4e0..155d35f0b 100644
--- a/src/jogamp/graph/curve/opengl/VBORegionSPES2.java
+++ b/src/jogamp/graph/curve/opengl/VBORegionSPES2.java
@@ -37,7 +37,7 @@ import javax.media.opengl.GLContext;
import com.jogamp.common.nio.Buffers;
import com.jogamp.graph.curve.Region;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.geom.Triangle;
import com.jogamp.opengl.util.PMVMatrix;
@@ -45,8 +45,8 @@ public class VBORegionSPES2 implements Region{
private int numVertices = 0;
private IntBuffer vboIds;
- private ArrayList<Triangle<PointTex>> triangles = new ArrayList<Triangle<PointTex>>();
- private ArrayList<PointTex> vertices = new ArrayList<PointTex>();
+ private ArrayList<Triangle<Vertex>> triangles = new ArrayList<Triangle<Vertex>>();
+ private ArrayList<Vertex> vertices = new ArrayList<Vertex>();
private GLContext context;
@@ -63,8 +63,8 @@ public class VBORegionSPES2 implements Region{
GL2ES2 gl = context.getGL().getGL2ES2();
ShortBuffer indicies = Buffers.newDirectShortBuffer(triangles.size() * 3);
- for(Triangle<PointTex> t:triangles){
- final PointTex[] t_vertices = t.getVertices();
+ for(Triangle<Vertex> t:triangles){
+ final Vertex[] t_vertices = t.getVertices();
if(t_vertices[0].getId() == Integer.MAX_VALUE){
t_vertices[0].setId(numVertices++);
@@ -80,9 +80,9 @@ public class VBORegionSPES2 implements Region{
indicies.put((short) t.getVertices()[2].getId());
}
else{
- PointTex v1 = t_vertices[0];
- PointTex v2 = t_vertices[1];
- PointTex v3 = t_vertices[2];
+ Vertex v1 = t_vertices[0];
+ Vertex v2 = t_vertices[1];
+ Vertex v3 = t_vertices[2];
indicies.put((short) v1.getId());
indicies.put((short) v2.getId());
@@ -92,7 +92,7 @@ public class VBORegionSPES2 implements Region{
indicies.rewind();
FloatBuffer verticesBuffer = Buffers.newDirectFloatBuffer(vertices.size() * 3);
- for(PointTex v:vertices){
+ for(Vertex v:vertices){
verticesBuffer.put(v.getX());
if(flipped){
verticesBuffer.put(-1*v.getY());
@@ -105,7 +105,7 @@ public class VBORegionSPES2 implements Region{
verticesBuffer.rewind();
FloatBuffer texCoordBuffer = Buffers.newDirectFloatBuffer(vertices.size() * 2);
- for(PointTex v:vertices){
+ for(Vertex v:vertices){
float[] tex = v.getTexCoord();
texCoordBuffer.put(tex[0]);
texCoordBuffer.put(tex[1]);
@@ -151,7 +151,7 @@ public class VBORegionSPES2 implements Region{
render();
}
- public void addTriangles(ArrayList<Triangle<PointTex>> tris) {
+ public void addTriangles(ArrayList<Triangle<Vertex>> tris) {
triangles.addAll(tris);
dirty = true;
}
@@ -160,7 +160,7 @@ public class VBORegionSPES2 implements Region{
return numVertices;
}
- public void addVertices(ArrayList<PointTex> verts){
+ public void addVertices(ArrayList<Vertex> verts){
vertices.addAll(verts);
numVertices = vertices.size();
dirty = true;
diff --git a/src/jogamp/graph/curve/tess/GraphOutline.java b/src/jogamp/graph/curve/tess/GraphOutline.java
index cf73ab379..bb262ce5b 100644
--- a/src/jogamp/graph/curve/tess/GraphOutline.java
+++ b/src/jogamp/graph/curve/tess/GraphOutline.java
@@ -30,11 +30,11 @@ package jogamp.graph.curve.tess;
import java.util.ArrayList;
import com.jogamp.graph.geom.Outline;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
-public class GraphOutline <T extends PointTex> {
+public class GraphOutline <T extends Vertex> {
final private Outline<T> outline;
- final private ArrayList<GraphPoint<T>> controlpoints = new ArrayList<GraphPoint<T>>(3);
+ final private ArrayList<GraphVertex<T>> controlpoints = new ArrayList<GraphVertex<T>>(3);
public GraphOutline(){
this.outline = new Outline<T>();
@@ -48,7 +48,7 @@ public class GraphOutline <T extends PointTex> {
this.outline = ol;
ArrayList<T> vertices = this.outline.getVertices();
for(T v:vertices){
- this.controlpoints.add(new GraphPoint<T>(v));
+ this.controlpoints.add(new GraphVertex<T>(v));
}
}
@@ -61,7 +61,7 @@ public class GraphOutline <T extends PointTex> {
}*/
- public ArrayList<GraphPoint<T>> getGraphPoint() {
+ public ArrayList<GraphVertex<T>> getGraphPoint() {
return controlpoints;
}
@@ -73,7 +73,7 @@ public class GraphOutline <T extends PointTex> {
this.controlpoints = controlpoints;
}*/
- public void addVertex(GraphPoint<T> v) {
+ public void addVertex(GraphVertex<T> v) {
controlpoints.add(v);
outline.addVertex(v.getPoint());
}
diff --git a/src/jogamp/graph/curve/tess/GraphPoint.java b/src/jogamp/graph/curve/tess/GraphVertex.java
index 87d0b9929..a474a002e 100644
--- a/src/jogamp/graph/curve/tess/GraphPoint.java
+++ b/src/jogamp/graph/curve/tess/GraphVertex.java
@@ -29,14 +29,14 @@ package jogamp.graph.curve.tess;
import java.util.ArrayList;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
-public class GraphPoint <T extends PointTex> {
+public class GraphVertex <T extends Vertex> {
private T point;
private ArrayList<HEdge<T>> edges = null;
private boolean boundaryContained = false;
- public GraphPoint(T point) {
+ public GraphVertex(T point) {
this.point = point;
}
@@ -85,7 +85,7 @@ public class GraphPoint <T extends PointTex> {
edges = null;
}
}
- public HEdge<T> findNextEdge(GraphPoint<T> nextVert){
+ public HEdge<T> findNextEdge(GraphVertex<T> nextVert){
for(HEdge<T> e:edges){
if(e.getNext().getGraphPoint() == nextVert){
return e;
@@ -101,7 +101,7 @@ public class GraphPoint <T extends PointTex> {
}
return null;
}
- public HEdge<T> findPrevEdge(GraphPoint<T> prevVert){
+ public HEdge<T> findPrevEdge(GraphVertex<T> prevVert){
for(HEdge<T> e:edges){
if(e.getPrev().getGraphPoint() == prevVert){
return e;
diff --git a/src/jogamp/graph/curve/tess/HEdge.java b/src/jogamp/graph/curve/tess/HEdge.java
index acb32cb4d..5635e2c31 100644
--- a/src/jogamp/graph/curve/tess/HEdge.java
+++ b/src/jogamp/graph/curve/tess/HEdge.java
@@ -27,28 +27,28 @@
*/
package jogamp.graph.curve.tess;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.geom.Triangle;
-public class HEdge <T extends PointTex> {
+public class HEdge <T extends Vertex> {
public static int BOUNDARY = 3;
public static int INNER = 1;
public static int HOLE = 2;
- private GraphPoint<T> vert;
+ private GraphVertex<T> vert;
private HEdge<T> prev = null;
private HEdge<T> next = null;
private HEdge<T> sibling = null;
private int type = BOUNDARY;
private Triangle<T> triangle = null;
- public HEdge(GraphPoint<T> vert, int type) {
+ public HEdge(GraphVertex<T> vert, int type) {
this.vert = vert;
this.type = type;
}
- public HEdge(GraphPoint<T> vert, HEdge<T> prev, HEdge<T> next, HEdge<T> sibling, int type) {
+ public HEdge(GraphVertex<T> vert, HEdge<T> prev, HEdge<T> next, HEdge<T> sibling, int type) {
this.vert = vert;
this.prev = prev;
this.next = next;
@@ -56,7 +56,7 @@ public class HEdge <T extends PointTex> {
this.type = type;
}
- public HEdge(GraphPoint<T> vert, HEdge<T> prev, HEdge<T> next, HEdge<T> sibling, int type,
+ public HEdge(GraphVertex<T> vert, HEdge<T> prev, HEdge<T> next, HEdge<T> sibling, int type,
Triangle<T> triangle) {
this.vert = vert;
this.prev = prev;
@@ -66,11 +66,11 @@ public class HEdge <T extends PointTex> {
this.triangle = triangle;
}
- public GraphPoint<T> getGraphPoint() {
+ public GraphVertex<T> getGraphPoint() {
return vert;
}
- public void setVert(GraphPoint<T> vert) {
+ public void setVert(GraphVertex<T> vert) {
this.vert = vert;
}
@@ -114,12 +114,12 @@ public class HEdge <T extends PointTex> {
this.triangle = triangle;
}
- public static <T extends PointTex> void connect(HEdge<T> first, HEdge<T> next){
+ public static <T extends Vertex> void connect(HEdge<T> first, HEdge<T> next){
first.setNext(next);
next.setPrev(first);
}
- public static <T extends PointTex> void makeSiblings(HEdge<T> first, HEdge<T> second){
+ public static <T extends Vertex> void makeSiblings(HEdge<T> first, HEdge<T> second){
first.setSibling(second);
second.setSibling(first);
}
diff --git a/src/jogamp/graph/curve/tess/Loop.java b/src/jogamp/graph/curve/tess/Loop.java
index caebd64e4..e4553968b 100644
--- a/src/jogamp/graph/curve/tess/Loop.java
+++ b/src/jogamp/graph/curve/tess/Loop.java
@@ -32,10 +32,10 @@ import java.util.ArrayList;
import jogamp.graph.math.VectorFloatUtil;
import com.jogamp.graph.geom.AABBox;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.geom.Triangle;
-public class Loop <T extends PointTex> {
+public class Loop <T extends Vertex> {
private HEdge<T> root = null;
private AABBox box = new AABBox();
private GraphOutline<T> initialOutline = null;
@@ -66,9 +66,9 @@ public class Loop <T extends PointTex> {
return null;
}
- GraphPoint<T> v1 = root.getGraphPoint();
- GraphPoint<T> v2 = next1.getGraphPoint();
- GraphPoint<T> v3 = next2.getGraphPoint();
+ GraphVertex<T> v1 = root.getGraphPoint();
+ GraphVertex<T> v2 = next1.getGraphPoint();
+ GraphVertex<T> v3 = next2.getGraphPoint();
HEdge<T> v3Edge = new HEdge<T>(v3, HEdge.INNER);
@@ -98,7 +98,7 @@ public class Loop <T extends PointTex> {
* @param direction requested winding of edges (CCW or CW)
*/
private HEdge<T> initFromPolyline(GraphOutline<T> outline, int direction){
- ArrayList<GraphPoint<T>> vertices = outline.getGraphPoint();
+ ArrayList<GraphVertex<T>> vertices = outline.getGraphPoint();
if(vertices.size()<3) {
throw new IllegalArgumentException("outline's vertices < 3: " + vertices.size());
@@ -120,7 +120,7 @@ public class Loop <T extends PointTex> {
}
while(index != max){
- GraphPoint<T> v1 = vertices.get(index);
+ GraphVertex<T> v1 = vertices.get(index);
box.resize(v1.getX(), v1.getY(), v1.getZ());
HEdge<T> edge = new HEdge<T>(v1, edgeType);
@@ -162,7 +162,7 @@ public class Loop <T extends PointTex> {
/**needed to generate vertex references.*/
initFromPolyline(polyline, VectorFloatUtil.CW);
- GraphPoint<T> v3 = locateClosestVertex(polyline);
+ GraphVertex<T> v3 = locateClosestVertex(polyline);
HEdge<T> v3Edge = v3.findBoundEdge();
HEdge<T> v3EdgeP = v3Edge.getPrev();
HEdge<T> crossEdge = new HEdge<T>(root.getGraphPoint(), HEdge.INNER);
@@ -186,22 +186,22 @@ public class Loop <T extends PointTex> {
* to search for closestvertices
* @return the vertex that is closest to the newly set root Hedge.
*/
- private GraphPoint<T> locateClosestVertex(GraphOutline<T> polyline) {
+ private GraphVertex<T> locateClosestVertex(GraphOutline<T> polyline) {
HEdge<T> closestE = null;
- GraphPoint<T> closestV = null;
+ GraphVertex<T> closestV = null;
float minDistance = Float.MAX_VALUE;
boolean inValid = false;
- ArrayList<GraphPoint<T>> initVertices = initialOutline.getGraphPoint();
- ArrayList<GraphPoint<T>> vertices = polyline.getGraphPoint();
+ ArrayList<GraphVertex<T>> initVertices = initialOutline.getGraphPoint();
+ ArrayList<GraphVertex<T>> vertices = polyline.getGraphPoint();
for(int i=0; i< initVertices.size()-1; i++){
- GraphPoint<T> v = initVertices.get(i);
- GraphPoint<T> nextV = initVertices.get(i+1);
- for(GraphPoint<T> cand:vertices){
+ GraphVertex<T> v = initVertices.get(i);
+ GraphVertex<T> nextV = initVertices.get(i+1);
+ for(GraphVertex<T> cand:vertices){
float distance = VectorFloatUtil.computeLength(v.getCoord(), cand.getCoord());
if(distance < minDistance){
- for (GraphPoint<T> vert:vertices){
+ for (GraphVertex<T> vert:vertices){
if(vert == v || vert == nextV || vert == cand)
continue;
inValid = VectorFloatUtil.inCircle(v.getPoint(), nextV.getPoint(),
diff --git a/src/jogamp/graph/curve/text/GlyphShape.java b/src/jogamp/graph/curve/text/GlyphShape.java
index 8e16de1a4..78ae7396c 100644
--- a/src/jogamp/graph/curve/text/GlyphShape.java
+++ b/src/jogamp/graph/curve/text/GlyphShape.java
@@ -32,8 +32,7 @@ import java.util.ArrayList;
import jogamp.graph.geom.plane.PathIterator;
import com.jogamp.graph.geom.Line;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.geom.Triangle;
import com.jogamp.graph.curve.OutlineShape;
@@ -48,7 +47,7 @@ public class GlyphShape {
/** Create a new Glyph shape
* based on Parametric curve control polyline
*/
- public GlyphShape(Point.Factory<? extends PointTex> factory){
+ public GlyphShape(Vertex.Factory<? extends Vertex> factory){
shape = new OutlineShape(factory);
}
@@ -57,7 +56,7 @@ public class GlyphShape {
*
* @see PathIterator
*/
- public GlyphShape(Point.Factory<? extends PointTex> factory, PathIterator pathIterator){
+ public GlyphShape(Vertex.Factory<? extends Vertex> factory, PathIterator pathIterator){
this(factory);
if(null != pathIterator){
@@ -72,9 +71,9 @@ public class GlyphShape {
shape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
}
- public final Point.Factory<? extends PointTex> pointFactory() { return shape.pointFactory(); }
+ public final Vertex.Factory<? extends Vertex> pointFactory() { return shape.pointFactory(); }
- private void addVertexToLastOutline(PointTex vertex){
+ private void addVertexToLastOutline(Vertex vertex){
shape.addVertex(vertex);
}
@@ -83,40 +82,40 @@ public class GlyphShape {
if(!shape.getLastOutline().isEmpty()){
shape.addEmptyOutline();
}
- PointTex vert = pointFactory().create(coords[0],coords[1]);
+ Vertex vert = pointFactory().create(coords[0],coords[1]);
vert.setOnCurve(true);
addVertexToLastOutline(vert);
numVertices++;
}
else if(segmentType == PathIterator.SEG_LINETO){
- PointTex vert1 = pointFactory().create(coords[0],coords[1]);
+ Vertex vert1 = pointFactory().create(coords[0],coords[1]);
vert1.setOnCurve(true);
addVertexToLastOutline(vert1);
numVertices++;
}
else if(segmentType == PathIterator.SEG_QUADTO){
- PointTex vert1 = pointFactory().create(coords[0],coords[1]);
+ Vertex vert1 = pointFactory().create(coords[0],coords[1]);
vert1.setOnCurve(false);
addVertexToLastOutline(vert1);
- PointTex vert2 = pointFactory().create(coords[2],coords[3]);
+ Vertex vert2 = pointFactory().create(coords[2],coords[3]);
vert2.setOnCurve(true);
addVertexToLastOutline(vert2);
numVertices+=2;
}
else if(segmentType == PathIterator.SEG_CUBICTO){
- PointTex vert1 = pointFactory().create(coords[0],coords[1]);
+ Vertex vert1 = pointFactory().create(coords[0],coords[1]);
vert1.setOnCurve(false);
addVertexToLastOutline(vert1);
- PointTex vert2 = pointFactory().create(coords[2],coords[3]);
+ Vertex vert2 = pointFactory().create(coords[2],coords[3]);
vert2.setOnCurve(false);
addVertexToLastOutline(vert2);
- PointTex vert3 = pointFactory().create(coords[4],coords[5]);
+ Vertex vert3 = pointFactory().create(coords[4],coords[5]);
vert3.setOnCurve(true);
addVertexToLastOutline(vert3);
@@ -150,21 +149,21 @@ public class GlyphShape {
* @param sharpness sharpness of the curved regions default = 0.5
* @return ArrayList of triangles which define this shape
*/
- public ArrayList<Triangle<PointTex>> triangulate(float sharpness){
+ public ArrayList<Triangle<Vertex>> triangulate(float sharpness){
return shape.triangulate(sharpness);
}
/** Get the list of Vertices of this Object
* @return arrayList of Vertices
*/
- public ArrayList<PointTex> getVertices(){
+ public ArrayList<Vertex> getVertices(){
return shape.getVertices();
}
/** Get the list of AA lines defined by this object
* @return arraylist of lines
*/
- public ArrayList<Line<PointTex>> getLines(){
+ public ArrayList<Line<Vertex>> getLines(){
return shape.getLines();
}
}
diff --git a/src/jogamp/graph/curve/text/GlyphString.java b/src/jogamp/graph/curve/text/GlyphString.java
index 75d7e4402..a7418c6de 100644
--- a/src/jogamp/graph/curve/text/GlyphString.java
+++ b/src/jogamp/graph/curve/text/GlyphString.java
@@ -29,10 +29,9 @@ package jogamp.graph.curve.text;
import java.util.ArrayList;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.geom.Triangle;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import javax.media.opengl.GLContext;
@@ -47,26 +46,26 @@ import com.jogamp.opengl.util.PMVMatrix;
import com.jogamp.opengl.util.glsl.ShaderState;
public class GlyphString {
- private final Point.Factory<? extends PointTex> pointFactory;
+ private final Vertex.Factory<? extends Vertex> pointFactory;
private ArrayList<GlyphShape> glyphs = new ArrayList<GlyphShape>();
private String str = "";
private String fontname = "";
private Region region;
- private Vertex origin = new Vertex();
+ private SVertex origin = new SVertex();
/** Create a new GlyphString object
* @param fontname the name of the font that this String is
* associated with
* @param str the string object
*/
- public GlyphString(Point.Factory<? extends PointTex> factory, String fontname, String str){
+ public GlyphString(Vertex.Factory<? extends Vertex> factory, String fontname, String str){
pointFactory = factory;
this.fontname = fontname;
this.str = str;
}
- public final Point.Factory<? extends PointTex> pointFactory() { return pointFactory; }
+ public final Vertex.Factory<? extends Vertex> pointFactory() { return pointFactory; }
public void addGlyphShape(GlyphShape glyph){
glyphs.add(glyph);
@@ -95,10 +94,10 @@ public class GlyphString {
}
}
- private ArrayList<Triangle<PointTex>> initializeTriangles(float sharpness){
- ArrayList<Triangle<PointTex>> triangles = new ArrayList<Triangle<PointTex>>();
+ private ArrayList<Triangle<Vertex>> initializeTriangles(float sharpness){
+ ArrayList<Triangle<Vertex>> triangles = new ArrayList<Triangle<Vertex>>();
for(GlyphShape glyph:glyphs){
- ArrayList<Triangle<PointTex>> tris = glyph.triangulate(sharpness);
+ ArrayList<Triangle<Vertex>> tris = glyph.triangulate(sharpness);
triangles.addAll(tris);
}
return triangles;
@@ -113,13 +112,13 @@ public class GlyphString {
region = RegionFactory.create(context, st, type);
region.setFlipped(true);
- ArrayList<Triangle<PointTex>> tris = initializeTriangles(shaprness);
+ ArrayList<Triangle<Vertex>> tris = initializeTriangles(shaprness);
region.addTriangles(tris);
int numVertices = region.getNumVertices();
for(GlyphShape glyph:glyphs){
- ArrayList<PointTex> gVertices = glyph.getVertices();
- for(PointTex vert:gVertices){
+ ArrayList<Vertex> gVertices = glyph.getVertices();
+ for(Vertex vert:gVertices){
vert.setId(numVertices++);
}
region.addVertices(gVertices);
@@ -152,7 +151,7 @@ public class GlyphString {
/** Get the Origion of this GlyphString
* @return
*/
- public PointTex getOrigin() {
+ public Vertex getOrigin() {
return origin;
}
diff --git a/src/jogamp/graph/font/typecast/TypecastFont.java b/src/jogamp/graph/font/typecast/TypecastFont.java
index d054635e4..b44a7d86b 100644
--- a/src/jogamp/graph/font/typecast/TypecastFont.java
+++ b/src/jogamp/graph/font/typecast/TypecastFont.java
@@ -44,13 +44,13 @@ import net.java.dev.typecast.ot.table.ID;
import com.jogamp.common.util.IntObjectHashMap;
import com.jogamp.graph.font.Font;
import com.jogamp.graph.geom.AABBox;
-import com.jogamp.graph.geom.PointTex;
-import com.jogamp.graph.geom.Point;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.Vertex;
class TypecastFont implements FontInt {
static final boolean DEBUG = false;
- final Point.Factory<? extends PointTex> pointFactory;
+ final Vertex.Factory<? extends Vertex> pointFactory;
final OTFontCollection fontset;
final OTFont font;
final int size;
@@ -60,7 +60,7 @@ class TypecastFont implements FontInt {
// final IntIntHashMap char2Code;
IntObjectHashMap char2Glyph;
- public static TypecastFont create(Point.Factory<? extends PointTex> factory, String name, int size) {
+ public static TypecastFont create(Vertex.Factory<? extends Vertex> factory, String name, int size) {
String path = JavaFontLoader.getByName(name);
OTFontCollection fontset;
try {
@@ -72,7 +72,7 @@ class TypecastFont implements FontInt {
return null;
}
- public TypecastFont(Point.Factory<? extends PointTex> factory, OTFontCollection fontset, int size) {
+ public TypecastFont(Vertex.Factory<? extends Vertex> factory, OTFontCollection fontset, int size) {
this.pointFactory = factory;
this.fontset = fontset;
this.font = fontset.getFont(0);
diff --git a/src/jogamp/graph/font/typecast/TypecastFontFactory.java b/src/jogamp/graph/font/typecast/TypecastFontFactory.java
index f66772029..6179986fe 100644
--- a/src/jogamp/graph/font/typecast/TypecastFontFactory.java
+++ b/src/jogamp/graph/font/typecast/TypecastFontFactory.java
@@ -32,15 +32,15 @@ import java.util.Map;
import com.jogamp.graph.font.Font;
import com.jogamp.graph.font.FontFactory;
-import com.jogamp.graph.geom.Point.Factory;
-import com.jogamp.graph.geom.PointTex;
+import com.jogamp.graph.geom.Vertex.Factory;
+import com.jogamp.graph.geom.Vertex;
public class TypecastFontFactory implements FontFactory {
Map<String, Font> fonts = new HashMap<String, Font>();
- public Font createFont(Factory<? extends PointTex> factory, String name, int size) {
+ public Font createFont(Factory<? extends Vertex> factory, String name, int size) {
Font result = fonts.get(name + ":"+size);
if (result == null) {
result = TypecastFont.create(factory, name, size);
@@ -52,7 +52,7 @@ public class TypecastFontFactory implements FontFactory {
}
- public Font createFont(Factory<? extends PointTex> factory,
+ public Font createFont(Factory<? extends Vertex> factory,
String[] families,
String style,
String variant,
diff --git a/src/jogamp/graph/font/typecast/TypecastRenderer.java b/src/jogamp/graph/font/typecast/TypecastRenderer.java
index 3813eb474..74e5cd604 100644
--- a/src/jogamp/graph/font/typecast/TypecastRenderer.java
+++ b/src/jogamp/graph/font/typecast/TypecastRenderer.java
@@ -31,8 +31,8 @@ import jogamp.graph.geom.plane.AffineTransform;
import jogamp.graph.geom.plane.Path2D;
import com.jogamp.graph.font.Font;
-import com.jogamp.graph.geom.PointTex;
-import com.jogamp.graph.geom.Point.Factory;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.Vertex.Factory;
import net.java.dev.typecast.ot.Point;
import net.java.dev.typecast.ot.OTGlyph;
@@ -43,7 +43,7 @@ import net.java.dev.typecast.ot.OTGlyph;
*/
public class TypecastRenderer {
- public static void getOutline(Factory<? extends PointTex> factory, TypecastFont font,
+ public static void getOutline(Factory<? extends Vertex> factory, TypecastFont font,
String string, AffineTransform transform, Path2D[] p)
{
if (string == null) {
diff --git a/src/jogamp/graph/geom/plane/AffineTransform.java b/src/jogamp/graph/geom/plane/AffineTransform.java
index 02fb9993d..de13ff9de 100644
--- a/src/jogamp/graph/geom/plane/AffineTransform.java
+++ b/src/jogamp/graph/geom/plane/AffineTransform.java
@@ -25,8 +25,8 @@ import java.io.Serializable;
import jogamp.graph.math.MathFloat;
import org.apache.harmony.misc.HashCode;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.Point.Factory;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.Vertex.Factory;
public class AffineTransform implements Cloneable, Serializable {
@@ -55,7 +55,7 @@ public class AffineTransform implements Cloneable, Serializable {
*/
static final float ZERO = (float) 1E-10;
- private final Point.Factory<? extends Point> pointFactory;
+ private final Vertex.Factory<? extends Vertex> pointFactory;
/**
* The values of transformation matrix
@@ -72,7 +72,7 @@ public class AffineTransform implements Cloneable, Serializable {
*/
transient int type;
- public AffineTransform(Factory<? extends Point> factory) {
+ public AffineTransform(Factory<? extends Vertex> factory) {
pointFactory = factory;
type = TYPE_IDENTITY;
m00 = m11 = 1.0f;
@@ -90,7 +90,7 @@ public class AffineTransform implements Cloneable, Serializable {
this.m12 = t.m12;
}
- public AffineTransform(Point.Factory<? extends Point> factory, float m00, float m10, float m01, float m11, float m02, float m12) {
+ public AffineTransform(Vertex.Factory<? extends Vertex> factory, float m00, float m10, float m01, float m11, float m02, float m12) {
pointFactory = factory;
this.type = TYPE_UNKNOWN;
this.m00 = m00;
@@ -101,7 +101,7 @@ public class AffineTransform implements Cloneable, Serializable {
this.m12 = m12;
}
- public AffineTransform(Point.Factory<? extends Point> factory, float[] matrix) {
+ public AffineTransform(Vertex.Factory<? extends Vertex> factory, float[] matrix) {
pointFactory = factory;
this.type = TYPE_UNKNOWN;
m00 = matrix[0];
@@ -302,31 +302,31 @@ public class AffineTransform implements Cloneable, Serializable {
type = TYPE_UNKNOWN;
}
- public static <T extends Point> AffineTransform getTranslateInstance(Point.Factory<? extends Point> factory, float mx, float my) {
+ public static <T extends Vertex> AffineTransform getTranslateInstance(Vertex.Factory<? extends Vertex> factory, float mx, float my) {
AffineTransform t = new AffineTransform(factory);
t.setToTranslation(mx, my);
return t;
}
- public static <T extends Point> AffineTransform getScaleInstance(Point.Factory<? extends Point> factory, float scx, float scY) {
+ public static <T extends Vertex> AffineTransform getScaleInstance(Vertex.Factory<? extends Vertex> factory, float scx, float scY) {
AffineTransform t = new AffineTransform(factory);
t.setToScale(scx, scY);
return t;
}
- public static <T extends Point> AffineTransform getShearInstance(Point.Factory<? extends Point> factory, float shx, float shy) {
+ public static <T extends Vertex> AffineTransform getShearInstance(Vertex.Factory<? extends Vertex> factory, float shx, float shy) {
AffineTransform t = new AffineTransform(factory);
t.setToShear(shx, shy);
return t;
}
- public static <T extends Point> AffineTransform getRotateInstance(Point.Factory<? extends Point> factory, float angle) {
+ public static <T extends Vertex> AffineTransform getRotateInstance(Vertex.Factory<? extends Vertex> factory, float angle) {
AffineTransform t = new AffineTransform(factory);
t.setToRotation(angle);
return t;
}
- public static <T extends Point> AffineTransform getRotateInstance(Point.Factory<? extends Point> factory, float angle, float x, float y) {
+ public static <T extends Vertex> AffineTransform getRotateInstance(Vertex.Factory<? extends Vertex> factory, float angle, float x, float y) {
AffineTransform t = new AffineTransform(factory);
t.setToRotation(angle, x, y);
return t;
@@ -354,7 +354,7 @@ public class AffineTransform implements Cloneable, Serializable {
/**
* Multiply matrix of two AffineTransform objects.
- * The first argument's {@link Point.Factory} is being used.
+ * The first argument's {@link Vertex.Factory} is being used.
*
* @param t1 - the AffineTransform object is a multiplicand
* @param t2 - the AffineTransform object is a multiplier
@@ -394,7 +394,7 @@ public class AffineTransform implements Cloneable, Serializable {
);
}
- public Point transform(Point src, Point dst) {
+ public Vertex transform(Vertex src, Vertex dst) {
if (dst == null) {
dst = pointFactory.create();
}
@@ -406,12 +406,12 @@ public class AffineTransform implements Cloneable, Serializable {
return dst;
}
- public void transform(Point[] src, int srcOff, Point[] dst, int dstOff, int length) {
+ public void transform(Vertex[] src, int srcOff, Vertex[] dst, int dstOff, int length) {
while (--length >= 0) {
- Point srcPoint = src[srcOff++];
+ Vertex srcPoint = src[srcOff++];
float x = srcPoint.getX();
float y = srcPoint.getY();
- Point dstPoint = dst[dstOff];
+ Vertex dstPoint = dst[dstOff];
if (dstPoint == null) {
throw new IllegalArgumentException("dst["+dstOff+"] is null");
}
@@ -437,7 +437,7 @@ public class AffineTransform implements Cloneable, Serializable {
}
}
- public Point deltaTransform(Point src, Point dst) {
+ public Vertex deltaTransform(Vertex src, Vertex dst) {
if (dst == null) {
dst = pointFactory.create();
}
@@ -458,7 +458,7 @@ public class AffineTransform implements Cloneable, Serializable {
}
}
- public Point inverseTransform(Point src, Point dst) throws NoninvertibleTransformException {
+ public Vertex inverseTransform(Vertex src, Vertex dst) throws NoninvertibleTransformException {
float det = getDeterminant();
if (MathFloat.abs(det) < ZERO) {
throw new NoninvertibleTransformException(determinantIsZero);
diff --git a/src/jogamp/graph/geom/plane/Path2D.java b/src/jogamp/graph/geom/plane/Path2D.java
index cfb966ac4..e25ae0e84 100644
--- a/src/jogamp/graph/geom/plane/Path2D.java
+++ b/src/jogamp/graph/geom/plane/Path2D.java
@@ -22,8 +22,8 @@ package jogamp.graph.geom.plane;
import java.util.NoSuchElementException;
import com.jogamp.graph.geom.AABBox;
-import com.jogamp.graph.geom.Point;
-import com.jogamp.graph.geom.opengl.Vertex;
+import com.jogamp.graph.geom.Vertex;
+import com.jogamp.graph.geom.opengl.SVertex;
import jogamp.graph.math.plane.Crossing;
@@ -300,7 +300,7 @@ public final class Path2D implements Cloneable {
}
}
- public Vertex getCurrentPoint() {
+ public SVertex getCurrentPoint() {
if (typeSize == 0) {
return null;
}
@@ -315,7 +315,7 @@ public final class Path2D implements Cloneable {
j -= pointShift[type];
}
}
- return new Vertex(points[j], points[j + 1]);
+ return new SVertex(points[j], points[j + 1]);
}
public void reset() {
@@ -391,7 +391,7 @@ public final class Path2D implements Cloneable {
return cross == Crossing.CROSSING || isInside(cross);
}
- public boolean contains(Point p) {
+ public boolean contains(Vertex p) {
return contains(p.getX(), p.getY());
}
diff --git a/src/jogamp/graph/math/VectorFloatUtil.java b/src/jogamp/graph/math/VectorFloatUtil.java
index 172cacd09..b2b9a8ee8 100755
--- a/src/jogamp/graph/math/VectorFloatUtil.java
+++ b/src/jogamp/graph/math/VectorFloatUtil.java
@@ -29,7 +29,7 @@ package jogamp.graph.math;
import java.util.ArrayList;
-import com.jogamp.graph.geom.Point;
+import com.jogamp.graph.geom.Vertex;
public class VectorFloatUtil {
@@ -247,7 +247,7 @@ public class VectorFloatUtil {
* @return true if the vertex d is inside the circle defined by the
* vertices a, b, c. from paper by Guibas and Stolfi (1985).
*/
- public static boolean inCircle(Point a, Point b, Point c, Point d){
+ public static boolean inCircle(Vertex a, Vertex b, Vertex c, Vertex d){
return (a.getX() * a.getX() + a.getY() * a.getY()) * triArea(b, c, d) -
(b.getX() * b.getX() + b.getY() * b.getY()) * triArea(a, c, d) +
(c.getX() * c.getX() + c.getY() * c.getY()) * triArea(a, b, d) -
@@ -261,7 +261,7 @@ public class VectorFloatUtil {
* @return compute twice the area of the oriented triangle (a,b,c), the area
* is positive if the triangle is oriented counterclockwise.
*/
- public static float triArea(Point a, Point b, Point c){
+ public static float triArea(Vertex a, Vertex b, Vertex c){
return (b.getX() - a.getX()) * (c.getY() - a.getY()) - (b.getY() - a.getY())*(c.getX() - a.getX());
}
@@ -271,7 +271,7 @@ public class VectorFloatUtil {
* @param c third vertex
* @return true if the points a,b,c are in a ccw order
*/
- public static boolean ccw(Point a, Point b, Point c){
+ public static boolean ccw(Vertex a, Vertex b, Vertex c){
return triArea(a,b,c) > 0;
}
@@ -279,7 +279,7 @@ public class VectorFloatUtil {
* @param vertices
* @return positve area if ccw else negative area value
*/
- public static float area(ArrayList<Point> vertices) {
+ public static float area(ArrayList<Vertex> vertices) {
int n = vertices.size();
float area = 0.0f;
for (int p = n - 1, q = 0; q < n; p = q++)