opale.m2d.object2d
Class Line2D

java.lang.Object
  |
  +--opale.m2d.ker.Object2D
        |
        +--opale.m2d.object2d.Line2D
All Implemented Interfaces:
java.lang.Cloneable
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

Since:
Opale-2d 0.1

Field Summary
protected  double a
           
protected  double b
           
protected  double c
           
static double EPSILON
           
 
Constructor Summary
Line2D()
          Constrcuteur par défaut.
Line2D(Line2D l)
          Constrcuteurde copîe.
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)
          Computes the changement of OIJ for this object.
 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)
          Reads in a file the construction of this object calling the method readKeyWord().
 int readKeyWord(java.lang.String word, RFile f, Pack2D p)
          Interpret a keyword read in a file.
 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()
          Returns a string representation of this object.
 void writeFileMore(WFile f, Pack2D p)
          Wrtie complementary information in a file.
 
Methods inherited from class opale.m2d.ker.Object2D
getOIJ, setOIJ, writeFile, xmax
 
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.

Line2D

public Line2D(Line2D l)
Constrcuteurde copîe.
Parameters:
Line2D - l, la droite à copier.
Since:
Opale-2d 0.11

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.

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.

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.

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.
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.

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.

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.

set

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

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.

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.

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.

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.

orthoVect

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

dirVect

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

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.

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.

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.
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.

changeOIJ

public void changeOIJ(OIJ newrep)
Description copied from class: Object2D
Computes the changement of OIJ for this object.
Overrides:
changeOIJ in class Object2D
Following copied from class: opale.m2d.ker.Object2D
Parameters:
OIJ - rep, the new OIJ.

toString

public java.lang.String toString()
Description copied from class: Object2D
Returns a string representation of this object.
Overrides:
toString in class Object2D

writeFileMore

public void writeFileMore(WFile f,
                          Pack2D p)
Description copied from class: Object2D
Wrtie complementary information in a file.
Overrides:
writeFileMore in class Object2D
Following copied from class: opale.m2d.ker.Object2D
Parameters:
WFile - f, the file in writing .

readFile

public void readFile(RFile f,
                     Pack2D p)
              throws java.io.IOException,
                     MalformedFileException
Description copied from class: Object2D
Reads in a file the construction of this object calling the method readKeyWord().
Overrides:
readFile in class Object2D
Following copied from class: opale.m2d.ker.Object2D
Parameters:
RFile - f, the file to read.

readKeyWord

public int readKeyWord(java.lang.String word,
                       RFile f,
                       Pack2D p)
                throws java.io.IOException,
                       MalformedFileException
Description copied from class: Object2D
Interpret a keyword read in a file.
Overrides:
readKeyWord in class Object2D
Following copied from class: opale.m2d.ker.Object2D
Parameters:
String - word, the keyword.
RFile - f, the file in reading.
Pack2D - p, instance of Pack2D that contains the requiered objects.
Returns:
int, 0 if the keyword is good, -1 otherwise.