org.geotools.resources.geometry
Class ShapeUtilities

java.lang.Object
  extended byorg.geotools.resources.geometry.ShapeUtilities

public final class ShapeUtilities
extends java.lang.Object

Static utilities methods. Those methods operate on geometric shapes from the package.

Since:
2.0
Version:
$Id: ShapeUtilities.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux

Field Summary
static int HORIZONTAL
          Constante pour les calculs de paraboles.
static int PARALLEL
          Constante pour les calculs de paraboles.
 
Method Summary
static java.awt.geom.Point2D circleCentre(double x1, double y1, double x2, double y2, double x3, double y3)
          Retourne la coordonn?e centrale d'un cercle passant pas les trois points sp?cifi?s.
static java.awt.geom.Point2D colinearPoint(double x1, double y1, double x2, double y2, double x, double y, double distance)
          Retourne le point sur le segment de droite qui se trouve ? la distance sp?cifi?e du point .
static java.awt.geom.Point2D colinearPoint(java.awt.geom.Line2D line, java.awt.geom.Point2D point, double distance)
          Retourne le point sur le segment de droite qui se trouve ? la distance sp?cifi?e du point .
static java.awt.geom.Ellipse2D fitCircle(java.awt.geom.Point2D P1, java.awt.geom.Point2D P2, java.awt.geom.Point2D P3)
          Retourne un cercle qui passe par chacun des trois points sp?cifi?s.
static java.awt.geom.QuadCurve2D fitParabol(double x0, double y0, double x1, double y1, double x2, double y2, int orientation)
          Retourne une courbe quadratique passant par les trois points sp?cifi?s.
static java.awt.geom.QuadCurve2D fitParabol(java.awt.geom.Point2D P0, java.awt.geom.Point2D P1, java.awt.geom.Point2D P2, int orientation)
          Retourne une courbe quadratique passant par les trois points sp?cifi?s.
static double getFlatness(java.awt.Shape shape)
          Returns a suggested value for the argument in Shape.getPathIterator(AffineTransform,double) for the specified shape.
static java.awt.geom.Point2D intersectionPoint(double ax1, double ay1, double ax2, double ay2, double bx1, double by1, double bx2, double by2)
          Retourne le point d'intersection de deux segments de droites.
static java.awt.geom.Point2D intersectionPoint(java.awt.geom.Line2D a, java.awt.geom.Line2D b)
          Retourne le point d'intersection de deux segments de droites.
static java.awt.geom.Point2D nearestColinearPoint(double x1, double y1, double x2, double y2, double x, double y)
          Retourne le point sur le segment de droite qui se trouve le plus pr?s du point sp?cifi?.
static java.awt.geom.Point2D nearestColinearPoint(java.awt.geom.Line2D segment, java.awt.geom.Point2D point)
          Retourne le point sur le segment de droite qui se trouve le plus pr?s du point sp?cifi?.
static java.awt.geom.Point2D parabolicControlPoint(double x0, double y0, double x1, double y1, double x2, double y2, int orientation, java.awt.geom.Point2D dest)
          Retourne le point de contr?le d'une courbe quadratique passant par les trois points sp?cifi?s.
static java.awt.Shape toPrimitive(java.awt.Shape path)
          Tente de remplacer la forme g?om?trique par une des formes standards de Java2D.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARALLEL

public static final int PARALLEL
Constante pour les calculs de paraboles. Cette constante indique que l'axe des x de la parabole doit ?tre parall?le ? la droite joignant les points P0 et P2.

See Also:
Constant Field Values

HORIZONTAL

public static final int HORIZONTAL
Constante pour les calculs de paraboles. Cette constante indique que l'axe des x de la parabole doit ?tre horizontale, quelle que soit la pente de la droite joignant les points P0 et P2.

See Also:
Constant Field Values
Method Detail

intersectionPoint

public static java.awt.geom.Point2D intersectionPoint(java.awt.geom.Line2D a,
                                                      java.awt.geom.Line2D b)
Retourne le point d'intersection de deux segments de droites. Cette m?thode ne prolonge pas les segments de droites ? l'infini. Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont parall?les, ou soit parce qu'ils ne se prolongent pas assez loin pour se toucher), alors cette m?thode retourne .

Parameters:
a - Premi?re ligne.
b - Deuxi?me ligne.
Returns:
Si une intersection fut trouv?e, les coordonn?es de cette intersection. Si aucune intersection n'a ?t? trouv?e, alors cette m?thode retourne .

intersectionPoint

public static java.awt.geom.Point2D intersectionPoint(double ax1,
                                                      double ay1,
                                                      double ax2,
                                                      double ay2,
                                                      double bx1,
                                                      double by1,
                                                      double bx2,
                                                      double by2)
