List of usage examples for javax.media.j3d Text3D setAlignment
public void setAlignment(int alignment)
From source file:Text3DApp.java
public BranchGroup createSceneGraph() { // Create the root of the branch graph BranchGroup objRoot = new BranchGroup(); Transform3D t3D = new Transform3D(); t3D.setTranslation(new Vector3f(0.0f, 0.0f, -3.0f)); TransformGroup objMove = new TransformGroup(t3D); objRoot.addChild(objMove);//from www. j a v a 2s . c o m // Create the transform group node and initialize it to the // identity. Add it to the root of the subgraph. TransformGroup objSpin = new TransformGroup(); objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); objMove.addChild(objSpin); Appearance textAppear = new Appearance(); ColoringAttributes textColor = new ColoringAttributes(); textColor.setColor(1.0f, 0.0f, 0.0f); textAppear.setColoringAttributes(textColor); textAppear.setMaterial(new Material()); // Create a simple shape leaf node, add it to the scene graph. Font3D font3D = new Font3D(new Font("Helvetica", Font.PLAIN, 1), new FontExtrusion()); Text3D textGeom = new Text3D(font3D, new String("3DText")); textGeom.setAlignment(Text3D.ALIGN_CENTER); Shape3D textShape = new Shape3D(); textShape.setGeometry(textGeom); textShape.setAppearance(textAppear); objSpin.addChild(textShape); // Create a new Behavior object that will perform the desired // operation on the specified transform object and add it into // the scene graph. Alpha rotationAlpha = new Alpha(-1, 10000); RotationInterpolator rotator = new RotationInterpolator(rotationAlpha, objSpin); // a bounding sphere specifies a region a behavior is active // create a sphere centered at the origin with radius of 100 BoundingSphere bounds = new BoundingSphere(); rotator.setSchedulingBounds(bounds); objSpin.addChild(rotator); DirectionalLight lightD = new DirectionalLight(); lightD.setInfluencingBounds(bounds); lightD.setDirection(new Vector3f(0.0f, 0.0f, -1.0f)); lightD.setColor(new Color3f(1.0f, 0.0f, 1.0f)); objMove.addChild(lightD); AmbientLight lightA = new AmbientLight(); lightA.setInfluencingBounds(bounds); objMove.addChild(lightA); return objRoot; }
From source file:ExText.java
public void checkboxChanged(CheckboxMenu menu, int check) { if (menu == fontMenu) { // Change the 2D font used to build a 3D font currentFont = check;/* w w w .j a v a 2 s . c o m*/ String fontName = (String) fonts[currentFont].name; Font font = (Font) fonts[currentFont].value; Font3D font3d = new Font3D(font, extrusion); Text3D tex = new Text3D(); tex.setFont3D(font3d); tex.setString(fontName); tex.setAlignment(Text3D.ALIGN_CENTER); scene.removeChild(0); shape.setGeometry(tex); scene.addChild(textGroup); if (debug) System.err.println("Font set to " + fontName); return; } // Handle all other checkboxes super.checkboxChanged(menu, check); }
From source file:ExText.java
public Group buildScene() { // Get the current font attributes Font font = (Font) fonts[currentFont].value; String textString = (String) fonts[currentFont].name; // Turn on the example headlight setHeadlightEnable(true);/*from ww w . j a v a2 s . c om*/ // Build the scene group scene = new Group(); scene.setCapability(Group.ALLOW_CHILDREN_EXTEND); scene.setCapability(Group.ALLOW_CHILDREN_WRITE); // Build a branch group to hold the text shape // (this allows us to remove the text shape later, // change it, then put it back, all under menu control) textGroup = new BranchGroup(); textGroup.setCapability(BranchGroup.ALLOW_DETACH); scene.addChild(textGroup); // BEGIN EXAMPLE TOPIC // Create a font extrusion with a default extrusion shape extrusion = new FontExtrusion(); // Define a 3D font with a default extrusion path Font3D font3d = new Font3D(font, extrusion); // Build 3D text geometry using the 3D font Text3D tex = new Text3D(); tex.setFont3D(font3d); tex.setString(textString); tex.setAlignment(Text3D.ALIGN_CENTER); // Define a generic shaded appearance Appearance app = new Appearance(); Material mat = new Material(); mat.setLightingEnable(true); app.setMaterial(mat); // Assemble geometry and appearance into a shape // and add it to the scene shape = new Shape3D(tex, app); shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); textGroup.addChild(shape); // END EXAMPLE TOPIC return scene; }