From bdc908be928a9f5d84fc94f27e1462961d063963 Mon Sep 17 00:00:00 2001 From: Duncan Calvert Date: Thu, 26 Jul 2018 20:39:54 -0500 Subject: [PATCH 1/8] :arrow_up: ihmc-build 0.14.0, include packages by default in the build --- build.gradle | 2 +- gradle.properties | 2 +- settings.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 49c7d0e..c99cd5f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenLocal() } dependencies { - classpath "us.ihmc:ihmc-build:0.13.7" + classpath "us.ihmc:ihmc-build:0.14.0" } } apply plugin: "us.ihmc.ihmc-build" diff --git a/gradle.properties b/gradle.properties index 904d21f..c410ebc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ pascalCasedName = IHMCJavaFXToolkit extraSourceSets = ["test", "visualizers"] publishUrl = local compositeSearchHeight = 0 -excludeFromCompositeBuild = true \ No newline at end of file +excludeFromCompositeBuild = false \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 3c7ae0a..dac92a3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,7 +4,7 @@ buildscript { mavenLocal() } dependencies { - classpath "us.ihmc:ihmc-build:0.13.7" + classpath "us.ihmc:ihmc-build:0.14.0" } } From f7483a8891401e7fb16367ee5a47d84176af0b0e Mon Sep 17 00:00:00 2001 From: InhoLee Date: Mon, 13 Aug 2018 19:41:34 -0500 Subject: [PATCH 2/8] JavaFxGraphicsObject can be constructed with desired appearance. --- .../node/JavaFXGraphics3DNode.java | 9 +++ .../node/JavaFXGraphicsObject.java | 65 ++++++++++++++----- 2 files changed, 56 insertions(+), 18 deletions(-) diff --git a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java index d60aa6e..38e94d8 100644 --- a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java +++ b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java @@ -7,6 +7,7 @@ import javafx.scene.transform.Affine; import javafx.scene.transform.Transform; import us.ihmc.euclid.transform.AffineTransform; +import us.ihmc.graphicsDescription.appearance.AppearanceDefinition; import us.ihmc.graphicsDescription.structure.Graphics3DNode; import us.ihmc.javaFXToolkit.JavaFXTools; @@ -23,6 +24,14 @@ public JavaFXGraphics3DNode(Graphics3DNode graphicsNode) javaFXGraphicsObject = new JavaFXGraphicsObject(graphicsNode.getGraphics3DObject()); this.getChildren().add(javaFXGraphicsObject.getGroup()); } + + public JavaFXGraphics3DNode(Graphics3DNode graphicsNode, AppearanceDefinition appearance) + { + this.graphicsNode = graphicsNode; + + javaFXGraphicsObject = new JavaFXGraphicsObject(graphicsNode.getGraphics3DObject(), appearance); + this.getChildren().add(javaFXGraphicsObject.getGroup()); + } public void update() { diff --git a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java index 318329f..8104ea6 100644 --- a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java +++ b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java @@ -21,6 +21,7 @@ import us.ihmc.graphicsDescription.MeshDataHolder; import us.ihmc.graphicsDescription.appearance.AppearanceDefinition; import us.ihmc.graphicsDescription.appearance.YoAppearanceRGBColor; +import us.ihmc.graphicsDescription.color.MutableColor; import us.ihmc.graphicsDescription.instructions.ArcTorusGraphics3DInstruction; import us.ihmc.graphicsDescription.instructions.CapsuleGraphics3DInstruction; import us.ihmc.graphicsDescription.instructions.ConeGraphics3DInstruction; @@ -32,6 +33,7 @@ import us.ihmc.graphicsDescription.instructions.Graphics3DAddHeightMapInstruction; import us.ihmc.graphicsDescription.instructions.Graphics3DAddMeshDataInstruction; import us.ihmc.graphicsDescription.instructions.Graphics3DAddModelFileInstruction; +import us.ihmc.graphicsDescription.instructions.Graphics3DInstruction; import us.ihmc.graphicsDescription.instructions.Graphics3DInstructionExecutor; import us.ihmc.graphicsDescription.instructions.Graphics3DPrimitiveInstruction; import us.ihmc.graphicsDescription.instructions.HemiEllipsoidGraphics3DInstruction; @@ -49,18 +51,30 @@ public class JavaFXGraphicsObject extends Graphics3DInstructionExecutor { - -// private static float r; private final Group parentGroup = new Group(); private Group currentGroup = parentGroup; public JavaFXGraphicsObject(Graphics3DObject graphics3dObject) { - if(graphics3dObject != null) + this(graphics3dObject, null); + } + + public JavaFXGraphicsObject(Graphics3DObject graphics3dObject, AppearanceDefinition appearance) + { + if (graphics3dObject != null) { ArrayList graphics3dInstructions = graphics3dObject.getGraphics3DInstructions(); - if(graphics3dInstructions != null) + if (graphics3dInstructions != null) { + for (Graphics3DPrimitiveInstruction instruction : graphics3dInstructions) + { + if (instruction instanceof Graphics3DInstruction) + { + Graphics3DInstruction graphicsInstruction = (Graphics3DInstruction) instruction; + if(appearance != null) + graphicsInstruction.setAppearance(appearance); + } + } setUpGraphicsFromDefinition(graphics3dInstructions); } } @@ -105,6 +119,17 @@ protected void doAddModelFileInstruction(Graphics3DAddModelFileInstruction graph { e.printStackTrace(); } + + if (graphics3DAddModelFile.getAppearance() != null) + { + Material outputMaterial = convertMaterial(graphics3DAddModelFile.getAppearance()); + for (int i = 0; i < outputModelMeshes.length; i++) + { + MutableColor color = graphics3DAddModelFile.getAppearance().getColor(); + outputModelMeshes[i].setMaterial(outputMaterial); + } + } + Group meshGroup = new Group(outputModelMeshes); currentGroup.getChildren().add(meshGroup); currentGroup = meshGroup; @@ -146,7 +171,7 @@ protected void doTranslateInstruction(Graphics3DTranslateInstruction graphics3DT { Vector3D t = graphics3DTranslate.getTranslation(); Translate outputTranslation = new Translate(t.getX(), t.getY(), t.getZ()); - + Group translationGroup = new Group(); translationGroup.getTransforms().add(outputTranslation); currentGroup.getChildren().add(translationGroup); @@ -165,7 +190,7 @@ private static Material convertMaterial(AppearanceDefinition appearance) float b = appearance.getColor().getZ(); double transparency = appearance.getTransparency(); - if(appearance instanceof YoAppearanceRGBColor) + if (appearance instanceof YoAppearanceRGBColor) { transparency = 1.0 - transparency; } @@ -189,7 +214,7 @@ protected void doAddPrimitiveInstruction(PrimitiveGraphics3DInstruction primitiv CubeGraphics3DInstruction cubeInstruction = (CubeGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.Cube(cubeInstruction.getLength(), cubeInstruction.getWidth(), cubeInstruction.getHeight(), - cubeInstruction.getCenteredInTheCenter(), cubeInstruction.getTextureFaces()); + cubeInstruction.getCenteredInTheCenter(), cubeInstruction.getTextureFaces()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, cubeInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); @@ -199,7 +224,7 @@ else if (primitiveInstruction instanceof SphereGraphics3DInstruction) SphereGraphics3DInstruction sphereInstruction = (SphereGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.Sphere(sphereInstruction.getRadius(), sphereInstruction.getResolution(), - sphereInstruction.getResolution()); + sphereInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, sphereInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); @@ -218,7 +243,8 @@ else if (primitiveInstruction instanceof CapsuleGraphics3DInstruction) CapsuleGraphics3DInstruction capsuleInstruction = (CapsuleGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.Capsule(capsuleInstruction.getHeight(), capsuleInstruction.getXRadius(), capsuleInstruction.getYRadius(), - capsuleInstruction.getZRadius(), capsuleInstruction.getResolution(), capsuleInstruction.getResolution()); + capsuleInstruction.getZRadius(), capsuleInstruction.getResolution(), + capsuleInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, capsuleInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); @@ -228,7 +254,8 @@ else if (primitiveInstruction instanceof EllipsoidGraphics3DInstruction) EllipsoidGraphics3DInstruction ellipsoidInstruction = (EllipsoidGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.Ellipsoid(ellipsoidInstruction.getXRadius(), ellipsoidInstruction.getYRadius(), - ellipsoidInstruction.getZRadius(), ellipsoidInstruction.getResolution(), ellipsoidInstruction.getResolution()); + ellipsoidInstruction.getZRadius(), ellipsoidInstruction.getResolution(), + ellipsoidInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, ellipsoidInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -237,7 +264,7 @@ else if (primitiveInstruction instanceof CylinderGraphics3DInstruction) CylinderGraphics3DInstruction cylinderInstruction = (CylinderGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.Cylinder(cylinderInstruction.getRadius(), cylinderInstruction.getHeight(), - cylinderInstruction.getResolution()); + cylinderInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, cylinderInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -254,8 +281,8 @@ else if (primitiveInstruction instanceof TruncatedConeGraphics3DInstruction) TruncatedConeGraphics3DInstruction truncatedConeInstruction = (TruncatedConeGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.GenTruncatedCone(truncatedConeInstruction.getHeight(), truncatedConeInstruction.getXBaseRadius(), - truncatedConeInstruction.getYBaseRadius(), truncatedConeInstruction.getXTopRadius(), truncatedConeInstruction.getYTopRadius(), - truncatedConeInstruction.getResolution()); + truncatedConeInstruction.getYBaseRadius(), truncatedConeInstruction.getXTopRadius(), + truncatedConeInstruction.getYTopRadius(), truncatedConeInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, truncatedConeInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -264,7 +291,8 @@ else if (primitiveInstruction instanceof HemiEllipsoidGraphics3DInstruction) HemiEllipsoidGraphics3DInstruction hemiEllipsoidInstruction = (HemiEllipsoidGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.HemiEllipsoid(hemiEllipsoidInstruction.getXRadius(), hemiEllipsoidInstruction.getYRadius(), - hemiEllipsoidInstruction.getZRadius(), hemiEllipsoidInstruction.getResolution(), hemiEllipsoidInstruction.getResolution()); + hemiEllipsoidInstruction.getZRadius(), hemiEllipsoidInstruction.getResolution(), + hemiEllipsoidInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, hemiEllipsoidInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -273,7 +301,8 @@ else if (primitiveInstruction instanceof ArcTorusGraphics3DInstruction) ArcTorusGraphics3DInstruction arcTorusInstruction = (ArcTorusGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.ArcTorus(arcTorusInstruction.getStartAngle(), arcTorusInstruction.getEndAngle(), - arcTorusInstruction.getMajorRadius(), arcTorusInstruction.getMinorRadius(), arcTorusInstruction.getResolution()); + arcTorusInstruction.getMajorRadius(), arcTorusInstruction.getMinorRadius(), + arcTorusInstruction.getResolution()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, arcTorusInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -282,7 +311,7 @@ else if (primitiveInstruction instanceof PyramidCubeGraphics3DInstruction) PyramidCubeGraphics3DInstruction pyramidInstruction = (PyramidCubeGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.PyramidCube(pyramidInstruction.getLengthX(), pyramidInstruction.getWidthY(), - pyramidInstruction.getHeightZ(), pyramidInstruction.getPyramidHeight()); + pyramidInstruction.getHeightZ(), pyramidInstruction.getPyramidHeight()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, pyramidInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } @@ -299,9 +328,9 @@ else if (primitiveInstruction instanceof ExtrudedPolygonGraphics3DInstruction) ExtrudedPolygonGraphics3DInstruction extrudedPolygonInstruction = (ExtrudedPolygonGraphics3DInstruction) primitiveInstruction; MeshDataHolder meshData = MeshDataGenerator.ExtrudedPolygon(extrudedPolygonInstruction.getPolygonPoints(), - extrudedPolygonInstruction.getExtrusionHeight()); + extrudedPolygonInstruction.getExtrusionHeight()); Graphics3DAddMeshDataInstruction meshDataInstruction = Graphics3DObject.createMeshDataInstruction(meshData, - extrudedPolygonInstruction.getAppearance()); + extrudedPolygonInstruction.getAppearance()); doAddMeshDataInstruction(meshDataInstruction); } else From 63cc5e8dd6f351f11926e46c633187ab4a6eaf69 Mon Sep 17 00:00:00 2001 From: InhoLee Date: Tue, 14 Aug 2018 09:53:45 -0500 Subject: [PATCH 3/8] Edited constructor calling other constructor. --- .../ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java index 38e94d8..8d57c36 100644 --- a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java +++ b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphics3DNode.java @@ -19,12 +19,9 @@ public class JavaFXGraphics3DNode extends Group public JavaFXGraphics3DNode(Graphics3DNode graphicsNode) { - this.graphicsNode = graphicsNode; - - javaFXGraphicsObject = new JavaFXGraphicsObject(graphicsNode.getGraphics3DObject()); - this.getChildren().add(javaFXGraphicsObject.getGroup()); + this(graphicsNode, null); } - + public JavaFXGraphics3DNode(Graphics3DNode graphicsNode, AppearanceDefinition appearance) { this.graphicsNode = graphicsNode; @@ -42,8 +39,8 @@ public void update() AffineTransform euclidAffineTransform = graphicsNode.getTransform(); JavaFXTools.convertEuclidAffineToJavaFXAffine(euclidAffineTransform, javaFxAffineTransform); transforms.add(javaFxAffineTransform); - - for(int i = 0; i < updatables.size(); i++) + + for (int i = 0; i < updatables.size(); i++) { updatables.get(i).update(); } From 05bb71dff7c825a82b4dc047598fc8b568396436 Mon Sep 17 00:00:00 2001 From: InhoLee Date: Tue, 14 Aug 2018 12:35:03 -0500 Subject: [PATCH 4/8] Formatted. --- .../java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java index 8104ea6..e17ab7f 100644 --- a/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java +++ b/src/main/java/us/ihmc/javaFXToolkit/node/JavaFXGraphicsObject.java @@ -21,7 +21,6 @@ import us.ihmc.graphicsDescription.MeshDataHolder; import us.ihmc.graphicsDescription.appearance.AppearanceDefinition; import us.ihmc.graphicsDescription.appearance.YoAppearanceRGBColor; -import us.ihmc.graphicsDescription.color.MutableColor; import us.ihmc.graphicsDescription.instructions.ArcTorusGraphics3DInstruction; import us.ihmc.graphicsDescription.instructions.CapsuleGraphics3DInstruction; import us.ihmc.graphicsDescription.instructions.ConeGraphics3DInstruction; @@ -71,7 +70,7 @@ public JavaFXGraphicsObject(Graphics3DObject graphics3dObject, AppearanceDefinit if (instruction instanceof Graphics3DInstruction) { Graphics3DInstruction graphicsInstruction = (Graphics3DInstruction) instruction; - if(appearance != null) + if (appearance != null) graphicsInstruction.setAppearance(appearance); } } @@ -125,7 +124,6 @@ protected void doAddModelFileInstruction(Graphics3DAddModelFileInstruction graph Material outputMaterial = convertMaterial(graphics3DAddModelFile.getAppearance()); for (int i = 0; i < outputModelMeshes.length; i++) { - MutableColor color = graphics3DAddModelFile.getAppearance().getColor(); outputModelMeshes[i].setMaterial(outputMaterial); } } From d0a8f9cae9b1c6849fdc17f49ef3678ea4be3faa Mon Sep 17 00:00:00 2001 From: InhoLee Date: Tue, 14 Aug 2018 12:35:11 -0500 Subject: [PATCH 5/8] Unitest is added. --- .../javaFXGraphics/JavaFXGraphicsTest.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java diff --git a/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java b/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java new file mode 100644 index 0000000..178d2fa --- /dev/null +++ b/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java @@ -0,0 +1,56 @@ +package us.ihmc.javaFXGraphics; + +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; + +import org.junit.Test; + +import us.ihmc.continuousIntegration.ContinuousIntegrationAnnotations.ContinuousIntegrationPlan; +import us.ihmc.continuousIntegration.ContinuousIntegrationAnnotations.ContinuousIntegrationTest; +import us.ihmc.continuousIntegration.IntegrationCategory; +import us.ihmc.euclid.tuple3D.Vector3D; +import us.ihmc.graphicsDescription.Graphics3DObject; +import us.ihmc.graphicsDescription.appearance.AppearanceDefinition; +import us.ihmc.graphicsDescription.appearance.YoAppearance; +import us.ihmc.graphicsDescription.color.MutableColor; +import us.ihmc.graphicsDescription.instructions.Graphics3DInstruction; +import us.ihmc.graphicsDescription.instructions.Graphics3DPrimitiveInstruction; +import us.ihmc.javaFXToolkit.node.JavaFXGraphicsObject; + +@ContinuousIntegrationPlan(categories = {IntegrationCategory.FAST}) +public class JavaFXGraphicsTest +{ + private static final double CUBE_SIDE = 2.0; + private static final double CUBE_X = 5.0; + + private static final AppearanceDefinition desiredAppearance = YoAppearance.Red(); + + @ContinuousIntegrationTest(estimatedDuration = 0.0) + @Test(timeout = 30000) + public void testJavaFXGraphicsObject() + { + Graphics3DObject cubeGraphics = new Graphics3DObject(); + cubeGraphics.translate(new Vector3D(CUBE_X, 0.0, 0.0)); + cubeGraphics.addCube(CUBE_SIDE, CUBE_SIDE, CUBE_SIDE); + + JavaFXGraphicsObject javaFXGraphics = new JavaFXGraphicsObject(cubeGraphics, desiredAppearance); + + ArrayList graphics3dInstructions = cubeGraphics.getGraphics3DInstructions(); + for (Graphics3DPrimitiveInstruction primitive : graphics3dInstructions) + { + if (primitive instanceof Graphics3DInstruction) + { + Graphics3DInstruction graphicsInstruction = (Graphics3DInstruction) primitive; + AppearanceDefinition appearance = graphicsInstruction.getAppearance(); + MutableColor actualColor = appearance.getColor(); + MutableColor expectedColor = desiredAppearance.getColor(); + assertTrue(actualColor.x == expectedColor.x); + assertTrue(actualColor.y == expectedColor.y); + assertTrue(actualColor.z == expectedColor.z); + } + } + + System.out.print(javaFXGraphics.getClass().getSimpleName() + " propely set up graphics from instructions."); + } +} From 881dfa45663ea3f3ba4a159921f9eced8c686d4b Mon Sep 17 00:00:00 2001 From: InhoLee Date: Tue, 14 Aug 2018 16:05:11 -0500 Subject: [PATCH 6/8] Increased estimated duration. --- src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java b/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java index 178d2fa..cdf7cbe 100644 --- a/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java +++ b/src/test/java/us/ihmc/javaFXGraphics/JavaFXGraphicsTest.java @@ -26,7 +26,7 @@ public class JavaFXGraphicsTest private static final AppearanceDefinition desiredAppearance = YoAppearance.Red(); - @ContinuousIntegrationTest(estimatedDuration = 0.0) + @ContinuousIntegrationTest(estimatedDuration = 1.0) @Test(timeout = 30000) public void testJavaFXGraphicsObject() { From aa27bc075614838e0788810c7ce3104a147743c0 Mon Sep 17 00:00:00 2001 From: Duncan Calvert Date: Thu, 23 Aug 2018 11:27:22 -0500 Subject: [PATCH 7/8] :bookmark: 0.12.3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c99cd5f..0424c9d 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ apply plugin: "us.ihmc.ihmc-build" ihmc { group = "us.ihmc" - version = "0.12.2" + version = "0.12.3" vcsUrl = "https://github.com/ihmcrobotics/ihmc-javafx-toolkit" openSource = true From 000ab4b700d115521984267bc630c26547f4eee3 Mon Sep 17 00:00:00 2001 From: Duncan Calvert Date: Thu, 23 Aug 2018 11:28:59 -0500 Subject: [PATCH 8/8] Add README. --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e229f1f --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# IHMC JavaFX Toolkit + +[ ![Download](https://api.bintray.com/packages/ihmcrobotics/maven-release/ihmc-javafx-toolkit/images/download.svg) ](https://bintray.com/ihmcrobotics/maven-release/ihmc-javafx-toolkit/_latestVersion) \ No newline at end of file