Retourne le point d'intersection de deux segments de droites. Cette m?thode ne prolonge pas les segments de droites ? l'infini. Si les deux segments ne s'interceptent pas (soit par ce qu'ils sont parall?les, ou soit parce qu'ils ne se prolongent pas assez loin pour se toucher), alors cette m?thode retourne .

Returns:
Si une intersection fut trouv?e, les coordonn?es de cette intersection. Si aucune intersection n'a ?t? trouv?e, alors cette m?thode retourne .

nearestColinearPoint

public static java.awt.geom.Point2D nearestColinearPoint(java.awt.geom.Line2D segment,
                                                         java.awt.geom.Point2D point)
Retourne le point sur le segment de droite qui se trouve le plus pr?s du point sp?cifi?. Appellons le point retourn? par cette m?thode. Il est garanti que r?pond aux conditions suivantes (aux erreurs d'arrondissements pr?s):

See Also:
colinearPoint(Line2D, Point2D, double)

nearestColinearPoint

public static java.awt.geom.Point2D nearestColinearPoint(double x1,
                                                         double y1,
                                                         double x2,
                                                         double y2,
                                                         double x,
                                                         double y)
Retourne le point sur le segment de droite qui se trouve le plus pr?s du point sp?cifi?. Appellons le point retourn? par cette m?thode. Il est garanti que r?pond aux conditions suivantes (aux erreurs d'arrondissements pr?s):

See Also:
colinearPoint(double,double , double,double , double,double , double)

colinearPoint

public static java.awt.geom.Point2D colinearPoint(java.awt.geom.Line2D line,
                                                  java.awt.geom.Point2D point,
                                                  double distance)
Retourne le point sur le segment de droite qui se trouve ? la distance sp?cifi?e du point . Appellons le point retourn? par cette m?thode. Si est non-nul, alors il est garanti qu'il r?pond aux conditions suivantes (aux erreurs d'arrondissements pr?s): Si aucun point ne peut r?pondre ? ces conditions, alors cette m?thode retourne . Si deux points peuvent r?pondre ? ces conditions, alors par convention cette m?thode retourne le point le plus pr?s du point .

See Also:
nearestColinearPoint(Line2D, Point2D)

colinearPoint

public static java.awt.geom.Point2D colinearPoint(double x1,
                                                  double y1,
                                                  double x2,
                                                  double y2,
                                                  double x,
                                                  double y,
                                                  double distance)
Retourne le point sur le segment de droite qui se trouve ? la distance sp?cifi?e du point . Appellons le point retourn? par cette m?thode. Si est non-nul, alors il est garantit qu'il r?pond aux conditions suivantes (aux erreurs d'arrondissements pr?s): Si aucun point ne peut r?pondre ? ces conditions, alors cette m?thode retourne . Si deux points peuvent r?pondre ? ces conditions, alors par convention cette m?thode retourne le point le plus pr?s du point .

See Also:
nearestColinearPoint(double,double , double,double , double,double)

fitParabol

public static java.awt.geom.QuadCurve2D fitParabol(java.awt.geom.Point2D P0,
                                                   java.awt.geom.Point2D P1,
                                                   java.awt.geom.Point2D P2,
                                                   int orientation)
                                            throws java.lang.IllegalArgumentException
Retourne une courbe quadratique passant par les trois points sp?cifi?s. Il peut exister une infinit? de courbes quadratiques passant par trois points. On peut voir les choses en disant qu'une courbe quadratique correspond ? une parabole produite par une ?quation de la forme y=ax?+bx+c, mais que l'axe des x de cette ?quation n'est pas n?cessairement horizontal. La direction de cet axe des x d?pend du param?tre sp?cifi? ? cette m?thode. La valeur HORIZONTAL signifie que l'axe des x de la parabole sera toujours horizontal. La courbe quadratique produite ressemblera alors ? une parabole classique telle qu'on en voit dans les ouvrages de math?matiques ?l?mentaires. La valeur PARALLEL indique plut?t que l'axe des x de la parabole doit ?tre parall?le ? la droite joignant les points et . Ce dernier type produira le m?me r?sultat que HORIZONTAL si .

Parameters:
P0 - Premier point de la courbe quadratique.
P1 - Point par lequel la courbe quadratique doit passer. Il n'est pas obligatoire que ce point soit situ? entre et . Toutefois, il ne doit pas ?tre colin?aire avec et .
P2 - Dernier point de la courbe quadratique.
orientation - Orientation de l'axe des x de la parabole: PARALLEL ou HORIZONTAL.
Returns:
Une courbe quadratique passant par les trois points sp?cifi?s. La courbe commencera au point et se terminera au point . Si deux points ont des coordonn?es presque identiques, ou si les trois points sont colin?aires, alors cette m?thode retourne .
Throws:
java.lang.IllegalArgumentException - si l'argument n'est pas une des constantes valides.

fitParabol

public static java.awt.geom.QuadCurve2D fitParabol(double x0,
                                                   double y0,
                                                   double x1,
                                                   double y1,
                                                   double x2,
                                                   double y2,
                                                   int orientation)
                                            throws java.lang.IllegalArgumentException
Retourne une courbe quadratique passant par les trois points sp?cifi?s. Il peut exister une infinit? de courbes quadratiques passant par trois points. On peut voir les choses en disant qu'une courbe quadratique correspond ? une parabole produite par une ?quation de la forme y=ax?+bx+c, mais que l'axe des x de cette ?quation n'est pas n?cessairement horizontal. La direction de cet axe des x d?pend du param?tre sp?cifi? ? cette m?thode. La valeur HORIZONTAL signifie que l'axe des x de la parabole sera toujours horizontal. La courbe quadratique produite ressemblera alors ? une parabole classique telle qu'on en voit dans les ouvrages de math?matiques ?l?mentaires. La valeur PARALLEL indique plut?t que l'axe des x de la parabole doit ?tre parall?le ? la droite joignant les points et . Ce dernier type produira le m?me r?sultat que HORIZONTAL si .

Parameters:
orientation - Orientation de l'axe des x de la parabole: PARALLEL ou HORIZONTAL.
Returns:
Une courbe quadratique passant par les trois points sp?cifi?s. La courbe commencera au point et se terminera au point . Si deux points ont des coordonn?es presque identiques, ou si les trois points sont colin?aires, alors cette m?thode retourne .
Throws:
java.lang.IllegalArgumentException - si l'argument n'est pas une des constantes valides.

parabolicControlPoint

public static java.awt.geom.Point2D parabolicControlPoint(double x0,
                                                          double y0,
                                                          double x1,
                                                          double y1,
                                                          double x2,
                                                          double y2,
                                                          int orientation,
                                                          java.awt.geom.Point2D dest)
                                                   throws java.lang.IllegalArgumentException
Retourne le point de contr?le d'une courbe quadratique passant par les trois points sp?cifi?s. Il peut exister une infinit? de courbes quadratiques passant par trois points. On peut voir les choses en disant qu'une courbe quadratique correspond ? une parabole produite par une ?quation de la forme y=ax?+bx+c, mais que l'axe des x de cette ?quation n'est pas n?cessairement horizontal. La direction de cet axe des x d?pend du param?tre sp?cifi? ? cette m?thode. La valeur HORIZONTAL signifie que l'axe des x de la parabole sera toujours horizontal. La courbe quadratique produite ressemblera alors ? une parabole classique telle qu'on en voit dans les ouvrages de math?matiques ?l?mentaires. La valeur PARALLEL indique plut?t que l'axe des x de la parabole doit ?tre parall?le ? la droite joignant les points et . Ce dernier type produira le m?me r?sultat que HORIZONTAL si .

Parameters:
orientation - Orientation de l'axe des x de la parabole: PARALLEL ou HORIZONTAL.
Returns:
Le point de contr?le d'une courbe quadratique passant par les trois points sp?cifi?s. La courbe commencera au point et se terminera au point . Si deux points ont des coordonn?es presque identiques, ou si les trois points sont colin?aires, alors cette m?thode retourne .
Throws:
java.lang.IllegalArgumentException - si l'argument n'est pas une des constantes valides.

fitCircle

public static java.awt.geom.Ellipse2D fitCircle(java.awt.geom.Point2D P1,
                                                java.awt.geom.Point2D P2,
                                                java.awt.geom.Point2D P3)
Retourne un cercle qui passe par chacun des trois points sp?cifi?s.


circleCentre

public static java.awt.geom.Point2D circleCentre(double x1,
                                                 double y1,
                                                 double x2,
                                                 double y2,
                                                 double x3,
                                                 double y3)
Retourne la coordonn?e centrale d'un cercle passant pas les trois points sp?cifi?s. La distance entre le point retourn? et n'importe quel des points (x1,y1), (x2,y2), (x3,y3) sera constante; ce sera le rayon d'un cercle centr? au point retourn? et passant par les trois points sp?cifi?s.


toPrimitive

public static java.awt.Shape toPrimitive(java.awt.Shape path)
Tente de remplacer la forme g?om?trique par une des formes standards de Java2D. Par exemple, si ne contient qu'un simple segment de droite ou une courbe quadratique, alors cette m?thode retournera un objet Line2D ou QuadCurve2D respectivement.

Parameters:
path - Forme g?om?trique ? simplifier (g?n?ralement un objet GeneralPath).
Returns:
Forme g?om?trique standard, ou si aucun remplacement n'est propos?.

getFlatness

public static double getFlatness(java.awt.Shape shape)
Returns a suggested value for the argument in Shape.getPathIterator(AffineTransform,double) for the specified shape.



Copyright © GeoTools. All Rights Reserved.