Classe AWT CubicCurve2D

Introdução

A classe CubicCurve2D indica um segmento de curva paramétrica cúbica no espaço de coordenadas (x, y).

Declaração de classe

A seguir está a declaração para java.awt.geom.CubicCurve2Dclasse:

public abstract class CubicCurve2D
   extends Object
      implements Shape, Cloneable

Construtores de classe

SN Construtor e descrição
1 protected CubicCurve2D()

Esta é uma classe abstrata que não pode ser instanciada diretamente.

Métodos de aula

SN Método e Descrição
1

Object clone()

Cria um novo objeto da mesma classe que este objeto.

2

boolean contains(double x, double y)

Testa se as coordenadas especificadas estão dentro dos limites da Forma.

3

boolean contains(double x, double y, double w, double h)

Testa se o interior da Forma contém inteiramente a área retangular especificada.

4

boolean contains(Point2D p)

Testa se um Point2D especificado está dentro dos limites da Forma.

5

boolean contains(Rectangle2D r)

Testa se o interior da Forma contém inteiramente o Rectangle2D especificado.

6

Rectangle getBounds()

Retorna um retângulo inteiro que envolve completamente a forma.

7

abstract Point2D getCtrlP1()

Retorna o primeiro ponto de controle.

8

abstract Point2D getCtrlP2()

Retorna o segundo ponto de controle.

9

abstract double getCtrlX1()

Retorna a coordenada X do primeiro ponto de controle em precisão dupla.

10

abstract double getCtrlX2()

Retorna a coordenada X do segundo ponto de controle em precisão dupla.

11

abstract double getCtrlY1()

Retorna a coordenada Y do primeiro ponto de controle em precisão dupla.

12

abstract double getCtrlY2()

Retorna a coordenada Y do segundo ponto de controle em precisão dupla.

13

double getFlatness()

Retorna o nivelamento desta curva.

14

static double getFlatness(double[] coords, int offset)

Retorna a planura da curva cúbica especificada pelos pontos de controle armazenados na matriz indicada no índice indicado.

15

static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Retorna o nivelamento da curva cúbica especificada pelos pontos de controle indicados.

16

double getFlatnessSq()

Retorna o quadrado da planura desta curva.

17

static double getFlatnessSq(double[] coords, int offset)

Retorna o quadrado da planura da curva cúbica especificada pelos pontos de controle armazenados na matriz indicada no índice indicado.

18

static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Retorna o quadrado da planura da curva cúbica especificada pelos pontos de controle indicados.

19

abstract Point2D getP1()

Retorna o ponto inicial.

20

abstract Point2D getP2()

Retorna o ponto final.

21

PathIterator getPathIterator(AffineTransform at)

Retorna um objeto de iteração que define o limite da forma.

22

PathIterator getPathIterator(AffineTransform at, double flatness)

Retorne um objeto de iteração que define o limite da forma achatada.

23

abstract double getX1()

Retorna a coordenada X do ponto inicial em precisão dupla.

24

abstract double getX2()

Retorna a coordenada X do ponto final em precisão dupla.

25

abstract double getY1()

Retorna a coordenada Y do ponto inicial em precisão dupla.

26

abstract double getY2()

Retorna a coordenada Y do ponto final em precisão dupla.

27

boolean intersects(double x, double y, double w, double h)

Testa se o interior da Forma cruza o interior de uma área retangular especificada.

28

boolean intersects(Rectangle2D r)

Testa se o interior da Forma cruza o interior de um Rectangle2D especificado.

29

void setCurve(CubicCurve2D c)

Define a localização dos pontos finais e pontos de controle desta curva para os mesmos que aqueles no CubicCurve2D especificado.

30

void setCurve(double[] coords, int offset)

Define a localização dos pontos finais e pontos de controle desta curva para as coordenadas duplas no deslocamento especificado na matriz especificada.

31 abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Define a localização dos pontos finais e pontos de controle desta curva para as coordenadas duplas especificadas.

32

void setCurve(Point2D[] pts, int offset)

Define a localização dos pontos finais e pontos de controle desta curva para as coordenadas dos objetos Point2D no deslocamento especificado na matriz especificada.

33

void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)

Define a localização dos pontos finais e pontos de controle desta curva para as coordenadas Point2D especificadas.

34

static int solveCubic(double[] eqn)

Resolve a cúbica cujos coeficientes estão na matriz eqn e coloca as raízes não complexas de volta na mesma matriz, retornando o número de raízes.

35

static int solveCubic(double[] eqn, double[] res)

Resolva a cúbica cujos coeficientes estão na matriz eqn e coloque as raízes não complexas na matriz res, retornando o número de raízes.

36

void subdivide(CubicCurve2D left, CubicCurve2D right)

Subdivide essa curva cúbica e armazena as duas curvas subdivididas resultantes nos parâmetros da curva esquerda e direita.

37

static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right)

Subdivide a curva cúbica especificada pelo parâmetro src e armazena as duas curvas subdivididas resultantes nos parâmetros da curva esquerda e direita.

38

static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)

Subdivide a curva cúbica especificada pelas coordenadas armazenadas na matriz src nos índices srcoff a (srcoff + 7) e armazena as duas curvas subdivididas resultantes nas duas matrizes de resultado nos índices correspondentes.

Métodos herdados

Esta classe herda métodos das seguintes classes:

  • java.lang.Object

Exemplo CubicCurve2D

Crie o seguinte programa java usando qualquer editor de sua escolha em dizer D:/ > AWT > com > tutorialspoint > gui >

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      CubicCurve2D shape = new CubicCurve2D.Float();
      shape.setCurve(250F,250F,20F,90F,140F,100F,350F,330F);       
      Graphics2D g2 = (Graphics2D) g; 
      g2.draw (shape);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g2.setFont(font);
      g.drawString("Welcome to TutorialsPoint", 50, 70);
      g2.drawString("CubicCurve2D.Curve", 100, 120);
   }
}

Compile o programa usando o prompt de comando. Vamos paraD:/ > AWT

e digite o seguinte comando.

D:\AWT>javac com\tutorialspoint\gui\AWTGraphicsDemo.java

Se nenhum erro ocorrer, significa que a compilação foi bem-sucedida. Execute o programa usando o seguinte comando.

D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo

Verifique a seguinte saída