cage.generator
Class QuadRestrictPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by cage.GeneratorPanel
                      extended by cage.generator.QuadRestrictPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, WizardAwareComponent

public class QuadRestrictPanel
extends GeneratorPanel
implements javax.swing.event.ChangeListener

Configuration panel for quadrangulations with given degree and 4-regular plane graphs with given faces. This is used to configure the generator quad_restrict -q, which is actually plantri with the filter quad_restrict.c by Sebastian Funke.

This configuration panel can be used to generate both quadrangulations and there dual, 4-regular plane graphs. The number of vertices in the dual, i.e. the number of faces in the original, is calculated using the Euler formula.

For the quadrangulations: E=(4/2)F = 2F
Therefore:

V - E + F = 2
V - 2F + F = 2
F = V - 2
So the dual has two vertices less than the original.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int DEFAULT_VERTICES
          The default number of vertices for this generator in the non-dual case
static int DUAL_DEFAULT_VERTICES
          The default number of vertices for this generator in the dual case
static int DUAL_MAX_VERTICES
          The maximum number of vertices allowed for this generator in the dual case
static int DUAL_MIN_VERTICES
          The minimum number of vertices allowed for this generator in the dual case
static int MAX_VERTICES
          The maximum number of vertices allowed for this generator in the non-dual case
static int MIN_VERTICES
          The minimum number of vertices allowed for this generator in the non-dual case
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
QuadRestrictPanel()
          Constructs a non-dual GeneralQuadrangulationsPanel object.
QuadRestrictPanel(boolean dual)
          Constructs a GeneralQuadrangulationsPanel object.
 
Method Summary
 GeneratorInfo getGeneratorInfo()
          Construct the generator info for this generator.
 void showing()
           
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 
Methods inherited from class cage.GeneratorPanel
getCancelButton, getExitButton, getFinishButton, getNextButton, getPreviousButton, setCancelButton, setExitButton, setFinishButton, setNextButton, setPreviousButton
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MIN_VERTICES

public static final int MIN_VERTICES
The minimum number of vertices allowed for this generator in the non-dual case

See Also:
Constant Field Values

MAX_VERTICES

public static final int MAX_VERTICES
The maximum number of vertices allowed for this generator in the non-dual case

See Also:
Constant Field Values

DEFAULT_VERTICES

public static final int DEFAULT_VERTICES
The default number of vertices for this generator in the non-dual case

See Also:
Constant Field Values

DUAL_MIN_VERTICES

public static final int DUAL_MIN_VERTICES
The minimum number of vertices allowed for this generator in the dual case

See Also:
Constant Field Values

DUAL_MAX_VERTICES

public static final int DUAL_MAX_VERTICES
The maximum number of vertices allowed for this generator in the dual case

See Also:
Constant Field Values

DUAL_DEFAULT_VERTICES

public static final int DUAL_DEFAULT_VERTICES
The default number of vertices for this generator in the dual case

See Also:
Constant Field Values
Constructor Detail

QuadRestrictPanel

public QuadRestrictPanel()
Constructs a non-dual GeneralQuadrangulationsPanel object.


QuadRestrictPanel

public QuadRestrictPanel(boolean dual)
Constructs a GeneralQuadrangulationsPanel object.

Parameters:
dual - Flag to indicate whether the generator should be used to create quadrangulations (false) or 4-regular plane graphs (true)
Method Detail

showing

public void showing()
Specified by:
showing in class GeneratorPanel

getGeneratorInfo

public GeneratorInfo getGeneratorInfo()
Construct the generator info for this generator. The restrictions are given in the form -FxFy... where x,y,... are the sizes which are allowed. The option -q is always necessary for quad_restrict and in case this generator is used for dual graphs, the option -d is given and the number of vertices is augmented with two.

Specified by:
getGeneratorInfo in class GeneratorPanel
Returns:
A GeneratorInfo object reflecting the settings on this panel.

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener