Package org.eclipse.gef.fx.nodes

## Class GeometryNode<T extends IGeometry>

- java.lang.Object
- - javafx.scene.Node
  - - javafx.scene.Parent
    - - javafx.scene.layout.Region
      - - org.eclipse.gef.fx.nodes.GeometryNode<T>

Type Parameters:
  `T` - An `IGeometry` used to define the geometric shape of this `GeometryNode`

All Implemented Interfaces:
  `javafx.css.Styleable`, `javafx.event.EventTarget`

    public class GeometryNode<T extends IGeometry>
    extends javafx.scene.layout.Region

A `GeometryNode` is a `Node` which can be constructed using an underlying `IGeometry`. It is comparable to a `Shape`, while a `GeometryNode` in contrast can be resized. Furthermore, the geometric bounds of a `GeometryNode` can be virtually extended for the purpose of mouse hit-testing to realize a 'clickable area'.

Technically, a `GeometryNode` is a `Region` that internally holds a `geometric shape`, which is updated to reflect the given `IGeometry`, and to which all visual properties are delegated. The 'clickable' area is realized by a transparent, non-mouse transparent overlay that uses the same `IGeometry`, extended by the `clickable area width`.

Please note that because `IGeometry` does not support change notifications itself, changes to the underlying `IGeometry` will not be recognized by the `GeometryNode` unless the `geometry property` is changed.

### Field Summary

### Fields inherited from class javafx.scene.layout.Region

`USE_COMPUTED_SIZE, USE_PREF_SIZE`

### Fields inherited from class javafx.scene.Node

`BASELINE_OFFSET_SAME_AS_HEIGHT`

### Constructor Summary

Constructors
`GeometryNode()` Constructs a new `GeometryNode` without an `IGeometry`.
`GeometryNode​(T geom)` Constructs a new `GeometryNode` which displays the given `IGeometry`.

### Method Summary

All Methods Instance Methods Concrete Methods
`javafx.beans.property.DoubleProperty` `clickableAreaWidthProperty()` Returns a (writable) property that controls the width of the clickable area.
`protected double` `computeMinHeight​(double width)`
`protected double` `computeMinWidth​(double height)`
`protected double` `computePrefHeight​(double width)`
`protected double` `computePrefWidth​(double height)`
`javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>` `fillProperty()` Provides a `Property` holding the fill that is applied to the `Path` internally used by this `GeometryNode`.
`javafx.beans.property.ObjectProperty<javafx.scene.shape.FillRule>` `fillRuleProperty()` Provides a `Property` holding the fill rule to apply for this `GeometryNode`.
`javafx.beans.property.ObjectProperty<T>` `geometryProperty()` Provides a `Property` holding the geometry of this `GeometryNode`.
`double` `getClickableAreaWidth()` Retrieves the value of the clickable area width property ( `clickableAreaWidthProperty()`).
`javafx.scene.paint.Paint` `getFill()` Retrieves the value of the fill property.
`javafx.scene.shape.FillRule` `getFillRule()` Retrieves the value of the fill rule property.
`protected javafx.scene.shape.Path` `getGeometricShape()` Returns the `Shape` that is used as a delegate to render the geometry of this `GeometryNode`.
`T` `getGeometry()` Retrieves the value of the geometry property.
`javafx.scene.shape.Path` `getPath()` Returns the JavaFX `Path` that is used to visualize the `IGeometry` of this `GeometryNode`.
`javafx.scene.paint.Paint` `getStroke()` Retrieves the value of the stroke property.
`javafx.collections.ObservableList<java.lang.Double>` `getStrokeDashArray()` Retrieves the value of the stroke dash array property.
`double` `getStrokeDashOffset()` Retrieves the value of the stroke dash offset property.
`javafx.scene.shape.StrokeLineCap` `getStrokeLineCap()` Retrieves the value of the stroke line cap property.
`javafx.scene.shape.StrokeLineJoin` `getStrokeLineJoin()` Retrieves the value of the stroke line join property.
`double` `getStrokeMiterLimit()` Retrieves the value of the stroke miter limit property.
`javafx.scene.shape.StrokeType` `getStrokeType()` Retrieves the value of the stroke type property.
`double` `getStrokeWidth()` Retrieves the value of the stroke width property.
`boolean` `isResizable()`
`boolean` `isSmooth()` Retrieves the value of the smooth property.
`void` `relocate​(double x, double y)`
`void` `relocateGeometry​(double x, double y)` Relocates the `geometry`.
`void` `resize​(double width, double height)`
`void` `resizeGeometry​(double width, double height)` Resizes the `geometryProperty()` to the given width and height.
`void` `setClickableAreaWidth​(double clickableAreaWidth)` Sets the value of the property `clickable area width` property.
`void` `setFill​(javafx.scene.paint.Paint value)` Sets the value of the fill property.
`void` `setFillRule​(javafx.scene.shape.FillRule value)` Sets the value of the fill rule property.
`protected void` `setGeometricShape​(javafx.scene.shape.Path geometricShape)` Sets the geometric shape used by this `GeometryNode`.
`void` `setGeometry​(T geometry)` Sets the `IGeometry` of this `GeometryNode` to the given value.
`void` `setSmooth​(boolean value)` Sets the value of the smooth property.
`void` `setStroke​(javafx.scene.paint.Paint value)` * Sets the value of the stroke property.
`void` `setStrokeDashOffset​(double value)` Sets the value of the stroke dash offset property.
`void` `setStrokeLineCap​(javafx.scene.shape.StrokeLineCap value)` Sets the value of the stroke line cap property.
`void` `setStrokeLineJoin​(javafx.scene.shape.StrokeLineJoin value)` Sets the value of the stroke line join property.
`void` `setStrokeMiterLimit​(double value)` Sets the value of the stroke miter limit property.
`void` `setStrokeType​(javafx.scene.shape.StrokeType value)` Sets the value of the stroke type property.
`void` `setStrokeWidth​(double value)` Sets the value of the stroke width property.
`javafx.beans.property.BooleanProperty` `smoothProperty()` Provides a `Property` holding the smooth value to apply for this `GeometryNode`.
`javafx.beans.property.DoubleProperty` `strokeDashOffsetProperty()` Provides a `Property` holding the stroke dash offset to apply for this `GeometryNode`.
`javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeLineCap>` `strokeLineCapProperty()` Provides a `Property` holding the stroke line cap to apply for this `GeometryNode`.
`javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeLineJoin>` `strokeLineJoinProperty()` Provides a `Property` holding the stroke line join to apply for this `GeometryNode`.
`javafx.beans.property.DoubleProperty` `strokeMiterLimitProperty()` Provides a `Property` holding the stroke miter limit to apply for this `GeometryNode`.
`javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>` `strokeProperty()` Defines parameters of a stroke that is drawn around the outline of a Shape using the settings of the specified Paint.
`javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeType>` `strokeTypeProperty()` Provides a `Property` holding the stroke type to apply for this `GeometryNode`.
`javafx.beans.property.DoubleProperty` `strokeWidthProperty()` Provides a `Property` holding the stroke width to apply for this `GeometryNode`.

### Methods inherited from class javafx.scene.layout.Region

`backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty`

### Methods inherited from class javafx.scene.Parent

`getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

### Methods inherited from class javafx.scene.Node

`accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface javafx.css.Styleable

`getStyleableNode`

### Constructor Detail

#### GeometryNode

    public GeometryNode()

Constructs a new `GeometryNode` without an `IGeometry`.

#### GeometryNode

    public GeometryNode​(T geom)

Constructs a new `GeometryNode` which displays the given `IGeometry`.

Parameters:
  `geom` - The `IGeometry` to display.

### Method Detail

#### clickableAreaWidthProperty

    public javafx.beans.property.DoubleProperty clickableAreaWidthProperty()

Returns a (writable) property that controls the width of the clickable area. The clickable area is a transparent 'fat' curve overlaying the actual curve and serving as mouse target. It is only used if the value of the property is greater than the stroke width of the underlying curve.

Returns:
  A property to control the width of the clickable area of this connection.

#### computeMinHeight

    protected double computeMinHeight​(double width)

Overrides:
  `computeMinHeight` in class `javafx.scene.layout.Region`

#### computeMinWidth

    protected double computeMinWidth​(double height)

Overrides:
  `computeMinWidth` in class `javafx.scene.layout.Region`

#### computePrefHeight

    protected double computePrefHeight​(double width)

Overrides:
  `computePrefHeight` in class `javafx.scene.layout.Region`

#### computePrefWidth

    protected double computePrefWidth​(double height)

Overrides:
  `computePrefWidth` in class `javafx.scene.layout.Region`

#### fillProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> fillProperty()

Provides a `Property` holding the fill that is applied to the `Path` internally used by this `GeometryNode`.

Returns:
  A (writable) property for the fill of this node.
See Also:
  `Shape.fillProperty()`

#### fillRuleProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.shape.FillRule> fillRuleProperty()

Provides a `Property` holding the fill rule to apply for this `GeometryNode`.

Returns:
  A (writable) property for the fill rule of this node.
See Also:
  `Path.fillRuleProperty()`

#### geometryProperty

    public javafx.beans.property.ObjectProperty<T> geometryProperty()

Provides a `Property` holding the geometry of this `GeometryNode`.

Returns:
  A (writable) property for the geometry of this node.

