summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-05-05 13:07:42 +0200
committerSven Gothel <[email protected]>2011-05-05 13:07:42 +0200
commit59aa8737528743b83cf56b804c9d713bc325c97c (patch)
treecdc23f121d6b421de3fb210159048112a2516c1c
parent8578860e5f9f1b98651373accc53b0bfe6f07ba2 (diff)
Merging OutlineShape.VerticesState enum type (John Pritchard <[email protected]> https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60#L0R59)
-rwxr-xr-xmake/scripts/tests.sh4
-rwxr-xr-xsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java31
-rw-r--r--src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java4
-rw-r--r--src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java2
4 files changed, 30 insertions, 11 deletions
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh
index 37194f602..ddc419078 100755
--- a/make/scripts/tests.sh
+++ b/make/scripts/tests.sh
@@ -172,7 +172,7 @@ function testawtmt() {
#testawt com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411
#testawt com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.newt.TestGearsNewtAWTWrapper
#testawt com.jogamp.opengl.test.junit.newt.TestEventSourceNotAWTBug
-testawt com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot
+#testawt com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot
#testawt com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot
#testawt com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT
#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01aAWT
@@ -213,7 +213,7 @@ testawt com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot
#testnoawt com.jogamp.opengl.test.junit.graph.TestRegionRendererNEWT01 $*
#testnoawt com.jogamp.opengl.test.junit.graph.TestTextRendererNEWT01 $*
#testnoawt com.jogamp.opengl.test.junit.graph.demos.ui.UINewtDemo01 $*
-#testnoawt com.jogamp.opengl.test.junit.graph.demos.GPUTextNewtDemo01 $*
+testnoawt com.jogamp.opengl.test.junit.graph.demos.GPUTextNewtDemo01 $*
#testnoawt com.jogamp.opengl.test.junit.graph.demos.GPUTextNewtDemo02 $*
#testnoawt com.jogamp.opengl.test.junit.graph.demos.GPURegionNewtDemo01 $*
#testnoawt com.jogamp.opengl.test.junit.graph.demos.GPURegionNewtDemo02 $*
diff --git a/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java b/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java
index c995b3749..d0413b1e4 100755
--- a/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java
+++ b/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java
@@ -35,6 +35,7 @@ import com.jogamp.graph.geom.Triangle;
import com.jogamp.graph.geom.Vertex;
import com.jogamp.graph.math.VectorUtil;
+import com.jogamp.graph.curve.OutlineShape.VerticesState;
import com.jogamp.graph.curve.tess.CDTriangulator2D;
/** A Generic shape objects which is defined by a list of Outlines.
@@ -53,7 +54,7 @@ import com.jogamp.graph.curve.tess.CDTriangulator2D;
addVertex(...)
addVertex(...)
addVertex(...)
- addEnptyOutline()
+ addEmptyOutline()
addVertex(...)
addVertex(...)
addVertex(...)
@@ -91,9 +92,21 @@ import com.jogamp.graph.curve.tess.CDTriangulator2D;
* @see Region
*/
public class OutlineShape {
+ /**
+ * Outline has original user state (vertices) until transformed.
+ */
+ public enum VerticesState {
+ ORIGINAL(0), QUADRATIC_NURBS(1);
- public static final int QUADRATIC_NURBS = 10;
+ public final int state;
+
+ VerticesState(int state){
+ this.state = state;
+ }
+ }
+
private final Vertex.Factory<? extends Vertex> vertexFactory;
+ private VerticesState outlineState;
/** The list of {@link Outline}s that are part of this
* outline shape.
@@ -105,6 +118,7 @@ public class OutlineShape {
public OutlineShape(Vertex.Factory<? extends Vertex> factory) {
vertexFactory = factory;
outlines.add(new Outline());
+ outlineState = VerticesState.ORIGINAL;
}
/** Returns the associated vertex factory of this outline shape
@@ -205,11 +219,15 @@ public class OutlineShape {
/** Make sure that the outlines represent
* the specified destinationType, if not
* transform outlines to destination type.
- * @param destinationType The curve type needed
+ * @param destinationType TODO
*/
- public void transformOutlines(int destinationType){
- if(destinationType == QUADRATIC_NURBS){
- transformOutlinesQuadratic();
+ public void transformOutlines(VerticesState destinationType){
+ if(outlineState != destinationType){
+ if(destinationType == VerticesState.QUADRATIC_NURBS){
+ transformOutlinesQuadratic();
+ } else {
+ throw new IllegalStateException("destinationType "+destinationType.name()+" not supported (currently "+outlineState.name()+")");
+ }
}
}
@@ -240,6 +258,7 @@ public class OutlineShape {
newOutlines.add(newOutline);
}
outlines = newOutlines;
+ outlineState = VerticesState.QUADRATIC_NURBS;
}
private void generateVertexIds(){
diff --git a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java
index 03a696f35..2d614d279 100644
--- a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java
+++ b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java
@@ -113,7 +113,7 @@ public abstract class RegionRenderer extends Renderer {
protected Region createRegion(GL2ES2 gl, OutlineShape outlineShape) {
Region region = RegionFactory.create(rs, renderType);
- outlineShape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
+ outlineShape.transformOutlines(OutlineShape.VerticesState.QUADRATIC_NURBS);
ArrayList<Triangle> triangles = (ArrayList<Triangle>) outlineShape.triangulate();
ArrayList<Vertex> vertices = (ArrayList<Vertex>) outlineShape.getVertices();
region.addVertices(vertices);
@@ -133,7 +133,7 @@ public abstract class RegionRenderer extends Renderer {
int numVertices = region.getNumVertices();
for(OutlineShape outlineShape:outlineShapes){
- outlineShape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
+ outlineShape.transformOutlines(OutlineShape.VerticesState.QUADRATIC_NURBS);
ArrayList<Triangle> triangles = outlineShape.triangulate();
region.addTriangles(triangles);
diff --git a/src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java b/src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java
index 91a7e4246..433019361 100644
--- a/src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java
+++ b/src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java
@@ -67,7 +67,7 @@ public class GlyphShape {
pathIterator.next();
}
}
- shape.transformOutlines(OutlineShape.QUADRATIC_NURBS);
+ shape.transformOutlines(OutlineShape.VerticesState.QUADRATIC_NURBS);
}
public final Vertex.Factory<? extends Vertex> vertexFactory() { return shape.vertexFactory(); }