From b3cdc1c3d2942a410b30f161ba9df12e7926e0b0 Mon Sep 17 00:00:00 2001 From: Nehon Date: Wed, 18 Feb 2015 21:52:14 +0100 Subject: [PATCH] Warning cleanup. Changed default composer camera angle Displayed the grid by default --- .../jme3/gde/core/scene/SceneApplication.java | 10 +++------- .../gde/core/scene/ScenePreviewProcessor.java | 7 +++---- .../controller/AbstractCameraController.java | 10 ++++++++-- .../scene/controller/SceneToolController.java | 9 ++++----- .../ComposerCameraController.java | 6 ------ .../SceneComposerToolController.java | 20 ++++++++++++------- .../SceneComposerTopComponent.form | 1 + .../SceneComposerTopComponent.java | 14 +++++++++---- 8 files changed, 42 insertions(+), 35 deletions(-) diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java index 5d6b59317..bde49ecda 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java @@ -275,7 +275,7 @@ public class SceneApplication extends Application implements LookupProvider { super.destroy(); } - @Override + @Override public void update() { if (!started) { try { @@ -299,7 +299,7 @@ public class SceneApplication extends Application implements LookupProvider { fpsText.setText("Frames per second: " + fps); secondCounter = 0.0f; } - getStateManager().update(tpf); + getStateManager().update(tpf); toolsNode.updateLogicalState(tpf); if (fakap != null) { fakap.updateFake(tpf); @@ -519,10 +519,6 @@ public class SceneApplication extends Application implements LookupProvider { } } - private void resetCam() { - cam.setLocation(new Vector3f(0, 0, 10)); - cam.lookAt(Vector3f.ZERO, Vector3f.UNIT_Y); - } private void setWindowTitle(final String string) { SceneViewerTopComponent.findInstance().setDisplayName(string); @@ -637,7 +633,7 @@ public class SceneApplication extends Application implements LookupProvider { NotifyUtil.show("Error starting OpenGL context!", "Click here to go to troubleshooting web page.", MessageType.EXCEPTION, lst, 0); logger.log(Level.INFO, exception.getMessage(), exception); } - private static ActionListener lst = new ActionListener() { + private static final ActionListener lst = new ActionListener() { public void actionPerformed(ActionEvent e) { try { HtmlBrowser.URLDisplayer.getDefault().showURL(new URL("http://jmonkeyengine.org/wiki/doku.php/sdk:troubleshooting")); diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/ScenePreviewProcessor.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/ScenePreviewProcessor.java index b170794d2..367a71870 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/ScenePreviewProcessor.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/ScenePreviewProcessor.java @@ -64,9 +64,8 @@ public class ScenePreviewProcessor implements SceneProcessor { private FrameBuffer offBuffer; private ViewPort offView; private Camera offCamera; - private ConcurrentLinkedQueue previewQueue = new ConcurrentLinkedQueue(); - private PreviewRequest currentPreviewRequest; - private RenderManager rm; + private final ConcurrentLinkedQueue previewQueue = new ConcurrentLinkedQueue(); + private PreviewRequest currentPreviewRequest; private PointLight light; public void addRequest(PreviewRequest request) { @@ -126,7 +125,7 @@ public class ScenePreviewProcessor implements SceneProcessor { } public void initialize(RenderManager rm, ViewPort vp) { - this.rm = rm; + } public void reshape(ViewPort vp, int i, int i1) { diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/AbstractCameraController.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/AbstractCameraController.java index 02fdfb106..91fb21936 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/AbstractCameraController.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/AbstractCameraController.java @@ -116,6 +116,9 @@ public abstract class AbstractCameraController extends AbstractAppState implemen if (cc != null) { cam.setLocation(cc.cam.getLocation()); focus.set(cc.focus); + }else{ + cam.setLocation(new Vector3f(-10, 5, 10)); + cam.lookAt(Vector3f.ZERO, Vector3f.UNIT_Y); } inputManager.addRawInputListener(me); inputManager.addListener(me, "MouseAxisX", "MouseAxisY", "MouseAxisX-", "MouseAxisY-", "MouseWheel", "MouseWheel-", "MouseButtonLeft", "MouseButtonMiddle", "MouseButtonRight"); @@ -127,7 +130,7 @@ public abstract class AbstractCameraController extends AbstractAppState implemen private void addAdditionnalToolbar() { SceneViewerTopComponent svtc = SceneViewerTopComponent.findInstance(); if (svtc != null) { - svtc.add(CameraToolbar.getInstance(), java.awt.BorderLayout.SOUTH);; + svtc.add(CameraToolbar.getInstance(), java.awt.BorderLayout.SOUTH); } } @@ -299,7 +302,7 @@ public abstract class AbstractCameraController extends AbstractAppState implemen if (!cam.isParallelProjection()) { cam.setParallelProjection(true); float h = cam.getFrustumTop(); - float w = cam.getFrustumRight(); + float w; float dist = cam.getLocation().distance(focus); float fovY = FastMath.atan(h) / (FastMath.DEG_TO_RAD * .5f); h = FastMath.tan(fovY * FastMath.DEG_TO_RAD * .5f) * dist; @@ -557,12 +560,15 @@ public abstract class AbstractCameraController extends AbstractAppState implemen /** * mouse clicked, not dragged + * @param button * @param pressed true if pressed, false if released */ protected abstract void checkClick(int button, boolean pressed); /** * Mouse dragged while button is depressed + * @param button + * @param pressed */ protected void checkDragged(int button, boolean pressed) { // override in sub classes diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/SceneToolController.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/SceneToolController.java index 23c6817a9..a3028038b 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/SceneToolController.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/controller/SceneToolController.java @@ -27,7 +27,6 @@ import com.jme3.scene.Geometry; import com.jme3.scene.Mesh; import com.jme3.scene.Node; import com.jme3.scene.Spatial; -import com.jme3.scene.control.CameraControl; import com.jme3.scene.debug.Arrow; import com.jme3.scene.debug.Grid; import com.jme3.scene.debug.WireBox; @@ -51,12 +50,14 @@ public class SceneToolController implements AppState { protected Material blueMat; protected AbstractCameraController camController; + @SuppressWarnings("LeakingThisInConstructor") public SceneToolController(AssetManager manager) { this.toolsNode = new Node("ToolsNode"); initTools(); SceneApplication.getApplication().getStateManager().attach(this); } + @SuppressWarnings("LeakingThisInConstructor") public SceneToolController(Node toolsNode, AssetManager manager) { this.toolsNode = toolsNode; this.manager = manager; @@ -68,7 +69,7 @@ public class SceneToolController implements AppState { this.camController = camController; } - protected void initTools() { + protected final void initTools() { blueMat = createBlueMat(); //Material redMat = new Material(manager, "Common/MatDefs/Misc/Unshaded.j3md"); @@ -103,9 +104,7 @@ public class SceneToolController implements AppState { //grid grid = new Geometry("grid", new Grid(20, 20, 1.0f)); grid.setMaterial(grayMat); - grid.setLocalTranslation(-10, 0, -10); - final Spatial cursor = this.cursor; - final Node toolsNode = this.toolsNode; + grid.setLocalTranslation(-10, 0, -10); SceneApplication.getApplication().enqueue(new Callable() { public Object call() throws Exception { diff --git a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/ComposerCameraController.java b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/ComposerCameraController.java index 518c69374..c16933f80 100644 --- a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/ComposerCameraController.java +++ b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/ComposerCameraController.java @@ -30,9 +30,7 @@ import com.jme3.gde.core.sceneexplorer.nodes.JmeNode; import com.jme3.input.KeyInput; import com.jme3.input.event.KeyInputEvent; import com.jme3.math.Vector2f; -import com.jme3.math.Vector3f; import com.jme3.renderer.Camera; -import com.jme3.scene.Node; /** * @@ -40,15 +38,11 @@ import com.jme3.scene.Node; */ public class ComposerCameraController extends AbstractCameraController { - private Node rootNode; - private JmeNode jmeRootNode; private SceneComposerToolController toolController; private boolean forceCameraControls = false; // when user holds shift, this is true public ComposerCameraController(Camera cam, JmeNode rootNode) { super(cam, SceneApplication.getApplication().getInputManager()); - this.jmeRootNode = rootNode; - this.rootNode = rootNode.getLookup().lookup(Node.class); } private boolean isEditButtonEnabled() { diff --git a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerToolController.java b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerToolController.java index 3c77880c0..dff940e50 100644 --- a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerToolController.java +++ b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerToolController.java @@ -39,8 +39,7 @@ public class SceneComposerToolController extends SceneToolController { private JmeNode rootNode; private SceneEditTool editTool; - private SceneEditorController editorController; - private ComposerCameraController cameraController; + private SceneEditorController editorController; private ViewPort overlayView; private Node onTopToolsNode; private Node nonSpatialMarkersNode; @@ -63,6 +62,7 @@ public class SceneComposerToolController extends SceneToolController { return null; } }); + setShowGrid(showGrid); } public SceneComposerToolController(AssetManager manager) { @@ -73,9 +73,7 @@ public class SceneComposerToolController extends SceneToolController { this.editorController = editorController; } - public void setCameraController(ComposerCameraController cameraController) { - this.cameraController = cameraController; - + public void createOnTopToolNode() { // a node in a viewport that will always render on top onTopToolsNode = new Node("OverlayNode"); overlayView = SceneApplication.getApplication().getOverlayView(); @@ -91,7 +89,6 @@ public class SceneComposerToolController extends SceneToolController { @Override public void cleanup() { super.cleanup(); - cameraController = null; editorController = null; SceneApplication.getApplication().enqueue(new Callable() { @@ -126,6 +123,7 @@ public class SceneComposerToolController extends SceneToolController { /** * If the current tool overrides camera zoom/pan controls + * @return */ public boolean isOverrideCameraControl() { if (editTool != null) { @@ -138,7 +136,7 @@ public class SceneComposerToolController extends SceneToolController { /** * Scene composer edit tool activated. Pass in null to remove tools. * - * @param sceneEditButton pass in null to hide any existing tool markers + * @param sceneEditTool pass in null to hide any existing tool markers */ public void showEditTool(final SceneEditTool sceneEditTool) { SceneApplication.getApplication().enqueue(new Callable() { @@ -175,6 +173,9 @@ public class SceneComposerToolController extends SceneToolController { /** * Primary button activated, send command to the tool * for appropriate action. + * @param mouseLoc + * @param pressed + * @param camera */ public void doEditToolActivatedPrimary(Vector2f mouseLoc, boolean pressed, Camera camera) { if (editTool != null) { @@ -186,6 +187,9 @@ public class SceneComposerToolController extends SceneToolController { /** * Secondary button activated, send command to the tool * for appropriate action. + * @param mouseLoc + * @param pressed + * @param camera */ public void doEditToolActivatedSecondary(Vector2f mouseLoc, boolean pressed, Camera camera) { if (editTool != null) { @@ -223,6 +227,7 @@ public class SceneComposerToolController extends SceneToolController { /** * Adds a marker for the light to the scene if it does not exist yet + * @param light */ public void addLightMarker(Light light) { if (!(light instanceof PointLight) && !(light instanceof SpotLight)) @@ -252,6 +257,7 @@ public class SceneComposerToolController extends SceneToolController { /** * Removes a light marker from the scene's tool node + * @param light */ public void removeLightMarker(Light light) { Spatial s = nonSpatialMarkersNode.getChild(light.getName()); diff --git a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.form b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.form index 703128813..8b21fb202 100644 --- a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.form +++ b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.form @@ -392,6 +392,7 @@ + diff --git a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.java b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.java index 79bdc9983..1259d74a9 100644 --- a/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.java +++ b/sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/SceneComposerTopComponent.java @@ -72,7 +72,7 @@ public final class SceneComposerTopComponent extends TopComponent implements Sce SceneEditorController editorController; private SceneRequest sentRequest; private SceneRequest currentRequest; - private HelpCtx ctx = new HelpCtx("sdk.scene_composer"); + private final HelpCtx ctx = new HelpCtx("sdk.scene_composer"); private ProjectAssetManager.ClassPathChangeListener listener; public SceneComposerTopComponent() { @@ -88,6 +88,7 @@ public final class SceneComposerTopComponent extends TopComponent implements Sce * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ + @SuppressWarnings("UnnecessaryBoxing") // //GEN-BEGIN:initComponents private void initComponents() { @@ -353,6 +354,7 @@ public final class SceneComposerTopComponent extends TopComponent implements Sce }); jToolBar1.add(showSelectionToggleButton); + showGridToggleButton.setSelected(true); org.openide.awt.Mnemonics.setLocalizedText(showGridToggleButton, org.openide.util.NbBundle.getMessage(SceneComposerTopComponent.class, "SceneComposerTopComponent.showGridToggleButton.text")); // NOI18N showGridToggleButton.setToolTipText(org.openide.util.NbBundle.getMessage(SceneComposerTopComponent.class, "SceneComposerTopComponent.showGridToggleButton.toolTipText")); // NOI18N showGridToggleButton.setFocusable(false); @@ -709,6 +711,7 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ * Gets default instance. Do not use directly: reserved for *.settings files only, * i.e. deserialization routines; otherwise you could get a non-deserialized instance. * To obtain the singleton instance, use {@link #findInstance}. + * @return */ public static synchronized SceneComposerTopComponent getDefault() { if (instance == null) { @@ -719,6 +722,7 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ /** * Obtain the SceneComposerTopComponent instance. Never call {@link #getDefault} directly! + * @return */ public static synchronized SceneComposerTopComponent findInstance() { TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID); @@ -841,7 +845,7 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ if (!active) { result.removeLookupListener(inst); showSelectionToggleButton.setSelected(true); - showGridToggleButton.setSelected(false); + showGridToggleButton.setSelected(true); sceneInfoLabel1.setText(""); sceneInfoLabel2.setText(""); sceneInfoLabel1.setToolTipText(""); @@ -850,7 +854,7 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ } else { result.addLookupListener(this); showSelectionToggleButton.setSelected(true); - showGridToggleButton.setSelected(false); + showGridToggleButton.setSelected(true); //TODO: threading if (file != null) { sceneInfoLabel1.setText("Name: " + file.getNameExt()); @@ -917,6 +921,7 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ /** * listener for node selection changes + * @param ev */ public void resultChanged(LookupEvent ev) { if (currentRequest == null || !currentRequest.isDisplayed()) { @@ -994,10 +999,11 @@ private void jToggleSelectGeomActionPerformed(java.awt.event.ActionEvent evt) {/ camController.setMaster(this); camController.enable(); - toolController.setCameraController(camController); + toolController.createOnTopToolNode(); SelectTool tool = new SelectTool(); toolController.showEditTool(tool); toolController.setShowSelection(true); + toolController.setShowGrid(true); editorController.setToolController(toolController); toolController.refreshNonSpatialMarkers();