diff --git a/build.gradle b/build.gradle index f1655e0..48fb34e 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'jarhead' -version '1.4.4' +version '1.6.0' repositories { diff --git a/src/main/java/jarhead/DrawPanel.java b/src/main/java/jarhead/DrawPanel.java index eb7643e..6166d45 100644 --- a/src/main/java/jarhead/DrawPanel.java +++ b/src/main/java/jarhead/DrawPanel.java @@ -300,7 +300,7 @@ public void paintComponent (Graphics g){ long renderStart = System.currentTimeMillis(); if(trajectory != null) { // renderRobotPath((Graphics2D) g, trajectory, lightPurple, 0.5f); - render.renderRobotPath((Graphics2D) g, ActionEntityKt.actionTimeline(trajectory).getSecond(), lightPurple, 0.5f, this.getWidth(), this.getHeight()); +// render.renderRobotPath((Graphics2D) g, ActionEntityKt.actionTimeline(trajectory).getSecond(), lightPurple, 0.5f, this.getWidth(), this.getHeight()); render.renderSplines((Graphics2D) g, ActionEntityKt.actionTimeline(trajectory).getSecond(), cyan, 5, main.scale); // renderPoints(g, trajectory, cyan, 1); } @@ -416,6 +416,16 @@ private void mPressed(MouseEvent e) { double total = 0; List markers = getCurrentManager().getMarkers(); + +// if(trajectory != null){ +// if(trajectory instanceof TrajectoryAction){ +// TimeTrajectory traj = ((TrajectoryAction) trajectory).getT(); +// CompositePosePath paths = (CompositePosePath) traj.path; +// for (PosePath path : paths.paths) { +// Pose2dDual mid = path.get(path.length() / 2, 0); +// + + // for (int i = 0; i < trajectory.size(); i++) { // SequenceSegment segment = trajectory.get(i); // if (segment == null) continue; diff --git a/src/main/java/jarhead/Render.kt b/src/main/java/jarhead/Render.kt index ea3a885..8c5d903 100644 --- a/src/main/java/jarhead/Render.kt +++ b/src/main/java/jarhead/Render.kt @@ -127,15 +127,20 @@ class Render { } val poses = displacements.map { action.t.path[it, 1].value() } +// get the first pose + val coord = poses[0].position + trajectoryDrawnPath.moveTo(coord.x*scale, coord.y*scale) + +// get the mid point + val midPoint = poses[displacementSamples/2].position + g.drawOval( + (midPoint.x*scale).toInt() - ovalScale / 2, + (midPoint.y*scale).toInt() - ovalScale / 2, + ovalScale, ovalScale) for (pose in poses.drop(1)) { val coord = pose.position - if (first) { - trajectoryDrawnPath.moveTo(coord.x*scale, coord.y*scale) - first = false - } else { - trajectoryDrawnPath.lineTo(coord.x*scale, coord.y*scale) - } + trajectoryDrawnPath.lineTo(coord.x*scale, coord.y*scale) } } // is TurnAction -> {