Revision cacc63de
Added by Leszek Koltunski almost 9 years ago
| src/main/java/org/distorted/library/Distorted.java | ||
|---|---|---|
| 37 | 37 |
public class Distorted |
| 38 | 38 |
{
|
| 39 | 39 |
/** |
| 40 |
* When creating an instance of a DistortedObject from another instance, do not clone anything.
|
|
| 40 |
* When creating an instance of a DistortedTexture (or Tree) from another instance, do not clone anything.
|
|
| 41 | 41 |
* Used in the copy constructor. |
| 42 | 42 |
*/ |
| 43 | 43 |
public static final int CLONE_NOTHING = 0x0; |
| 44 | 44 |
/** |
| 45 |
* When creating an instance of a DistortedObject from another instance, clone the Bitmap that's
|
|
| 46 |
* backing up our DistortedObject.
|
|
| 45 |
* When creating an instance of a DistortedTexture from another instance, clone the Bitmap that's
|
|
| 46 |
* backing up our DistortedTexture.
|
|
| 47 | 47 |
* <p> |
| 48 |
* This way we can have two DistortedObjects, both backed up by the same Bitmap, to which we can
|
|
| 48 |
* This way we can have two DistortedTextures, both backed up by the same Bitmap, to which we can
|
|
| 49 | 49 |
* apply different effects. Used in the copy constructor. |
| 50 | 50 |
*/ |
| 51 | 51 |
public static final int CLONE_BITMAP = 0x1; |
| 52 | 52 |
/** |
| 53 |
* When creating an instance of a DistortedObject from another instance, clone the Matrix Effects.
|
|
| 53 |
* When creating an instance of a DistortedEffects from another instance, clone the Matrix Effects.
|
|
| 54 | 54 |
* <p> |
| 55 |
* This way we can have two different DistortedObjects with different Bitmaps behind them, both |
|
| 56 |
* always displayed in exactly the same place on the screen. Applying any matrix-based effect to |
|
| 57 |
* one of them automatically applies the effect to the other. Used in the copy constructor. |
|
| 55 |
* This way we can have two different DistortedEffects sharing the MATRIX queue. |
|
| 58 | 56 |
*/ |
| 59 | 57 |
public static final int CLONE_MATRIX = 0x2; |
| 60 | 58 |
/** |
| 61 |
* When creating an instance of a DistortedObject from another instance, clone the Vertex Effects.
|
|
| 59 |
* When creating an instance of a DistortedEffects from another instance, clone the Vertex Effects.
|
|
| 62 | 60 |
* <p> |
| 63 |
* This way we can have two different DistortedObjects with different Bitmaps behind them, both |
|
| 64 |
* always with the same Vertex effects. Applying any vertex-based effect to one of them automatically |
|
| 65 |
* applies the effect to the other. Used in the copy constructor. |
|
| 61 |
* This way we can have two different DistortedEffects sharing the VERTEX queue. |
|
| 66 | 62 |
*/ |
| 67 | 63 |
public static final int CLONE_VERTEX = 0x4; |
| 68 | 64 |
/** |
| 69 |
* When creating an instance of a DistortedObject from another instance, clone the Fragment Effects.
|
|
| 65 |
* When creating an instance of a DistortedEffects from another instance, clone the Fragment Effects.
|
|
| 70 | 66 |
* <p> |
| 71 |
* This way we can have two different DistortedObjects with different Bitmaps behind them, both |
|
| 72 |
* always with the same Fragment effects. Applying any fragment-based effect to one of them automatically |
|
| 73 |
* applies the effect to the other. Used in the copy constructor. |
|
| 67 |
* This way we can have two different DistortedEffects sharing the FRAGMENT queue. |
|
| 74 | 68 |
*/ |
| 75 | 69 |
public static final int CLONE_FRAGMENT= 0x8; |
| 76 | 70 |
/** |
| 77 | 71 |
* When creating an instance of a DistortedTree from another instance, clone the children Nodes. |
| 78 | 72 |
* <p> |
| 79 |
* This is mainly useful for creating many similar sub-trees of Bitmaps and rendering then at different places
|
|
| 80 |
* on the screen, with (optionally) different effects of the top-level root Bitmap.
|
|
| 73 |
* This is mainly useful for creating many similar sub-trees and rendering then at different places |
|
| 74 |
* on the screen with (optionally) different Effects.
|
|
| 81 | 75 |
*/ |
| 82 | 76 |
public static final int CLONE_CHILDREN= 0x10; |
| 83 | 77 |
|
| ... | ... | |
| 391 | 385 |
|
| 392 | 386 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 393 | 387 |
/** |
| 394 |
* Sets the maximum number of Matrix effects that can be applied to a single DistortedObject at one time.
|
|
| 388 |
* Sets the maximum number of Matrix effects that can be stored in a single EffectQueue at one time.
|
|
| 395 | 389 |
* This can fail if: |
| 396 | 390 |
* <ul> |
| 397 | 391 |
* <li>the value of 'max' is outside permitted range (0 ≤ max ≤ Byte.MAX_VALUE) |
| 398 | 392 |
* <li>We try to increase the value of 'max' when it is too late to do so already. It needs to be called |
| 399 | 393 |
* before the Vertex Shader gets compiled, i.e. before the call to {@link #onSurfaceCreated}. After this
|
| 400 | 394 |
* time only decreasing the value of 'max' is permitted. |
| 401 |
* <li>Furthermore, this needs to be called before any DistortedObject gets created.
|
|
| 395 |
* <li>Furthermore, this needs to be called before any DistortedEffects gets created.
|
|
| 402 | 396 |
* </ul> |
| 403 | 397 |
* |
| 404 | 398 |
* @param max new maximum number of simultaneous Matrix Effects. Has to be a non-negative number not greater |
| ... | ... | |
| 412 | 406 |
|
| 413 | 407 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 414 | 408 |
/** |
| 415 |
* Sets the maximum number of Vertex effects that can be applied to a single DistortedObject at one time.
|
|
| 409 |
* Sets the maximum number of Vertex effects that can be stored in a single EffectQueue at one time.
|
|
| 416 | 410 |
* This can fail if: |
| 417 | 411 |
* <ul> |
| 418 | 412 |
* <li>the value of 'max' is outside permitted range (0 ≤ max ≤ Byte.MAX_VALUE) |
| 419 | 413 |
* <li>We try to increase the value of 'max' when it is too late to do so already. It needs to be called |
| 420 | 414 |
* before the Vertex Shader gets compiled, i.e. before the call to {@link #onSurfaceCreated}. After this
|
| 421 | 415 |
* time only decreasing the value of 'max' is permitted. |
| 422 |
* <li>Furthermore, this needs to be called before any DistortedObject gets created.
|
|
| 416 |
* <li>Furthermore, this needs to be called before any DistortedEffects get created.
|
|
| 423 | 417 |
* </ul> |
| 424 | 418 |
* |
| 425 | 419 |
* @param max new maximum number of simultaneous Vertex Effects. Has to be a non-negative number not greater |
| ... | ... | |
| 433 | 427 |
|
| 434 | 428 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 435 | 429 |
/** |
| 436 |
* Sets the maximum number of Fragment effects that can be applied to a single DistortedObject at one time.
|
|
| 430 |
* Sets the maximum number of Fragment effects that can be stored in a single EffectQueue at one time.
|
|
| 437 | 431 |
* This can fail if: |
| 438 | 432 |
* <ul> |
| 439 | 433 |
* <li>the value of 'max' is outside permitted range (0 ≤ max ≤ Byte.MAX_VALUE) |
| 440 | 434 |
* <li>We try to increase the value of 'max' when it is too late to do so already. It needs to be called |
| 441 | 435 |
* before the Fragment Shader gets compiled, i.e. before the call to {@link #onSurfaceCreated}. After this
|
| 442 | 436 |
* time only decreasing the value of 'max' is permitted. |
| 443 |
* <li>Furthermore, this needs to be called before any DistortedObject gets created.
|
|
| 437 |
* <li>Furthermore, this needs to be called before any DistortedEffects get created.
|
|
| 444 | 438 |
* </ul> |
| 445 | 439 |
* |
| 446 | 440 |
* @param max new maximum number of simultaneous Fragment Effects. Has to be a non-negative number not greater |
| src/main/java/org/distorted/library/EffectMessageSender.java | ||
|---|---|---|
| 35 | 35 |
long mEffectID; |
| 36 | 36 |
int mEffectName; |
| 37 | 37 |
long mBitmapID; |
| 38 |
String mStr; |
|
| 39 | 38 |
|
| 40 |
Message(EffectListener l, EffectMessage m, long id, int name, long bmpID, String str)
|
|
| 39 |
Message(EffectListener l, EffectMessage m, long id, int name, long bmpID) |
|
| 41 | 40 |
{
|
| 42 | 41 |
mListener = l; |
| 43 | 42 |
mMessage = m; |
| 44 | 43 |
mEffectID = id; |
| 45 | 44 |
mEffectName = name; |
| 46 | 45 |
mBitmapID = bmpID; |
| 47 |
mStr = str; |
|
| 48 | 46 |
} |
| 49 | 47 |
} |
| 50 | 48 |
|
| ... | ... | |
| 108 | 106 |
while( mList.size()>0 ) |
| 109 | 107 |
{
|
| 110 | 108 |
tmp = mList.remove(0); |
| 111 |
tmp.mListener.effectMessage(tmp.mMessage, tmp.mEffectID, EffectNames.getName(tmp.mEffectName), |
|
| 112 |
tmp.mBitmapID, tmp.mStr); |
|
| 109 |
tmp.mListener.effectMessage(tmp.mMessage, tmp.mEffectID, EffectNames.getName(tmp.mEffectName),tmp.mBitmapID); |
|
| 113 | 110 |
} |
| 114 | 111 |
|
| 115 | 112 |
synchronized(mThis) |
| ... | ... | |
| 131 | 128 |
|
| 132 | 129 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 133 | 130 |
|
| 134 |
static void newMessage(EffectListener l, EffectMessage m, long id, int name, long bmpID, String str)
|
|
| 131 |
static void newMessage(EffectListener l, EffectMessage m, long id, int name, long bmpID) |
|
| 135 | 132 |
{
|
| 136 |
Message msg = mThis.new Message(l,m,id,name,bmpID,str);
|
|
| 133 |
Message msg = mThis.new Message(l,m,id,name,bmpID); |
|
| 137 | 134 |
mList.add(msg); |
| 138 | 135 |
|
| 139 | 136 |
synchronized(mThis) |
| src/main/java/org/distorted/library/EffectNames.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 23 | 23 |
/** |
| 24 |
* Names of Effects one can apply to DistortedObjects.
|
|
| 24 |
* Names of Effects one can add to the DistortedEffects queues.
|
|
| 25 | 25 |
* <p> |
| 26 | 26 |
* Effect's 'Type' is one of the constants defined in {@link EffectTypes}.
|
| 27 | 27 |
* </p> |
| ... | ... | |
| 144 | 144 |
SWIRL ( EffectTypes.VERTEX , new float[] {0.0f} , 1, true, true ),
|
| 145 | 145 |
/** |
| 146 | 146 |
* Directional sinusoidal wave effect. The direction of the wave is given by the 'angle' |
| 147 |
* parameters. Details: {@link DistortedObject#wave(org.distorted.library.type.Data5D,org.distorted.library.type.Data3D)}
|
|
| 147 |
* parameters. Details: {@link DistortedEffects#wave(org.distorted.library.type.Data5D,org.distorted.library.type.Data3D)}
|
|
| 148 | 148 |
* <p> |
| 149 | 149 |
* Uniforms: (amplitude,length,phase,angleAlpha, |
| 150 | 150 |
* angleBeta, centerX,centerY,centerZ, |
| src/main/java/org/distorted/library/EffectQueue.java | ||
|---|---|---|
| 92 | 92 |
} |
| 93 | 93 |
|
| 94 | 94 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 95 |
// Only max Byte.MAX_VALUE concurrent effects per DistortedObject.
|
|
| 95 |
// Only max Byte.MAX_VALUE concurrent effects per DistortedEffects object.
|
|
| 96 | 96 |
// If you want more, change type of the mNumEffects, mIDIndex and mFreeIndexes variables to shorts. |
| 97 |
// (although probably this many uniforms will not fit in the shaders anyway!) |
|
| 97 | 98 |
|
| 98 | 99 |
static boolean setMax(int index, int m) |
| 99 | 100 |
{
|
| ... | ... | |
| 216 | 217 |
EffectMessage.EFFECT_REMOVED, |
| 217 | 218 |
(removedID<<EffectTypes.LENGTH)+EffectNames.getType(removedName).type, |
| 218 | 219 |
removedName, |
| 219 |
mObjectID, |
|
| 220 |
null); |
|
| 220 |
mObjectID); |
|
| 221 | 221 |
} |
| 222 | 222 |
} |
| 223 | 223 |
|
| ... | ... | |
| 266 | 266 |
EffectMessage.EFFECT_REMOVED, |
| 267 | 267 |
(removedID<<EffectTypes.LENGTH)+EffectNames.getType(removedName).type, |
| 268 | 268 |
removedName, |
| 269 |
mObjectID, |
|
| 270 |
null); |
|
| 269 |
mObjectID); |
|
| 271 | 270 |
} |
| 272 | 271 |
|
| 273 | 272 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/library/EffectQueueFragment.java | ||
|---|---|---|
| 76 | 76 |
EffectMessage.EFFECT_FINISHED, |
| 77 | 77 |
(mID[i]<<EffectTypes.LENGTH)+EffectTypes.FRAGMENT.type, |
| 78 | 78 |
mName[i], |
| 79 |
mObjectID, |
|
| 80 |
null); |
|
| 79 |
mObjectID); |
|
| 81 | 80 |
|
| 82 | 81 |
if( EffectNames.isUnity(mName[i], mUniforms, NUM_UNIFORMS*i) ) |
| 83 | 82 |
{
|
| src/main/java/org/distorted/library/EffectQueueMatrix.java | ||
|---|---|---|
| 115 | 115 |
EffectMessage.EFFECT_FINISHED, |
| 116 | 116 |
(mID[i]<<EffectTypes.LENGTH)+EffectTypes.MATRIX.type, |
| 117 | 117 |
mName[i], |
| 118 |
mObjectID, |
|
| 119 |
null); |
|
| 118 |
mObjectID); |
|
| 120 | 119 |
|
| 121 | 120 |
if( EffectNames.isUnity(mName[i], mUniforms, NUM_UNIFORMS*i) ) |
| 122 | 121 |
{
|
| src/main/java/org/distorted/library/EffectQueueVertex.java | ||
|---|---|---|
| 86 | 86 |
EffectMessage.EFFECT_FINISHED, |
| 87 | 87 |
(mID[i]<<EffectTypes.LENGTH)+EffectTypes.VERTEX.type, |
| 88 | 88 |
mName[i], |
| 89 |
mObjectID, |
|
| 90 |
null); |
|
| 89 |
mObjectID); |
|
| 91 | 90 |
|
| 92 | 91 |
if( EffectNames.isUnity(mName[i], mUniforms, NUM_UNIFORMS*i) ) |
| 93 | 92 |
{
|
| src/main/java/org/distorted/library/EffectTypes.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 23 | 23 |
/** |
| 24 |
* Types of Effects one can apply to DistortedObjects.
|
|
| 24 |
* Types of Effects one can add to the DistortedEffects queues.
|
|
| 25 | 25 |
* <p> |
| 26 | 26 |
* Each effect type goes to an independent queue; the queues get executed one-by-one |
| 27 | 27 |
* and are each a class descendant from EffectQueue. |
| src/main/java/org/distorted/library/GridCubes.java | ||
|---|---|---|
| 162 | 162 |
} |
| 163 | 163 |
*/ |
| 164 | 164 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 165 |
// desc is guaranteed to be padded with 0s in the end (DistortedCubes constructor does it) |
|
| 166 | 165 |
|
| 167 | 166 |
private void prepareDataStructures(int cols, String desc, boolean frontOnly) |
| 168 | 167 |
{
|
| src/main/java/org/distorted/library/GridFlat.java | ||
|---|---|---|
| 30 | 30 |
private int remainingVert; |
| 31 | 31 |
|
| 32 | 32 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 33 |
// Create a flat, full grid. cols and rows is guaranteed (by DistortedBitmap constructor) |
|
| 34 |
// to be in 1,2,...,256. |
|
| 33 |
// Create a flat, full grid. |
|
| 35 | 34 |
|
| 36 | 35 |
private void computeNumberOfVertices(int cols, int rows) |
| 37 | 36 |
{
|
| src/main/java/org/distorted/library/message/EffectListener.java | ||
|---|---|---|
| 25 | 25 |
|
| 26 | 26 |
/** |
| 27 | 27 |
* This interface lets users of the Distorted library get notified when something happens to one of the effects. |
| 28 |
* To receive the notifications, we first have to register with a call to {@link org.distorted.library.DistortedObject#addEventListener(EffectListener)}.
|
|
| 28 |
* To receive the notifications, we first have to register with a call to {@link org.distorted.library.DistortedEffects#registerForMessages(EffectListener)}.
|
|
| 29 | 29 |
* List of all possible events that can happen is defined in {@link EffectMessage}
|
| 30 | 30 |
*/ |
| 31 | 31 |
|
| ... | ... | |
| 36 | 36 |
* |
| 37 | 37 |
* @param eventType Type of event that happened. |
| 38 | 38 |
* @param effectID ID of the effect the event happened to. This ID must have been previously returned by one |
| 39 |
* of the DistortedObject.{deform,distort,move,...} functions.
|
|
| 39 |
* of the DistortedEffects.{deform,distort,move,...} functions.
|
|
| 40 | 40 |
* @param effectName Name of the effect as defined by EffectNames. |
| 41 |
* @param objectID the ID of the DistortedObject object, as returned by {@link org.distorted.library.DistortedObject#getID()},
|
|
| 42 |
* this event happened to. If the Object has been created using a copy constructor |
|
| 43 |
* from another instance of DistortedObject, the ID here will be the one of the original object. |
|
| 44 |
* @param message Any message string associated with it. 'Failed' event types have one. |
|
| 41 |
* @param objectID the ID of the DistortedEffects object, as returned by {@link org.distorted.library.DistortedEffects#getID()},
|
|
| 42 |
* this event happened to. |
|
| 45 | 43 |
* @see EffectMessage |
| 46 | 44 |
* @see EffectNames |
| 47 | 45 |
*/ |
| 48 | 46 |
|
| 49 |
void effectMessage(final EffectMessage eventType, final long effectID, final EffectNames effectName, final long objectID, final String message);
|
|
| 47 |
void effectMessage(final EffectMessage eventType, final long effectID, final EffectNames effectName, final long objectID); |
|
| 50 | 48 |
} |
| 51 | 49 |
|
| 52 | 50 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/library/message/EffectMessage.java | ||
|---|---|---|
| 30 | 30 |
/** |
| 31 | 31 |
* The effect has been removed. This can happen if: |
| 32 | 32 |
* <ul> |
| 33 |
* <li> someone explicitly removed the effect with a call to {@link org.distorted.library.DistortedObject#abortEffect(long)}
|
|
| 33 |
* <li> someone explicitly removed the effect with a call to {@link org.distorted.library.DistortedEffects#abortEffect(long)}
|
|
| 34 | 34 |
* (or one of the other 'abort' methods) |
| 35 | 35 |
* <li> the interpolation of the effect has finished and the end result is equal to the effect's unity. |
| 36 | 36 |
* </ul> |
| ... | ... | |
| 49 | 49 |
* If then the end effect is equal to the effect's unity, then immediately after this message you |
| 50 | 50 |
* will also get a EFFECT_REMOVED message. |
| 51 | 51 |
*/ |
| 52 |
EFFECT_FINISHED, |
|
| 53 |
|
|
| 54 |
/** |
|
| 55 |
* The effect has failed to properly execute. |
|
| 56 |
* <p> |
|
| 57 |
* Currently only OTHER effects (saving to PNG file and to a MP4 movie) can fail. |
|
| 58 |
*/ |
|
| 59 |
EFFECT_FAILED |
|
| 52 |
EFFECT_FINISHED |
|
| 60 | 53 |
} |
| 61 | 54 |
|
| 62 | 55 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/library/type/Dynamic3D.java | ||
|---|---|---|
| 31 | 31 |
{
|
| 32 | 32 |
private Vector<Static3D> vv; |
| 33 | 33 |
private Static3D prev, curr, next; |
| 34 |
/* |
|
| 35 |
private float a0,a1,a2; |
|
| 36 |
private float f0, f1; |
|
| 37 |
private float b00,b01,b02; |
|
| 38 |
private float b10,b11,b12; |
|
| 39 |
private float b20,b21,b22; |
|
| 40 |
private float oldTime; |
|
| 41 |
*/ |
|
| 34 |
|
|
| 42 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 43 | 36 |
// no array bounds checking! |
| 44 | 37 |
|
| src/main/java/org/distorted/library/type/DynamicQuat.java | ||
|---|---|---|
| 37 | 37 |
// omega, sinOmega, cosOmega - angle between pair of quaternions, its sinus and cosinus. |
| 38 | 38 |
// |
| 39 | 39 |
// (vx,vy,vz,vw) is the original vector from vv (copied here so when interpolating we can see if it is |
| 40 |
// still valid and if not - rebuild the Cache |
|
| 40 |
// still valid and if not - rebuild the Cache.
|
|
| 41 | 41 |
|
| 42 | 42 |
private class VectorCacheQuat |
| 43 | 43 |
{
|
| ... | ... | |
| 398 | 398 |
} |
| 399 | 399 |
|
| 400 | 400 |
} |
| 401 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 402 |
// |
|
| src/main/java/org/distorted/library/type/Static1D.java | ||
|---|---|---|
| 22 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 23 | 23 |
/** |
| 24 | 24 |
* A 1-dimensional data structure containing a single float. The float has no particular meaning; |
| 25 |
* when this data structure is used in Interpolators, we can think of it as a 1-dimensional Point
|
|
| 25 |
* when this data structure is used in Dynamics, we can think of it as a 1-dimensional Point
|
|
| 26 | 26 |
* a few of which the Dynamic interpolates between. |
| 27 | 27 |
*/ |
| 28 | 28 |
|
| ... | ... | |
| 106 | 106 |
{
|
| 107 | 107 |
return x; |
| 108 | 108 |
} |
| 109 |
|
|
| 110 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 111 |
// end of class |
|
| 109 |
|
|
| 112 | 110 |
} |
| src/main/java/org/distorted/library/type/Static2D.java | ||
|---|---|---|
| 22 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 23 | 23 |
/** |
| 24 | 24 |
* A 2-dimensional data structure containing two floats. The floats have no particular meaning; |
| 25 |
* when this data structure is used in Interpolators, we can think of it as a 2-dimensional Point
|
|
| 25 |
* when this data structure is used in Dynamics, we can think of it as a 2-dimensional Point
|
|
| 26 | 26 |
* a few of which the Dynamic interpolates between. |
| 27 | 27 |
*/ |
| 28 | 28 |
|
| ... | ... | |
| 115 | 115 |
return y; |
| 116 | 116 |
} |
| 117 | 117 |
|
| 118 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 119 |
// end of class |
|
| 120 | 118 |
} |
| src/main/java/org/distorted/library/type/Static3D.java | ||
|---|---|---|
| 22 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 23 | 23 |
/** |
| 24 | 24 |
* A 3-dimensional data structure containing three floats. The floats have no particular meaning; |
| 25 |
* when this data structure is used in Interpolators, we can think of it as a 3-dimensional Point
|
|
| 25 |
* when this data structure is used in Dynamics, we can think of it as a 3-dimensional Point
|
|
| 26 | 26 |
* a few of which the Dynamic interpolates between. |
| 27 | 27 |
*/ |
| 28 | 28 |
|
| ... | ... | |
| 120 | 120 |
{
|
| 121 | 121 |
return z; |
| 122 | 122 |
} |
| 123 |
|
|
| 124 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 125 |
// end of class |
|
| 123 |
|
|
| 126 | 124 |
} |
| src/main/java/org/distorted/library/type/Static4D.java | ||
|---|---|---|
| 126 | 126 |
{
|
| 127 | 127 |
return w; |
| 128 | 128 |
} |
| 129 |
|
|
| 130 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 131 |
// end of class |
|
| 129 |
|
|
| 132 | 130 |
} |
| src/main/java/org/distorted/library/type/Static5D.java | ||
|---|---|---|
| 132 | 132 |
{
|
| 133 | 133 |
return v; |
| 134 | 134 |
} |
| 135 |
|
|
| 136 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 137 |
// end of class |
|
| 135 |
|
|
| 138 | 136 |
} |
Also available in: Unified diff
Fix Lint warnings, correct a lot of comments, adjust EffectListener interface.