address issue #816: BoneTrack.setKeyframes() throws NPE in assertions
This commit is contained in:
parent
66e602c825
commit
ba37746c44
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
* Copyright (c) 2009-2018 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -138,16 +138,23 @@ public final class BoneTrack implements Track {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the translations and rotations for this bone track
|
* Set the translations and rotations for this bone track
|
||||||
* @param times a float array with the time of each frame
|
*
|
||||||
* @param translations the translation of the bone for each frame
|
* @param times the time of each frame, measured from the start of the track
|
||||||
* @param rotations the rotation of the bone for each frame
|
* (not null, length>0)
|
||||||
|
* @param translations the translation of the bone for each frame (not null,
|
||||||
|
* same length as times)
|
||||||
|
* @param rotations the rotation of the bone for each frame (not null, same
|
||||||
|
* length as times)
|
||||||
*/
|
*/
|
||||||
public void setKeyframes(float[] times, Vector3f[] translations, Quaternion[] rotations) {
|
public void setKeyframes(float[] times, Vector3f[] translations, Quaternion[] rotations) {
|
||||||
if (times.length == 0) {
|
if (times.length == 0) {
|
||||||
throw new RuntimeException("BoneTrack with no keyframes!");
|
throw new RuntimeException("BoneTrack with no keyframes!");
|
||||||
}
|
}
|
||||||
|
|
||||||
assert times.length == translations.length && times.length == rotations.length;
|
assert translations != null;
|
||||||
|
assert times.length == translations.length;
|
||||||
|
assert rotations != null;
|
||||||
|
assert times.length == rotations.length;
|
||||||
|
|
||||||
this.times = times;
|
this.times = times;
|
||||||
this.translations = new CompactVector3Array();
|
this.translations = new CompactVector3Array();
|
||||||
@ -160,15 +167,19 @@ public final class BoneTrack implements Track {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the translations, rotations and scales for this bone track
|
* Set the translations, rotations and scales for this bone track
|
||||||
* @param times a float array with the time of each frame
|
*
|
||||||
* @param translations the translation of the bone for each frame
|
* @param times the time of each frame, measured from the start of the track
|
||||||
* @param rotations the rotation of the bone for each frame
|
* (not null, length>0)
|
||||||
* @param scales the scale of the bone for each frame
|
* @param translations the translation of the bone for each frame (not null,
|
||||||
|
* same length as times)
|
||||||
|
* @param rotations the rotation of the bone for each frame (not null, same
|
||||||
|
* length as times)
|
||||||
|
* @param scales the scale of the bone for each frame (ignored if null)
|
||||||
*/
|
*/
|
||||||
public void setKeyframes(float[] times, Vector3f[] translations, Quaternion[] rotations, Vector3f[] scales) {
|
public void setKeyframes(float[] times, Vector3f[] translations, Quaternion[] rotations, Vector3f[] scales) {
|
||||||
this.setKeyframes(times, translations, rotations);
|
this.setKeyframes(times, translations, rotations);
|
||||||
assert times.length == scales.length;
|
|
||||||
if (scales != null) {
|
if (scales != null) {
|
||||||
|
assert times.length == scales.length;
|
||||||
this.scales = new CompactVector3Array();
|
this.scales = new CompactVector3Array();
|
||||||
this.scales.add(scales);
|
this.scales.add(scales);
|
||||||
this.scales.freeze();
|
this.scales.freeze();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user