/** * Reads a single sensorvalue. Called by readSensorGroup * * @param x read at this x-position * @param y read at this y-position * @param z read at this z-position * @return SensorValue The read SensorValue */ public SensorValue readSingleSensor(float x, float y, float z, double angle) { // Send Position to robot robotGoTo(new Point3Dim(x, y, z), angle); SensorValue s = null; // Wait for response from robot, time out if no response if (!waitForResponse()) { return null; } s = readValueParser(); System.out.println("Read value: " + s.getValue()); inData = null; // reset indata after having read it return s; }
/** * Draws a sphere * * @param sensVal the sensorvalue to be represented in the GraphicsPane */ public void drawSphere(SensorValue sensVal) { Appearance ap = new Appearance(); ap.setTransparencyAttributes( new TransparencyAttributes(TransparencyAttributes.NICEST, transparency)); float a = sensVal.getValue(); ColoringAttributes color = new ColoringAttributes(new Color3f(a / 255, 0.0f, (1 - (a / 255))), 0); ap.setColoringAttributes(color); SensorRepresentation sphere = new SensorRepresentation(0.2f, 100, ap, sensVal); sensorRepList.add(sphere); TransformGroup transformGrp = new TransformGroup(); Transform3D transform = new Transform3D(); transform.setTranslation(new Vector3f(sensVal.getX(), sensVal.getY(), sensVal.getZ())); transformGrp.setTransform(transform); transformGrp.addChild(sphere); this.addChild(transformGrp); }