* Removed many deprecated methods and classes

* Fixed various small issues detected by code analyzer

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7240 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
sha..rd 14 years ago
parent 0d8a4b8dd4
commit 7dd3d52e9e
  1. 189
      engine/src/core/com/jme3/audio/QueuedAudioRenderer.java
  2. 8
      engine/src/core/com/jme3/material/MatParam.java
  3. 5
      engine/src/core/com/jme3/renderer/queue/OpaqueComparator.java
  4. 2
      engine/src/core/com/jme3/renderer/queue/RenderQueue.java
  5. 7
      engine/src/core/com/jme3/scene/Mesh.java
  6. 23
      engine/src/core/com/jme3/scene/control/CameraControl.java
  7. 2
      engine/src/core/com/jme3/scene/mesh/VirtualIndexBuffer.java
  8. 25
      engine/src/core/com/jme3/scene/shape/Cylinder.java
  9. 3
      engine/src/core/com/jme3/shader/Uniform.java
  10. 14
      engine/src/core/com/jme3/texture/Image.java
  11. 105
      engine/src/core/com/jme3/texture/Texture.java
  12. 13
      engine/src/core/com/jme3/texture/Texture2D.java
  13. 10
      engine/src/core/com/jme3/texture/TextureCubeMap.java
  14. 39
      engine/src/desktop-fx/com/jme3/post/filters/BloomFilter.java
  15. 51
      engine/src/desktop-fx/com/jme3/shadow/PssmShadowRenderer.java
  16. 5
      engine/src/desktop/com/jme3/system/JmeSystem.java
  17. 32
      engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglGL1Renderer.java
  18. 1
      engine/src/tools/jme3tools/navigation/Coordinate.java
  19. 2
      engine/src/tools/jme3tools/navigation/NavCalculator.java

