Attaching a scenegraph to a branchgroup

Hi,
I've taken a program to create scenegraph from a wrml file (cybervrml97).
That works fine. But what I want to do now is to "connect" this scenegraph
to a J3D hierarchy that I've created by myself: branchgroup, transformgroups...
Do you think I can make this connection by the mean of a branchgroup or transformgroup ?
The scenegraph I've mentionned is displaved directly through a canvas.
Any Idea ?
Spytox

Go into photos, into the folder you want the picture from, then tap on edit in the top right, then tap on each photo you want to email, and tap share at the bottom, then choose email.

Similar Messages

  • Java3D behavior - please help

    Does anybody know how I can make a java3d behavior that can modify 2 branchgroups from different scenegraphs, for example the ViewPlatform branchgroup, and the branchgroup of an object in the scenegraph????????
    thanks

    or maybe a more appropriate question would be:
    How can I read a branchgroup node from a behavior that is not attached to the same scenegraph as the branchgroup node I want to read????

  • Capability Not Set Exception

    Hi i was just wondering could anybody help me with my first Java 3d program, The program runs but it throws a capability not set exception even though I have set them in the program!!!!
    I include the program below, the error is as follows:
    Exception occurred during Behavior execution:
    javax.media.j3d.CapabilityNotSetException: Group: no capability to set transform
    at javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:115)
    at javax.media.j3d.TransformInterpolator.processStimulus(TransformInterp
    olator.java:156)
    at javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:172)
    at javax.media.j3d.J3dThread.run(J3dThread.java:250)
    Exception occurred during Behavior execution:
    javax.media.j3d.CapabilityNotSetException: Group: no capability to set transform
    at javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:115)
    at javax.media.j3d.TransformInterpolator.processStimulus(TransformInterp
    olator.java:156)
    at javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:172)
    at javax.media.j3d.J3dThread.run(J3dThread.java:250)
    Exception occurred during Behavior execution:
    javax.media.j3d.CapabilityNotSetException: Group: no capability to set transform
    at javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:115)
    at javax.media.j3d.TransformInterpolator.processStimulus(TransformInterp
    olator.java:156)
    at javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:172)
    at javax.media.j3d.J3dThread.run(J3dThread.java:250)
    Exception occurred during Behavior execution:
    javax.media.j3d.CapabilityNotSetException: Group: no capability to set transform
    at javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:115)
    at javax.media.j3d.TransformInterpolator.processStimulus(TransformInterp
    olator.java:156)
    at javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:172)
    at javax.media.j3d.J3dThread.run(J3dThread.java:250)
    The program is here:
    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.event.*;
    import java.awt.GraphicsConfiguration;
    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.geometry.ColorCube;
    import com.sun.j3d.utils.universe.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import com.sun.j3d.utils.geometry.*;
    import com.sun.j3d.utils.universe.*;
    import com.sun.j3d.utils.image.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import java.awt.Container;
    import java.io.Serializable;
    public class HelloUniverse extends Applet
         private SimpleUniverse u = null;
         public BranchGroup createSceneGraph()
                                                      Declarations
              BranchGroup objRoot = new BranchGroup();
              BoundingSphere bounds = new BoundingSphere(new Point3d (0.0, 0.0, 0.0), 100.0);
              Point3f attenuation = new Point3f(-6.0f,-6.0f,-6.0f);
              Vector3f light1Direction = new Vector3f(0.0f, 0.0f, 0.0f);
              Point3f position = new Point3f(6.0f,6.0f,6.0f);
              Color3f light1Color = new Color3f(1.0f, 1.f, 1.f);          
              Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
              Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
              TextureAttributes texAttributes = new TextureAttributes();
              int primflags = Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;
                                                      Background
              TextureLoader backgroundTexture = new TextureLoader("stars.jpg", this);
              Background background = new Background(backgroundTexture.getImage());
              background.setApplicationBounds(bounds);
              objRoot.addChild(background);
                                                      Earth
              TextureLoader earthTexture = new TextureLoader("earth.jpg", this);
              Texture earthTex = earthTexture.getTexture();
              Appearance appEarth = new Appearance();          
              appEarth.setTextureAttributes(texAttributes);
              appEarth.setTexture(earthTex);
              appEarth.setMaterial(new Material(white, black, white, black, 128.0f));          
              Sphere earth = new Sphere(0.13f, primflags, 80,appEarth);
              TransformGroup objTransEarth = new TransformGroup();     
              objTransEarth.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
              objTransEarth.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
              Transform3D transformEarth = new Transform3D();
              Vector3f vectorEarth = new Vector3f(0.0f, 0.0f, 0.86f);
              transformEarth.set(vectorEarth);
              TransformGroup earthT = new TransformGroup(transformEarth);
              objTransEarth.addChild(earthT);          
              earthT.addChild(earth);          
              objRoot.addChild(objTransEarth);
                                                      Sun
              TextureLoader sunTexture = new TextureLoader("sun.jpg", this);
              Texture sunTex = sunTexture.getTexture();
              Appearance appSun = new Appearance();
              texAttributes.setTextureMode(TextureAttributes.MODULATE);
              appSun.setTextureAttributes(texAttributes);
              appSun.setTexture(sunTex);
              //appSun.setMaterial(new Material(white, black, white, black, 128.0f));
              Sphere sun = new Sphere(0.2f, primflags, 80, appSun);
              TransformGroup objTransSun = new TransformGroup();
              objTransSun.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
              objTransSun.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
              Transform3D transformSun = new Transform3D();
              Vector3f vectorSun = new Vector3f(0.0f, 0.0f, 0.0f);
              transformSun.set(vectorSun);
              TransformGroup sunT = new TransformGroup(transformSun);
              objTransSun.addChild(sunT);          
              sunT.addChild(sun);
              objRoot.addChild(objTransSun);
                                                      Moon
              TextureLoader moonTexture = new TextureLoader("moon.jpg", this);          
              Texture moonTex= moonTexture.getTexture();          
              Appearance appMoon = new Appearance();     
              texAttributes.setTextureMode(TextureAttributes.MODULATE);
              appMoon.setTextureAttributes(texAttributes);          
              appMoon.setTexture(moonTex);               
              appMoon.setMaterial(new Material(white, black, white, black, 128.0f));          
              Sphere moon = new Sphere(0.06f, primflags, 80, appMoon);          
              TransformGroup objTransMoon = new TransformGroup();          
              objTransMoon.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);     
              objTransMoon.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
              Transform3D transformMoon = new Transform3D();
              Vector3f vectorMoon = new Vector3f(0.15f, 0.2f, 0.2f);
              transformMoon.set(vectorMoon);
              TransformGroup moonT = new TransformGroup(transformMoon);     
              objTransMoon.addChild(moonT);               
              moonT.addChild(moon);          
              objRoot.addChild(objTransMoon);
                                                      Saturn
              Material shine = new Material();          
              shine.setShininess(128.0f);     
              TextureLoader saturnTexture = new TextureLoader("saturn.jpg", this);          
              Texture saturnTex= saturnTexture.getTexture();          
              Appearance appSaturn = new Appearance();     
              texAttributes.setTextureMode(TextureAttributes.MODULATE);
              appSaturn.setTextureAttributes(texAttributes);          
              appSaturn.setTexture(saturnTex);                    
              appSaturn.setMaterial(new Material(white, black, white, black, 128.0f));
              Sphere saturn = new Sphere(0.1f,primflags, 80, appSaturn);
              TransformGroup objTransSaturn = new TransformGroup();     
              objTransSaturn.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
              objTransSaturn.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
              Transform3D transformSaturn = new Transform3D();
              Vector3f vectorSaturn= new Vector3f(0.0f, 0.5f, 1.0f);
              transformSaturn.set(vectorSaturn);
              TransformGroup saturnT = new TransformGroup(transformSaturn);
              objTransSaturn.addChild(saturnT);          
              saturnT.addChild(saturn);               
              appSaturn.setMaterial(shine);     
              objRoot.addChild(objTransSaturn);
                                                      Neptune
              TextureLoader neptuneTexture = new TextureLoader("neptune.jpg", this);          
              Texture neptuneTex= neptuneTexture.getTexture();          
              Appearance appNeptune = new Appearance();     
              texAttributes.setTextureMode(TextureAttributes.MODULATE);
              appNeptune.setTextureAttributes(texAttributes);          
              appNeptune.setTexture(neptuneTex);                    
              appNeptune.setMaterial(new Material(white, black, white, black, 128.0f));
              Sphere neptune = new Sphere(0.1f,primflags, 80, appNeptune);
              TransformGroup objTransNeptune = new TransformGroup();     
              objTransNeptune.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
              objTransNeptune.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
              Transform3D transformNeptune = new Transform3D();
              Vector3f vectorNeptune= new Vector3f(1.0f, 0.0f, 0.86f);
              transformNeptune.set(vectorNeptune);
              TransformGroup neptuneT = new TransformGroup(transformNeptune);          
              objTransNeptune.addChild(neptuneT);          
              neptuneT.addChild(neptune);               
              appNeptune.setMaterial(shine);
              objRoot.addChild(objTransNeptune);
                                                      Lights
              PointLight light1 = new PointLight();
              light1.setEnable(true);
              light1.setColor(light1Color);
              light1.setPosition(position);
              light1.setAttenuation(attenuation);
              light1.setInfluencingBounds(bounds);
              light1.setCapability(Light.ALLOW_STATE_WRITE);
              objRoot.addChild(light1);     
              /*PointLight light1 = new PointLight();
              TransformGroup objTransLight = new TransformGroup();     
              objTransLight.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
              light1.setEnable(true);
              light1.setColor(light1Color);
              light1.setPosition(position);
              light1.setAttenuation(attenuation);
              light1.setInfluencingBounds(bounds);
              objTransLight.addChild(light1);     
              objRoot.addChild(objTransLight);*/
                                                      Rotator Declarations
              Alpha rotationAlpha = new Alpha(-1, 6000);
              Alpha rotationSunAlpha = new Alpha(-1, 20000);
              Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,0, 0,1000, 0, 0, 0, 0, 0);
              Alpha rotor3Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,0, 0,4000, 0, 0, 0, 0, 0);
                                                      Earth Rotator
              Transform3D yAxisEarth = new Transform3D();     
              RotationInterpolator earthRotator = new RotationInterpolator(rotationAlpha, objTransEarth, yAxisEarth, 0.0f,(float) Math.PI*2.0f);
              earthRotator.setSchedulingBounds(bounds);
              objTransEarth.addChild(earthRotator);
              RotationInterpolator earthRotator2 = new RotationInterpolator(rotor2Alpha, earthT, yAxisEarth, 0.0f, 0.0f);
              earthRotator2.setSchedulingBounds(bounds);
              objTransEarth.addChild(earthRotator2);
                                                      Sun Rotator
              Transform3D yAxisSun = new Transform3D();     
              RotationInterpolator sunRotator = new RotationInterpolator(rotationSunAlpha, objTransSun, yAxisSun, 0.0f,(float) Math.PI*2.0f);
              sunRotator.setSchedulingBounds(bounds);
              objTransSun.addChild(sunRotator);
                                                      Moon Rotator
              Transform3D yAxisMoon = new Transform3D();          
              RotationInterpolator moonRotator = new RotationInterpolator(rotationAlpha, objTransMoon, yAxisMoon, 0.0f,(float) Math.PI*2.0f);          
              moonRotator.setSchedulingBounds(bounds);     
              objTransMoon.addChild(moonRotator);     
              RotationInterpolator moonRotator2 = new RotationInterpolator(rotor2Alpha, moonT, yAxisMoon, 0.0f, 0.0f);
              moonRotator2.setSchedulingBounds(bounds);
              objTransMoon.addChild(moonRotator2);
                                                      Saturn Rotator
              Transform3D yAxisSaturn = new Transform3D();     
              Transform3D yAxisSaturn2 = new Transform3D();
              yAxisSaturn.rotZ(-(Math.PI/2.0d));
              RotationInterpolator saturnRotator = new RotationInterpolator(rotor3Alpha,objTransSaturn, yAxisSaturn, 0.0f,(float) Math.PI*2.0f);
              saturnRotator.setSchedulingBounds(bounds);
              objTransSaturn.addChild(saturnRotator);
              RotationInterpolator saturnRotator2 = new RotationInterpolator(rotor2Alpha, saturnT, yAxisSaturn2, 0.0f, 0.0f);
              saturnRotator2.setSchedulingBounds(bounds);
              objTransSaturn.addChild(saturnRotator2);
                                                      Neptune Rotator
              Transform3D yAxisNeptune = new Transform3D();     
              Transform3D yAxisNeptune2 = new Transform3D();
              yAxisNeptune.rotZ((Math.PI*3.0d));
              RotationInterpolator neptuneRotator = new RotationInterpolator(rotor3Alpha,objTransNeptune, yAxisNeptune, 0.0f,(float) Math.PI*2.0f);
              neptuneRotator.setSchedulingBounds(bounds);
              objTransNeptune.addChild(neptuneRotator);
              RotationInterpolator neptuneRotator2 = new RotationInterpolator(rotor2Alpha, neptuneT, yAxisNeptune2, 0.0f, 0.0f);
              neptuneRotator2.setSchedulingBounds(bounds);
              objTransNeptune.addChild(neptuneRotator2);
                                                      Light Rotator
              /*Transform3D yAxisLight = new Transform3D();          
              RotationInterpolator lightRotator = new RotationInterpolator(rotationAlpha, objTransLight, yAxisLight, 0.0f,(float) Math.PI*2.0f);          
              lightRotator.setSchedulingBounds(bounds);     
              objTransLight.addChild(lightRotator);     
              RotationInterpolator lightRotator2 = new RotationInterpolator(rotor2Alpha, objTransLight, yAxisLight, 0.0f, 0.0f);
              lightRotator2.setSchedulingBounds(bounds);
              objTransLight.addChild(lightRotator2);*/
              objRoot.compile();
              return objRoot;
         public HelloUniverse()
         public void init()
              setLayout(new BorderLayout());
              GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
              Canvas3D c = new Canvas3D(config);
              add ("Center", c);
              // Creat simple scene and attach it to virtual universe
              BranchGroup scene = createSceneGraph();
              u = new SimpleUniverse(c);
              // Set ViewPlatform a bit back so objects in scene can be
              //viewed.
              u.getViewingPlatform().setNominalViewingTransform();
              u.addBranchGraph(scene);
         public void destroy()
              u.removeAllLocales();
         // Add main so it can be run as an application as well as an
         //applet
         public static void main(String args[])
              new MainFrame(new HelloUniverse(), 800, 700);
    }

    i]I honestly cant see why I get this error
    I know that feeling. I looked at your code ( but I`m very tired right now & maybe getting it wrong ) and found
    TransformGroup earthT = new TransformGroup(transformEarth);
    objTransEarth.addChild(earthT);
    earthT.addChild(earth);
    objRoot.addChild(objTransEarth);that doesn`t have its capabilities set, don`t know whether that helps.
    regards

  • Attaching a viewpoint to a mobile object (ctnd)

    I am trying to attach the user's viewpoint to a moving object in Java 3D. I failed until now to have my code working.
    Here is a piece of code that exhibits the problem. I used the HelloWorld3D that is in the Java 3D examples from Sun. I inserted an attachViewpoint() method where the vpTransform.addChild(path) line throws an exception: only a BranchGroup may be added. If this line is commented out, the program compiles and runs but I doesn't track the object.
    Do you have an idea to have this code working?
    Many thanks
    Pierre
    * @(#)HelloJava3Db.java 1.1 00/09/22 13:48
    * Copyright (c) 1996-2000 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.event.*;
    import java.awt.GraphicsConfiguration;
    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.geometry.ColorCube;
    import com.sun.j3d.utils.universe.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    // HelloJava3De attempts to track a translating cube
    public class HelloJava3De extends Applet {
    public SimpleUniverse simpleU;
    public BranchGroup createSceneGraph() {
    // Create the root of the branch graph
    BranchGroup objRoot = new BranchGroup();
    Transform3D translate = new Transform3D();
    TransformGroup objTranslate = new TransformGroup();
    objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    objRoot.addChild(objTranslate);
    objTranslate.addChild(new ColorCube(0.4));
    Alpha translationAlpha = new Alpha(-1, 4000);
    Transform3D translationAxis = new Transform3D();
    translationAxis.rotY(-Math.PI/2.0d);
    PositionInterpolator path = new PositionInterpolator(translationAlpha, objTranslate, translationAxis, 0.0f, -10.0f);
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
    path.setSchedulingBounds(bounds);
    objTranslate.addChild(path);
    // Let Java 3D perform optimizations on this scene graph.
    objRoot.compile();
    return objRoot;
    } // end of CreateSceneGraph method of HelloJava3De
    public boolean attachViewpoint() {
    Vector3f initialViewpoint = new Vector3f(0.0f, 0.0f, 6.0f);
    Transform3D translate = new Transform3D();
    translate.setTranslation(initialViewpoint);
    TransformGroup vpTransform = null;
    vpTransform = simpleU.getViewingPlatform().getViewPlatformTransform();
    vpTransform.setTransform(translate);
    Alpha translationAlpha = new Alpha(-1, 4000);
    Transform3D translationAxis = new Transform3D();
    translationAxis.rotY(-Math.PI/2.0d);
    PositionInterpolator path = new PositionInterpolator(translationAlpha, vpTransform, translationAxis, 0.0f, -10.0f);
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
    path.setSchedulingBounds(bounds);
    vpTransform.addChild(path);
    return true;
    // Create a simple scene and attach it to the virtual universe
    public HelloJava3De() {
    setLayout(new BorderLayout());
    GraphicsConfiguration config =
    SimpleUniverse.getPreferredConfiguration();
    Canvas3D canvas3D = new Canvas3D(config);
    add("Center", canvas3D);
    BranchGroup scene = createSceneGraph();
    // SimpleUniverse is a Convenience Utility class
    simpleU = new SimpleUniverse(canvas3D);
    simpleU.addBranchGraph(scene);
    attachViewpoint();
    } // end of HelloJava3De (constructor)
    // The following allows this to be run as an application
    // as well as an applet
    public static void main(String[] args) {
    Frame frame = new MainFrame(new HelloJava3De(), 256, 256);
    } // end of main (method of HelloJava3De)
    } // end of class HelloJava3De

    I finally found a way to attach a viewpoint to a moving object. I could not do it with the SimpleUniverse pre-defined class and I had to create a VirtualUniverse. May be, there is a workaround that I am not aware of...
    There are some other posts asking for this type of program and here is my code. I hope this will help.
    Pierre
    * @(#)HelloJava3Db.java 1.1 00/09/22 13:48
    * Copyright (c) 1996-2000 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.event.*;
    import java.awt.GraphicsConfiguration;
    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.geometry.ColorCube;
    import com.sun.j3d.utils.universe.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    // HelloJava3De tracks a translating cube
    public class HelloJava3De extends Applet {
    public VirtualUniverse virtualU;
    public Alpha translationAlpha;
    public BranchGroup createSceneGraph() {
         // Create the root of the branch graph
         BranchGroup objRoot = new BranchGroup();
         Transform3D translate = new Transform3D();
         TransformGroup objTranslate = new TransformGroup();
         objTranslate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
         objRoot.addChild(objTranslate);
         objTranslate.addChild(new ColorCube(0.4));
         Transform3D translationAxis = new Transform3D();
         translationAxis.rotY(-Math.PI/2.0d);
         PositionInterpolator path = new PositionInterpolator(translationAlpha, objTranslate, translationAxis, 0.0f, -10.0f);
         BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
         path.setSchedulingBounds(bounds);
         objTranslate.addChild(path);
         // Let Java 3D perform optimizations on this scene graph.
         objRoot.compile();
         return objRoot;
    } // end of CreateSceneGraph method of HelloJava3De
    public BranchGroup createViewpoint(Canvas3D canvas3D) {
         // Create the view, platform, and environment.
         //Should roughly correspond to a SimpleUniverse
         View myView = new View();
         ViewPlatform myViewPlatform = new ViewPlatform();
         TransformGroup viewGroup = new TransformGroup();
         myView.addCanvas3D(canvas3D);
         myView.setPhysicalBody(new PhysicalBody());
         myView.setPhysicalEnvironment(new PhysicalEnvironment());
         viewGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
         //viewGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
         //viewGroup.setCapability(TransformGroup.ALLOW_CHILDREN_EXTEND);
         viewGroup.addChild(myViewPlatform);
         myView.attachViewPlatform(myViewPlatform);
         BranchGroup bgView = new BranchGroup();
         bgView.addChild(viewGroup);
         // Create the interpolator
         Transform3D translationAxis = new Transform3D();
         translationAxis.rotY(-Math.PI/2.0d);
         PositionInterpolator path = new PositionInterpolator(translationAlpha, viewGroup, translationAxis, 2.0f, -8.0f);
         BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
         path.setSchedulingBounds(bounds);
         viewGroup.addChild(path);
         return bgView;
    // Create a simple scene and attach it to the virtual universe
    public HelloJava3De() {
    setLayout(new BorderLayout());
    GraphicsConfiguration config =
    SimpleUniverse.getPreferredConfiguration();
    Canvas3D canvas3D = new Canvas3D(config);
    add("Center", canvas3D);
         // Create the virtual universe
    virtualU = new VirtualUniverse();
         Locale myLocale = new Locale(virtualU);
         // Create the Alpha object
         translationAlpha = new Alpha(-1, 4000);
    BranchGroup scene = createSceneGraph();
         BranchGroup view = createViewpoint(canvas3D);
    myLocale.addBranchGraph(scene);     
         myLocale.addBranchGraph(view);
    } // end of HelloJava3De (constructor)
    // The following allows this to be run as an application
    // as well as an applet
    public static void main(String[] args) {
         Frame frame = new MainFrame(new HelloJava3De(), 256, 256);
    } // end of main (method of HelloJava3De)
    } // end of class HelloJava3De

  • How to change a Shape3D node's picked in the branchGroup loade by OBJ file

    Hi,all
    I need your help!
    I loaded a OBJ file to add the its branchgroup to the scenegraph,then,I registered the mouse listener for the canvas3D, each time the canvas3D received a mouse click, i will use the pickInfo to get the picked node,then ,change its properties,such as appearance,transform3D,etc.
    But now occurs the problems:I can pick the node,but it's just a Shape3D node,how can I change its Transform3D?
    I try to change its appreance by:
    Node node = closestRs.getNode();//the picked node
    Shape3D nodeShape = (Shape3D)node;
    nodeShape.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_WRITE);
    nodeShape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
    nodeShape.setCapability(Shape3D.ALLOW_PARENT_READ);
    Appearance app = new Appearance();
    ColoringAttributes ca = new ColoringAttributes();
    ca.setColor(new Color3f(0.8f,0.3f,0.2f));
    app.setColoringAttributes(ca);
    nodeShape.setAppearance(app);
    then,causes the following errors:
    Exception in thread "AWT-EventQueue-1" javax.media.j3d.RestrictedAccessException: Cannot modify capability bits on a live or compiled object
    at javax.media.j3d.SceneGraphObject.setCapability(SceneGraphObject.java:169)
    at edu.whu.j3d.test.CanvasMouseListener.mouseClicked(CanvasMouseListener.java:46)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6044)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    how can I do this?
    can you tell me how to complete my mission?Hope your help!

    Hi,all
    I need your help!
    I loaded a OBJ file to add the its branchgroup to the scenegraph,then,I registered the mouse listener for the canvas3D, each time the canvas3D received a mouse click, i will use the pickInfo to get the picked node,then ,change its properties,such as appearance,transform3D,etc.
    But now occurs the problems:I can pick the node,but it's just a Shape3D node,how can I change its Transform3D?
    I try to change its appreance by:
    Node node = closestRs.getNode();//the picked node
    Shape3D nodeShape = (Shape3D)node;
    nodeShape.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_WRITE);
    nodeShape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
    nodeShape.setCapability(Shape3D.ALLOW_PARENT_READ);
    Appearance app = new Appearance();
    ColoringAttributes ca = new ColoringAttributes();
    ca.setColor(new Color3f(0.8f,0.3f,0.2f));
    app.setColoringAttributes(ca);
    nodeShape.setAppearance(app);
    then,causes the following errors:
    Exception in thread "AWT-EventQueue-1" javax.media.j3d.RestrictedAccessException: Cannot modify capability bits on a live or compiled object
    at javax.media.j3d.SceneGraphObject.setCapability(SceneGraphObject.java:169)
    at edu.whu.j3d.test.CanvasMouseListener.mouseClicked(CanvasMouseListener.java:46)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6044)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    how can I do this?
    can you tell me how to complete my mission?Hope your help!

  • How to change the scenegraph after a certain time

    I want to have an object appear in one of my 3d-applets after 30 seconds. How do I do this? It would be easy in regular Java, but since the scenegraph is precompiled, it makes it more complicated in Java3D.
    Have a look at some of my shapeshifters:
    http://www.astralvisuals.com/ShapeShiftersnew.htm

    Actually, it wouldn't be that difficult at all.
    Here's the trick: The scene graph as a whole isn't necessarily precompiled. You actually compile the BranchGroups in the scene. And branch groups can be added or removed at ANY time (provided the right capabilities are set).
    You can add it later in several ways:
    You could override behavior to count out 30 seconds (w/ or w/o using an Alpha), and add the item.
    Or you could do it from your application, using a TimerTask, or implementing your own thread to do it.
    Another idea, instead of actually adding the item 30 seconds in:
    You could add the item right away and set the appearance invisible, and set it visible when 30 seconds is up.
    Another thing you could do is modify the culling at 30 seconds in, so the 'visible' faces aren't rendered until 30 seconds have passed.
    The bottom line is, you can always change the scene graph after it's been compiled and is live AS LONG AS you have set the appropriate capabilitiy bits.

  • Adding a branchgroup to a live scene with swing buttons

    Hi, please have a look on the following code.
    I want to add "objects" in a live scene.
    I've planned to do this by attaching a new branchgroup
    to an existing alive structure.
    The code of the new branchgroup is in the action of a swing button.
    // method "addObject" called by the button
    private class addObject extends BranchGroup implements ActionListener {
    public void actionPerformed(ActionEvent event){
    BranchGroup obj = new BranchGroup ();
    // Creation of a sphere
    Sphere sphere = new Sphere (0.3f);
    System.out.println(sphere);
    obj.addChild (sphere);
    obj.addChild (this);
    System.out.println("add action");
    System.out.println(obj);
    // definition of the button
         private JButton ajout = new JButton("Ajout");
         JPanel p2 = new JPanel();
    ajout.addActionListener(new addObject());
    p2.add(ajout);
    // code to attach the branchgroup
         BranchGroup b2 = new addObject();
    System.out.println("br "+b2);
    objRoot.addChild(b2);
    objRoot.compile();
    return objRoot;
    But, the Sphere is not seen on the scene
    even if the action on the button seems to work.
    And if i do twice, i get this error :
    Exception occurred during event dispatching:
    javax.media.j3d.MultipleParentException: Group.addChild: child already has a parent
         at javax.media.j3d.GroupRetained.checkValidChild(GroupRetained.java:442)
         at javax.media.j3d.GroupRetained.addChild(GroupRetained.java:451)
         at javax.media.j3d.Group.addChild(Group.java:266)
         at applet3d.Scene3D$addObject.actionPerformed(Scene3D.java:588)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
         at java.awt.Component.processMouseEvent(Component.java:3715)
         at java.awt.Component.processEvent(Component.java:3544)
         at java.awt.Container.processEvent(Container.java:1164)
         at java.awt.Component.dispatchEventImpl(Component.java:2593)
         at java.awt.Container.dispatchEventImpl(Container.java:1213)
         at java.awt.Component.dispatchEvent(Component.java:2497)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
         at java.awt.Container.dispatchEventImpl(Container.java:1200)
         at java.awt.Window.dispatchEventImpl(Window.java:914)
         at java.awt.Component.dispatchEvent(Component.java:2497)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
    Anyone can help ?
    Thanks

    I've changed the code a bit.
    I don't have the exception anymore, and when i press the button, i really create instances of sphres, but they are not seen in the Scene.
    Any idea someone ?
    package applet3d;
    import java.awt.*;
    import java.awt.GraphicsConfiguration;
    import java.awt.event.*;
    import com.sun.j3d.utils.geometry.*;
    import com.sun.j3d.utils.universe.*;
    import com.sun.j3d.utils.behaviors.mouse.*;
    import com.sun.j3d.utils.behaviors.keyboard.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import javax.swing.*;
    public class Scene3Db extends JFrame implements ActionListener, MouseListener {
         private static final long serialVersionUID = 1L;
         private SimpleUniverse su;
    private BranchGroup sceneBG, mainBG, shapeBG, objRoot;
    private TransformGroup mainTG, shapeTG, cameraTG;
    private BoundingSphere bounds;
    private Material material2;
    private static int mycount = 1;
    //declaration des elements du gui
    private JLabel etiq1;
    private JCheckBox couleur;
    //constructeur
    public Scene3Db() {
    Container contentPane = getContentPane();
    //BorderLayout bl = new BorderLayout();
    //setLayout(bl);
    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    Canvas3D c = new Canvas3D(config);
    contentPane.add("Center", c);
    JPanel p1 = new JPanel();
    p1.add(presentationPanel());
    contentPane.add("North", p1);
    JPanel p2 = new JPanel();
    JButton ajout = new JButton("Ajout");
    addObject addObjBG = new addObject();
    ajout.addActionListener(addObjBG);
    //objRoot.addChild(addObjBG); //pb !
    p2.add(ajout);
    contentPane.add("South", p2);
    SimpleUniverse su = new SimpleUniverse(c);
    BranchGroup scene = createSceneGraph(su);
    //scene.setCapability( BranchGroup.ALLOW_BOUNDS_READ );
    su.getViewingPlatform().setNominalViewingTransform();
    su.addBranchGraph(scene);
    addWindowListener( new WindowAdapter() {
    public void windowClosing(WindowEvent e) {System.exit(0);}});
    setSize(800,600); //Taille Fenetre
    show();
    repaint();
    //cr�ation du graphe de sc�ne
    public BranchGroup createSceneGraph(SimpleUniverse su) {
    //cr�ation d'un BG racine de l'arbre 3D
    //BranchGroup objRoot = new BranchGroup();
    objRoot = new BranchGroup();
    objRoot.setCapability( BranchGroup.ALLOW_PICKABLE_READ );
    objRoot.setCapability( BranchGroup.ALLOW_PICKABLE_WRITE );
    objRoot.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
    objRoot.setCapability(BranchGroup.ALLOW_DETACH);
    objRoot.setCapability(Group.ALLOW_CHILDREN_READ);
    objRoot.setCapability(Group.ALLOW_CHILDREN_WRITE);
    objRoot.setCapability(Group.ALLOW_CHILDREN_EXTEND);
    //cr�ation d'un bounds pour le fond et la lumi�re
    BoundingSphere bounds =
    new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
    Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
    Background bg = new Background(bgColor);
    bg.setApplicationBounds(bounds);
    objRoot.addChild(bg);
    Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
    Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
    DirectionalLight light1
    = new DirectionalLight(light1Color, light1Direction);
    light1.setInfluencingBounds(bounds);
    objRoot.addChild(light1);
    BranchGroup sceneObj = new BranchGroup();
    //cr�ation d'un TG pour la gestion d'�chelle
    TransformGroup objScale = new TransformGroup();
    Transform3D t3d = new Transform3D();
    t3d.setScale(0.4);
    objScale.setTransform(t3d);
    sceneObj.addChild(objScale);
    //cr�ation d'un TG pour permettre la modification des objets visuels
    TransformGroup objTrans = new TransformGroup();
    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
    objScale.addChild(objTrans);
    MouseRotate myMouseRotate = new MouseRotate();
    myMouseRotate.setTransformGroup(objTrans);
    myMouseRotate.setSchedulingBounds(new BoundingSphere());
    sceneObj.addChild(myMouseRotate);
    MouseTranslate myMouseTranslate = new MouseTranslate();
    myMouseTranslate.setTransformGroup(objTrans);
    myMouseTranslate.setSchedulingBounds(new BoundingSphere());
    sceneObj.addChild(myMouseTranslate);
    MouseZoom myMouseZoom = new MouseZoom();
    myMouseZoom.setTransformGroup(objTrans);
    myMouseZoom.setSchedulingBounds(new BoundingSphere());
    sceneObj.addChild(myMouseZoom);
    //Canvas3D c = new Canvas3D(null);
    //PickHighlightBehavior pickBeh = new
    //PickHighlightBehavior(c, objRoot, bounds);
    BranchGroup b2 = new addObject();
    objRoot.addChild(b2);
    //System.out.println("br "+b2);
    objRoot.addChild(sceneObj);
    //objRoot.addChild(b2);
    objRoot.compile();
    return objRoot;
    public JPanel presentationPanel() {
         JPanel panel1 = new JPanel();
    etiq1 = new JLabel
    ("Modelisation d'un environnement naturel en 3D / � 2005 cnam ubo");
    panel1.add(etiq1);
    return panel1;
    //fonction ajout d'objet
    private class addObject extends BranchGroup implements ActionListener {
    private addObject () {
    this.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
    public void actionPerformed(ActionEvent event){
    BranchGroup obj = new BranchGroup ();
    // Cr�ation d'une sph�re
    Sphere sphere = new Sphere (0.3f, Sphere.GENERATE_NORMALS, 20);
    System.out.println(sphere);
    Transform3D sphereRandromTransform = new Transform3D ();
    sphereRandromTransform.setTranslation(new Vector3d(randomCoord(),randomCoord(),randomCoord()));
    TransformGroup sphereTG = new TransformGroup (sphereRandromTransform);
    sphereTG.addChild(sphere);
    obj.addChild(sphereTG);
    this.addChild(obj);
    System.out.println("action ajout");
    System.out.println(obj);
    private double randomCoord () {
    double coord = Math.random();
    return coord>=0.5?-coord*5:coord*5;
    public void mouseClicked( MouseEvent e ) {
    public void mouseEntered( MouseEvent e ) {
    public void mouseExited( MouseEvent e ) {
    public void mousePressed( MouseEvent e ) {
    // if (e.getSource()==reset) {
    //setNominalPositionAndOrientation();
    public void mouseReleased( MouseEvent e ) {
    //mode = STILL;
    public void actionPerformed(ActionEvent e) {
    Object target = e.getSource();
    if (target == couleur) {
    if (couleur.isSelected()){
    //scene.pickBeh;
    public static void main(String[] args) {
         try {
    //D�finition du type d'affichage boite de dialogue
    //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
              } catch (Exception exc) {
    System.err.println("Erreur de chargement L&F: " + exc);
    new Scene3Db();
    }

  • Detach and attach...

    I update a 3D volume under the compiled scenegraph. I first detach the 3D
    volume branch group, then do updating, finally, attached the 3D volume branch
    group back to the scenegraph. The whole 3D volume appear to be flickering
    due to frequent updating. Is there any way that I can update the 3D volume
    without doing detach and attach?
    Thanks.

    I am updating the 3D volume texture mapping related attributes, for example, RGB and alphaBlending.

  • Adding BranchGroup after compile() : live objects

    hi.
    after compile() my objRoot (BranchGroup), i detached some children and attached new ones with picking. but when i try to pick the new child object, i got these error messages.
    Exception occurred during Behavior execution:
    java.lang.IllegalStateException: Picking can only work if BranchGroup is alive
         at javax.media.j3d.BranchGroup.pickClosest
    the code is as follows.
    class MyClass ...
    SimpleUniverse su;
    su = ...;
    public void createBranchGroup()
    objRoot.addChild(new myBranchGroup(su));
    class myBranchGroup extends BranchGroup(SimpleUniverse su)
    TransformGroup trans = new TransformGroup();
    PickTranslateBehavior pick = new PickTranslateBehavior(this, new Canvas3D     (SimpleUniverse.getPreferredConfiguration()), new BoundingBox() );
    this.addChild(pick);
    i setup needed capability bits (CHILDREN_READ, CHILDREN_WRITE, ENABLE_PICK_REPORTING, etc). but this code generate the error before. how can i add a child with picking? or how can i add a child that is alive?

    Hi, I have the same Problem, do you or anyone else have the answer now?

  • Error while attaching a image in forms10g envion..

    hi
    i am getting this error while attaching a image in forms 10g enviornment.
    ERROR>WUC-24 [URLDownload.pullFile()] Error reading URL http :// 10.80.50.222:7778/forms90/webutil/jacob.dll
    regards
    Geo.

    did you install jacob ? with the correct version number described in the installation-guides.
    jacob is not an oracle tool, which normally is only useful for COM-commands against windows.
    What did you do with the image?

  • Filename in Attachement payload

    Hy,
    I have to detach an email attachement on my file System.
    That's works but I'm not able to maintain the same filename.
    Can anybody help me.
    Thanks
    Mat

    Hi Mattia,
    If your file name is a part of your email atttachment ( the payload ), then you can dynamically create your file name.
    To do this,in the filename of the receiver file adapter, give the filename a <b>%var%</b>.
    Anything between % is treated as a varibale by XI. Now, under variable name substitution, you will have to give the value of var and this will act as the filename.
    You can access the payload using <b>payload:</b> and the XPATH.
    For info on how to do this, check the topic<b> VARIABLE SUBSTITUTION</b> in this link.
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    hope this helps,
    Regards,
    Bhavesh

  • Cannot delete file from disk after emailling that file like attachment

    After i send some file from disk in Mail like attachment i cannot delete that file from disk unless i quit Mail. Like Mail is still using a file. Of course, that mail is in Sent mail, not in outbox.

    This deeper than that. I created another account on the same iMac and it works in Harmony with my other devices and Documents in the cloud. I can only imagine the icloud account is somehow corrupted (I am on my macbook not iMac at the moment). There have been no updates to the Calendar, Contacts or Documents since early January on that account. I have spent 1hr on the phone with support and they were baffled as well. Only thing I can gove as insight to the problem is this, I was on the Mac Mini which was backed up on Time Machine. about 4 or 5 months ago I had to completley restore the Mac Mini becasue of the never ending circle on the load screen. The Backup failed to work it kept loading the issue and 4 or 5 times the circle of death kept coming up I would subsequently wipe the Mini and go further back in the back up until I go a copy that worked.  I then loaded the Time Mache back up into my NEW iMac and wnet from there. It took about a month for this problem I am detailing above to start happening. It maybe a corrupt file loaded from the backup into the new iMac causing this problem. Best answer I can think of on my own???

  • I have files that have been on my computer for over a year and all of a sudden they wont open and an error message comes up saying they were improperly downloaded or came in an email attach which is not the case

    I have files that have been on my computer for over a year and I have used them several times and all of a sudden they wont open.  I received an error message saying they are improperly downloaded or came as an email attachement which is not the case.  Please advise

    They seem to be word files - they will open if I choose "open with" microsoft word, but if I double click they don't open they are appearing as PDF on my screen.  I even opened one and then tried to "save as" making sure I chose .doc and they still appear as PDF
    I just created a new document response.doc in word and when I saved to my desktop it appears as a PDF file and I absolutely did not create a PDF or save as PDF it was a simple word
    doc.
    The message says "Adobe reader could not open response.doc because it is either not a supported file type or because the file has been damaged (for example attached in an email and not properly decoded)
    The reader version is I believe the most current, I always update when prompted.  OS is Windows 8

  • I want a new and more powerful (non-Apple) wireless router but I still want to use my existing Time Capsule to continue with my Time Machine backups and I still need the Time Capsule's Network Attached Storage (NAS) features and capabilities

    THE SHORTER STORY
    My goal is to successfully use my existing Time Capsule (TC) with a new and more powerful wireless router. I need a new and more powerful wireless router in order to reach a distant Denon a/v receiver that is physically located in a master bedroom some 50 feet away from my modem. I need to provide this Denon a/v receiver with an Internet connection so that it can obtain its firmware updates and I need to connect this Denon a/v receiver to my network in order to use its AirPlay feature. I believe l still need the TC's Network Attached Storage (NAS) features because I am not sure if the new wireless router will provide me with the NAS like features / capabilities I need to share files between my two Apple laptops with OS X 10.8.2. And I know that I absolutely need my TC's seamless integration with Apple's Time Machine (TM) application in order to continue to make effortless backups of my two Apple laptops. To my knowledge nothing works with TM like Apple's TC. I also need the hard disk storage space built into the TC.
    I cannot use a long wired Ethernet cable connection in this apartment and I cannot use power-line adapters. I have read that wireless range extenders and repeaters are difficult to successfully set-up and that they will reduce data speeds, especially so when incorrectly set-up. I cannot relocate my modem and/or primary base station wireless router.
    In short, I want to use my TC with my new and more powerful wireless router. I need to stop using the TC to connect to the modem. However, I still need the TC for seamless TM backups. I also need to use the TC's built in hard drive for storage. And I may still need the TC's NAS capabilities to share files wirelessly between laptops because I am assuming the new wireless router will not provide NAS capabilities for OS X 10.8.2 (products like this/non-Apple products rarely seem to work with OS X 10.8.2/Macs to provide NAS features and capabilities). Finally, I want to continue to use my Apple laptop and AirPlay to wirelessly access and play my iTunes music collection stored on the TC's hard drive. I also want to continue to use my Apple laptop, AirPlay and Apple TV to wirelessly watch movies and TV shows stored on the additional external hard drive connected to the TC via USB. Can someone please advise on how to set-up my new Asus wireless router with my existing TC in such a way to accomplish all of this?
    What is the best configuration or set-up to accomplish my above goals?
    Thank you in advance for your assistance!!!
    THE FULL STORY
    I live in an apartment building where my existing Time Capsule (TC) is located in my living room and serves many purposes. Specially, my TC is at least all of the following:
    (1) Wi-Fi router connected to Comcast Internet service via Motorola SB6121 cable modem - currently the TC is the Wi-Fi base station that connects to the modem and has the gateway address to the Internet. The TC now provides the DHCP service for the Wi-Fi network.
    (2) Wireless router providing Internet and Wi-Fi network access to several Wi-Fi clients - two Apple laptop computers, an iPod touch, an iPad and an iPhone all connect wirelessly to the Internet via the TC.
    (3) Wired Ethernet router providing Internet and Wi-Fi network access to three different devices - a Panasonic TV, LG Blu-Ray player and an Apple TV each use one of the three LAN ports on the back of the TC to gain access to the Internet.
    (4) Primary base station in my attempt to extend my wireless network to a distant (located far away) Denon a/v receiver requiring a wired Ethernet connection - In addition to the TC, which is my primary base station, I am also using a second extended Wi-Fi base station (a Netgear branded product) to wirelessly extend my WiFi network to a Denon receiver located in the master bedroom and requiring a wired Ethernet connection. I cannot use a wired Ethernet connection to continuously travel from the living room to the master bedroom. The distance is too great as I cannot effectively hide the Ethernet cable in this apartment.
    (5) Time Machine (TM) backup facilitator - I use my TC to wirelessly back-up two Apple laptops using Apple's Time Machine (TM) application. However, I ran out of storage space on my TC and therefore added external storage to it. Specifically, I added an external hard drive to my TC via the USB port on the back of the TC. I now use this added external hard drive connected to the TC via USB as the destination storage drive for my TM back-ups. I have partitioned the added external hard drive, and each of the several partitions all have enough storage space (e.g., each of the two partitions used by TM are sized at three times the hard drive space of each laptop, etc.). Everything works flawlessly.
    (6) Network Attached Storage (NAS) - In addition to using the TC's Network Attached Storage (NAS) capabilities to wirelessly back-up two Apple laptops via TM, I also store other additional files on both (A) the hard drive built into the TC and (B) the additional external hard drive connected to the TC via USB (there are additional separate partitions on this drive for these other additional and non-TM backup files).
    I use the TC's NAS feature with my Apple laptop and AirPlay to wirelessly access and play my iTunes music collection stored on the TC's hard drive. I also use my Apple laptop, AirPlay and Apple TV to wirelessly watch movies and TV shows stored on the additional external hard drive connected to the TC via USB. Again, everything works wirelessly and flawlessly. (Note: the Apple TV is connected to the network via Ethernet and a LAN port on the back of the TC).
    The issue I am having is when I try to listen to music via Apple's AirPlay in the master bedroom. This master bedroom is located at a distance of two rooms away from the TC's current location in the living room, which is a distance of about 50 feet. This apartment has a long rectangular floor plan where each room is connected to the next in a straight line. In order to use AirPlay in the master bedroom I am using a second extended Wi-Fi base station (a Netgear branded product) to wirelessly extend my WiFi network to a Denon receiver located in the master bedroom and requiring a wired Ethernet connection. This additional base station connects wirelessly to the WiFi network provided by my TC and then gives my Denon receiver the wired Ethernet connection it needs to use AirPlay. I have tried moving my iTunes music directly onto my laptop's hard drive, and then I used AirPlay on this same laptop to connect to the Denon receiver. I always get a successful connection and the song plays, but the problem is that the connection inevitably drops.
    I live in an apartment building and all of the many wireless routers in this building create a great deal of WiFi interference on both the 2.4 GHz and 5GHz bands. I have tried connecting the Netgear product to each the 2.4 and 5 GHz bands, but neither band can successfully maintain a wireless connection between the TC and the Netgear product. I also attempted to maintain a wireless connection to an iPod touch using the 2.4 GHz band and AirPlay on this iPod touch to play music on the Denon receiver. Again, I was able to establish a connection and successfully play music, but after a few minutes the connection dropped and the music stopped playing. I therefore have concluded that I have a poor wireless connection in the master bedroom. I can establish a connection, but it is intermittent with frequent drops. I have verified this with both laptops by working in the master bedroom for an entire day on both laptops. The Internet connection in this master bedroom proved to drop out frequently - about once an hour with the laptops. The wireless connection and the frequency of its dropout are far worse with the iPod touch and an iPhone.
    I cannot relocate the TC. Also, this is an apartment and I therefore cannot extend the range of my network with Ethernet cable (I cannot drill through walls/ceilings, etc.). It is an old building with antiquated wiring and power-line adapters are not likely to function properly, nor can I spare the direct power outlet required with a power-line adapter. I simply need every outlet I can get and cannot afford to block any direct outlet.
    My solution is to use a more powerful wireless router. I found the ASUS RT-AC66U Dual-Band Wireless-AC1750 Gigabit Router which will likely provide a better connection to my wireless Internet in the master bedroom than the TC. The 802.11ac band of this Asus wireless router is totally useless to me, but based on what I have read I believe this router will provide a stronger connection at greater distances then my TC. And I will be ready for 802.11ac when it becomes more widely available.
    However, I still need to maintain the TC's ability to work seamlessly with TM to backup my two laptops. Also, I doubt the new Asus router will provide OS X 10.8.2 with NAS like features and capabilities. Therefore, I still would like to use the TC's NAS capabilities to share files on my network wirelessly assuming the Asus wireless router fails to provide this feature. I need a new and more powerful wireless router, but I need to maintain the TC's NAS features and seamless integration with TM. Finally, I want to continue to use my Apple laptop and AirPlay to wirelessly access and play my iTunes music collection stored on the TC's hard drive. I also want to continue to use my Apple laptop, AirPlay and Apple TV to wirelessly watch movies and TV shows stored on the additional external hard drive connected to the TC via USB. Can someone advise on how to set-up my existing TC with this new Asus wireless router in such a way to accomplish all of this?
    Modem
    Motorola SB6121 SURFboard DOCSIS 3.0 Cable Modem
    Existing Wireless Router and Primary Wi-Fi Base Station - Apple Time Capsule
    Apple Time Capsule MC343LL/A 1TB Sim DualBand (purchased June 2010, likely the Winter 2009 Model)
    Desired New Wireless Router and Primary Wi-Fi Base Station - Non-Apple Asus
    ASUS RT-AC66U Dual-Band Wireless-AC1750 Gigabit Router
    Extended Wi-Fi Base Station - Provides an Ethernet Connection to a Denon A/V Receiver Two Rooms Away from the Modem
    Netgear Universal Dual Band Wireless Internet Adapter for TV & Blu-Ray (WNCE3001)
    Addition External Hard Drive Attached to the Existing Apple Time Capsule via USB
    WD My Book Studio 4TB Mac External Hard Drive Storage USB 3.0
    Existing Laptops on the Wireless Network Requiring Time Machine Backups
    MacBook Air (11-inch, Mid 2012) OS X 10.8.2
    MacBook Pro (13-inch Mid 2010) OS X 10.8.2
    Other Existing Apple Products (Clients) on the Wireless Network
    iPod Touch (second generation) is model A1288.
    iPad (1st generation)
    Apple TV (3rd generation) - Quantity two (2)

    Thanks Bob Timmons.
    In regards to a Plan B, I hear ya brother. I am already on what feels like Plan Z. Getting WiFi to a far off room in an apartment building crowded with WiFi routers is a major pain.
    I am basing my thoughts on the potential of a new and more powerful router reaching the far off master bedroom based on positive reviews on cnet.com, pcmag.com and pcworld.com. All 3 of these web sites have reviewed the Asus RT-AC66U 802.11AC wireless router as well as its virtual twin cousin 802.11n router. What impressed me is that all 3 sites rated this router #1 overall in terms of both range and speed (in both the 802.11n and 802.11AC flavors). They tested the router in real world scenarios where the router needed to compete with a lot of other wireless routers. One of the sites even buried this Asus router in a media room with thick walls and inside a media cabinet. This Asus router should be able to serve my 2.4 GHz band wireless clients (iPod Touch and iPhone 4) with a 2.4GHz Wireless-N band offering some 50 feet of dependable range and a 60 Mbps throughput at that range. I am hoping that works, but it's borderline for my master bedroom. My 5 GHz wireless clients (laptops) will enjoy a 5GHz Wireless-N band offering 150 feet of range and a 200 Mbps throughput at that range. I have no idea what most of that stuff means, but I did also read that Asus could reach 300 feet and I got really excited. My mileage may vary of course and I'm sure I'm making some mistakes in my interpretation of their data. However, my Winter 2009 Time Capsule was rated by cnet.com to deliver real world performance of less than that, and 802.11AC may or may not be useful to me someday. But when this Asus arrives and provides anything other than an excellent and consistent wireless signal without drops in the master bedroom it's going right back!
    Your solution sounds great, but I have some questions. I'm using OS X 10.8.2 and Airport Utility (version 6.1 610.31) and on its third tab labeled "Wireless" the top option enables you to set "Network Mode" to either:
    Create a wireless network
    Extend a wireless network
    Off
    Given your advice to "Turn off the wireless on the TC," should I set Network Mode to Off? Sorry, I'm clueless in regards to how to turn off the wireless on the TC any other way. Can you provide specific steps on how to turn off the wireless on the TC? If what I wrote is correct then what should the rest of this Wireless tab look like, or perhaps it is irrelevant when wireless is off?
    Next, what do you mean by "Configure the TC in Bridge Mode?" Under Airports Utility's fourth tab labeled "Network" the top option "Router Mode" allows for either:
    DHCP and Nat
    DHCP Only
    Off (Bridge Mode)
    Is your advice to Configure the TC in Bridge Mode as simple as setting Router Mode to Off (Bridge Mode)? If yes, then what should the rest of this "Network" tab look like? Anything else involved in configuring the TC in Bridge Mode or is it really as simple as setting the Router Mode to "Off (Bridge Mode)"?
    How about the other tabs in Airport Utility, can they all stay as is assuming I use the same network name and password for the new Asus wireless router? Or do I need to make any other changes to the TC via Airport Utility?
    Finally, in regards to your Plan B suggestion. I agree. But do you have a Plan B for me? I would greatly appreciate any alternative you could provide. Specifically, if you needed a TC's Internet connection to reach a far off corner of your home how would you do it? In the master bedroom I need both a wired Ethernet connection for the Denon a/v receiver and wireless Internet connection for the iPhone and iPod Touch.
    Power-Line Adapters - High Cost, Blocks at Least One Wall Outlet and Does Not Solve the Wireless Need
    I actually like exactly one power-line adapter, which is the D-Link DHP-540 PowerLine AV 500 4-Port Gigabit Switch. This D-Link power-line adapter plugs into your wall outlet with a normal sized plug (regular standard power cord much like any other electronic device) instead of all of the other recommended power-line adapters that not only use at least one wall outlet but also often block the second outlet. You cannot use a power strip with a power-line adapter which is very impractical for me. And everything about my home is strange and upside down. The wiring here is a disaster and I don't have faith in its ability to carry Internet access from the living room to the master bedroom. And this D-Link power-line adapter costs $90 each and I need at least two to make the connection to the Denon A/V receiver. So, $180 on this solution and I still don't have a dependable drop free wireless connection in the master bedroom. The Denon might get its Ethernet Internet connection from the power-line adapter, but if I want to use an iPhone 4 or iPod Touch to stream AirPlay music to the Denon wirelessly (Pandora/iTunes, etc.) from the master bedroom the wireless connection will not be stable in there and I've already spent $190 on just the two power-line adapters needed.
    Extenders / Repeaters / Wirelessly Extending the Wireless Network
    I have also read great things about the Amped Wireless High Power Wireless-N 600mW Gigabit Dual Band Range Extender (Repeater) SR20000G and the My Net Wi-Fi Range Extender. The former is very powerful and the latter is easier to install. Both cost about $150 ish so similar to a new Asus router. However, everything I read about Range Extenders points to them not being very effective for a far off corner of your house wherein it's apparently hard to place the range extender in the sweet spot where it both gets a strong enough signal to actually effectively extend the wireless signal and otherwise does not reduce network throughput speeds to unacceptable speeds.
    Creating a Roaming Network By Hard Wiring with Ethernet Cable - Wife Would Say, "**** No!"
    Even Apple seems to warn against wirelessly extending your network (see: http://support.apple.com/kb/HT4145#) and otherwise strongly recommends a roaming network where Ethernet cable is used to connect two wireless base stations. However, I am in an apartment where stringing together two wireless base stations with Ethernet cable would have an extremely low wife acceptance factor (WAF). I cannot (both contractually and from a skill prospective) hide Ethernet wire in the walls or ceiling. And having visible Ethernet cable running from room-to-room would be unacceptable, especially to the wife.
    So what is left? Do you have a Plan B for me? Thanks in advance for your help!

  • I am trying to change or add the email address which is attached to my itunes account. I keep getting a notice saying email address is already verified for another Apple ID. Im sure its one of my devices. How can I get my current email address added?

    My itunes account is attached to an email account that I no longer have and cannot retrieve. I have been having trouble with purchases made to my itunes account and want to view my purchases. The support center said that they would email me the purchase history. However, I don't have that email address. When I go to change my email address to my current one, I get a message in red saying that "the email address is already verified for another Apple I.D." I'm sure it is one of my devices as we have 4 ipods and 2 iphones. How can I get my account to use my current email address? If one of my devices was registered using my current email address as it apparently was, do I need to figure out which device that is and remove the email address from that account? I'm so confused. I just want ALL my devices to use my current email address. I need to replace the old email address with my current one. How do I do that?
    thanks for any assistance.

    Your best bet would be to try resetting the password to the account that you would like to use via iForgot
    Once you log in to that account change the email address to anything, it can even be fake its just a placeholder
    After you do that you will be free to change your old email address on your appleID to the new one that is now free to be used as it is no longer attached to the other account.

Maybe you are looking for