Search in sources :

Example 21 with ArcByCenterPoint

use of eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint in project hale by halestudio.

the class ArcByCenterPointImplTest method testCCW1.

@Test
public void testCCW1() throws IOException {
    ArcByCenterPoint arc = new ArcByCenterPointImpl(new Coordinate(0, 0), 1.0, Angle.fromDegrees(0), Angle.fromDegrees(180), false);
    drawArcWithMarkers(arc);
    assertEquals(180.0, arc.getAngleBetween().getDegrees(), 1e-10);
    assertFalse(arc.isCircle());
    assertFalse(InterpolationUtil.isStraightLine(arc));
    ArcByPoints converted = arc.toArcByPoints();
    assertEqualsCoord(new Coordinate(1, 0), converted.getStartPoint());
    assertEqualsCoord(new Coordinate(0, 1), converted.getMiddlePoint());
    assertEqualsCoord(new Coordinate(-1, 0), converted.getEndPoint());
}
Also used : ArcByPoints(eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints) ArcByCenterPoint(eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint) Coordinate(com.vividsolutions.jts.geom.Coordinate) AbstractArcTest(eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest) Test(org.junit.Test)

Example 22 with ArcByCenterPoint

use of eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint in project hale by halestudio.

the class ArcByCenterPointImplTest method testCCW2.

@Test
public void testCCW2() throws IOException {
    ArcByCenterPoint arc = new ArcByCenterPointImpl(new Coordinate(0, 0), Math.sqrt(2.0), Angle.fromDegrees(45), Angle.fromDegrees(135), false);
    drawArcWithMarkers(arc);
    assertEquals(90.0, arc.getAngleBetween().getDegrees(), 1e-10);
    assertFalse(arc.isCircle());
    assertFalse(InterpolationUtil.isStraightLine(arc));
    ArcByPoints converted = arc.toArcByPoints();
    assertEqualsCoord(new Coordinate(1, 1), converted.getStartPoint());
    assertEqualsCoord(new Coordinate(0, Math.sqrt(2.0)), converted.getMiddlePoint());
    assertEqualsCoord(new Coordinate(-1, 1), converted.getEndPoint());
}
Also used : ArcByPoints(eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints) ArcByCenterPoint(eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint) Coordinate(com.vividsolutions.jts.geom.Coordinate) AbstractArcTest(eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest) Test(org.junit.Test)

Example 23 with ArcByCenterPoint

use of eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint in project hale by halestudio.

the class ArcByPointsImplTest method testLargeArc.

@Test
public void testLargeArc() throws IOException {
    ArcByPoints arc = new ArcByPointsImpl(new Coordinate(1, 1), new Coordinate(0, -Math.sqrt(2.0)), new Coordinate(-1, 1));
    drawArcWithMarkers(arc);
    assertFalse(arc.isCircle());
    assertFalse(InterpolationUtil.isStraightLine(arc));
    ArcByCenterPoint converted = arc.toArcByCenterPoint();
    assertEqualsCoord(new Coordinate(0, 0), converted.getCenterPoint());
    assertEquals(Math.sqrt(2.0), converted.getRadius(), 1e-10);
    assertEquals(Angle.fromDegrees(45), converted.getStartAngle());
    assertEquals(Angle.fromDegrees(135), converted.getEndAngle());
    assertEquals(Angle.fromDegrees(-270), converted.getAngleBetween());
    assertTrue(converted.isClockwise());
}
Also used : ArcByPoints(eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints) ArcByCenterPoint(eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint) Coordinate(com.vividsolutions.jts.geom.Coordinate) AbstractArcTest(eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest) Test(org.junit.Test)

Example 24 with ArcByCenterPoint

use of eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint in project hale by halestudio.

the class ArcByPointsImplTest method testCircle.

@Test
public void testCircle() throws IOException {
    ArcByPoints arc = new ArcByPointsImpl(new Coordinate(-1, 0), new Coordinate(1, 0), new Coordinate(-1, 0));
    drawArcWithMarkers(arc);
    assertTrue(arc.isCircle());
    assertFalse(InterpolationUtil.isStraightLine(arc));
    ArcByCenterPoint converted = arc.toArcByCenterPoint();
    assertEqualsCoord(new Coordinate(0, 0), converted.getCenterPoint());
    assertEquals(1.0, converted.getRadius(), 1e-10);
    assertEquals(Angle.fromDegrees(180), converted.getStartAngle());
    assertEquals(Angle.fromDegrees(180), converted.getEndAngle());
    assertEquals(Angle.fromDegrees(-360), converted.getAngleBetween());
    assertTrue(converted.isClockwise());
}
Also used : ArcByPoints(eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints) ArcByCenterPoint(eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint) Coordinate(com.vividsolutions.jts.geom.Coordinate) AbstractArcTest(eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest) Test(org.junit.Test)

Example 25 with ArcByCenterPoint

use of eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint in project hale by halestudio.

the class ArcByPointsImplTest method testOrigin.

@Test
public void testOrigin() throws IOException {
    ArcByPoints arc = new ArcByPointsImpl(new Coordinate(-1, 0), new Coordinate(0, 1), new Coordinate(1, 0));
    drawArcWithMarkers(arc);
    assertFalse(arc.isCircle());
    assertFalse(InterpolationUtil.isStraightLine(arc));
    ArcByCenterPoint converted = arc.toArcByCenterPoint();
    assertEqualsCoord(new Coordinate(0, 0), converted.getCenterPoint());
    assertEquals(1.0, converted.getRadius(), 1e-10);
    assertEquals(Angle.fromDegrees(180), converted.getStartAngle());
    assertEquals(Angle.fromDegrees(0), converted.getEndAngle());
    assertEquals(Angle.fromDegrees(-180), converted.getAngleBetween());
    assertTrue(converted.isClockwise());
}
Also used : ArcByPoints(eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints) ArcByCenterPoint(eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint) Coordinate(com.vividsolutions.jts.geom.Coordinate) AbstractArcTest(eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest) Test(org.junit.Test)

Aggregations

ArcByCenterPoint (eu.esdihumboldt.util.geometry.interpolation.model.ArcByCenterPoint)34 Coordinate (com.vividsolutions.jts.geom.Coordinate)28 AbstractArcTest (eu.esdihumboldt.util.geometry.interpolation.AbstractArcTest)25 Test (org.junit.Test)25 ArcByCenterPointImpl (eu.esdihumboldt.util.geometry.interpolation.model.impl.ArcByCenterPointImpl)18 ArcByPoints (eu.esdihumboldt.util.geometry.interpolation.model.ArcByPoints)15 Arc (eu.esdihumboldt.util.geometry.interpolation.model.Arc)6 Angle (eu.esdihumboldt.util.geometry.interpolation.model.Angle)4 ArcByPointsImpl (eu.esdihumboldt.util.geometry.interpolation.model.impl.ArcByPointsImpl)3 LineString (com.vividsolutions.jts.geom.LineString)1 DefaultGeometryProperty (eu.esdihumboldt.hale.common.instance.geometry.DefaultGeometryProperty)1 GeometryNotSupportedException (eu.esdihumboldt.hale.io.gml.geometry.GeometryNotSupportedException)1 InterpolationAlgorithm (eu.esdihumboldt.util.geometry.interpolation.InterpolationAlgorithm)1 Arc2D (java.awt.geom.Arc2D)1