#### getClickableAreaWidth

    public double getClickableAreaWidth()

Retrieves the value of the clickable area width property ( `clickableAreaWidthProperty()`).

Returns:
  The current value of the `clickableAreaWidthProperty()`.

#### getFill

    public final javafx.scene.paint.Paint getFill()

Retrieves the value of the fill property.

Returns:
  The value of the fill property.
See Also:
  `Shape.getFill()`

#### getFillRule

    public final javafx.scene.shape.FillRule getFillRule()

Retrieves the value of the fill rule property.

Returns:
  The value of the fill rule property.
See Also:
  `Path.getFillRule()`

#### getGeometricShape

    protected javafx.scene.shape.Path getGeometricShape()

Returns the `Shape` that is used as a delegate to render the geometry of this `GeometryNode`.

Returns:
  The geometric shape used by this `GeometryNode`.

#### getGeometry

    public T getGeometry()

Retrieves the value of the geometry property.

Returns:
  The value of the geometry property.

#### getPath

    public javafx.scene.shape.Path getPath()

Returns the JavaFX `Path` that is used to visualize the `IGeometry` of this `GeometryNode`.

Returns:
  The JavaFX `Path` that is used to visualize the `IGeometry`.

#### getStroke

    public final javafx.scene.paint.Paint getStroke()

Retrieves the value of the stroke property.

Returns:
  The value of the stroke property.
See Also:
  `Shape.getStroke()`

#### getStrokeDashArray

    public final javafx.collections.ObservableList<java.lang.Double> getStrokeDashArray()

Retrieves the value of the stroke dash array property.

Returns:
  The value of the stroke dash array property.
See Also:
  `Shape.getStrokeDashArray()`

#### getStrokeDashOffset

    public final double getStrokeDashOffset()

Retrieves the value of the stroke dash offset property.

Returns:
  The value of the stroke dash offset property.
See Also:
  `Shape.getStrokeDashOffset()`

#### getStrokeLineCap

    public final javafx.scene.shape.StrokeLineCap getStrokeLineCap()

Retrieves the value of the stroke line cap property.

Returns:
  The value of the stroke line cap property.
See Also:
  `Shape.getStrokeLineCap()`

#### getStrokeLineJoin

    public final javafx.scene.shape.StrokeLineJoin getStrokeLineJoin()

Retrieves the value of the stroke line join property.

Returns:
  The value of the stroke line join property.
See Also:
  `Shape.getStrokeLineJoin()`

#### getStrokeMiterLimit

    public final double getStrokeMiterLimit()

Retrieves the value of the stroke miter limit property.

Returns:
  The value of the stroke miter limit property.
See Also:
  `Shape.getStrokeMiterLimit()`

#### getStrokeType

    public final javafx.scene.shape.StrokeType getStrokeType()

Retrieves the value of the stroke type property.

Returns:
  The value of the stroke type property.
See Also:
  `Shape.getStrokeType()`

#### getStrokeWidth

    public final double getStrokeWidth()

Retrieves the value of the stroke width property.

Returns:
  The value of the stroke width property.
See Also:
  `Shape.getStrokeWidth()`

#### isResizable

    public boolean isResizable()

Overrides:
  `isResizable` in class `javafx.scene.layout.Region`

#### isSmooth

    public final boolean isSmooth()

Retrieves the value of the smooth property.

Returns:
  The value of the smooth property.
See Also:
  `Shape.isSmooth()`

#### relocate

    public void relocate​(double x,
                         double y)

Overrides:
  `relocate` in class `javafx.scene.Node`

#### relocateGeometry

    public void relocateGeometry​(double x,
                                 double y)

Relocates the `geometry`.

Parameters:
  `x` - The new x coordinate
  `y` - The new y coordinate

#### resize

    public void resize​(double width,
                       double height)

Overrides:
  `resize` in class `javafx.scene.layout.Region`

#### resizeGeometry

    public void resizeGeometry​(double width,
                               double height)

Resizes the `geometryProperty()` to the given width and height.

Parameters:
  `width` - The new width.
  `height` - The new height.

#### setClickableAreaWidth

    public void setClickableAreaWidth​(double clickableAreaWidth)

Sets the value of the property `clickable area width` property.

Parameters:
  `clickableAreaWidth` - The new value of the `clickable area width` property.

#### setFill

    public final void setFill​(javafx.scene.paint.Paint value)

Sets the value of the fill property.

Parameters:
  `value` - The new value of the fill property.
See Also:
  `Shape.setFill(javafx.scene.paint.Paint)`

#### setFillRule

    public final void setFillRule​(javafx.scene.shape.FillRule value)

Sets the value of the fill rule property.

Parameters:
  `value` - The new value of the fill rule property.
