| 
    shape_doc 0.1 
   | 
 
#include <cell3d.hpp>
  
 Definition at line 41 of file cell3d.hpp.
| typedef Cell::BoundingBox BoundingBox | 
Reimplemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Definition at line 51 of file cell3d.hpp.
Reimplemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Definition at line 50 of file cell3d.hpp.
Reimplemented in cell3d_surface_algebraic< C, V >.
Definition at line 49 of file cell3d.hpp.
| typedef Topology::Edge Edge | 
Reimplemented in cell3d_surface_algebraic< C, V >.
Definition at line 47 of file cell3d.hpp.
| typedef Topology::Point Point | 
Reimplemented in cell3d_algebraic_curve< C, V >, and cell3d_surface_algebraic< C, V >.
Definition at line 46 of file cell3d.hpp.
Reimplemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Definition at line 44 of file cell3d.hpp.
| typedef tpl3d<C,V> Topology3d | 
Reimplemented in cell3d_algebraic_curve< C, V >, and cell3d_surface_algebraic< C, V >.
Definition at line 45 of file cell3d.hpp.
| cell3d | ( | void | ) |  [inline] | 
        
Definition at line 53 of file cell3d.hpp.
{};
| cell3d | ( | const BoundingBox & | bx | ) |  [inline] | 
        
Definition at line 54 of file cell3d.hpp.
: BoundingBox(bx) {} ;
| virtual ~cell3d | ( | void | ) |  [inline, virtual] | 
        
Definition at line 55 of file cell3d.hpp.
{};
| BoundingBox boundingBox | ( | ) |  const [inline] | 
        
Definition at line 74 of file cell3d.hpp.
{ return (BoundingBox)*this; }
| virtual Point center | ( | void | ) |  const [inline, virtual] | 
        
