Back to index

wims  3.65+svn20090927
Public Member Functions | Public Attributes | Package Attributes
geo.DemiDroite Class Reference

Demi-droite [AB). More...

Inheritance diagram for geo.DemiDroite:
Inheritance graph
[legend]
Collaboration diagram for geo.DemiDroite:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DemiDroite (pt A, pt B, String Nom, Repere R)
 Construit la demi-droite [AB).
 DemiDroite (String Nom, Repere R)
 Construit une demi-droite non définie.
 DemiDroite (double Ax, double Ay, double Bx, double By, String Nom, Repere R)
 Construit la demi-droite [AB) à partir des coordonnées respectives (Ax, Ay) et (Bx, By) de A et B.
 DemiDroite (pt A, Vecteur u, String Nom, Repere R)
 Construit la demi-droite [Au où u est un vecteur.
boolean zone (int X, int Y)
 Teste si la souris est proche de la demi-droite.
void trace (Graphics g)
 Trace ou efface le DemiDroite.
void DemiDroite (pt A, pt B)
 Redéfinit la demi-droite [AB].
void DemiDroite (double Ax, double Ay, double Bx, double By)
 Redéfinit la demi-droite à partir des points de coordonnées (Ax, Ay) et (Bx, By).
void DemiDroite (pt A, Vecteur u)
 Redéfinit la demi-droite [Au où u est un vecteur.

Public Attributes

double Ax
 Coordonnée de A.
double Bx
 Coordonnée de B.
Repere R
 Repere associé.
boolean defini
 Existence de l'objet.
String Nom
 Nom de l'objet.

Package Attributes

double Ay
double By

Detailed Description

Demi-droite [AB).

Definition at line 12 of file DemiDroite.java.


Constructor & Destructor Documentation

geo.DemiDroite.DemiDroite ( pt  A,
pt  B,
String  Nom,
Repere  R 
) [inline]

Construit la demi-droite [AB).

Definition at line 31 of file DemiDroite.java.

  { super (Nom, R) ; DemiDroite (A, B) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

geo.DemiDroite.DemiDroite ( String  Nom,
Repere  R 
) [inline]

Construit une demi-droite non définie.

Definition at line 38 of file DemiDroite.java.

  { super (Nom, R) ; }
geo.DemiDroite.DemiDroite ( double  Ax,
double  Ay,
double  Bx,
double  By,
String  Nom,
Repere  R 
) [inline]

Construit la demi-droite [AB) à partir des coordonnées respectives (Ax, Ay) et (Bx, By) de A et B.

Definition at line 45 of file DemiDroite.java.

  { super (Nom, R) ; DemiDroite (Ax, Ay, Bx, By) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

geo.DemiDroite.DemiDroite ( pt  A,
Vecteur  u,
String  Nom,
Repere  R 
) [inline]

Construit la demi-droite [Au où u est un vecteur.

Definition at line 52 of file DemiDroite.java.

  { super (Nom, R) ; DemiDroite (A, u) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

void geo.DemiDroite.DemiDroite ( pt  A,
pt  B 
) [inline]

Redéfinit la demi-droite [AB].

Definition at line 109 of file DemiDroite.java.

  { defini = A.defini && B.defini && ((A.x != B.x) || (A.y != B.y)) ;
    if (defini) { Ax = A.x ; Ay = A.y ; Bx = B.x ; By = B.y ; }
  }
void geo.DemiDroite.DemiDroite ( double  Ax,
double  Ay,
double  Bx,
double  By 
) [inline]

Redéfinit la demi-droite à partir des points de coordonnées (Ax, Ay) et (Bx, By).

Definition at line 118 of file DemiDroite.java.

  { defini = ((Ax != Bx) || (Ay != By)) ;
    if (defini) { this.Ax = Ax ; this.Ay = Ay ; this.Bx = Bx ; this.By = By ; }
  }
void geo.DemiDroite.DemiDroite ( pt  A,
Vecteur  u 
) [inline]

Redéfinit la demi-droite [Au où u est un vecteur.

Definition at line 127 of file DemiDroite.java.

  { defini = ((u.x != 0.0) || (u.y != 0.0)) ;
    if (defini) { Ax = A.x ; Ay = A.y ; Bx = A.x + u.x ; By = A.y + u.y ; }
  }

Member Function Documentation

void geo.DemiDroite.trace ( Graphics  g) [inline]

Trace ou efface le DemiDroite.

Reimplemented from geo.ObjetRepere.

Definition at line 77 of file DemiDroite.java.

  { int N, X1, Y1, X2, Y2 ;
    X1 = Y1 = X2 = Y2 = 0 ;
    double a = By - Ay ; double b = Ax - Bx ; double c = Ay * Bx - Ax * By ;
    if (defini) { if (Math.abs (b) >= Math.abs (a)) if (b < 0.0) { X1 = R.Iabs (Ax) ; Y1 = R.Iord (Ay) ;
                                                                   X2 = R.XMAX ;
                                                                   Y2 = R.Iord (-(a * R.Abs (X2) + c) / b) ;
                                                                 }
                                                    else         { X1 = 0 ;
                                                                   Y1 = R.Iord (-(a * R.Abs (X1) + c) / b) ;
                                                                   X2 = R.Iabs (Ax) ; Y2 = R.Iord (Ay) ;
                                                               }
                                               else if (a > 0.0) { Y1 = 0 ;
                                                                   X1 = R.Iabs (-(b * R.Ord (0) + c) / a);
                                                                   X2 = R.Iabs (Ax) ; Y2 = R.Iord (Ay) ;
                                                                 }
                                                    else         { X1 = R.Iabs (Ax) ; Y1 = R.Iord (Ay) ;
                                                                   Y2 = R.YMAX;
                                                                   X2 = R.Iabs (-(b * R.Ord (Y2) + c) / a) ;
                                                                 }
                  g.drawLine (X1, Y1, X2, Y2);
                  if (Nom.length () != 0) g.drawString (Nom, (X1 + X2) / 2 + 3, (Y1 + Y2) / 2 - 3) ;
                }
  }

Here is the call graph for this function:

boolean geo.DemiDroite.zone ( int  X,
int  Y 
) [inline]

Teste si la souris est proche de la demi-droite.

Reimplemented from geo.ObjetRepere.

Definition at line 59 of file DemiDroite.java.

   { if (defini)
       { double x = R.Abs (X) ; double y = R.Ord (Y) ;
         double a = By - Ay ; double b = Ax - Bx ;
         double A = a / R.unitex ; double B = b / R.unitey ;
         double d = Math.abs (a * x + b * y + Ay * Bx - Ax * By) / Math.sqrt (A * A + B * B) ;
         double xax = x - Ax ; double xbx = x - Bx ; double yay = y - Ay ; double yby = y - By ;
         if ((d <= 4.0) && ((xax * xbx <= 0) && (yay * yby <= 0) || (xax * xax + yay * yay >= xbx * xbx + yby * yby)))
           return true ;
         else return false ;
       }
     return false ;
   }

Here is the call graph for this function:


Member Data Documentation

Coordonnée de A.

Definition at line 19 of file DemiDroite.java.

double geo.DemiDroite.Ay [package]

Definition at line 19 of file DemiDroite.java.

Coordonnée de B.

Definition at line 25 of file DemiDroite.java.

double geo.DemiDroite.By [package]

Definition at line 25 of file DemiDroite.java.

Existence de l'objet.

Definition at line 22 of file ObjetRepere.java.

String geo.ObjetRepere.Nom [inherited]

Nom de l'objet.

Definition at line 28 of file ObjetRepere.java.

Repere associé.

Definition at line 16 of file ObjetRepere.java.


The documentation for this class was generated from the following file: