Package jltk.shape

Class Shape

    • Constructor Summary

      Constructors 
      Constructor Description
      Shape()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(double pX, double pY)
      Return true if the specified point is inside this shape.
      boolean contains​(Shape pShape)
      Return true, if this shape fully includes the specified shape.
      static boolean contains​(Shape pOuter, Shape pInner)
      Return true, if pOuter fully includes pInner.
      void delay​(long pMilliseconds)
      Delay execution for this shape for the specfied number of milliseconds
      void flipHorizontal()  
      void flipVertical()  
      double getHeight()
      Return the height of this shape.
      double getLineWidth()
      Return the current used linewidth
      double getRotation()
      Return the current rotation of this shape.
      double getTransparancy()
      Return the transparancy of this shape. 0.0 means not transparent and 1.0 means full transparent
      double getWidth()
      Return the width of this shape.
      double getX()
      Return the x coordinate of this shape.
      double getY()
      Return the y coordinate of upper left corner of the bounding box of this shape
      protected void init​(double pX, double pY, Window pWindow, javafx.scene.shape.Shape pShape)
      Basic initialisation, like setting postion and size, add the Element to the window.
      boolean intersects​(Shape pShape)
      Return true, if this shape intersects the specified shape.
      static boolean intersects​(Shape pShape1, Shape pShape2)
      Return true, if the specified shapes intersects
      void move​(double pDistance)
      Moves this shape by the specified distance into the current direction, see setRotation(double).
      void move​(double pX, double pY)
      Move this shape by the specified x- and y-sections.
      void scale​(double pScaleX, double pScaleY)
      Scale the shape with the specified factors.
      void scaleTo​(double pWidth, double pHeight)
      Scale the shape to the specified width and height.
      void setCenterPosition​(double pX, double pY)
      Set the center of the shape to the specified position.
      void setFillColor​(double pRed, double pGreen, double pBlue)
      The fillcolor of the shape will be changed to specified rgb-color
      void setFillColor​(String pColor)
      The fill color of the shape will be changed to the specified color.
      void setFillColor​(javafx.scene.paint.Color pColor)
      The fill color of the shape will be changed to the specified color
      void setLineColor​(double pRed, double pGreen, double pBlue)
      The linecolor of the shape will be changed to specified rgb-color
      void setLineColor​(String pColor)
      The line color of the shape will be changed to the specified color.
      void setLineColor​(javafx.scene.paint.Color pColor)
      The line color of the shape will be changed to the specified color
      void setLineWidth​(double pLineWidth)
      Set the width of the line/border to the specified value.
      void setPosition​(double pX, double pY)
      Set the upper left corner of the shape to the specified position.
      void setRotation​(double pAngle)
      Set the rotation of this shape to the specified angle.
      void setTransparancy​(double pValue)
      Set the transparancy oh this shape to the specified value. pValue mus between 0.0 (not transparent) and 1.0 (transparent)
      void turn​(double pAngle)
      Turn this shape by the specified angle (in degrees).
      void turn​(double pX, double pY, double pAngle)
      Turn this schape by the specified angle (in degrees) arround the specified turning center Zero degrees is to the east (right-hand side of the window), and the angle increases clockwise.
    • Field Detail

      • fxShape

        public javafx.scene.shape.Shape fxShape
      • lineColor

        protected javafx.scene.paint.Color lineColor
      • fillColor

        protected javafx.scene.paint.Color fillColor
      • transparancy

        protected double transparancy
      • rotate

        protected javafx.scene.transform.Rotate rotate
      • scale

        protected javafx.scene.transform.Scale scale
      • xOffset

        protected double xOffset
      • yOffset

        protected double yOffset
      • x

        protected double x
      • y

        protected double y
    • Constructor Detail

      • Shape

        public Shape()
    • Method Detail

      • init

        protected void init​(double pX,
                            double pY,
                            Window pWindow,
                            javafx.scene.shape.Shape pShape)
        Basic initialisation, like setting postion and size, add the Element to the window. For some reason this cannot be solved using a constructor, because in subclasses the javaFX component must be initialised first. After this, init must be called.
        Parameters:
        pX - The horizontal coordinate
        pY - The vertical coordinate
        pWindow - The window on which the component should be placed
        pShape - The corresponding JavaFX-Component
      • getX

        public double getX()
        Return the x coordinate of this shape. It depends on the shape, what this coordinates discribe:
        • Circle: The center of the circle
        • Rectangle: The upper left corner. (Rotated rechtangle: upper left corner of the bounding box)
        Overrides:
        getX in class Component
        Returns:
        The x coordinate of upper left corner
        See Also:
        #setX(double)
      • getY

        public double getY()
        Return the y coordinate of upper left corner of the bounding box of this shape
        Overrides:
        getY in class Component
        Returns:
        The y coordinate of upper left corner
        See Also:
        #setY(double)
      • getWidth

        public double getWidth()
        Return the width of this shape. This comes up to the width of the minimal rectangle surrounding this shape.
        Returns:
        The width of the shape.
      • getHeight

        public double getHeight()
        Return the height of this shape. This comes up to the height of the minimal rectangle surrounding this shape.
        Returns:
        The height of the shape.
      • setPosition

        public void setPosition​(double pX,
                                double pY)
        Set the upper left corner of the shape to the specified position. If you might set the positon of the center of this shape, use #setCenterPosition(double, double)
        Overrides:
        setPosition in class Component
        Parameters:
        pX - The x coordinate of the new position
        pY - The y coordinate of the new position
        See Also:
        setCenterPosition(double,double), getX(), getY()
      • setCenterPosition

        public void setCenterPosition​(double pX,
                                      double pY)
        Set the center of the shape to the specified position. If you might set the positon of the upper left corner, use #setPosition(double, double)
        Parameters:
        pX - The x coordinate of the new position
        pY - The y coordinate of the new position
        See Also:
        setPosition(double,double)
      • setFillColor

        public void setFillColor​(javafx.scene.paint.Color pColor)
        The fill color of the shape will be changed to the specified color
        Parameters:
        pColor - the new fill color
      • setFillColor

        public void setFillColor​(String pColor)
        The fill color of the shape will be changed to the specified color. As parameter you can use the color name from the javafx.scene.paint.Color field https://docs.oracle.com/javase/8/javafx/api/javafx/scene/paint/Color.html#field.summary For example setFillColor("ALICEBLUE") or setFillColor("blue").
        Parameters:
        pColor - the new fill color
      • setFillColor

        public void setFillColor​(double pRed,
                                 double pGreen,
                                 double pBlue)
        The fillcolor of the shape will be changed to specified rgb-color
        Parameters:
        pRed - the red proportion (must be between 0 and 1)
        pGreen - the green proportion (must be between 0 and 1)
        pBlue - the blue proportion (must be between 0 and 1)
      • setTransparancy

        public void setTransparancy​(double pValue)
        Set the transparancy oh this shape to the specified value. pValue mus between 0.0 (not transparent) and 1.0 (transparent)
        Parameters:
        pValue - The new transparancy (between 0.0 and 1.0)
        See Also:
        getTransparancy()
      • getTransparancy

        public double getTransparancy()
        Return the transparancy of this shape. 0.0 means not transparent and 1.0 means full transparent
        Returns:
        The transparency of this shape
      • flipHorizontal

        public void flipHorizontal()
      • flipVertical

        public void flipVertical()
      • move

        public void move​(double pDistance)
        Moves this shape by the specified distance into the current direction, see setRotation(double).
        Parameters:
        pDistance - The distance in pixel.
      • move

        public void move​(double pX,
                         double pY)
        Move this shape by the specified x- and y-sections.
        Parameters:
        pX - The x distance in pixel.
        pY - The y distance in pixel.
      • scale

        public void scale​(double pScaleX,
                          double pScaleY)
        Scale the shape with the specified factors. The scale centrum is the central position of this shape, #getCenterX() and #getCenterY()
        Parameters:
        pX - The scale factor for the x direction
        pY - The scale factor for the y direction
      • scaleTo

        public void scaleTo​(double pWidth,
                            double pHeight)
        Scale the shape to the specified width and height.
        Parameters:
        pWidth - The new width of the shape.
        pHeight - The ne height of the shape.
      • setRotation

        public void setRotation​(double pAngle)
        Set the rotation of this shape to the specified angle. Rotation is expressed as a degree value. Zero degrees is to the east (right-hand side of the window), and the angle increases clockwise.
        Parameters:
        pAngle - The angle in degrees
      • getRotation

        public double getRotation()
        Return the current rotation of this shape. Rotation is expressed as a degree value. Zero degrees is to the east (right-hand side of the window), and the angle increases clockwise.
        Returns:
        The current rotation
      • turn

        public void turn​(double pAngle)
        Turn this shape by the specified angle (in degrees). Zero degrees is to the east (right-hand side of the window), and the angle increases clockwise.
        Parameters:
        pAngle - The angle in degrees; positive values turn clockwise
      • turn

        public void turn​(double pX,
                         double pY,
                         double pAngle)
        Turn this schape by the specified angle (in degrees) arround the specified turning center Zero degrees is to the east (right-hand side of the window), and the angle increases clockwise.
        Parameters:
        pX - The x-coordinate of the turning point.
        pY - The y-coordinate of the turning point.
        pAngle - The angle in degrees; positive values turn clockwise
      • intersects

        public boolean intersects​(Shape pShape)
        Return true, if this shape intersects the specified shape.
        Parameters:
        pShape - Another shape
        Returns:
        true, if intersects, else false.
      • intersects

        public static boolean intersects​(Shape pShape1,
                                         Shape pShape2)
        Return true, if the specified shapes intersects
        Parameters:
        pShape1 - The first shape
        pShape2 - The second shape
        Returns:
        true, is shape1 and shape2 intersect.
      • contains

        public boolean contains​(Shape pShape)
        Return true, if this shape fully includes the specified shape.
        Parameters:
        pShape - Another shape
        Returns:
        true, if this shape contains the given. else false.
      • contains

        public static boolean contains​(Shape pOuter,
                                       Shape pInner)
        Return true, if pOuter fully includes pInner.
        Parameters:
        pOuter - The outer shape
        pInner - The inner shape
        Returns:
        true, if pOuter contains pInner.
      • contains

        public boolean contains​(double pX,
                                double pY)
        Return true if the specified point is inside this shape.
      • setLineWidth

        public void setLineWidth​(double pLineWidth)
        Set the width of the line/border to the specified value.
        Parameters:
        pLineWidth - The new line width
      • getLineWidth

        public double getLineWidth()
        Return the current used linewidth
      • setLineColor

        public void setLineColor​(javafx.scene.paint.Color pColor)
        The line color of the shape will be changed to the specified color
        Parameters:
        pColor - The new line color
      • setLineColor

        public void setLineColor​(String pColor)
        The line color of the shape will be changed to the specified color. As parameter you can use the color name from the javafx.scene.paint.Color field https://docs.oracle.com/javase/8/javafx/api/javafx/scene/paint/Color.html#field.summary For example setFillColor("ALICEBLUE") or setFillColor("blue").
        Parameters:
        pColor - the new line color
      • setLineColor

        public void setLineColor​(double pRed,
                                 double pGreen,
                                 double pBlue)
        The linecolor of the shape will be changed to specified rgb-color
        Parameters:
        pRed - the red proportion (must be between 0 and 1)
        pGreen - the green proportion (must be between 0 and 1)
        pBlue - the blue proportion (must be between 0 and 1)
      • delay

        public void delay​(long pMilliseconds)
        Delay execution for this shape for the specfied number of milliseconds
        Parameters:
        pMilliseconds - Ein Parameter