Definition at line 67 of file cell3d.hpp.
References bounding_box< C, V >::xmax(), bounding_box< C, V >::xmin(), bounding_box< C, V >::ymax(), bounding_box< C, V >::ymin(), bounding_box< C, V >::zmax(), and bounding_box< C, V >::zmin().
Definition at line 170 of file cell3d.hpp.
References mmx::shape::check_overlap(), and SELF.
{
    int i;
    bool flag;
    //copy horizontally
    b->e_neighbors= this->e_neighbors ;
    foreach(SELF* cl,b->e_neighbors) {
      i= cl->w_neighbors.search(this);
      cl->w_neighbors[i]= b;
    }
    a->w_neighbors= this->w_neighbors ;
    foreach(SELF* cl,a->w_neighbors) {
      i= cl->e_neighbors.search(this);
      cl->e_neighbors[i]= a;
    }
    //update vertically
    foreach(SELF* cl,this->s_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
          //assert( cl->ymax()== a->ymin() );
          a->s_neighbors<< cl;
          i= cl->n_neighbors.search(this);
          cl->n_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
          //assert( cl->ymax()== b->ymin() );
          b->s_neighbors<< cl;
          if (!flag)
            {
              i= cl->n_neighbors.search(this);
              cl->n_neighbors[i]= b;
            }
          else
            cl->n_neighbors << b;
        }
    }
    foreach(SELF* cl,this->n_neighbors) {
        flag=false;
        if ( check_overlap(cl,a,0) //)
             && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) ) 
        {
            a->n_neighbors<< cl;
            i= cl->s_neighbors.search(this);
            cl->s_neighbors[i]= a;
            flag=true;
        }
        if ( check_overlap(cl,b,0) //)
             && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
            b->n_neighbors<< cl;
            if (!flag)
            {
              i= cl->s_neighbors.search(this);
              cl->s_neighbors[i]= b;
            }
            else
              cl->s_neighbors << b;
        }
    } 
    //update depth
    foreach(SELF* cl,this->f_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
          //assert( cl->ymax()== a->ymin() );
          a->f_neighbors<< cl;
          i= cl->b_neighbors.search(this);
          cl->b_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
          //assert( cl->ymax()== b->ymin() );
          b->f_neighbors<< cl;
          if (!flag)
            {
              i= cl->b_neighbors.search(this);
              cl->b_neighbors[i]= b;
            }
          else
            cl->b_neighbors << b;
        }
    }
    foreach(SELF* cl,this->b_neighbors) {
        flag=false;
        if ( check_overlap(cl,a,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) ) 
        {
            a->b_neighbors<< cl;
            i= cl->f_neighbors.search(this);
            cl->f_neighbors[i]= a;
            flag=true;
        }
        if ( check_overlap(cl,b,0) //)
           && ( check_overlap(cl,a,1) || check_overlap(cl,a,2)) )
        {
            b->b_neighbors<< cl;
            if (!flag)
            {
              i= cl->f_neighbors.search(this);
              cl->f_neighbors[i]= b;
            }
            else
              cl->f_neighbors << b;
        }
    }
}
Definition at line 290 of file cell3d.hpp.
References mmx::shape::check_overlap(), and SELF.
{
    int i;
    bool flag;
    //copy vertically
    a->s_neighbors= this->s_neighbors ;
    foreach(SELF* cl,a->s_neighbors) {
      i= cl->n_neighbors.search(this);
      cl->n_neighbors[i]= a;
    }
    b->n_neighbors= this->n_neighbors ;
    foreach(SELF* cl,b->n_neighbors) {
      i= cl->s_neighbors.search(this);
      cl->s_neighbors[i]= b;
    }
    
    //update horizontally
    foreach(SELF* cl,this->w_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,1) //) 
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) ) 
        {
          //assert( cl->xmax()== a->xmin() );
          a->w_neighbors<< cl;
          i= cl->e_neighbors.search(this);
          cl->e_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) ) 
        {
          //assert( cl->xmax()== b->xmin() );
          b->w_neighbors<< cl;
          if (!flag)
            {
              i= cl->e_neighbors.search(this);
              cl->e_neighbors[i]= b;
            }
          else
            cl->e_neighbors << b;
        }
    }
    foreach(SELF* cl,this->e_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) )  
        {
          a->e_neighbors<< cl;
          i= cl->w_neighbors.search(this);
          cl->w_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) ) 
        {
          b->e_neighbors<< cl;
          if (!flag)
            {
              i= cl->w_neighbors.search(this);
              cl->w_neighbors[i]= b;
            }
          else
            cl->w_neighbors << b;
        }
    }
    //update depth
    foreach(SELF* cl,this->f_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) )  
        {
          //assert( cl->xmax()== a->xmin() );
          a->f_neighbors<< cl;
          i= cl->b_neighbors.search(this);
          cl->b_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) ) 
        {
          //assert( cl->xmax()== b->xmin() );
          b->f_neighbors<< cl;
          if (!flag)
            {
              i= cl->b_neighbors.search(this);
              cl->b_neighbors[i]= b;
            }
          else
            cl->b_neighbors << b;
        }
    }
    foreach(SELF* cl,this->b_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) )  
        {
          a->b_neighbors<< cl;
          i= cl->f_neighbors.search(this);
          cl->f_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,1) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,2)) ) 
        {
          b->b_neighbors<< cl;
          if (!flag)
            {
              i= cl->f_neighbors.search(this);
              cl->f_neighbors[i]= b;
            }
          else
            cl->f_neighbors << b;
        }
    }
}
Definition at line 411 of file cell3d.hpp.
References mmx::shape::check_overlap(), and SELF.
{
    int i;
    bool flag;
    //copy vertically
    a->f_neighbors= this->f_neighbors ;
    foreach(SELF* cl,a->f_neighbors) {
      i= cl->b_neighbors.search(this);
      cl->b_neighbors[i]= a;
    }
    b->b_neighbors= this->b_neighbors ;
    foreach(SELF* cl,b->b_neighbors) {
      i= cl->f_neighbors.search(this);
      cl->f_neighbors[i]= b;
    }
    
    //update horizontally
    foreach(SELF* cl,this->w_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          //assert( cl->xmax()== a->xmin() );
          a->w_neighbors<< cl;
          i= cl->e_neighbors.search(this);
          cl->e_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          //assert( cl->xmax()== b->xmin() );
          b->w_neighbors<< cl;
          if (!flag)
            {
              i= cl->e_neighbors.search(this);
              cl->e_neighbors[i]= b;
            }
          else
            cl->e_neighbors << b;
        }
    }
    foreach(SELF* cl,this->e_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )   
        {
          a->e_neighbors<< cl;
          i= cl->w_neighbors.search(this);
          cl->w_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          b->e_neighbors<< cl;
          if (!flag)
            {
              i= cl->w_neighbors.search(this);
              cl->w_neighbors[i]= b;
            }
          else
            cl->w_neighbors << b;
        }
    }
    //update vertically
    foreach(SELF* cl,this->s_neighbors) {
      flag=false;
      if ( check_overlap(cl,a,0) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          //assert( cl->ymax()== a->ymin() );
          a->s_neighbors<< cl;
          i= cl->n_neighbors.search(this);
          cl->n_neighbors[i]= a;
          flag=true;
        }
      if ( check_overlap(cl,b,0) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          //assert( cl->ymax()== b->ymin() );
          b->s_neighbors<< cl;
          if (!flag)
            {
              i= cl->n_neighbors.search(this);
              cl->n_neighbors[i]= b;
            }
          else
            cl->n_neighbors << b;
        }
    }
    foreach(SELF* cl,this->n_neighbors) {
        flag=false;
        if ( check_overlap(cl,a,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
        {
          a->n_neighbors<< cl;
          i= cl->s_neighbors.search(this);
          cl->s_neighbors[i]= a;
          flag=true;
        }
        if ( check_overlap(cl,b,2) //)
        && ( check_overlap(cl,a,0) || check_overlap(cl,a,1)) )  
          {
            b->n_neighbors<< cl;
            if (!flag) {
              i= cl->s_neighbors.search(this);
              cl->s_neighbors[i]= b;
            }
            else
              cl->s_neighbors << b;
        }
    }
}
| bool contains | ( | double | x, | 
| bool | strict = false  | 
        ||
| ) |  [inherited] | 
        
| bool contains | ( | double | x, | 
| double | y, | ||
| bool | strict = false  | 
        ||
| ) |  [inherited] | 
        
| bool contains | ( | double | x, | 
| double | y, | ||
| double | z, | ||
| bool | strict = false  | 
        ||
| ) |  [inherited] | 
        
| void disconnect | ( | ) |  [inline] | 
        
Definition at line 528 of file cell3d.hpp.
{
    this->e_neighbors.clear();  
    this->w_neighbors.clear();  
    this->n_neighbors.clear();  
    this->s_neighbors.clear();  
    this->b_neighbors.clear();  
    this->f_neighbors.clear();  
}
| virtual bool insert_regular | ( | Topology * | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Referenced by mesher3d_shape< C, V >::insert_regular().
| virtual bool insert_singular | ( | Topology * | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Referenced by mesher3d_shape< C, V >::sing_process().
| bounding_box< C, V > * intersect | ( | const bounding_box< C, V > & | other | ) |  [inherited] | 
        
Definition at line 318 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), and SELF.
Referenced by bounding_box< double, V >::operator*().
                                 {
  SELF * cell = new SELF ;
  cell->set_xmin(mmxmax(this->xmin(), other.xmin())) ;
  cell->set_xmax(mmxmin(this->xmax(), other.xmax())) ;
  cell->set_ymin(mmxmax(this->ymin(), other.ymin())) ;
  cell->set_ymax(mmxmin(this->ymax(), other.ymax())) ;
  cell->set_zmin(mmxmax(this->zmin(), other.zmin())) ;
  cell->set_zmax(mmxmin(this->zmax(), other.zmax())) ;
  return cell ;
}
| void intersected | ( | bounding_box< C, V > * | other | ) |  [inherited] | 
        
Definition at line 298 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
| bool intersects | ( | bounding_box< C, V > * | other, | 
| bool | strict = true  | 
        ||
| ) |  [inherited] | 
        
Definition at line 238 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
{
         if(this->is0D())
            return (this->xmin() == other->xmin()) ;
    else if(this->is1D())
        if(strict)
            return ((mmxmax(this->xmin(), other->xmin()) <  mmxmin(this->xmax(), other->xmax()))) ;
        else
            return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax()))) ;
    else if(this->is2D())
        if(strict)
            return ((mmxmax(this->xmin(), other->xmin()) <  mmxmin(this->xmax(), other->xmax())) &&
                    (mmxmax(this->ymin(), other->ymin()) <  mmxmin(this->ymax(), other->ymax()))) ;
        else
            return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) &&
                    (mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax()))) ;
    else if(this->is3d()) {
        if(strict)
            return ((mmxmax(this->xmin(), other->xmin()) <  mmxmin(this->xmax(), other->xmax())) &&
                    (mmxmax(this->ymin(), other->ymin()) <  mmxmin(this->ymax(), other->ymax())) &&
                    (mmxmax(this->zmin(), other->zmin()) <  mmxmin(this->zmax(), other->zmax()))) ;
        else
            return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) &&
                    (mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax())) &&
                    (mmxmax(this->zmin(), other->zmin()) <= mmxmin(this->zmax(), other->zmax()))) ;
    }
         return false ;
}
| bool is0D | ( | void | ) |  const [inline, inherited] | 
        
| bool is1D | ( | void | ) |  const [inline, inherited] | 
        
| bool is2D | ( | void | ) |  const [inline, inherited] | 
        
| bool is3d | ( | void | ) |  const [inline, inherited] | 
        
| virtual bool is_active | ( | void | ) |  const [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Referenced by mesher3d_shape< C, V >::run().
| virtual bool is_intersected | ( | void | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
| virtual bool is_regular | ( | void | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
Referenced by mesher3d_shape< C, V >::is_regular(), and mesher3d_shape< C, V >::run().
| void join0 | ( | cell3d< C, V > * | b | ) |  [inline] | 
        
Definition at line 149 of file cell3d.hpp.
{
    this->e_neighbors << b; 
    b->w_neighbors << this; 
}
| void join1 | ( | cell3d< C, V > * | b | ) |  [inline] | 
        
Definition at line 156 of file cell3d.hpp.
{
    b->s_neighbors << this;
    this->n_neighbors << b;
}
Definition at line 163 of file cell3d.hpp.
{
    b->f_neighbors << this;
    this->b_neighbors << b;
}
| Seq<cell3d *> neighbors | ( | ) |  [inline] | 
        
Definition at line 96 of file cell3d.hpp.
References cell3d< C, V >::b_neighbors, cell3d< C, V >::e_neighbors, cell3d< C, V >::f_neighbors, cell3d< C, V >::n_neighbors, cell3d< C, V >::s_neighbors, and cell3d< C, V >::w_neighbors.
                            { 
    Seq<cell3d *> t;
    t<< s_neighbors ;
    t<< e_neighbors ;
    t<< n_neighbors ;
    t<< b_neighbors ;
    t<< w_neighbors ;
    t<< f_neighbors ;
    return t;     } ;
| double operator() | ( | unsigned | v, | 
| unsigned | s | ||
| ) |  const [inherited] | 
        
| double & operator() | ( | unsigned | v, | 
| unsigned | s | ||
| ) |  [inherited] | 
        
| bounding_box<C,V>* operator* | ( | const bounding_box< C, V > & | other | ) |  [inline, inherited] | 
        
Definition at line 103 of file bounding_box.hpp.
{ return intersect(other) ; }
| bounding_box<C,V>* operator+ | ( | const bounding_box< C, V > & | other | ) |  [inline, inherited] | 
        
Definition at line 104 of file bounding_box.hpp.
{ return     unite(other) ; }
| virtual void polygonise | ( | Topology3d * | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, and cell3d_surface_algebraic< C, V >.
| void set_xmax | ( | double | x | ) |  [inline, inherited] | 
        
Definition at line 74 of file bounding_box.hpp.
{ this->m_xmax = x ; }
| void set_xmin | ( | double | x | ) |  [inline, inherited] | 
        
Definition at line 73 of file bounding_box.hpp.
{ this->m_xmin = x ; }
| void set_ymax | ( | double | y | ) |  [inline, inherited] | 
        
Definition at line 76 of file bounding_box.hpp.
{ this->m_ymax = y ; }
| void set_ymin | ( | double | y | ) |  [inline, inherited] | 
        
Definition at line 75 of file bounding_box.hpp.
{ this->m_ymin = y ; }
| void set_zmax | ( | double | z | ) |  [inline, inherited] | 
        
Definition at line 78 of file bounding_box.hpp.
{ this->m_zmax = z ; }
| void set_zmin | ( | double | z | ) |  [inline, inherited] | 
        
Definition at line 77 of file bounding_box.hpp.
{ this->m_zmin = z ; }
| double size | ( | void | ) |  [inherited] | 
        
Definition at line 199 of file bounding_box.hpp.
References mmx::max().
Referenced by voronoi2d< C, V >::run(), topology2d< C, V >::run(), mesher3d_shape< C, V >::run(), and mesher3d_curve_algebraic< C, V >::run().
| void split_position | ( | int & | v, | 
| double & | s | ||
| ) |  [virtual] | 
        
Reimplemented in cell3d_list< C, V >.
Definition at line 125 of file cell3d.hpp.
                                      {
  double sx = (this->xmax()-this->xmin());
  double sy = (this->ymax()-this->ymin());
  double sz = (this->zmax()-this->zmin());
  
  if(sx<sy)
      if(sy<sz) {
        v=2;
        s=(this->zmax()+this->zmin())/2;
      } else {
        v=1;
        s=(this->ymax()+this->ymin())/2;
      }
    else
      if(sx<sz) {
        v=2;
        s=(this->zmax()+this->zmin())/2;
      } else {
        v=0;
        s=(this->xmax()+this->xmin())/2;
      }
}
Definition at line 117 of file cell3d.hpp.
Referenced by mesher3d_shape< C, V >::subdivide().
                                         {
  int v; double s;
  this->split_position(v,s);
  this->subdivide(Left,Right,v,s);
  return v;
}
| virtual void subdivide | ( | cell3d< C, V > *& | left, | 
| cell3d< C, V > *& | right, | ||
| int | v, | ||
| double | s | ||
| ) |  [pure virtual] | 
        
| virtual bool topology_regular | ( | Topology * | ) |  [pure virtual] | 
        
Implemented in cell3d_algebraic_curve< C, V >, cell3d_list< C, V >, and cell3d_surface_algebraic< C, V >.
| bounding_box< C, V > * unite | ( | bounding_box< C, V > * | other | ) |  [inherited] | 
        
Definition at line 330 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), and SELF.
Referenced by bounding_box< double, V >::operator+().
                        {
  SELF * cell = new SELF ;
  cell->set_xmin(mmxmin(this->xmin(), other->xmin())) ;
  cell->set_xmax(mmxmax(this->xmax(), other->xmax())) ;
  cell->set_ymin(mmxmin(this->ymin(), other->ymin())) ;
  cell->set_ymax(mmxmax(this->ymax(), other->ymax())) ;
  cell->set_zmin(mmxmin(this->zmin(), other->zmin())) ;
  cell->set_zmax(mmxmax(this->zmax(), other->zmax())) ;
  return cell ;
}
| void united | ( | bounding_box< C, V > * | other | ) |  [inherited] | 
        
Definition at line 308 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
| bool unites | ( | bounding_box< C, V > * | other, | 
| bool | strict = true  | 
        ||
| ) |  [inherited] | 
        
Definition at line 268 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
{
  if(this->is0D())
    return (this->xmin() == other->xmin()) ;
  else if(this->is1D()) {
    if(strict)
      return ((mmxmin(this->xmin(), other->xmin()) <  mmxmax(this->xmax(), other->xmax()))) ;
    else
      return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax()))) ;
  } else if(this->is2D()) {
    if(strict)
      return ((mmxmin(this->xmin(), other->xmin()) <  mmxmax(this->xmax(), other->xmax())) &&
              (mmxmin(this->ymin(), other->ymin()) <  mmxmax(this->ymax(), other->ymax()))) ;
    else
      return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) &&
              (mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax()))) ;
  } else if(this->is3d()) {
    if(strict)
      return ((mmxmin(this->xmin(), other->xmin()) <  mmxmax(this->xmax(), other->xmax())) &&
                    (mmxmin(this->ymin(), other->ymin()) <  mmxmax(this->ymax(), other->ymax())) &&
              (mmxmin(this->zmin(), other->zmin()) <  mmxmax(this->zmax(), other->zmax()))) ;
    else
      return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) &&
              (mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax())) &&
              (mmxmin(this->zmin(), other->zmin()) <= mmxmax(this->zmax(), other->zmax()))) ;
    }
  return false ;
}
| double xmax | ( | void | ) |  [inline, inherited] | 
        
Definition at line 56 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_xmax ; }
| double xmax | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 63 of file bounding_box.hpp.
{ return m_xmax ; }
| double xmin | ( | void | ) |  [inline, inherited] | 
        
Definition at line 55 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), mmx::shape::operator<<(), mmx::operator<<(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_xmin ; }
| double xmin | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 62 of file bounding_box.hpp.
{ return m_xmin ; }
| double xsize | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 69 of file bounding_box.hpp.
| double ymax | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 65 of file bounding_box.hpp.
{ return m_ymax ; }
| double ymax | ( | void | ) |  [inline, inherited] | 
        
Definition at line 58 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_ymax ; }
| double ymin | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 64 of file bounding_box.hpp.
{ return m_ymin ; }
| double ymin | ( | void | ) |  [inline, inherited] | 
        
Definition at line 57 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_ymin ; }
| double ysize | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 70 of file bounding_box.hpp.
| double zmax | ( | void | ) |  [inline, inherited] | 
        
Definition at line 60 of file bounding_box.hpp.
Referenced by cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_zmax ; }
| double zmax | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 67 of file bounding_box.hpp.
{ return m_zmax ; }
| double zmin | ( | void | ) |  [inline, inherited] | 
        
Definition at line 59 of file bounding_box.hpp.
Referenced by cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_zmin ; }
| double zmin | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 66 of file bounding_box.hpp.
{ return m_zmin ; }
| double zsize | ( | void | ) |  const [inline, inherited] | 
        
