private YoArtifactLineSegment2d(String name, DoubleYoVariable startX, DoubleYoVariable startY, DoubleYoVariable endX, DoubleYoVariable endY, Color color, double arrowHeadWidth, double arrowHeadHeight) { this(name, new YoFrameLineSegment2d(startX, startY, endX, endY, ReferenceFrame.getWorldFrame()), color, arrowHeadWidth, arrowHeadHeight); }
public boolean areEndpointsTheSame() { return LineSegment2d.areEndpointsTheSame(getFirstEndpointX(), getFirstEndpointY(), getSecondEndpointX(), getSecondEndpointY()); }
public YoArtifactLineSegment2d(String name, YoFrameLineSegment2d lineSegment, Color color) { super(name, new double[0], color, lineSegment.getYoFirstEndpointX(), lineSegment.getYoFirstEndpointY(), lineSegment.getYoSecondEndpointX(), lineSegment.getYoSecondEndpointY()); this.lineSegment = lineSegment; this.drawArrow = false; }
graphics.setStroke(STROKE); if (lineSegment.areEndpointsTheSame()) tempFirstEndpoint.set(lineSegment.getFirstEndpointX(), lineSegment.getFirstEndpointY()); graphics.drawPoint(tempFirstEndpoint); lineSegment.getFrameLineSegment2d().get(tempLineSegment); graphics.drawLineSegment(tempLineSegment); arrowHeadVector.set(lineSegment.getSecondEndpointX() - lineSegment.getFirstEndpointX(), lineSegment.getSecondEndpointY() - lineSegment.getFirstEndpointY()); arrowHeadVector.normalize(); arrowHeadLateralVector.set(arrowHeadVector.getY(), -arrowHeadVector.getX()); arrowHeadLateralVector.scale(arrowHeadWidth / 2.0); tempArrowPolygon.getVertex(0).set(lineSegment.getSecondEndpointX(), lineSegment.getSecondEndpointY()); tempArrowPolygon.getVertex(1).set(lineSegment.getSecondEndpointX(), lineSegment.getSecondEndpointY()); tempArrowPolygon.getVertex(1).sub(arrowHeadVector); tempArrowPolygon.getVertex(1).sub(arrowHeadLateralVector); tempArrowPolygon.getVertex(2).set(lineSegment.getSecondEndpointX(), lineSegment.getSecondEndpointY()); tempArrowPolygon.getVertex(2).sub(arrowHeadVector); tempArrowPolygon.getVertex(2).add(arrowHeadLateralVector);
public boolean containsNaN() { return Double.isNaN(getFirstEndpointX()) || Double.isNaN(getFirstEndpointY()) || Double.isNaN(getSecondEndpointX()) || Double.isNaN(getSecondEndpointY()); }
public YoArtifactLineSegment2d(String name, YoFrameLineSegment2d lineSegment, Color color, double arrowHeadWidth, double arrowHeadHeight) { super(name, new double[0], color, lineSegment.getYoFirstEndpointX(), lineSegment.getYoFirstEndpointY(), lineSegment.getYoSecondEndpointX(), lineSegment.getYoSecondEndpointY()); this.lineSegment = lineSegment; this.drawArrow = true; instatiateArrowObjects(arrowHeadWidth, arrowHeadHeight); }
@Override public Artifact createArtifact() { Color3f color3f = appearance.getColor(); return new YoArtifactLineSegment2d(getName(), new YoFrameLineSegment2d(baseX, baseY, x, y, ReferenceFrame.getWorldFrame()), new Color(color3f.getX(), color3f.getY(), color3f.getZ())); }
public SimpleDesiredHeadingControlModuleVisualizer(ProcessedSensorsInterface processedSensors, YoVariableRegistry registry, YoGraphicsListRegistry yoGraphicsListRegistry) { this.processedSensors = processedSensors; desiredHeadingLine = new YoFrameLineSegment2d("desiredHeadingLine", "", ReferenceFrame.getWorldFrame(), registry); finalHeadingLine = new YoFrameLineSegment2d("finalHeadingLine", "", ReferenceFrame.getWorldFrame(), registry); if (yoGraphicsListRegistry != null) { ArtifactList artifactList = new ArtifactList("Simple Desired Heading"); YoArtifactLineSegment2d yoFrameLineSegment2dArtifact = new YoArtifactLineSegment2d("Desired Heading Line", desiredHeadingLine, Color.MAGENTA); artifactList.add(yoFrameLineSegment2dArtifact); yoFrameLineSegment2dArtifact = new YoArtifactLineSegment2d("Final Heading Line", finalHeadingLine, Color.ORANGE); artifactList.add(yoFrameLineSegment2dArtifact); yoGraphicsListRegistry.registerArtifactList(artifactList); } }
public YoArtifactLineSegment2d(String name, YoFramePoint2d start, YoFramePoint2d end, Color color) { this(name, new YoFrameLineSegment2d(start.getYoX(), start.getYoY(), end.getYoX(), end.getYoY(), ReferenceFrame.getWorldFrame()), color); }
YoFrameLineSegment2d segment = new YoFrameLineSegment2d((DoubleYoVariable) vars[0], (DoubleYoVariable) vars[1], (DoubleYoVariable) vars[2], (DoubleYoVariable) vars[3], ReferenceFrame.getWorldFrame());
yoLineOfRotation = new YoFrameLineSegment2d(caption, "", "", worldFrame, registry); YoArtifactLineSegment2d lineOfRotationArtifact = new YoArtifactLineSegment2d(caption, yoLineOfRotation, Color.GREEN, 0.01, 0.01);
yoCoRVelocityAlphaFilter, dt, registry, yoCoRPositionFiltered); yoLineOfRotation = new YoFrameLineSegment2d(namePrefix + "LoRPosition", "", generalDescription, worldFrame, registry); yoAngleOfLoR = new DoubleYoVariable(namePrefix + "AngleOfLoR", generalDescription, registry); yoLoRAngularVelocityAlphaFilter = new DoubleYoVariable(namePrefix + "LoRAngularVelocityAlphaFilter", generalDescription, registry);