|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Panel
cox.jmatt.java.MathTools.demo.gpgdemo.GraphPanel
cox.jmatt.java.MathTools.demo.gpgdemo.PerspectivePanel
public class PerspectivePanel
This generator produces a one-point square-perspective grid. Both scales are configurable but the perspective operates differently on each. In all cases the near values refer to the bottom of the page; the nearest to the viewer. The far value represents the top of the page which is the farthest from the viewer.
NOTE: In the configuration settings the vertical scale uses the horizontal line pen and vise versa. That is the vertical scale uses horizontal lines and the horizontal scale uses vertical lines.
The horizontal scale starts with two separate line spacings. The near spacing is the spacing between lines at the bottom of the page. This spacing remains constant throughout the drawing process. The far spacing applies to the top of the page and it changes as the lines move outward from the centerline. With each iteration the horizontal space is multiplied by the horizontal scale factor, presumably to decrease it. If the horizontal scale is set to 'Linear' then both the top and bottom spacing is horizontal near.
The vertical scale begins with vertical near spacing and with each subsequent line this is multiplied by the vertical scale factor so it shrinks as it moves from bottom to top. If the vertical scale is 'Linear' then the spacing remains constant.
If the horizontal scale is set to 'Perspective' ('Linear' box is unchecked) the vertical '[]Clip to H. scale' Checkbox comes into play. If checked (default state) then the horizontal lines are all clipped to the outermost vertical lines. If not they extend margin to margin.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.awt.Panel |
---|
java.awt.Panel.AccessibleAWTPanel |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
PerspectivePanel()
Usual constructor. |
Method Summary | |
---|---|
void |
drawGraph(int pTop,
int pBot,
int pLeft,
int pRight,
SVGTag pPaper)
Draw the paper. |
void |
eatPizza(java.util.Properties pPizza,
java.lang.String pPrefix)
This method accepts a Properties object and an optional String prefix and attempts to extract configuration data from it. |
void |
reset()
Restore factory values. |
void |
setClipToScale(boolean pEnable)
Enable/disable horizontal line clipping to outermost verticals in horizontal perspective mode. |
void |
setLinearScale(boolean pHoriz,
boolean pVert)
Configure one or both scales as linear. |
void |
setPens(int pHorizontal,
int pVertical)
Set the horizontal and vertical line pens. |
void |
setScale(double pHoriz,
double pVert)
Set the horizontal and vertical scales. |
void |
setSpacing(int pHorizNear,
int pHorizFar,
int pVertNear)
Set the spacing values for the grid. |
java.lang.String |
toPizza(java.lang.String pPrefix)
This method extracts the configuration and state information from a generator and produces java.util.Properties -style output. |
Methods inherited from class cox.jmatt.java.MathTools.demo.gpgdemo.GraphPanel |
---|
asDouble, asInt, eatGlobalPizza, getKey, getKey, getPen, getPen, GP_DEBUG, loadPizza, setGPDebug, setGPDebugMode, setKey, setKey |
Methods inherited from class java.awt.Panel |
---|
addNotify, getAccessibleContext |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PerspectivePanel()
Method Detail |
---|
public void setPens(int pHorizontal, int pVertical)
public void setSpacing(int pHorizNear, int pHorizFar, int pVertNear)
public void setScale(double pHoriz, double pVert)
public void setLinearScale(boolean pHoriz, boolean pVert)
public void setClipToScale(boolean pEnable)
public void drawGraph(int pTop, int pBot, int pLeft, int pRight, SVGTag pPaper)
drawGraph
in class GraphPanel
pTop
- The top margin of the drawable area.pBot
- The bottom margin of the drawable area.pLeft
- The left margin.pRight
- The right margin.pPaper
- The SVGTag
on which the drawing is to occur.public void reset()
reset
in class GraphPanel
public java.lang.String toPizza(java.lang.String pPrefix)
GraphPanel
This method extracts the configuration and state information from a generator and produces java.util.Properties
-style output. A String
prefix can be prepended to each key. If 'pPrefix' is not null or blank it will be attached to the front of the key String, separated by a single dot. If
the prefix does not end with a dot one will be supplied automatically.
Use of the prefix allows multiple configurations to be stored in a single file. Also, since each generator has its own unique prefix (separate from the one supplied) multiple generator configs can be stored in a single file.
This is primarily a scripting method. It was developed in order to allow the perfect settings to be saved in a (scripting-) language-agnostic way that was also human-readable. The individual property names are typically Java-fied versions of their GUI labels. If MathTools is run from its JAR and the standard GUI is present the instances exposed to scripts are the ones in the GUI, so setting values in the GUI will affect script output and settings made by the script are reflected in the GUI.
toPizza
in class GraphPanel
pPrefix
- The prefix to prepend to each key. Ignored if null or blank.public void eatPizza(java.util.Properties pPizza, java.lang.String pPrefix)
GraphPanel
This method accepts a Properties
object and an optional String prefix and attempts to extract configuration data from it. It complements
toPizza()
. If 'pPizza' is null or empty nothing happens: the method returns silently. If 'pPrefix' is not null or blank it is used as a prefix
to each key. If the String sent in does not end with a dot one will be supplied automatically. All of the keys requested have default valus that match the
ones on the GUI.
Under normal cirucmstances the generator instances exposed to scripts are the ones in the GUI so changes using one are reflected in the other.
eatPizza
in class GraphPanel
pPizza
- A java.util.Properties
object containing configuration data.pPrefix
- An optional prefix to include with each key. Ignored if null or blank.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |