87              const double precision = std::numeric_limits<double>::epsilon()) :
 
   91      set(p0, 
p1, p2, precision);
 
 
  116              const double precision = std::numeric_limits<double>::epsilon()) :
 
  120      set(__begin, __end, precision);
 
 
  129    template<
class JElement_t, 
class JAllocator_t>
 
  131              const double precision = std::numeric_limits<double>::epsilon()) :
 
  135      set(buffer.begin(), buffer.end(), precision);
 
 
  178             const double precision = std::numeric_limits<double>::epsilon())
 
  180      const double x0 = p2.
getX() - 
p1.getX();
 
  181      const double x1 = p0.
getX() - p2.
getX();
 
  182      const double x2 = 
p1.getX() - p0.
getX();
 
  184      const double y0 = 
p1.getY() - p2.
getY();
 
  185      const double y1 = p2.
getY() - p0.
getY();
 
  186      const double y2 = p0.
getY() - 
p1.getY();
 
  188      const double D  = 2.0 * (p0.
getX()*y0 + 
p1.getX()*y1 + p2.
getX()*y2);
 
  190      if (fabs(D) > precision) {
 
  193        const double b = 
p1.getLengthSquared();
 
  196        __x = (a*y0 + b*y1 + c*y2) / D;
 
  197        __y = (a*x0 + b*x1 + c*x2) / D;
 
  207        if (
c1.getRadius() > this->getRadius()) { *
this = 
c1; }
 
  208        if (c2.
getRadius() > this->getRadius()) { *
this = c2; }
 
 
  228             const double precision = std::numeric_limits<double>::epsilon())
 
  230      if (__begin != __end) {
 
  232        __x = __begin->getX();
 
  233        __y = __begin->getY();
 
  238        const JVector2D p0(i->getX(), i->getY());
 
  248          while (++i != __end) {
 
  250            const JVector2D p2(i->getX(), i->getY());
 
  254                p1.getDistance(p2)    > precision) {
 
 
  271                          const double     precision = std::numeric_limits<double>::min())
 const 
 
  304      out << static_cast<const JPosition2D&>(circle);
 
 
  337      out << static_cast<const JPosition2D&>(circle);
 
 
  361                   const double precision)
 
  363      this->
set(
JVector2D(__begin->getX(), __begin->getY()), p0);
 
  365      for (T i = __begin; ++i != __end; ) {
 
 
  391                   const double precision)
 
  395      for (T i = __begin; i != __end; ++i) {
 
  397        const JVector2D p2(i->getX(), i->getY());
 
  401            p1.getDistanceSquared(p2) > precision) {
 
  402          this->
set(p0, 
p1, p2, precision);
 
 
 
TCanvas * c1
Global variables to handle mouse events.
 
JFormat_t & getFormat()
Get format for given type.
 
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
 
Data structure for circle in two dimensions.
 
friend JReader & operator>>(JReader &in, JCircle2D &circle)
Read circle from input.
 
void set(T __begin, T __end, const double precision=std::numeric_limits< double >::epsilon())
Set circle.
 
bool is_inside(const JVector2D &pos, const double precision=std::numeric_limits< double >::min()) const
Check whether given point is inside circle.
 
void set(const JVector2D &p0, const JVector2D &p1)
Set circle.
 
friend std::istream & operator>>(std::istream &in, JCircle2D &circle)
Read circle from input stream.
 
void configure(T __begin, T __end, const JVector2D &p0, const JVector2D &p1, const double precision)
Determine smallest enclosing circle.
 
JCircle2D(const JVector2D &point, const double r)
Constructor.
 
JCircle2D(const array_type< JElement_t, JAllocator_t > &buffer, const double precision=std::numeric_limits< double >::epsilon())
Constructor.
 
void configure(T __begin, T __end, const JVector2D &p0, const double precision)
Determine smallest enclosing circle.
 
JCircle2D(const JVector2D &p0, const JVector2D &p1)
Constructor.
 
JCircle2D(T __begin, T __end, const double precision=std::numeric_limits< double >::epsilon())
Constructor.
 
double getRadius() const
Get radius.
 
JCircle2D()
Default constructor.
 
void set(const JVector2D &p0, const JVector2D &p1, const JVector2D &p2, const double precision=std::numeric_limits< double >::epsilon())
Set circle.
 
friend JWriter & operator<<(JWriter &out, const JCircle2D &circle)
Write circle to output.
 
JCircle2D(const JVector2D &p0, const JVector2D &p1, const JVector2D &p2, const double precision=std::numeric_limits< double >::epsilon())
Constructor.
 
friend std::ostream & operator<<(std::ostream &out, const JCircle2D &circle)
Write circle to output stream.
 
Data structure for position in two dimensions.
 
Data structure for vector in two dimensions.
 
double getDistance(const JVector2D &point) const
Get distance to point.
 
double getY() const
Get y position.
 
double getDistanceSquared(const JVector2D &point) const
Get squared of distance to point.
 
double getX() const
Get x position.
 
JVector2D()
Default constructor.
 
double getLengthSquared() const
Get length squared.
 
Interface for binary input.
 
Interface for binary output.
 
Auxiliary classes and methods for 2D geometrical objects and operations.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary data structure for return type of make methods.