CubeTwister 2.0alpha142 2012-02-11

ch.randelshofer.rubik
Class AbstractRevengeCubeIdx3D

java.lang.Object
  extended by ch.randelshofer.rubik.AbstractCube3D
      extended by ch.randelshofer.rubik.AbstractCubeIdx3D
          extended by ch.randelshofer.rubik.AbstractRevengeCubeIdx3D
All Implemented Interfaces:
Cube3D, CubeListener, java.beans.PropertyChangeListener, java.util.EventListener, javax.swing.event.ChangeListener
Direct Known Subclasses:
RevengeCubeIdx3D

public abstract class AbstractRevengeCubeIdx3D
extends AbstractCubeIdx3D

Abstract base class for the geometrical representation of a RevengeCube using the Idx3D engine.

Version:
2.1 2008-08-17 Streamlined with code of class AbstractVCube6Idx3D.
2.0 2007-12-31 Adapted to changes in AbstractCube.
1.1 2007-09-09 Use SplineInterpolator for cube twists.
1.0 2005-12-31 Created.
Author:
Werner Randelshofer

Nested Class Summary
 
Nested classes/interfaces inherited from class ch.randelshofer.rubik.AbstractCube3D
AbstractCube3D.PartAction, AbstractCube3D.SwipeAction
 
Field Summary
protected static float BEVEL_LENGTH
          The beveled edge of a cube part has a length of 0.75 mm.
protected static float PART_LENGTH
          A cube part has a side length of 14 mm.
 
Fields inherited from class ch.randelshofer.rubik.AbstractCubeIdx3D
alphaBetaTransform, cachedStickersImage, centerCount, centerOffset, cornerCount, cornerOffset, edgeCount, edgeOffset, explosion, explosionShift, explosionTransforms, HALF_PI, identityNormalMatrix, identityVertexMatrix, isInStartedPlayer, locationTransforms, partCount, parts, PI, scaleTransform, scene, sharedLightmap, sideCount, sideOffset, stickersTexture
 
Fields inherited from class ch.randelshofer.rubik.AbstractCube3D
attributes, changeEvent, dispatcher, isAnimated, layerCount, listenerList
 
Constructor Summary
AbstractRevengeCubeIdx3D()
          Creates a new instance.
 
Method Summary
 void cubeTwisted(CubeEvent evt)
           
protected  float getUnitScaleFactor()
           
 void init()
           
protected abstract  void initActions(idx3d_Scene scene)
           
protected  void initCenter()
           
protected abstract  void initCorners()
           
protected abstract  void initEdges()
           
protected abstract  void initSides()
           
protected  void initTransforms()
           
 void validateTwist(int[] partIndices, int[] locations, int[] orientations, int length, int axis, int angle, float alpha)
           
 
Methods inherited from class ch.randelshofer.rubik.AbstractCubeIdx3D
dispose, getLock, getPart, getPartCount, getScene, isInStartedPlayer, setInStartedPlayer, setStickerBeveling, updateAlphaBeta, updateAttributes, updateCube, updateExplosionFactor, updateExplosionFactor, updatePartFillColor, updatePartOutlineColor, updatePartsFillColor, updatePartsVisibility, updatePartVisibility, updateScaleFactor, updateScaleFactor, updateStickerFillColor, updateStickersFillColor, updateStickersImage, updateStickerVisibility, validateAlphaBeta, validateAttributes, validateCube, validateScaleFactor, validateStickersImage
 
Methods inherited from class ch.randelshofer.rubik.AbstractCube3D
addChangeListener, addCube3DListener, createAttributes, cubeChanged, dispatch, fireActionPerformed, fireMouseEntered, fireMouseExited, fireMousePressed, fireMouseReleased, fireStateChanged, getAnimator, getAttributes, getCube, getDispatcher, getPartFaceIndexForStickerIndex, getPartIndexForStickerIndex, getStickerCount, isAdjusting, isAnimated, isAnimating, isShowGhostParts, propertyChange, removeChangeListener, removeCube3DListener, setAnimated, setAnimator, setAttributes, setCube, setDispatcher, setLock, setShowGhostParts, stateChanged, stopAnimation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ch.randelshofer.rubik.Cube3D
getKind
 

Field Detail

PART_LENGTH

protected static final float PART_LENGTH
A cube part has a side length of 14 mm.

See Also:
Constant Field Values

BEVEL_LENGTH

protected static final float BEVEL_LENGTH
The beveled edge of a cube part has a length of 0.75 mm.

See Also:
Constant Field Values
Constructor Detail

AbstractRevengeCubeIdx3D

public AbstractRevengeCubeIdx3D()
Creates a new instance.

Method Detail

init

public void init()

initEdges

protected abstract void initEdges()

initCorners

protected abstract void initCorners()

initSides

protected abstract void initSides()

initCenter

protected void initCenter()

getUnitScaleFactor

protected float getUnitScaleFactor()
Overrides:
getUnitScaleFactor in class AbstractCubeIdx3D

initTransforms

protected void initTransforms()

initActions

protected abstract void initActions(idx3d_Scene scene)
Specified by:
initActions in class AbstractCubeIdx3D

validateTwist

public void validateTwist(int[] partIndices,
                          int[] locations,
                          int[] orientations,
                          int length,
                          int axis,
                          int angle,
                          float alpha)
Specified by:
validateTwist in class AbstractCubeIdx3D

cubeTwisted

public void cubeTwisted(CubeEvent evt)
Specified by:
cubeTwisted in interface CubeListener
Overrides:
cubeTwisted in class AbstractCube3D

(c) Werner Randelshofer.
All rights reserved.