use of org.hwyl.sexytopo.model.graph.Coord2D in project sexytopo by richsmith.
the class Sketch method findEligibleSnapPointWithin.
public Coord2D findEligibleSnapPointWithin(Coord2D point, double delta) {
Coord2D closest = null;
double minDistance = Double.MAX_VALUE;
for (PathDetail path : pathDetails) {
if (activePath == path) {
continue;
}
Coord2D start = path.getPath().get(0);
Coord2D end = path.getPath().get(path.getPath().size() - 1);
for (Coord2D coord2D : new Coord2D[] { start, end }) {
double distance = Space2DUtils.getDistance(point, coord2D);
if (distance < delta && distance < minDistance) {
closest = coord2D;
minDistance = distance;
}
}
}
return closest;
}
use of org.hwyl.sexytopo.model.graph.Coord2D in project sexytopo by richsmith.
the class ConnectedSurveysTest method testSecondaryConnectedSurveyGetsTranslatedCorrectly.
@Test
public void testSecondaryConnectedSurveyGetsTranslatedCorrectly() throws Exception {
Survey currentSurvey = getBasicSurvey("current");
Survey joinedSurvey0 = getBasicSurvey("joined-0");
Survey joinedSurvey1 = getBasicSurvey("joined-1");
connectTwoSurveys(currentSurvey, currentSurvey.getActiveStation(), joinedSurvey0, joinedSurvey0.getOrigin());
connectTwoSurveys(joinedSurvey0, joinedSurvey0.getActiveStation(), joinedSurvey1, joinedSurvey1.getOrigin());
GraphActivity activity = new PlanActivity();
Space<Coord2D> planProjection = SpaceFlipper.flipVertically(Projection2D.PLAN.project(currentSurvey));
Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys(activity, currentSurvey, planProjection);
Assert.assertEquals(translated.size(), 2);
Survey translatedSurvey = getNamedSurvey(translated, "joined-1");
Space<Coord2D> projection = translated.get(translatedSurvey);
Coord2D newStationPoint = getStationPosition(projection, "2");
Assert.assertEquals(-3.0, newStationPoint.getY(), SexyTopo.ALLOWED_DOUBLE_DELTA_FOR_TESTS);
}
use of org.hwyl.sexytopo.model.graph.Coord2D in project sexytopo by richsmith.
the class ConnectedSurveysTest method testConnectedSurveyGetsTranslatedCorrectly.
@Test
public void testConnectedSurveyGetsTranslatedCorrectly() throws Exception {
Survey currentSurvey = getBasicSurvey("current");
Survey joinedSurvey = getBasicSurvey("joined");
connectTwoSurveys(currentSurvey, currentSurvey.getActiveStation(), joinedSurvey, joinedSurvey.getOrigin());
GraphActivity activity = new PlanActivity();
Space<Coord2D> planProjection = SpaceFlipper.flipVertically(Projection2D.PLAN.project(currentSurvey));
Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys(activity, currentSurvey, planProjection);
Assert.assertEquals(translated.size(), 1);
Survey translatedSurvey = getNamedSurvey(translated, "joined");
Space<Coord2D> projection = translated.get(translatedSurvey);
Coord2D newStationPoint = getStationPosition(projection, "2");
Assert.assertEquals(-2.0, newStationPoint.getY(), SexyTopo.ALLOWED_DOUBLE_DELTA_FOR_TESTS);
}
use of org.hwyl.sexytopo.model.graph.Coord2D in project sexytopo by richsmith.
the class ConnectedSurveysTest method testNoConnectedSurveysReturnNoUpdatedSurveys.
@Test
public void testNoConnectedSurveysReturnNoUpdatedSurveys() {
Survey currentSurvey = getBasicSurvey("not-connected");
Sketch fakeSketch = new Sketch();
when(mockActivity.getSketch(currentSurvey)).thenReturn(fakeSketch);
Map<Survey, Space<Coord2D>> translated = ConnectedSurveys.getTranslatedConnectedSurveys(mockActivity, currentSurvey, new Space<Coord2D>());
Assert.assertEquals(translated.size(), 0);
}
use of org.hwyl.sexytopo.model.graph.Coord2D in project sexytopo by richsmith.
the class XviImporterTest method testParseSketchEntryParsesSecondEntry.
@Test
public void testParseSketchEntryParsesSecondEntry() throws Exception {
String simpleText = "blue 0 0 1 0";
PathDetail pathDetail = XviImporter.parseSketchEntry(1, simpleText);
Assert.assertEquals(new Coord2D(1, 0), pathDetail.getPath().get(1));
Assert.assertEquals(2, pathDetail.getPath().size());
}
Aggregations