Merge pull request #663 from NemesisMate/patch-18
Fixed IllegalArgumentException when removing a LodControl from a spatial
This commit is contained in:
commit
2a09771bc8
@ -121,11 +121,13 @@ public class LodControl extends AbstractControl implements Cloneable, JmeCloneab
|
||||
|
||||
@Override
|
||||
public void setSpatial(Spatial spatial) {
|
||||
if (!(spatial instanceof Geometry)) {
|
||||
if (spatial != null && !(spatial instanceof Geometry)) {
|
||||
throw new IllegalArgumentException("LodControl can only be attached to Geometry!");
|
||||
}
|
||||
|
||||
super.setSpatial(spatial);
|
||||
|
||||
if(spatial != null) {
|
||||
Geometry geom = (Geometry) spatial;
|
||||
Mesh mesh = geom.getMesh();
|
||||
numLevels = mesh.getNumLodLevels();
|
||||
@ -133,6 +135,10 @@ public class LodControl extends AbstractControl implements Cloneable, JmeCloneab
|
||||
for (int i = numLevels - 1; i >= 0; i--) {
|
||||
numTris[i] = mesh.getTriangleCount(i);
|
||||
}
|
||||
} else {
|
||||
numLevels = 0;
|
||||
numTris = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user