@ -1,189 +0,0 @@
/*
* Copyright (c) 2009-2010 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package com.jme3.audio;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
@Deprecated
public class QueuedAudioRenderer implements AudioRenderer, Runnable {
private static final float UPDATE_RATE = 0.01f;
private AudioRenderer wrapped;
private final Thread thread = new Thread(this, "jME3 Audio Thread");
private final Queue<Command> commandQueue = new LinkedList<Command>();
public void updateListenerParam(Listener listener, ListenerParam param) {
}
private enum CmdType {
Cleanup,
SetListenerParams,
SetEnvParams,
PlaySourceInstance,
PlaySource,
PauseSource,
StopSource,
}
private static class Command {
private CmdType type;
private Object[] args;
public Command(CmdType type, Object ... args) {
this.type = type;
this.args = args;
}
}
public QueuedAudioRenderer(AudioRenderer toWrap){
wrapped = toWrap;
}
public void run(){
wrapped.initialize();
long updateRateNanos = (long) (UPDATE_RATE * 1000000000);
mainloop: while (true){
long startTime = System.nanoTime();
// execute commands and update
synchronized (thread){
while (commandQueue.size() > 0){
Command cmd = commandQueue.remove();
if (cmd.type == CmdType.Cleanup)
break mainloop;
executeCommand(cmd);
}
}
wrapped.update(UPDATE_RATE);
long endTime = System.nanoTime();
long diffTime = endTime - startTime;
if (diffTime < updateRateNanos){
long desiredEndTime = startTime + updateRateNanos;
while (System.nanoTime() < desiredEndTime){
try{
Thread.sleep(1);
}catch (InterruptedException ex){
}
}
}
}
commandQueue.clear();
wrapped.cleanup();
}
private void enqueueCommand(Command cmd){
synchronized (thread){
commandQueue.add(cmd);
}
}
public void initialize(){
if (!thread.isAlive()){
thread.setDaemon(true);
thread.setPriority(Thread.NORM_PRIORITY+1);
thread.start();
}else{
throw new IllegalStateException("Initialize already called");
}
}
public void cleanup(){
if (thread.isAlive()){
enqueueCommand(new Command(CmdType.Cleanup, (Object)null ));
}else{
throw new IllegalStateException("Already cleaned up or not initialized");
}
}
private void executeCommand(Command cmd){
System.out.println("-> " + cmd.type + Arrays.toString(cmd.args));
switch (cmd.type){
case SetListenerParams:
wrapped.setListener( (Listener) cmd.args[0]);
break;
case PlaySource:
wrapped.playSource( (AudioNode) cmd.args[0] );
break;
case PauseSource:
wrapped.pauseSource( (AudioNode) cmd.args[0] );
break;
case StopSource:
wrapped.stopSource( (AudioNode) cmd.args[0] );
break;
}
}
public void updateSourceParam(AudioNode node, AudioParam param){
}
public void setListener(Listener listener){
enqueueCommand(new Command(CmdType.SetListenerParams, new Listener(listener)));
}
public void setEnvironment(Environment env){
enqueueCommand(new Command(CmdType.SetEnvParams, new Environment(env)));
}
public void playSourceInstance(AudioNode src){
enqueueCommand(new Command(CmdType.PlaySourceInstance, src));
}
public void playSource(AudioNode src){
enqueueCommand(new Command(CmdType.PlaySource, src));
}
public void pauseSource(AudioNode src){
enqueueCommand(new Command(CmdType.PauseSource, src));
}
public void stopSource(AudioNode src){
enqueueCommand(new Command(CmdType.StopSource, src));
}
public void deleteAudioData(AudioData ad){
}
public void update(float tpf){
// do nothing. updated in thread.
}
}

@ -213,6 +213,14 @@ public class MatParam implements Savable, Cloneable {
otherParam.name.equals(name);
}
@Override
public int hashCode() {
int hash = 5;
hash = 17 * hash + (this.type != null ? this.type.hashCode() : 0);
hash = 17 * hash + (this.name != null ? this.name.hashCode() : 0);
return hash;
}
@Override
public String toString(){
return type.name()+" "+name;

@ -40,7 +40,8 @@ import com.jme3.scene.Geometry;
public class OpaqueComparator implements GeometryComparator {
private Camera cam;
private final Vector3f tempVec = new Vector3f();
private final Vector3f tempVec = new Vector3f();
private final Vector3f tempVec2 = new Vector3f();
public void setCamera(Camera cam){
this.cam = cam;
@ -54,7 +55,7 @@ public class OpaqueComparator implements GeometryComparator {
return spat.queueDistance;
Vector3f camPosition = cam.getLocation();
Vector3f viewVector = cam.getDirection();
Vector3f viewVector = cam.getDirection(tempVec2);
Vector3f spatPosition = null;
if (spat.getWorldBound() != null){

@ -194,6 +194,8 @@ public class RenderQueue {
case Receive:
renderGeometryList(shadowRecv, rm, cam, clear);
break;
default:
throw new IllegalArgumentException("Unexpected shadow bucket: " + shadBucket);
}
}

@ -57,6 +57,7 @@ import com.jme3.util.IntMap.Entry;
import java.io.IOException;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.ShortBuffer;
@ -336,6 +337,12 @@ public class Mesh implements Savable, Cloneable {
dataBuf.putInt(ib.get());
}
break;
case Double:
DoubleBuffer db = (DoubleBuffer) vb.getData();
for (int comp = 0; comp < vb.components; comp++){
dataBuf.putDouble(db.get());
}
break;
}
}
}

@ -86,29 +86,6 @@ public class CameraControl extends AbstractControl {
this.controlDir = controlDir;
}
/**
* @param spatial
* @param camera
* @param controlDir
* @deprecated Use the constructor that doesn't take a spatial argument
*/
public CameraControl(Spatial spatial, Camera camera, ControlDirection controlDir) {
super(spatial);
this.camera = camera;
this.controlDir = controlDir;
}
/**
* @param spatial The spatial to be synced.
* @param camera The Camera to be synced.
* @deprecated Use the constructor that doesn't take a spatial argument
*/
@Deprecated
public CameraControl(Spatial spatial, Camera camera) {
super(spatial);
this.camera = camera;
}
public Camera getCamera() {
return camera;
}

@ -34,6 +34,8 @@ public class VirtualIndexBuffer extends IndexBuffer {
case Triangles:
numIndices = numVerts;
return;
case Hybrid:
throw new UnsupportedOperationException();
}
}

@ -200,31 +200,6 @@ public class Cylinder extends Mesh {
return inverted;
}
/**
* Set the half angle of the cone.
*
* @param radians
*/
public void setHalfAngle(float radians) {
updateGeometry(getAxisSamples(), getRadialSamples(), FastMath.tan(radians), getRadius2(), getHeight(), isClosed(), isInverted());
}
/**
* Set the bottom radius of the 'cylinder' to differ from the top radius.
* This makes the Geometry be a frustum of pyramid, or if set to 0, a cone.
* <p>
* <strong>Note:</strong> this method causes the tri-mesh geometry data
* to be recalculated, see <a href="package-summary.html#mutator-methods">
* the package description</a> for more information about this.
*
* @param radius the second radius to set.
* @see {@link Cone}
* @deprecated use {@link #recomputeGeometry(int, int, float, float, boolean, boolean)}.
*/
public void setRadius2(float radius2) {
updateGeometry(axisSamples, radialSamples, radius, radius2, height, closed, inverted);
}
/**
* Rebuilds the cylinder based on a new set of parameters.
*

@ -257,6 +257,9 @@ public class Uniform extends ShaderVariable {
this.value = Quaternion.ZERO;
}
break;
default:
break; // won't happen because those are either textures
// or multidata types
}
}

@ -172,6 +172,7 @@ public class Image extends GLObject implements Savable /*, Cloneable*/ {
return new Image(id);
}
@Override
public Image clone(){
Image clone = (Image) super.clone();
clone.mipMapSizes = mipMapSizes != null ? mipMapSizes.clone() : null;
@ -585,6 +586,19 @@ public class Image extends GLObject implements Savable /*, Cloneable*/ {
return true;
}
@Override
public int hashCode() {
int hash = 7;
hash = 97 * hash + (this.format != null ? this.format.hashCode() : 0);
hash = 97 * hash + this.width;
hash = 97 * hash + this.height;
hash = 97 * hash + this.depth;
hash = 97 * hash + Arrays.hashCode(this.mipMapSizes);
hash = 97 * hash + (this.data != null ? this.data.hashCode() : 0);
hash = 97 * hash + this.multiSamples;
return hash;
}
public void write(JmeExporter e) throws IOException {
OutputCapsule capsule = e.getCapsule(this);
capsule.write(format, "format", Format.RGBA8);

@ -515,72 +515,45 @@ public abstract class Texture implements Asset, Savable, Cloneable {
return sb.toString();
}
// public boolean equals(Object other) {
// if (other == this) {
// return true;
// }
// if (!(other instanceof Texture)) {
// return false;
// }
//// super.equals(other);
//
// Texture that = (Texture) other;
// if (this.textureId != that.textureId)
// return false;
// if (this.textureId == 0) {
// if (this.getImage() != null
// && !this.getImage().equals(that.getImage()))
// return false;
// if (this.getImage() == null && that.getImage() != null)
// return false;
// if (this.getAnisotropicFilterPercent() != that
// .getAnisotropicFilterPercent())
// return false;
// if (this.getApply() != that.getApply())
// return false;
// if (this.getCombineFuncAlpha() != that.getCombineFuncAlpha())
// return false;
// if (this.getCombineFuncRGB() != that.getCombineFuncRGB())
// return false;
// if (this.getCombineOp0Alpha() != that.getCombineOp0Alpha())
// return false;
// if (this.getCombineOp1RGB() != that.getCombineOp1RGB())
// return false;
// if (this.getCombineOp2Alpha() != that.getCombineOp2Alpha())
// return false;
// if (this.getCombineOp2RGB() != that.getCombineOp2RGB())
// return false;
// if (this.getCombineScaleAlpha() != that.getCombineScaleAlpha())
// return false;
// if (this.getCombineScaleRGB() != that.getCombineScaleRGB())
// return false;
// if (this.getCombineSrc0Alpha() != that.getCombineSrc0Alpha())
// return false;
// if (this.getCombineSrc0RGB() != that.getCombineSrc0RGB())
// return false;
// if (this.getCombineSrc1Alpha() != that.getCombineSrc1Alpha())
// return false;
// if (this.getCombineSrc1RGB() != that.getCombineSrc1RGB())
// return false;
// if (this.getCombineSrc2Alpha() != that.getCombineSrc2Alpha())
// return false;
// if (this.getCombineSrc2RGB() != that.getCombineSrc2RGB())
// return false;
// if (this.getEnvironmentalMapMode() != that
// .getEnvironmentalMapMode())
// return false;
// if (this.getMagnificationFilter() != that.getMagnificationFilter())
// return false;
// if (this.getMinificationFilter() != that.getMinificationFilter())
// return false;
// if (this.getBlendColor() != null
// && !this.getBlendColor().equals(that.getBlendColor()))
// return false;
// if (this.getBlendColor() == null && that.getBlendColor() != null)
// return false;
// }
// return true;
// }
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Texture other = (Texture) obj;
if (this.image != other.image && (this.image == null || !this.image.equals(other.image))) {
return false;
}
if (this.minificationFilter != other.minificationFilter) {
return false;
}
if (this.magnificationFilter != other.magnificationFilter) {
return false;
}
if (this.shadowCompareMode != other.shadowCompareMode) {
return false;
}
if (this.anisotropicFilter != other.anisotropicFilter) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 5;
hash = 67 * hash + (this.image != null ? this.image.hashCode() : 0);
hash = 67 * hash + (this.minificationFilter != null ? this.minificationFilter.hashCode() : 0);
hash = 67 * hash + (this.magnificationFilter != null ? this.magnificationFilter.hashCode() : 0);
hash = 67 * hash + (this.shadowCompareMode != null ? this.shadowCompareMode.hashCode() : 0);
hash = 67 * hash + this.anisotropicFilter;
return hash;
}
// public abstract Texture createSimpleClone();

@ -134,6 +134,8 @@ public class Texture2D extends Texture {
case T:
this.wrapT = mode;
break;
default:
throw new IllegalArgumentException("Not applicable for 2D textures");
}
}
@ -169,8 +171,9 @@ public class Texture2D extends Texture {
return wrapS;
case T:
return wrapT;
default:
throw new IllegalArgumentException("invalid WrapAxis: " + axis);
}
throw new IllegalArgumentException("invalid WrapAxis: " + axis);
}
@Override
@ -191,6 +194,14 @@ public class Texture2D extends Texture {
return super.equals(other);
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 79 * hash + (this.wrapS != null ? this.wrapS.hashCode() : 0);
hash = 79 * hash + (this.wrapT != null ? this.wrapT.hashCode() : 0);
return hash;
}
@Override
public void write(JmeExporter e) throws IOException {
super.write(e);

@ -36,7 +36,6 @@ import com.jme3.export.JmeExporter;
import com.jme3.export.JmeImporter;
import com.jme3.export.InputCapsule;
import com.jme3.export.OutputCapsule;
import com.jme3.renderer.GLObject;
import java.io.IOException;
/**
@ -178,6 +177,15 @@ public class TextureCubeMap extends Texture {
return super.equals(other);
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 53 * hash + (this.wrapS != null ? this.wrapS.hashCode() : 0);
hash = 53 * hash + (this.wrapT != null ? this.wrapT.hashCode() : 0);
hash = 53 * hash + (this.wrapR != null ? this.wrapR.hashCode() : 0);
return hash;
}
@Override
public void write(JmeExporter e) throws IOException {
super.write(e);

@ -73,18 +73,7 @@ public class BloomFilter extends Filter {
*/
SceneAndObjects;
}
/**@deprecated use {@link GlowMode} enum */
public static final int GLOW_SCENE = 0;
/**@deprecated use {@link GlowMode} enum */
public static final int GLOW_OBJECTS = 1;
/**@deprecated use {@link GlowMode} enum */
public static final int GLOW_BOTH = 2;
/**@deprecated use GLOW_SCENE instead*/
public static final int GLOW_MODE_ONLY_EXTRACTED_LIGHTS = 0;
/**@deprecated use GLOW_OBJECTS instead*/
public static final int GLOW_MODE_ONLY_GLOW_OBJECTS = 1;
/**@deprecated use GLOW_BOTH instead*/
public static final int GLOW_MODE_BOTH = 2;
private GlowMode glowMode = GlowMode.Scene;
//Bloom parameters
private float blurScale = 1.5f;
@ -119,32 +108,6 @@ public class BloomFilter extends Filter {
this.glowMode = glowMode;
}
/**
*
* @param width
* @param height
* @deprecated use BloomFilter() instead
*/
@Deprecated
public BloomFilter(int width, int height) {
super("BloomFilter");
screenWidth = width;
screenHeight = height;
}
/**
*
* @param width
* @param height
* @param glowMode
* @deprecated use BloomFilter(GlowMode glowMode) instead
*/
@Deprecated
public BloomFilter(int width, int height, GlowMode glowMode) {
this(width, height);
this.glowMode = glowMode;
}
@Override
public void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) {
screenWidth = (int) (w / downSamplingFactor);

@ -59,21 +59,6 @@ import com.jme3.ui.Picture;
public class PssmShadowRenderer implements SceneProcessor {
@Deprecated
public static final String EDGE_FILTERING_PCF = "EDGE_FILTERING_PCF";
@Deprecated
public static final String EDGE_FILTERING_DITHER = "EDGE_FILTERING_DITHER";
@Deprecated
public enum FILTERING {
PCF4X4,
PCF8X8,
PCF10X10,
PCF16X16,
PCF20X20
}
/**
* <code>FilterMode</code> specifies how shadows are filtered
*/
@ -205,16 +190,6 @@ public class PssmShadowRenderer implements SceneProcessor {
}
}
@Deprecated
public PssmShadowRenderer(AssetManager manager, int size, int nbSplits, String filterMode){
this(manager, size, nbSplits);
if (filterMode.equals(EDGE_FILTERING_DITHER)){
setFilterMode(FilterMode.Dither);
}else if (filterMode.equals(EDGE_FILTERING_PCF)){
setFilterMode(FilterMode.PCF4);
}
}
public void setFilterMode(FilterMode filterMode){
if (filterMode == null)
throw new NullPointerException();
@ -508,31 +483,5 @@ public class PssmShadowRenderer implements SceneProcessor {
this.edgesThickness *= 0.1f;
postshadowMat.setFloat("PCFEdge", edgesThickness);
}
@Deprecated
public FILTERING getPcfFilter() {
switch (filterMode){
case PCF4:
return FILTERING.PCF4X4;
case PCF8:
return FILTERING.PCF8X8;
default:
return null;
}
}
@Deprecated
public void setPcfFilter(FILTERING pcfFilter) {
switch (pcfFilter){
case PCF4X4:
setFilterMode(FilterMode.PCF4);
break;
case PCF8X8:
setFilterMode(FilterMode.PCF8);
break;
}
}
}

@ -93,11 +93,6 @@ public class JmeSystem {
* Apple Mac OS X 64 bit PowerPC
*/
MacOSX_PPC64,
/**
* Google Android Smartphone OS
*/
Android
}
private static final Logger logger = Logger.getLogger(JmeSystem.class.getName());

@ -65,6 +65,7 @@ public class LwjglGL1Renderer implements GL1Renderer {
// private Matrix4f projMatrix = new Matrix4f();
private boolean colorSet = false;
private boolean materialSet = false;
protected void updateNameBuffer() {
int len = stringBuf.length();
@ -137,6 +138,18 @@ public class LwjglGL1Renderer implements GL1Renderer {
glClearColor(color.r, color.g, color.b, color.a);
}
private void setMaterialColor(int type, ColorRGBA color){
if (!materialSet){
materialSet = true;
glEnable(GL_COLOR_MATERIAL);
}
fb16.clear();
fb16.put(color.r).put(color.g).put(color.b).put(color.a);
fb16.clear();
glMaterial(GL_FRONT_AND_BACK, type, fb16);
}
public void setFixedFuncBinding(FixedFuncBinding ffBinding, Object val){
switch (ffBinding){
case Color:
@ -144,6 +157,18 @@ public class LwjglGL1Renderer implements GL1Renderer {
glColor4f(color.r, color.g, color.b, color.a);
colorSet = true;
break;
case MaterialAmbient:
ColorRGBA ambient = (ColorRGBA) val;
setMaterialColor(GL_AMBIENT, ambient);
break;
case MaterialDiffuse:
ColorRGBA diffuse = (ColorRGBA) val;
setMaterialColor(GL_DIFFUSE, diffuse);
break;
case MaterialSpecular:
ColorRGBA specular = (ColorRGBA) val;
setMaterialColor(GL_SPECULAR, specular);
break;
}
}
@ -152,6 +177,10 @@ public class LwjglGL1Renderer implements GL1Renderer {
glColor4f(1,1,1,1);
colorSet = false;
}
if (materialSet){
glDisable(GL_COLOR_MATERIAL);
materialSet = false; // TODO: not efficient
}
}
public void applyRenderState(RenderState state) {
@ -710,6 +739,9 @@ public class LwjglGL1Renderer implements GL1Renderer {
glTexCoordPointer(comps, vb.getStride(), (FloatBuffer)data);
break;
default:
// Ignore, this is an unsupported attribute for OpenGL1.
break;
}
}

@ -153,6 +153,7 @@ public class Coordinate {
}
str = su.padNumZero(Math.abs(deg), 3);
str += "\u00b0" + su.padNumZero(Math.abs(minsDecMins), 2, MINPRECISION) + "'" + quad;
break;
}
return str;
}

@ -48,8 +48,10 @@ public class NavCalculator {
switch (calcType) {
case MERCATOR:
mercatorSailing(P1, P2);
break;
case GC:
greatCircleSailing(P1, P2);
break;
}
}

Loading…
Cancel
Save