/** * Applies a translation to a given transform object. * @param t3d the transform object to translate * @param transVec the vector that describes the translation */ public static void translate(Transform3D t3d, Vector3d transVec) { Transform3D translationT3d = new Transform3D(); translationT3d.setTranslation(transVec); t3d.mul(translationT3d); }
public void setPosition (Vector3D pos) { Transform3D t = getTransform(); t.setTranslation(createVector3f(pos)); setTransform(t); }
public void setPosition (Vector3D pos) { Transform3D t = getTransform(); t.setTranslation(createVector3f(pos)); setTransform(t); }
userMatrix.setTranslation( new Vector3d( xTranslation, yTranslation, zTranslation ) ); if ( flipYZ ) { double[] d = new double[] { 1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1 };
public void move (Vector3D move) { Transform3D t = getTransform(); Vector3f r = new Vector3f(); t.get(r); r.add(createVector3f(move)); t.setTranslation(r); setTransform(t); }
public void move (Vector3D move) { Transform3D t = getTransform(); Vector3f r = new Vector3f(); t.get(r); r.add(createVector3f(move)); t.setTranslation(r); setTransform(t); }
public void setOrientation (Vector3D angles) { if (Math.abs(angles.y) == 90) System.err.println("Gimbal lock when the y-angle is vertical!"); Transform3D t = getTransform(); Vector3D radians = angles.times(Math.PI / 180.); Transform3D t1 = new Transform3D(); t1.setEuler(createVector3d(radians)); Vector3d r = new Vector3d(); t.get(r); t1.setTranslation(r); t1.setScale(t.getScale()); setTransform(t1); }
public void setOrientation (Vector3D angles) { if (Math.abs(angles.y) == 90) System.err.println("Gimbal lock when the y-angle is vertical!"); Transform3D t = getTransform(); Vector3D radians = angles.times(Math.PI / 180.); Transform3D t1 = new Transform3D(); t1.setEuler(createVector3d(radians)); Vector3d r = new Vector3d(); t.get(r); t1.setTranslation(r); t1.setScale(t.getScale()); setTransform(t1); }
private void translate(float x, float y, float z) { Set<Node> alreadyConverted = new HashSet<Node>(); Transform3D t3d = new Transform3D(); t3d.setScale(scale); t3d.setTranslation(new Vector3f(x, y, z)); for (Triangle t : getGeometry()) { if (!alreadyConverted.contains(t.getNodeOne())) { t3d.transform(t.getNodeOne().getLocation()); alreadyConverted.add(t.getNodeOne()); } if (!alreadyConverted.contains(t.getNodeTwo())) { t3d.transform(t.getNodeTwo().getLocation()); alreadyConverted.add(t.getNodeTwo()); } if (!alreadyConverted.contains(t.getNodeThree())) { t3d.transform(t.getNodeThree().getLocation()); alreadyConverted.add(t.getNodeThree()); } } } }
public EdgeGroup(E edge, Node shape) { this.edge = edge; this.shape = shape; setCapability(TransformGroup.ENABLE_PICK_REPORTING); // Cylinder cylinder = new Cylinder(radius, 1, // Cylinder.GENERATE_NORMALS | // Cylinder.GENERATE_TEXTURE_COORDS | // Cylinder.ENABLE_GEOMETRY_PICKING, // 26, 26, look); Transform3D t = new Transform3D(); t.setTranslation(new Vector3f(0.f, .5f, 0.f)); TransformGroup group = new TransformGroup(t); group.addChild(shape); addChild(group); }
public void setTranslationZ(final float _echelle) { final Transform3D t3d = new Transform3D(); final Transform3D t3d2 = new Transform3D(); tg_.getTransform(t3d); final Vector3d v = new Vector3d(0, 0, _echelle /* / ParametresVolumes.ECHELLE */); t3d2.setTranslation(v); t3d2.mul(t3d); tg_.setTransform(t3d2); calculeBBox(); }
public void setTranslationX(final float _echelle) { final Transform3D t3d = new Transform3D(); final Transform3D t3d2 = new Transform3D(); tg_.getTransform(t3d); final Vector3d v = new Vector3d(_echelle /* / ParametresVolumes.ECHELLE */, 0, 0); t3d2.setTranslation(v); t3d2.mul(t3d); tg_.setTransform(t3d2); calculeBBox(); }
public void setTranslationY(final float _echelle) { final Transform3D t3d2 = new Transform3D(); final Transform3D t3d = new Transform3D(); tg_.getTransform(t3d); final Vector3d v = new Vector3d(0, _echelle /* / ParametresVolumes.ECHELLE */, 0); t3d2.setTranslation(v); t3d2.mul(t3d); tg_.setTransform(t3d2); calculeBBox(); }
protected void updateEchelle(final double _newEchelle) { if (_newEchelle == echelle_) { return; } final GrBoite boite = getBoite(); final Transform3D t3d = new Transform3D(); transformU_.getTransform(t3d); final Vector3d trans = new Vector3d(); t3d.get(trans); final double deltaInit = trans.z - boite.o_.z_ * echelle_; trans.z = boite.o_.z_ * _newEchelle + deltaInit; t3d.setTranslation(trans); transformU_.setTransform(t3d); for (final Enumeration en = lumieres_.getAllChildren(); en.hasMoreElements();) { final Object obj = en.nextElement(); if (obj instanceof BLumiereDirectionnelle) { final BLumiereDirectionnelle calque = (BLumiereDirectionnelle) obj; final BoundingSphere b = calque.getLightBounds(); final Point3d center = new Point3d(); b.getCenter(center); center.z = boite.e_.z_ * _newEchelle; b.setCenter(center); } } echelle_ = _newEchelle; // init(); // getCurrentCamera().set(t3d); }
/** * Draws a 3D text object at (x, y, z) with Euler rotation angles (xA, yA, zA). * Uses the pen font, color, and transparency. */ public static Shape text3D (double x, double y, double z, String text, double xA, double yA, double zA) { Line2D.Double line = new Line2D.Double(0, 0, TEXT3D_DEPTH, 0); FontExtrusion extrudePath = new FontExtrusion(line); Font3D font3D = new Font3D(font, extrudePath); Point3d pos = new Point3d(x, y, z); javax.media.j3d.Text3D t = new javax.media.j3d.Text3D(font3D, text, createPoint3f(x, y, z)); // FIX THIS TO NOT HAVE SCALE INCLUDED Transform3D shrinker = new Transform3D(); shrinker.setEuler(new Vector3d(xA, yA, zA)); shrinker.setTranslation(new Vector3d(x, y, z)); shrinker.setScale(TEXT3D_SHRINK_FACTOR); Shape3D shape = createShape3D((Geometry)t); return shape(shape, true, shrinker, false); }
/** * Draws a 3D text object at (x, y, z) with Euler rotation angles (xA, yA, zA). * Uses the pen font, color, and transparency. */ public static Shape text3D (double x, double y, double z, String text, double xA, double yA, double zA) { Line2D.Double line = new Line2D.Double(0, 0, TEXT3D_DEPTH, 0); FontExtrusion extrudePath = new FontExtrusion(line); Font3D font3D = new Font3D(font, extrudePath); Point3d pos = new Point3d(x, y, z); javax.media.j3d.Text3D t = new javax.media.j3d.Text3D(font3D, text, createPoint3f(x, y, z)); // FIX THIS TO NOT HAVE SCALE INCLUDED Transform3D shrinker = new Transform3D(); shrinker.setEuler(new Vector3d(xA, yA, zA)); shrinker.setTranslation(new Vector3d(x, y, z)); shrinker.setScale(TEXT3D_SHRINK_FACTOR); Shape3D shape = createShape3D((Geometry)t); return shape(shape, true, shrinker, false); }
public void stateChanged(ChangeEvent e) { for(V v : vertexMap.keySet()) { Point3f p = VisualizationViewer.this.layout.transform(v); Vector3f pv = new Vector3f(p.getX(), p.getY(), p.getZ()); Transform3D tx = new Transform3D(); tx.setTranslation(pv); vertexMap.get(v).setTransform(tx); } for(E edge : graph.getEdges()) { Pair<V> endpoints = graph.getEndpoints(edge); V start = endpoints.getFirst(); V end = endpoints.getSecond(); EdgeGroup eg = edgeMap.get(edge); eg.setEndpoints(layout.transform(start), layout.transform(end)); } }});
p0tx.setTranslation(new Vector3f(p0.getX(),p0.getY(),p0.getZ())); tx.setTranslation(new Vector3f(p0.getX(),p0.getY(),p0.getZ()));
/** * Draws a Java 3D Primitive object at (x, y, z) with axial rotations (xA, yA, zA). */ private static Shape primitive (Primitive shape, double x, double y, double z, Vector3d angles, Vector3d scales) { shape.setCapability(Primitive.ENABLE_APPEARANCE_MODIFY); shape.setPickable(false); shape.setCollidable(false); TransformGroup tgScale = createTransformGroup(); Transform3D scaleTransform = new Transform3D(); if (scales != null) scaleTransform.setScale(scales); tgScale.setTransform(scaleTransform); tgScale.addChild(shape); TransformGroup tgShape = createTransformGroup(); Transform3D transform = new Transform3D(); if (angles != null) { angles.scale(Math.PI / 180); transform.setEuler( angles); } Vector3f vector = createVector3f(x, y, z); transform.setTranslation(vector); tgShape.setTransform(transform); tgShape.addChild(tgScale); BranchGroup bg = createBranchGroup(); bg.addChild(tgShape); offscreenGroup.addChild(bg); return new Shape(bg, tgShape); }
/** * Draws a Java 3D Primitive object at (x, y, z) with axial rotations (xA, yA, zA). */ private static Shape primitive (Primitive shape, double x, double y, double z, Vector3d angles, Vector3d scales) { shape.setCapability(Primitive.ENABLE_APPEARANCE_MODIFY); shape.setPickable(false); shape.setCollidable(false); TransformGroup tgScale = createTransformGroup(); Transform3D scaleTransform = new Transform3D(); if (scales != null) scaleTransform.setScale(scales); tgScale.setTransform(scaleTransform); tgScale.addChild(shape); TransformGroup tgShape = createTransformGroup(); Transform3D transform = new Transform3D(); if (angles != null) { angles.scale(Math.PI / 180); transform.setEuler( angles); } Vector3f vector = createVector3f(x, y, z); transform.setTranslation(vector); tgShape.setTransform(transform); tgShape.addChild(tgScale); BranchGroup bg = createBranchGroup(); bg.addChild(tgShape); offscreenGroup.addChild(bg); return new Shape(bg, tgShape); }