|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectespresso3d.engine.base.E3DEngineItem
espresso3d.engine.renderer.base.E3DRenderable
espresso3d.engine.renderer.base.E3DBlendedRenderable
espresso3d.engine.renderer.base.E3DBlendedAnimatedTextureRenderable
espresso3d.engine.world.sector.base.E3DPortalEnabledBlendedAnimatedTextureRenderable
espresso3d.engine.world.sector.particle.E3DSprite
espresso3d.engine.world.sector.particle.E3DBillboardSprite
espresso3d.engine.world.sector.particle.E3DParticle
| Field Summary |
| Fields inherited from class espresso3d.engine.renderer.base.E3DBlendedRenderable |
BLENDMODE_BLEND, BLENDMODE_SOLID |
| Fields inherited from class espresso3d.engine.renderer.base.E3DRenderable |
RENDERMODE_SOLID, RENDERMODE_TEXTURED, RENDERMODE_WIREFRAME |
| Constructor Summary | |
E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
E3DAnimatedTextureFrame[] animationFrames,
int animationLoops)
|
|
E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
E3DAnimatedTextureFrame[] animationFrames,
int animationLoops,
int blendMode)
|
|
E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
java.lang.String textureName)
Create a new particle |
|
E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
java.lang.String textureName,
int blendMode)
|
|
E3DParticle(E3DParticle toCopy)
Copy an existing particle |
|
| Method Summary | |
double |
getCurrentFrameVelocity()
This will always return the scaled velocity the particle was last moved at. |
E3DVector3F |
getCurrentMovementDirection()
Get the normalised direction the particle is set to move within this life cycle. |
double |
getEndAlpha()
Get the alpha the particle is at when its at the end of its loops (between 0 and 1) |
double |
getLife()
Get how many seconds the particle will live after the start delay of the life cycle has expired. |
int |
getLoops()
Get number of loops the particle lives. |
E3DParticleSystem |
getParticleSystem()
Get the particlesystem the particle lives in |
double |
getStartAlpha()
Get the alpha the particle starts with (between 0 and 1) |
double |
getStartDelay()
Get the delay the particle waits at the beginning of a loop before it begins moving (Seconds). |
E3DVector3F |
getStartMovementDirection()
Get the normalised direction the particle should move at the beginning of its life cycle. |
E3DVector3F |
getStartPosition()
The position the particle starts at the beginning of a loop |
E3DVector3F |
getTranslationAmt(double lastFrameTimeSeconds)
Return the translation vector that will be used to translate the particle this frame with a lastFrameUpdateTime of lastFrameTimeSeconds |
double |
getVelocity()
Get the velocity of the particle. |
boolean |
isAlive()
|
abstract boolean |
isCollisionCausedByMovement()
Set this to true if the particle in the system needs to cause collisions when it moves. |
abstract void |
onCollisionActor(E3DCollision collision)
Intercept collision with actor callbacks |
abstract void |
onCollisionDuringUpdate(E3DCollision collision)
This callback gets fired when the particle hits something in the world. |
abstract void |
onCollisionSprite(E3DCollision collision)
Intercept collision with sprite callbacks |
abstract E3DParticle |
onGetClone()
|
void |
renderAtPosition(E3DVector3F atPosition)
Render a single particle. |
void |
rotate(double angle,
E3DVector3F upVec)
Rotate the the direction the particle faces. |
void |
rotateMovementDirection(double angle,
E3DVector3F upVec,
boolean permanently)
Rotate the particle around upVec angle amount. |
void |
setCurrentMovementDirection(E3DVector3F currentMovementDirection)
Set the direction the particle should move within this life cycle. |
void |
setEndAlpha(double endAlpha)
Set the alpha the particle is at when its at the end of its loops (between 0 and 1) |
void |
setLife(double life)
Set how many seconds the particle will live. |
void |
setLoops(int loops)
Set number of loops the particle lives. |
protected void |
setParticleSystem(E3DParticleSystem particleSystem)
|
void |
setStartAlpha(double startAlpha)
Set the alpha the particle begins at (between 0 and 1) |
void |
setStartDelay(double startDelay)
Set the delay the particle waits at the beginning of a loop before it begins rendering and moving (Seconds). |
void |
setStartMovementDirection(E3DVector3F startMovementDirection)
Set the direction the particle should move at the beginning of its life cycles. |
void |
setStartPosition(E3DVector3F startPosition)
Set the position the particle starts at the beginning of a loop |
void |
setVelocity(double velocity)
Set the velocity the particle travels at. |
void |
translate(E3DVector3F translationVec)
Translate particle geometry and startPosition |
boolean |
update(E3DActor curActor,
double lastFrameTimeSeconds)
Update the particle - move in direction at the velocity speed. |
| Methods inherited from class espresso3d.engine.world.sector.particle.E3DBillboardSprite |
isLockX, isLockY, isLockZ, setLockX, setLockY, setLockZ |
| Methods inherited from class espresso3d.engine.world.sector.particle.E3DSprite |
getBoundingObject, getForward, getPosition, getQuad, getSize, getTriangleList, getUniqueVertexList, getUp, scale, setPosition, setQuad, setRenderMode |
| Methods inherited from class espresso3d.engine.world.sector.base.E3DPortalEnabledBlendedAnimatedTextureRenderable |
checkSectorChangeDuringMovement, getSector, setSector |
| Methods inherited from class espresso3d.engine.renderer.base.E3DBlendedAnimatedTextureRenderable |
getAnimatedTexture, getRenderableOptionsKey, setAnimatedTexture |
| Methods inherited from class espresso3d.engine.renderer.base.E3DBlendedRenderable |
getBlendMode, initCorrectGeometryRenderer, setBlendMode |
| Methods inherited from class espresso3d.engine.renderer.base.E3DRenderable |
getRenderMode, render |
| Methods inherited from class espresso3d.engine.base.E3DEngineItem |
getEngine, setEngine |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface espresso3d.engine.collision.base.E3DCollisionDetectableObject |
getEngine, getSector, isCollideable |
| Constructor Detail |
public E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
java.lang.String textureName)
engine - The engine the particle resides instartPosition - The position the particle starts atstartMovementDirection - The direciton the particle starts moving at the beginning of its life.velocity - The velocity the particle moves at. This is scaled each frame by the enginelife - The particles lifespan (seconds). This time begins after the start delay of a life cycle has expired.startAlpha - Alpha value (0.0 - 1.0) of the particle at beginning of life. Currently unimplemented (Always 1)endAlpha - The alpha value (0.0 - 1.0) of the particle at the end of life. Currently unimplemented (Always 1)size - The size of the particleloops - Number times to loop its life cycle (-1 is infinite)startDelay - Number of seconds to delay before beginning rendering itself and movement at the start of a life cycle. This only delays for the first loop iteration.
public E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
E3DAnimatedTextureFrame[] animationFrames,
int animationLoops)
public E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
java.lang.String textureName,
int blendMode)
public E3DParticle(E3DEngine engine,
E3DVector3F startPosition,
E3DVector3F startMovementDirection,
double velocity,
double life,
double startAlpha,
double endAlpha,
double size,
int loops,
double startDelay,
E3DAnimatedTextureFrame[] animationFrames,
int animationLoops,
int blendMode)
public E3DParticle(E3DParticle toCopy)
toCopy - | Method Detail |
public E3DVector3F getTranslationAmt(double lastFrameTimeSeconds)
public boolean update(E3DActor curActor,
double lastFrameTimeSeconds)
update in class E3DBillboardSpritelastFrameTimeSeconds - Pass in the last engine's frame time to use as a scalar for the movement velocity of hte particle (so its the same speed on fast or slow systems
Returns false if it needs to be removed from the particlesystem (its dead)curActor - The actor the billboard will turn to facepublic boolean isAlive()
public void renderAtPosition(E3DVector3F atPosition)
renderAtPosition in class E3DSpritepublic double getLife()
public void setLife(double life)
life - public double getVelocity()
public void setVelocity(double velocity)
velocity - public int getLoops()
public void setLoops(int loops)
public E3DVector3F getStartPosition()
public void setStartPosition(E3DVector3F startPosition)
startPosition - public double getEndAlpha()
public void setEndAlpha(double endAlpha)
public double getStartAlpha()
public void setStartAlpha(double startAlpha)
startAlpha - Value between 0 and 1, 1 being opaque
TODO: Implement alpha. This is currently not supported in particlespublic double getStartDelay()
public void setStartDelay(double startDelay)
public E3DParticleSystem getParticleSystem()
protected void setParticleSystem(E3DParticleSystem particleSystem)
public void translate(E3DVector3F translationVec)
translate in class E3DSprite
public void rotate(double angle,
E3DVector3F upVec)
rotate in class E3DSpriteangle - Radian angleupVec - Normalised up vector to use as the rotation axis
Calls rotate with permanently set to TRUE
public void rotateMovementDirection(double angle,
E3DVector3F upVec,
boolean permanently)
angle - Radian angleupVec - Normalised up vector to use as the rotation axispermanently - False if the particle should reset to its original movement direction at the end of its life cycle. True if it
should retain this orientation for this and the rest of its life cyclespublic abstract void onCollisionActor(E3DCollision collision)
onCollisionActor in interface E3DCollisionDetectableObjectonCollisionActor in class E3DBillboardSpritepublic abstract void onCollisionSprite(E3DCollision collision)
onCollisionSprite in interface E3DCollisionDetectableObjectonCollisionSprite in class E3DBillboardSpritepublic abstract void onCollisionDuringUpdate(E3DCollision collision)
collision -
public abstract E3DParticle onGetClone()
throws java.lang.Exception
java.lang.Exceptionpublic E3DVector3F getCurrentMovementDirection()
public void setCurrentMovementDirection(E3DVector3F currentMovementDirection)
currentMovementDirection - public E3DVector3F getStartMovementDirection()
public void setStartMovementDirection(E3DVector3F startMovementDirection)
startMovementDirection - public double getCurrentFrameVelocity()
public abstract boolean isCollisionCausedByMovement()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||