com.hdcookbook.grin.features
Class SEScalingModel

java.lang.Object
  extended by com.hdcookbook.grin.Feature
      extended by com.hdcookbook.grin.features.InterpolatedModel
          extended by com.hdcookbook.grin.features.SEInterpolatedModel
              extended by com.hdcookbook.grin.features.SEScalingModel
All Implemented Interfaces:
Node, SENode, SEScalableNode

public class SEScalingModel
extends SEInterpolatedModel
implements SEScalableNode

A scaling_model node. This scales other features, with the anchor of the scaling operation specified by an absolute x,y point.


Field Summary
 
Fields inherited from class com.hdcookbook.grin.features.InterpolatedModel
currValues, endCommands, frames, loopCount, repeatFrame, SCALE_X_FACTOR_FIELD, SCALE_X_FIELD, SCALE_Y_FACTOR_FIELD, SCALE_Y_FIELD, values
 
Fields inherited from class com.hdcookbook.grin.Feature
name, show
 
Constructor Summary
SEScalingModel()
           
 
Method Summary
 void accept(SEShowVisitor visitor)
          Calls the visit method corresponding to this node type.
 int[] getScaleXs()
           
 int[] getScaleYs()
           
 int[] getXs()
           
 int[] getYs()
           
 void scaleBy(int xScale, int yScale, int xOffset, int yOffset)
          Scale this node by the given scale factor, and apply the given offset.
 java.lang.String toString()
          
 
Methods inherited from class com.hdcookbook.grin.features.SEInterpolatedModel
changeFeatureReference, getCurrValues, getFrames, getLoopCount, getRepeatFrame, getRuntimeClassName, getValues, postProcess, setCurrValues, setEndCommands, setFrames, setRepeatFrame, setup, setValues, writeInstanceData
 
Methods inherited from class com.hdcookbook.grin.features.InterpolatedModel
addDisplayAreas, createClone, destroy, getEndCommands, getField, getX, getY, initialize, initializeClone, markDisplayAreasChanged, needsMoreSetup, nextFrame, paintFrame, readInstanceData, scaleBounds, setActivateMode, setField, setSetupMode
 
Methods inherited from class com.hdcookbook.grin.Feature
activate, addSubgraph, cloneCommands, clonedReference, cloneSubgraph, deactivate, destroyClonedSubgraph, getName, isSetup, makeNewClone, resetFeature, sendFeatureSetup, setName, setup, unsetup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SEScalingModel

public SEScalingModel()
Method Detail

getXs

public int[] getXs()

getYs

public int[] getYs()

getScaleXs

public int[] getScaleXs()

getScaleYs

public int[] getScaleYs()

accept

public void accept(SEShowVisitor visitor)
Description copied from interface: SENode
Calls the visit method corresponding to this node type.

If you are defining a user-defined feature, there are some restrictions that you'll want to follow. If your extension is a feature that has children, then you should make it a subclass of one of the built-in feature types, Assembly, Modifer or Group. That's because the GRIN compiler defines visitors that need to visit every node in the tree, but these built-in visitors don't know about your extension types. By making your extension type a subclass of one of the standard ones, and by making your accept() method call either visitAssembly(), visitGroup() or visitUserDefinedModifier(), as appropriate, you'll ensure that all the children get visited.

Specified by:
accept in interface SENode
Overrides:
accept in class SEInterpolatedModel
Parameters:
visitor - SEShowVisitor object.
See Also:
SEShowVisitor

scaleBy

public void scaleBy(int xScale,
                    int yScale,
                    int xOffset,
                    int yOffset)
Scale this node by the given scale factor, and apply the given offset. This will change the size of the features and RC handlers within the show at compile time, so no special scaling action is required at runtime.

Specified by:
scaleBy in interface SEScalableNode
Parameters:
xScale - x scale factor in mills
yScale - y scale factor in mills
xOffset - x offset in pixels
yOffset - y offset in pixels

toString

public java.lang.String toString()

Overrides:
toString in class SEInterpolatedModel
Returns:
a developer-friendly description of this feature, for debugging