Package cz.fidentis.analyst.gui.elements
Class CurveRenderingPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
cz.fidentis.analyst.gui.elements.CurveRenderingPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
SurfaceMaskPanel
Panel for drawing 2D cutting curves.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsFields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
drawProjectedFeaturePoints
(Graphics2D g2, CrossSection2D curve, Color faceColor) Getter for primary curves.Getter for secondary curves.javax.vecmath.Vector3d
int
int
int
protected void
protected void
paintCurve
(Graphics2D g2, CrossSection2D curve, Color faceColor, boolean highlight) protected void
paintCurveSegment
(Graphics2D g2, List<javax.vecmath.Point2d> curveSegment, Color faceColor) void
setCurrentCuttingPlane
(javax.vecmath.Vector3d currentPlaneNormal) Sets current cutting plane and recomputes scale and offset fields for proper display of CrossSectionCurve.void
setCurves
(List<CrossSection2D> primaryCrossSectionCurves, List<CrossSection2D> secondaryCrossSectionCurves) Sets computed cross-section curves for rendering.void
setFaceBoundingBox
(Box boundingBox) Sets bounding box used for computing scale and offset when drawing CrossSectionCurve.void
setHighlightIndex
(int highlightIndex) void
setNormalVectorLength
(int normalVectorLength) void
setSampling
(int sampling) Sets sampling for rendering the cross-cut curvevoid
setShowNormals
(boolean showNormals) 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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printComponent, printChildren, 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, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, checkImage, checkImage, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
faceBoundingBox
-
-
Constructor Details
-
CurveRenderingPanel
public CurveRenderingPanel()Constructor.
-
-
Method Details
-
getHighlightIndex
public int getHighlightIndex() -
setHighlightIndex
public void setHighlightIndex(int highlightIndex) -
getSampling
public int getSampling() -
setSampling
public void setSampling(int sampling) Sets sampling for rendering the cross-cut curve- Parameters:
sampling
- % of points to keep on the curve
-
getNormalVectorLength
public int getNormalVectorLength() -
setNormalVectorLength
public void setNormalVectorLength(int normalVectorLength) -
setCurves
public void setCurves(List<CrossSection2D> primaryCrossSectionCurves, List<CrossSection2D> secondaryCrossSectionCurves) Sets computed cross-section curves for rendering.- Parameters:
primaryCrossSectionCurves
- cross-sections with primary facesecondaryCrossSectionCurves
- cross-sections with secondary face
-
get2DPrimaryCurves
Getter for primary curves.- Returns:
- list of visible 2D curves for primary face
-
get2DSecondaryCurves
Getter for secondary curves.- Returns:
- list of visible 2D curves for secondary face
-
setCurrentCuttingPlane
public void setCurrentCuttingPlane(javax.vecmath.Vector3d currentPlaneNormal) Sets current cutting plane and recomputes scale and offset fields for proper display of CrossSectionCurve.- Parameters:
currentPlaneNormal
- normal vector of current cutting plane
-
getCurrentCuttingPlane
public javax.vecmath.Vector3d getCurrentCuttingPlane() -
setFaceBoundingBox
Sets bounding box used for computing scale and offset when drawing CrossSectionCurve.- Parameters:
boundingBox
- bounding box of currently analyzed face
-
setShowNormals
public void setShowNormals(boolean showNormals) -
getPreferredSize
- Overrides:
getPreferredSize
in classJComponent
-
paintComponent
- Overrides:
paintComponent
in classJComponent
-
paintCurve
-
paintCurveSegment
protected void paintCurveSegment(Graphics2D g2, List<javax.vecmath.Point2d> curveSegment, Color faceColor) -
drawProjectedFeaturePoints
-