opale.module2d.object2d
Class Line2D

java.lang.Object
  |
  +--opale.module2d.noyau2d.Object2D
        |
        +--opale.module2d.object2d.Line2D
Direct Known Subclasses:
GLine2D

public class Line2D
extends Object2D
implements java.lang.Cloneable

Cette classe représente uen droite d'équation ax+by+c=0. Elle étend la classe Object2D


Field Summary
protected  double a
           
protected  double b
           
protected  double c
           
static double EPSILON
           
 
Constructor Summary
Line2D()
          Constrcuteur par défaut.
Line2D(OIJ rep, double a, double b, double c)
          Constructeur d'une instance de Line2D associé à un répère OIJ et d'équation donnée.
Line2D(OIJ rep, double x1, double y1, double x2, double y2)
          Constructeur d'une instance de Line2D associé à un répère OIJ et passant par deux points donnés.
Line2D(Point2D p, Point2D q)
          Constructeur d'une instance de Line2D passant par deux points donnés.
Line2D(Point2D p, Vector2D v)
          Constructeur d'une instance de Line2D passant par un point et de vecteur directeur donné.
 
Method Summary
 void changeOIJ(OIJ newrep)
          Effectue un changement de repère de l'objet.
 java.lang.Object clone()
          Crée un nouvel objet de même classe et de même contenu.
 Vector2D dirVect()
          Renvoie un vecteur directeur à la droite.
 double distSq(double x, double y)
           
 double distSq(Point2D p)
           
 boolean equals(java.lang.Object obj)
          Cette méthode teste si la droite est égal à un objet passé en argument.
 double get(int i)
          Renvoie la valeur des coeeficients dans l'équation de la droite.
 boolean isOrtho(Line2D d)
          Teste si la droite est orthogonale à une droite donnée.
 boolean isParall(Line2D d)
          Teste si la droite est parallèle à une droite donnée.
 void orthoLine(double x, double y, Line2D d)
          Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
 void orthoLine(Point2D p, Line2D d)
          Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
 Vector2D orthoVect()
          Renvoie un vecteur orthogonal à la droite.
 void parallLine(double x, double y, Line2D d)
          Renvoie une instance de Line2D parallèle à la droite courante et passant par un point donné.
 void parallLine(Point2D p, Line2D d)
          Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
 void readFile(RFile f, Pack2D p)
          Lit dans un fichier les données relatifs à un objet en invoquant la méthode readKeyWord()
 int readKeyWord(java.lang.String word, RFile f, Pack2D p)
          Interprète un mot clé lu dans un fichier.
 void set(double a, double b, double c)
          Change l'équation de la droite.
 void set(double x1, double y1, double x2, double y2)
          Change l'équation de la droite avec deux points.
 void set(Line2D d)
          Recopie une droite dans la droite courante.
 void set(Point2D p, Point2D q)
          Change l'équation de la droite avec deux points.
 java.lang.String toString()
          Surcharge de toString()
 void writeFileMore(WFile f, Pack2D p)
          Ecris les informations complémentaires concernant l'objet dans un fichier.
 
Methods inherited from class opale.module2d.noyau2d.Object2D
getOIJ, setOIJ, writeFile
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EPSILON

public static final double EPSILON

a

protected double a

b

protected double b

c

protected double c
Constructor Detail

Line2D

public Line2D()
Constrcuteur par défaut. Construit la droite d'équation x = 0.
Since:
Opale 0.1

Line2D

public Line2D(OIJ rep,
              double a,
              double b,
              double c)
       throws LineException
Constructeur d'une instance de Line2D associé à un répère OIJ et d'équation donnée.
Parameters:
OIJ - rep, le repère de définition de la droite.
double - a,b,c, les coefficients de l'équation ax+by+c=0.
Since:
Opale 0.1

Line2D

public Line2D(OIJ rep,
              double x1,
              double y1,
              double x2,
              double y2)
       throws LineException
Constructeur d'une instance de Line2D associé à un répère OIJ et passant par deux points donnés.
Parameters:
OIJ - rep, le repère de définition de la droite.
double - x1,y1,x2,y2, les coordonnées des deux points.
Since:
Opale 0.1

Line2D

public Line2D(Point2D p,
              Point2D q)
       throws LineException
Constructeur d'une instance de Line2D passant par deux points donnés. Le repère de la droite est celui du premier point.
Parameters:
Point2D - p, Point2D q, les deux points.
Since:
Opale 0.1

Line2D

public Line2D(Point2D p,
              Vector2D v)
Constructeur d'une instance de Line2D passant par un point et de vecteur directeur donné. Le repère de la droite est du premier point.
Parameters:
Point2D - p, le point.
Vector2D - v, le vecteur directeur.
Since:
Opale 0.1
Method Detail

set

public void set(double a,
                double b,
                double c)
         throws LineException
Change l'équation de la droite.
Parameters:
double - a,b,c, les coefficients de l'équation ax+by+c=0.
Since:
Opale 0.1

set

public void set(double x1,
                double y1,
                double x2,
                double y2)
         throws LineException
Change l'équation de la droite avec deux points.
Parameters:
double - x1,y1,x2,y2, les coordonnées des deux points.
Since:
Opale 0.1

set

public void set(Point2D p,
                Point2D q)
         throws LineException
Change l'équation de la droite avec deux points.
Parameters:
Point2D - p,q les deux points.
Since:
Opale 0.1

set

public void set(Line2D d)
Recopie une droite dans la droite courante.
Parameters:
Line2D - d, la droite à recopier.
Since:
Opale 0.1

get

public final double get(int i)
Renvoie la valeur des coeeficients dans l'équation de la droite.
Parameters:
int - i, le numéro du coefficient désiré (entre 0 et 2).
Returns:
double, le coefficient.

orthoLine

public void orthoLine(double x,
                      double y,
                      Line2D d)
Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
Parameters:
double - x, y, les coordonnées du point.
Since:
Opale 0.1

orthoLine

public void orthoLine(Point2D p,
                      Line2D d)
Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
Parameters:
Point2D - p, le point.
Since:
Opale 0.1

parallLine

public void parallLine(double x,
                       double y,
                       Line2D d)
Renvoie une instance de Line2D parallèle à la droite courante et passant par un point donné.
Parameters:
double - x, y, les coordonnées du point.
Since:
Opale 0.1

parallLine

public void parallLine(Point2D p,
                       Line2D d)
Renvoie une instance de Line2D perpendiculaire à la droite courante et passant par un point donné.
Parameters:
Point2D - p, le point.
Since:
Opale 0.1

orthoVect

public Vector2D orthoVect()
Renvoie un vecteur orthogonal à la droite.
Returns:
Vector2D, un vecteur orthogonal.
Since:
Opale 0.1

dirVect

public final Vector2D dirVect()
Renvoie un vecteur directeur à la droite.
Returns:
Vector2D, un vecteur directeur.
Since:
Opale 0.1

distSq

public double distSq(double x,
                     double y)

distSq

public double distSq(Point2D p)

isParall

public final boolean isParall(Line2D d)
Teste si la droite est parallèle à une droite donnée.
Parameters:
Line2D - d, la droite à tester.
Returns:
boolean, true si les droites sont parallèles, false sinon.
Since:
Opale 0.1

isOrtho

public final boolean isOrtho(Line2D d)
Teste si la droite est orthogonale à une droite donnée.
Parameters:
Line2D - d, la droite à tester.
Returns:
boolean, true si les droites sont orthogonales, false sinon.
Since:
Opale 0.1

clone

public java.lang.Object clone()
Crée un nouvel objet de même classe et de même contenu.
Overrides:
clone in class Object2D
Returns:
Object un clone de l'objet.
Throws:
OutOfMemoryError - s'il n'y a pas assez de mémoire.
Since:
Opale 0.1
See Also:
Cloneable

equals

public boolean equals(java.lang.Object obj)
Cette méthode teste si la droite est égal à un objet passé en argument.
Overrides:
equals in class java.lang.Object
Parameters:
Object - obj un objet à comparer avec la droite.
Returns:
true si l'objet à comparer est une instance de Line2D et est égal à la droite courante. false sinon.
Since:
Opale 0.1

changeOIJ

public void changeOIJ(OIJ newrep)
Description copied from class: Object2D
Effectue un changement de repère de l'objet.
Overrides:
changeOIJ in class Object2D
Tags copied from class: Object2D
Parameters:
OIJ - le nouveau repère.

toString

public java.lang.String toString()
Description copied from class: Object2D
Surcharge de toString()
Overrides:
toString in class Object2D

writeFileMore

public void writeFileMore(WFile f,
                          Pack2D p)
Description copied from class: Object2D
Ecris les informations complémentaires concernant l'objet dans un fichier.
Overrides:
writeFileMore in class Object2D
Tags copied from class: Object2D
Parameters:
WFile - f, le fichier dans lequel il faut écrire.

readFile

public void readFile(RFile f,
                     Pack2D p)
              throws java.io.IOException,
                     MalformedFileException
Description copied from class: Object2D
Lit dans un fichier les données relatifs à un objet en invoquant la méthode readKeyWord()
Overrides:
readFile in class Object2D
Tags copied from class: Object2D
Parameters:
RFile - f, le fichier à lire.

readKeyWord

public int readKeyWord(java.lang.String word,
                       RFile f,
                       Pack2D p)
                throws java.io.IOException,
                       MalformedFileException
Description copied from class: Object2D
Interprète un mot clé lu dans un fichier.
Overrides:
readKeyWord in class Object2D
Tags copied from class: Object2D
Parameters:
String - word, le mot clé à décoder.
RFile - f, le fichier en cours de lecture.
Pack2D - p, le pack qui contient l'ensemble des objets 2d en cours d'existence.
Returns:
int, 0 si le mot à été compris, -1 sinon.