Search in sources :

Example 6 with Node

use of com.jme3.scene.Node in project jmonkeyengine by jMonkeyEngine.

the class AudioTrack method findAudio.

/**    
     * recursive function responsible for finding the newly cloned AudioNode
     *
     * @param spat
     * @return
     */
private AudioNode findAudio(Spatial spat) {
    if (spat instanceof AudioNode) {
        //spat is an AudioNode
        AudioNode em = (AudioNode) spat;
        //getting the UserData TrackInfo so check if it should be attached to this Track
        TrackInfo t = (TrackInfo) em.getUserData("TrackInfo");
        if (t != null && t.getTracks().contains(this)) {
            return em;
        }
        return null;
    } else if (spat instanceof Node) {
        for (Spatial child : ((Node) spat).getChildren()) {
            AudioNode em = findAudio(child);
            if (em != null) {
                return em;
            }
        }
    }
    return null;
}
Also used : Spatial(com.jme3.scene.Spatial) AudioNode(com.jme3.audio.AudioNode) Node(com.jme3.scene.Node) AudioNode(com.jme3.audio.AudioNode)

Example 7 with Node

use of com.jme3.scene.Node in project jmonkeyengine by jMonkeyEngine.

the class BasicProfilerState method onEnable.

@Override
protected void onEnable() {
    // Set the number of visible frames to the current width of the screen
    setFrameCount(getApplication().getCamera().getWidth());
    getApplication().setAppProfiler(profiler);
    Node gui = ((SimpleApplication) getApplication()).getGuiNode();
    gui.attachChild(graph);
    gui.attachChild(background);
}
Also used : Node(com.jme3.scene.Node)

Example 8 with Node

use of com.jme3.scene.Node in project jmonkeyengine by jMonkeyEngine.

the class SceneMatParamOverrideTest method testOverrides_AddRemove.

@Test
public void testOverrides_AddRemove() {
    MatParamOverride override = mpoBool("Test", true);
    Node n = new Node("Node");
    n.removeMatParamOverride(override);
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
    n.addMatParamOverride(override);
    assertSame(n.getLocalMatParamOverrides().get(0), override);
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
    n.updateGeometricState();
    assertSame(n.getLocalMatParamOverrides().get(0), override);
    assertSame(n.getWorldMatParamOverrides().get(0), override);
    n.removeMatParamOverride(override);
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertSame(n.getWorldMatParamOverrides().get(0), override);
    n.updateGeometricState();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
}
Also used : MatParamOverride(com.jme3.material.MatParamOverride) Test(org.junit.Test)

Example 9 with Node

use of com.jme3.scene.Node in project jmonkeyengine by jMonkeyEngine.

the class SceneMatParamOverrideTest method testOverrides_SaveAndLoad_KeepsMPOs.

@Test
public void testOverrides_SaveAndLoad_KeepsMPOs() {
    MatParamOverride override = mpoInt("val", 5);
    Node scene = createDummyScene();
    scene.getChild("A").addMatParamOverride(override);
    AssetManager assetManager = TestUtil.createAssetManager();
    Node loadedScene = BinaryExporter.saveAndLoad(assetManager, scene);
    Node root = new Node("Root Node");
    root.attachChild(loadedScene);
    validateScene(root);
    validateScene(scene);
    assertNotSame(override, loadedScene.getChild("A").getLocalMatParamOverrides().get(0));
    assertEquals(override, loadedScene.getChild("A").getLocalMatParamOverrides().get(0));
}
Also used : AssetManager(com.jme3.asset.AssetManager) MatParamOverride(com.jme3.material.MatParamOverride) Test(org.junit.Test)

Example 10 with Node

use of com.jme3.scene.Node in project jmonkeyengine by jMonkeyEngine.

the class SceneMatParamOverrideTest method testOverrides_Clear.

@Test
public void testOverrides_Clear() {
    MatParamOverride override = mpoBool("Test", true);
    Node n = new Node("Node");
    n.clearMatParamOverrides();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
    n.addMatParamOverride(override);
    n.clearMatParamOverrides();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
    n.addMatParamOverride(override);
    n.updateGeometricState();
    n.clearMatParamOverrides();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertSame(n.getWorldMatParamOverrides().get(0), override);
    n.updateGeometricState();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
    n.addMatParamOverride(override);
    n.clearMatParamOverrides();
    n.updateGeometricState();
    assertTrue(n.getLocalMatParamOverrides().isEmpty());
    assertTrue(n.getWorldMatParamOverrides().isEmpty());
}
Also used : MatParamOverride(com.jme3.material.MatParamOverride) Test(org.junit.Test)

Aggregations

Node (com.jme3.scene.Node)135 Vector3f (com.jme3.math.Vector3f)81 Geometry (com.jme3.scene.Geometry)64 Spatial (com.jme3.scene.Spatial)53 Material (com.jme3.material.Material)51 DirectionalLight (com.jme3.light.DirectionalLight)35 Quaternion (com.jme3.math.Quaternion)32 RigidBodyControl (com.jme3.bullet.control.RigidBodyControl)26 Box (com.jme3.scene.shape.Box)24 Sphere (com.jme3.scene.shape.Sphere)19 AmbientLight (com.jme3.light.AmbientLight)17 BulletAppState (com.jme3.bullet.BulletAppState)16 ColorRGBA (com.jme3.math.ColorRGBA)15 AnimControl (com.jme3.animation.AnimControl)14 KeyTrigger (com.jme3.input.controls.KeyTrigger)14 FilterPostProcessor (com.jme3.post.FilterPostProcessor)14 HashMap (java.util.HashMap)14 CameraNode (com.jme3.scene.CameraNode)13 ArrayList (java.util.ArrayList)13 ActionListener (com.jme3.input.controls.ActionListener)12