Definition at line 71 of file bounding_box.hpp.
| Seq<cell3d *> b_neighbors | 
Definition at line 111 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().
| Seq<cell3d *> e_neighbors | 
Definition at line 107 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().
| Seq<cell3d *> f_neighbors | 
Definition at line 110 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().
| Seq<Point *> m_boundary | 
Definition at line 88 of file cell3d.hpp.
Referenced by cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve().
Definition at line 93 of file cell3d.hpp.
| Seq<Point *> m_singular | 
Definition at line 89 of file cell3d.hpp.
| int m_type | 
Definition at line 90 of file cell3d.hpp.
double m_xmax [protected, inherited] | 
        
Definition at line 107 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_xmax(), bounding_box< double, V >::xmax(), and bounding_box< double, V >::xsize().
double m_xmin [protected, inherited] | 
        
Definition at line 107 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_xmin(), bounding_box< double, V >::xmin(), and bounding_box< double, V >::xsize().
double m_ymax [protected, inherited] | 
        
Definition at line 108 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_ymax(), bounding_box< double, V >::ymax(), and bounding_box< double, V >::ysize().
double m_ymin [protected, inherited] | 
        
Definition at line 108 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_ymin(), bounding_box< double, V >::ymin(), and bounding_box< double, V >::ysize().
double m_zmax [protected, inherited] | 
        
Definition at line 109 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_zmax(), bounding_box< double, V >::zmax(), and bounding_box< double, V >::zsize().
double m_zmin [protected, inherited] | 
        
Definition at line 109 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_zmin(), bounding_box< double, V >::zmin(), and bounding_box< double, V >::zsize().
| Seq<cell3d *> n_neighbors | 
Definition at line 108 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().
| Seq<cell3d *> s_neighbors | 
Definition at line 104 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().
| Seq<cell3d *> w_neighbors | 
Definition at line 109 of file cell3d.hpp.
Referenced by cell3d< C, V >::neighbors().