Back to index

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

Définit un arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R partant de A (xo + r cos a, yo + r sin a) allant vers B (xo + r cos (a+b), yo + r sin (a+b)) dans le sens trigonométrique si b > 0 dans le sens contraire si b < 0. More...

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

List of all members.

Public Member Functions

 ArcDeCercle (String Nom, Repere R)
 Construit un arc de cercle non défini.
 ArcDeCercle (pt O, double r, double a, double b, String Nom, Repere R)
 Construit l'arc de cercle de centre O de rayon r relativement au repère R.
 ArcDeCercle (double xo, double yo, double r, double a, double b, String Nom, Repere R)
 Construit l'arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R.
 ArcDeCercle (pt O, pt A, double a, double b, String Nom, Repere R)
 Construit l'arc de cercle de centre O passant par A.
 ArcDeCercle (pt A, pt O, pt B, String Nom, Repere R)
 Construit l'arc de cercle correspondant à l'angle AOB.
void trace (Graphics g)
 Trace ou efface l'arc de cercle.
boolean zone (int X, int Y)
 Teste si la souris est proche de l'arc de cercle.
void ArcDeCercle (pt O, double r, double a, double b)
 Redéfinit l'arc de cercle de centre O de rayon r.
void ArcDeCercle (double xo, double yo, double r, double a, double b)
 Redéfinit l'arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R.
void ArcDeCercle (pt O, pt A, double a, double b)
 Redéfinit l'arc de cercle de centre O passant par A.
void ArcDeCercle (pt A, pt O, pt B)
 Redéfinit l'arc de cercle correspondant à l'angle AOB.

Public Attributes

double xo
 Coordonnée du centre de l'arc de cercle.
double r
 Rayon de l'arc de cercle.
double a
 Angle correspondant à une extrémité de l'arc de cercle.
Repere R
 Repere associé.
boolean defini
 Existence de l'objet.
String Nom
 Nom de l'objet.

Package Attributes

double yo
double b

Private Member Functions

double na (double a)

Detailed Description

Définit un arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R partant de A (xo + r cos a, yo + r sin a) allant vers B (xo + r cos (a+b), yo + r sin (a+b)) dans le sens trigonométrique si b > 0 dans le sens contraire si b < 0.

Definition at line 13 of file ArcDeCercle.java.


Constructor & Destructor Documentation

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

Construit un arc de cercle non défini.

Definition at line 38 of file ArcDeCercle.java.

  { super (Nom, R) ; }
geo.ArcDeCercle.ArcDeCercle ( pt  O,
double  r,
double  a,
double  b,
String  Nom,
Repere  R 
) [inline]

Construit l'arc de cercle de centre O de rayon r relativement au repère R.

Definition at line 45 of file ArcDeCercle.java.

  { super (Nom, R) ; ArcDeCercle (O, r, a, b) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

geo.ArcDeCercle.ArcDeCercle ( double  xo,
double  yo,
double  r,
double  a,
double  b,
String  Nom,
Repere  R 
) [inline]

Construit l'arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R.

Definition at line 52 of file ArcDeCercle.java.

  { super (Nom, R) ; ArcDeCercle (xo, yo, r, a, b) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

geo.ArcDeCercle.ArcDeCercle ( pt  O,
pt  A,
double  a,
double  b,
String  Nom,
Repere  R 
) [inline]

Construit l'arc de cercle de centre O passant par A.

Definition at line 59 of file ArcDeCercle.java.

  { super (Nom, R) ; ArcDeCercle (O, A, a, b) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

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

Construit l'arc de cercle correspondant à l'angle AOB.

Definition at line 66 of file ArcDeCercle.java.

  { super (Nom, R) ; ArcDeCercle (A, O, B) ; }

Here is the call graph for this function:

Here is the caller graph for this function:

void geo.ArcDeCercle.ArcDeCercle ( pt  O,
double  r,
double  a,
double  b 
) [inline]

Redéfinit l'arc de cercle de centre O de rayon r.

Definition at line 135 of file ArcDeCercle.java.

  { xo = O.x ; yo = O.y ; this.r = r ; this.a = a ; this.b = b ; defini = (r >= 0.0); }
void geo.ArcDeCercle.ArcDeCercle ( double  xo,
double  yo,
double  r,
double  a,
double  b 
) [inline]

Redéfinit l'arc de cercle de centre de coordonnées (xo, yo) de rayon r relativement au repère R.

Definition at line 142 of file ArcDeCercle.java.

  { this.xo = xo; this.yo = yo; this.r = r ; this.a = a ; this.b = b ; defini = (r >= 0.0); }
void geo.ArcDeCercle.ArcDeCercle ( pt  O,
pt  A,
double  a,
double  b 
) [inline]

Redéfinit l'arc de cercle de centre O passant par A.

Definition at line 149 of file ArcDeCercle.java.

  { defini = O.defini && A.defini ;
    this.xo = O.x ; this.yo = O.y ;
    r = A.x - O.x ; double d = A.y - O.y ; r = Math.sqrt (r * r + d * d) ;
    this.a = a ; this.b = b ;
  }
void geo.ArcDeCercle.ArcDeCercle ( pt  A,
pt  O,
pt  B 
) [inline]

Redéfinit l'arc de cercle correspondant à l'angle AOB.

Definition at line 160 of file ArcDeCercle.java.

  { defini = O.defini && A.defini && B.defini ;
    if (defini)
      { xo = O.x ; yo = O.y ;
        Vecteur u = new Vecteur (1.0, 0.0, "", R) ;
        Vecteur v = new Vecteur (A.x - O.x, A.y - O.y, "", R) ;
        r = v.Norme () ;
        Scalaire S = new Scalaire ("", R) ;
        S.Angle (u, v) ;
        if (defini = S.defini)
          { a = S.d ;
            u.Vecteur (B.x - O.x, B.y - O.y) ;
            S.Angle (v, u) ;
            if (defini = S.defini) b = S.d ;
          }
      }
  }

Here is the call graph for this function:


Member Function Documentation

double geo.ArcDeCercle.na ( double  a) [inline, private]

Definition at line 123 of file ArcDeCercle.java.

   { double pi2 = 2.0 * Math.PI ;
     while (a > Math.PI) a -= pi2 ;
     while (a <= - Math.PI) a += pi2 ;
     return a ;
   }

Here is the caller graph for this function:

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

Trace ou efface l'arc de cercle.

Reimplemented from geo.ObjetRepere.

Definition at line 73 of file ArcDeCercle.java.

  { if (defini) { int B = (int)(b * 180.0 / Math.PI) ;
                  int B1 = B % 360 ;
                  if (B1 != 0)
                    { int Xo = R.Iabs (xo) ; int Yo = R.Iord (yo);
                      int RX = (int) (R.unitex * r) ; int RY = (int) (R.unitey * r) ;
                      g.drawArc (Xo - RX, Yo - RY, 2 * RX, 2 * RY,
                                 (int)(a * 180.0 / Math.PI), B) ;
                      pt p = new pt (xo + r * Math.cos (a), yo + r * Math.sin (a), "", R) ;
                      p.Rotation (p, new pt (xo, yo, "", R), b) ;
                      double x = p.x - xo ; double y = p.y - yo ;
                      double l = Math.sqrt (x * x + y * y) ;
                      B = B % 360 ;
                      if (( B > 0) && (B <= 180) || (B < -180)) y = - y ; else x = - x ;
                      int X = (int) (y * 4.0 / l) ;
                      int Y = (int) (x * 4.0 / l) ;
                      g.drawLine (p.X, p.Y, p.X - X - Y, p.Y + Y - X) ;
                      g.drawLine (p.X, p.Y, p.X - X + Y, p.Y + Y + X) ;

                    }
                  if (Nom.length () != 0 )
                    { int X = R.Iabs (xo + r * Math.cos (a + b / 2)) + 3 ;
                      int Y = R.Iord (yo + r * Math.sin (a + b / 2)) - 3 ;
                      g.drawString (Nom, X, Y) ;
                    }
                }
  }

Here is the call graph for this function:

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

Teste si la souris est proche de l'arc de cercle.

Reimplemented from geo.ObjetRepere.

Definition at line 105 of file ArcDeCercle.java.

   { if (defini)
       { double dx = R.Abs (X) - xo ; double dy = R.Ord (Y) - yo ;
         if (Math.abs (Math.sqrt (dx * dx + dy * dy) - r) * (R.unitex + R.unitey) > 3.0)
           return false ;
         else
           { Scalaire s = new Scalaire ("", R) ; s.Angle (new Vecteur (1.0, 0.0, "", R), new Vecteur (dx, dy, "", R)) ;
//10/01/2001
             double angle = na (s.d - a) ;
             double bt = na (b) ;
//
             return (((bt >= 0.0) && (angle >= 0.0) && (angle <= bt)) || ((bt < 0.0) && (angle <= 0.0) && (angle >= bt))) ;
           }
       }
     return false ;
   }

Here is the call graph for this function:


Member Data Documentation

Angle correspondant à une extrémité de l'arc de cercle.

Definition at line 32 of file ArcDeCercle.java.

double geo.ArcDeCercle.b [package]

Definition at line 32 of file ArcDeCercle.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.

Rayon de l'arc de cercle.

Definition at line 26 of file ArcDeCercle.java.

Coordonnée du centre de l'arc de cercle.

Definition at line 20 of file ArcDeCercle.java.

double geo.ArcDeCercle.yo [package]

Definition at line 20 of file ArcDeCercle.java.


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