inlib  1.2.0
Public Member Functions
inlib::func::in_ellipse Class Reference

List of all members.

Public Member Functions

 in_ellipse ()
virtual ~in_ellipse ()
 in_ellipse (const in_ellipse &a_from)
in_ellipseoperator= (const in_ellipse &a_from)
bool in_domain (double, double) const
double value (double a_x, double a_y) const
bool set_from_a_b (double a_a, double a_b)
double a () const
double b () const

Detailed Description

Definition at line 308 of file func.


Constructor & Destructor Documentation

inlib::func::in_ellipse::in_ellipse ( ) [inline]

Definition at line 310 of file func.

:m_a(1),m_b(1){}
virtual inlib::func::in_ellipse::~in_ellipse ( ) [inline, virtual]

Definition at line 311 of file func.

{}
inlib::func::in_ellipse::in_ellipse ( const in_ellipse a_from) [inline]

Definition at line 313 of file func.

:m_a(a_from.m_a),m_b(a_from.m_b){}

Member Function Documentation

double inlib::func::in_ellipse::a ( ) const [inline]

Definition at line 346 of file func.

{return m_a;}
double inlib::func::in_ellipse::b ( ) const [inline]

Definition at line 347 of file func.

{return m_b;}
bool inlib::func::in_ellipse::in_domain ( double  ,
double   
) const [inline]

Definition at line 320 of file func.

{return true;}
in_ellipse& inlib::func::in_ellipse::operator= ( const in_ellipse a_from) [inline]

Definition at line 314 of file func.

                                                 {
    m_a = a_from.m_a;
    m_b = a_from.m_b;
    return *this;
  }
bool inlib::func::in_ellipse::set_from_a_b ( double  a_a,
double  a_b 
) [inline]

Definition at line 339 of file func.

                                           {
    if(a_a<=0) return false;
    if(a_b<=0) return false;
    m_a = a_a;
    m_b = a_b;
    return true;
  }
double inlib::func::in_ellipse::value ( double  a_x,
double  a_y 
) const [inline]

Definition at line 321 of file func.

                                            {
    if(m_a>=m_b) {
      double f = ::sqrt(m_a*m_a-m_b*m_b);
      double x1  = a_x-f;
      double x2  = a_x+f;
      double y2 = a_y*a_y;
      double d = ::sqrt(x1*x1+y2) + ::sqrt(x2*x2+y2);
      return (d>(2*m_a)?false:true); //border is outside.
    } else {
      double f = ::sqrt(m_b*m_b-m_a*m_a);
      double y1  = a_y-f;
      double y2  = a_y+f;
      double x2 = a_x*a_x;
      double d = ::sqrt(x2+y1*y1) + ::sqrt(x2+y2*y2);
      return (d>(2*m_b)?false:true); //border is outside.
    }
  }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines