|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2009-2012 jMonkeyEngine
|
|
|
+ * Copyright (c) 2009-2018 jMonkeyEngine
|
|
|
* All rights reserved.
|
|
|
*
|
|
|
* 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
|
|
|
- * @param times a float array with the time of each frame
|
|
|
- * @param translations the translation of the bone for each frame
|
|
|
- * @param rotations the rotation of the bone for each frame
|
|
|
+ *
|
|
|
+ * @param times the time of each frame, measured from the start of the track
|
|
|
+ * (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) {
|
|
|
if (times.length == 0) {
|
|
|
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.translations = new CompactVector3Array();
|
|
@@ -160,15 +167,19 @@ public final class BoneTrack implements 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 rotations the rotation of the bone for each frame
|
|
|
- * @param scales the scale of the bone for each frame
|
|
|
+ *
|
|
|
+ * @param times the time of each frame, measured from the start of the track
|
|
|
+ * (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)
|
|
|
+ * @param scales the scale of the bone for each frame (ignored if null)
|
|
|
*/
|
|
|
public void setKeyframes(float[] times, Vector3f[] translations, Quaternion[] rotations, Vector3f[] scales) {
|
|
|
this.setKeyframes(times, translations, rotations);
|
|
|
- assert times.length == scales.length;
|
|
|
if (scales != null) {
|
|
|
+ assert times.length == scales.length;
|
|
|
this.scales = new CompactVector3Array();
|
|
|
this.scales.add(scales);
|
|
|
this.scales.freeze();
|