See Also:
  `Path.setFillRule(javafx.scene.shape.FillRule)`

#### setGeometricShape

    protected void setGeometricShape​(javafx.scene.shape.Path geometricShape)

Sets the geometric shape used by this `GeometryNode`.

Parameters:
  `geometricShape` - The geometric shape.

#### setGeometry

    public void setGeometry​(T geometry)

Sets the `IGeometry` of this `GeometryNode` to the given value.

Parameters:
  `geometry` - The new `IGeometry` for this `GeometryNode`.

#### setSmooth

    public final void setSmooth​(boolean value)

Sets the value of the smooth property.

Parameters:
  `value` - The new value of the smooth property.
See Also:
  `Shape.setSmooth(boolean)`

#### setStroke

    public final void setStroke​(javafx.scene.paint.Paint value)

* Sets the value of the stroke property.

Parameters:
  `value` - The new value of the stroke property.
See Also:
  `Shape.setStroke(javafx.scene.paint.Paint)`

#### setStrokeDashOffset

    public final void setStrokeDashOffset​(double value)

Sets the value of the stroke dash offset property.

Parameters:
  `value` - The new value of the stroke dash offset property.
See Also:
  `Shape.setStrokeDashOffset(double)`

#### setStrokeLineCap

    public final void setStrokeLineCap​(javafx.scene.shape.StrokeLineCap value)

Sets the value of the stroke line cap property.

Parameters:
  `value` - The new value of the stroke line cap property.
See Also:
  `Shape.setStrokeLineCap(javafx.scene.shape.StrokeLineCap)`

#### setStrokeLineJoin

    public final void setStrokeLineJoin​(javafx.scene.shape.StrokeLineJoin value)

Sets the value of the stroke line join property.

Parameters:
  `value` - The new value of the stroke line join property.
See Also:
  `Shape.setStrokeLineJoin(javafx.scene.shape.StrokeLineJoin)`

#### setStrokeMiterLimit

    public final void setStrokeMiterLimit​(double value)

Sets the value of the stroke miter limit property.

Parameters:
  `value` - The new value of the stroke miter limit property.
See Also:
  `Shape.setStrokeMiterLimit(double)`

#### setStrokeType

    public final void setStrokeType​(javafx.scene.shape.StrokeType value)

Sets the value of the stroke type property.

Parameters:
  `value` - The new value of the stroke type property.
See Also:
  `Shape.setStrokeType(javafx.scene.shape.StrokeType)`

#### setStrokeWidth

    public final void setStrokeWidth​(double value)

Sets the value of the stroke width property.

Parameters:
  `value` - The new value of the stroke width property.
See Also:
  `Shape.setStrokeWidth(double)`

#### smoothProperty

    public final javafx.beans.property.BooleanProperty smoothProperty()

Provides a `Property` holding the smooth value to apply for this `GeometryNode`.

Returns:
  A (writable) property for the smooth value of this node.
See Also:
  `Shape.smoothProperty()`

#### strokeDashOffsetProperty

    public final javafx.beans.property.DoubleProperty strokeDashOffsetProperty()

Provides a `Property` holding the stroke dash offset to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke dash offset of this node.
See Also:
  `Shape.strokeDashOffsetProperty()`

#### strokeLineCapProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeLineCap> strokeLineCapProperty()

Provides a `Property` holding the stroke line cap to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke line cap of this node.
See Also:
  `Shape.strokeLineCapProperty()`

#### strokeLineJoinProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeLineJoin> strokeLineJoinProperty()

Provides a `Property` holding the stroke line join to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke line join of this node.
See Also:
  `Shape.strokeLineJoinProperty()`

#### strokeMiterLimitProperty

    public final javafx.beans.property.DoubleProperty strokeMiterLimitProperty()

Provides a `Property` holding the stroke miter limit to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke miter limit of this node.
See Also:
  `Shape.strokeMiterLimitProperty()`

#### strokeProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> strokeProperty()

Defines parameters of a stroke that is drawn around the outline of a Shape using the settings of the specified Paint. The default value is Color.BLACK.

Returns:
  A writable `Property` to control the stroke of this `GeometryNode`.
See Also:
  `Shape.strokeProperty()`

#### strokeTypeProperty

    public final javafx.beans.property.ObjectProperty<javafx.scene.shape.StrokeType> strokeTypeProperty()

Provides a `Property` holding the stroke type to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke type of this node.
See Also:
  `Shape.strokeTypeProperty()`

#### strokeWidthProperty

    public final javafx.beans.property.DoubleProperty strokeWidthProperty()

Provides a `Property` holding the stroke width to apply for this `GeometryNode`.

Returns:
  A (writable) property for the stroke width of this node.
See Also:
  `Shape.strokeWidthProperty()`