: Class MatrixAction
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
quicktime.app.actions
Class MatrixAction
java.lang.Object
|
+--quicktime.app.actions.PeriodicAction
|
+--quicktime.app.actions.MatrixAction
All Implemented Interfaces: Targetable, Ticklish
Direct Known Subclasses: BounceAction
public class MatrixActionextends PeriodicActionimplements Targetable
This class provides the means for a basic Matrix actions. Each time
the tickle method is called, it will retrieve the matrix from the target and
invoke the transformMatrix method, which the subclass must implement. The subclass
defines the transformMatrix method to apply a transformation to the matrix of the
target of the action.
The MatrixAction will also notify the subclass of any changes of rate direction
and if the subclass is interested in constraint testing will notify the subclass
which side(s) a targets matrix has collided with after the transformation has
been applied. These two states are notified with the rateDirectionChanged and
boundsReached methods respectively.
Though the Space is generally specified it is only used in the bounds testing.
Field Summary
protected boolean
doConstraintBoundsTesting
Set this boolean to true or false to perform bounds testing of the
target within the bounds of its enclosing Space.
protected static int
kBottomSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with.
protected static int
kLeftSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with.
protected static int
kRightSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with.
protected static int
kTopSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with.
protected Transformable
target
The target of the matrix transformations
protected TransformMatrix
transMatrix
This is the class that will do the transformations on the target's matrix
Fields inherited from class quicktime.app.actions.PeriodicAction
actor, reschedule
Fields inherited from interface quicktime.app.time.Ticklish
kScale
Constructor Summary
MatrixAction(int scale,
int period,
QTDisplaySpace space,
Transformable t,
TransformMatrix transformMatrixAction)
Create a MatrixAction that will act upon a Matrix.
protected
MatrixAction(int scale,
int period,
QTDrawable space,
Transformable t)
Deprecated. since QTJava 4
Method Summary
protected void
boundsReached(int whichSide)
Deprecated. since QTJava 4
protected boolean
constraintReached()
Subclasses should return true if after an action is triggered (the doAction
method is called) the action has reached one of its specified constraint conditions
and the actionable object should be triggered.
protected void
doAction(float er,
int t)
When called it performs three primary tasks:
(1) Checks to see if rate direction has changed - if so calls the rateDirectionChanged method
(2) Calls the transformMatrix method which the subclass defines
(3) If doConstraintBoundsTesting is true does bounds testing of the target within
the enclosing space and notifies of any collisions of the target with the space's sides.
boolean
equals(java.lang.Object obj)
Returns true if the incoming object is a Matrix action with the same target.
QTDrawable
getSpace()
Deprecated. since QTJava 4
java.lang.Object
getTarget()
Deprecated. since QTJava 4
protected void
rateDirectionChanged(boolean forwards)
Deprecated. since QTJava 4
void
setSpace(QTDrawable space)
Deprecated. since QTJava 4
void
setTarget(java.lang.Object target)
Deprecated. since QTJava 4
protected void
setTargetMatrix(Matrix transformedMatrix)
Deprecated. since QTJava 4
java.lang.String
toString()
Return a string representation of this class.
protected void
transformMatrix(Matrix theMatrix)
Deprecated. since QTJava 4
Methods inherited from class quicktime.app.actions.PeriodicAction
getActionable, getPeriod, getScale, getTriggerCondition, setActionable, setPeriod, setScale, setTriggerCondition, tickle, timeChanged
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface quicktime.app.time.Ticklish
tickle, timeChanged
Field Detail
kLeftSide
protected static final int kLeftSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with. Horizontal and Vertical
sides are provided as a means for testing for both left and right,
up and down respectively.
kRightSide
protected static final int kRightSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with. Horizontal and Vertical
sides are provided as a means for testing for both left and right,
up and down respectively.
kTopSide
protected static final int kTopSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with. Horizontal and Vertical
sides are provided as a means for testing for both left and right,
up and down respectively.
kBottomSide
protected static final int kBottomSide
These constants are used in the boundsReached call to indicate to the
subclass which edge the target has collided with. Horizontal and Vertical
sides are provided as a means for testing for both left and right,
up and down respectively.
target
protected Transformable target
The target of the matrix transformations
transMatrix
protected TransformMatrix transMatrix
This is the class that will do the transformations on the target's matrix
doConstraintBoundsTesting
protected boolean doConstraintBoundsTesting
Set this boolean to true or false to perform bounds testing of the
target within the bounds of its enclosing Space. Default is false.
If true the enclosing Space must be specified.
Constructor Detail
MatrixAction
protected MatrixAction(int scale,
int period,
QTDrawable space,
Transformable t)
throws QTException
Deprecated. since QTJava 4
Create a PeriodicAction that will act upon a Matrix.
Parameters:scale - the amount with which a second is divided into at a rate of oneperiod - the number of scale ticks that elapse between invocations of the action.space - the QTDrawable object that is the enclosing space of the Transformable target.t - a transformable object that will have its display matrix altered by the deltaMatrixSee Also: TransformMatrix
MatrixAction
public MatrixAction(int scale,
int period,
QTDisplaySpace space,
Transformable t,
TransformMatrix transformMatrixAction)
throws QTException
Create a MatrixAction that will act upon a Matrix. It delegates the
matrix transformation to the TransformMatrix object that is supplied in the constructor.
Parameters:scale - the amount with which a second is divided into at a rate of oneperiod - the number of scale ticks that elapse between invocations of the action.space - the QTDrawable object that is the enclosing space of the Transformable target.t - a transformable object that will have its display matrix altered by the deltaMatrixtransformMatrixAction - the transformation that will be applied to the target's matrix every time this action is invoked.
Method Detail
setTarget
public void setTarget(java.lang.Object target)
Deprecated. since QTJava 4
Sets the target of the action. The target must be some kind of Transformable object.
Specified by: setTarget in interface Targetable
Parameters:target - a Transformable objectSee Also: TransformMatrix
getTarget
public java.lang.Object getTarget()
Deprecated. since QTJava 4
Returns the current target of the action.
Specified by: getTarget in interface Targetable
Returns:the current targetSee Also: TransformMatrix
getSpace
public QTDrawable getSpace()
Deprecated. since QTJava 4
The space which is the space that the transformable
object is a member of.
Returns:the enclosing space.See Also: TransformMatrix
setSpace
public void setSpace(QTDrawable space)
Deprecated. since QTJava 4
Set the space which is the space that the transformable
target is a member of.
Parameters:space - the enclosing space.See Also: TransformMatrix
doAction
protected void doAction(float er,
int t)
throws QTException
When called it performs three primary tasks:
(1) Checks to see if rate direction has changed - if so calls the rateDirectionChanged method
(2) Calls the transformMatrix method which the subclass defines
(3) If doConstraintBoundsTesting is true does bounds testing of the target within
the enclosing space and notifies of any collisions of the target with the space's sides.
Once these tasks are performed the target's matrix is set to the transformed matrix
through calling the setTargetMatrix with the transformed matrix.
Overrides:doAction in class PeriodicAction
Parameters:er - the rate at which the action was invoked.t - the time at which the action was invoked.
rateDirectionChanged
protected void rateDirectionChanged(boolean forwards)
throws QTException
Deprecated. since QTJava 4
The Matrix action notifies subclasses when the rate at which an action is tickled changes
from positive to negative or vice versa.
See Also: TransformMatrix
transformMatrix
protected void transformMatrix(Matrix theMatrix)
throws QTException
Deprecated. since QTJava 4
The Matrix action calls the transformMatrix method with a Matrix that the subclass
should transform according to the particular transformation of the subclass.
Parameters:theMatrix - the matrix to transform.See Also: TransformMatrix
boundsReached
protected void boundsReached(int whichSide)
Deprecated. since QTJava 4
If the Matrix action is doing constraint bounds testing and a bounding
condition is reached the Matrix action calls this method with one of four
flags to indicate which side of the enclosing space the target collided with.
Parameters:whichSide - a flag that indicates which sideSee Also: TransformMatrix
setTargetMatrix
protected void setTargetMatrix(Matrix transformedMatrix)
throws QTException
Deprecated. since QTJava 4
This method is invoked by the doAction method once the matrix has been
transformed. The default behaviour of this method is to just call the target's
setMatrix method with the transformed matrix.
Parameters:transformedMatrix - the new matrix for the targetSee Also: TransformMatrix
constraintReached
protected boolean constraintReached()
Subclasses should return true if after an action is triggered (the doAction
method is called) the action has reached one of its specified constraint conditions
and the actionable object should be triggered. How this is defined is determined
totally by the subclass. This method will only be called by the tickle method
if the Action has an Actionable actor.
Overrides:constraintReached in class PeriodicAction
Returns:true if the actionable object (if set) should be triggered
toString
public java.lang.String toString()
Return a string representation of this class.
Overrides:toString in class PeriodicAction
Following copied from class: quicktime.app.actions.PeriodicAction
Returns:a String
equals
public boolean equals(java.lang.Object obj)
Returns true if the incoming object is a Matrix action with the same target.
Overrides:equals in class PeriodicAction
Parameters:obj - the object to testReturns:true if equal, false if not
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD