vvcomplex::DivisionData< JunctionContent > Class Template Reference

Class holding the data needed to actually divide a cell. More...

#include <algorithms/complex.h>

List of all members.

Public Types

typedef graph::Vertex
< JunctionContent > 
junction
 Type of graph vertex.

Public Member Functions

 DivisionData (const DivisionData &copy)
 Copy constructor.
 DivisionData (Point3d _pu, Point3d _pv, const junction &_u1, const junction &_v1, bool _du1=false, bool _dv1=false)
 Complete constructor.
 DivisionData ()
 Default constructor do not require pinching.
 operator bool ()
 Convert the result to true if everything is ok.
bool operator! () const
 Convert the result to false if everything is ok.

Public Attributes

bool divide_at_u1
 If true, pu is ignored and the division wall goes through u1.
bool divide_at_v1
 If true, pv is ignored and the division wall goes through v1.
Point3d pu
 Position of the junction inserted in the U wall.
Point3d pv
 Position of the junction inserted in the V wall.
junction u1
 First junction of the 'U' wall, u2 is the vertex after u1 in the neighborhood of c.
junction v1
 First junction of the 'V' wall, v2 is the vertex after v1 in the neighborhood of c.

Detailed Description

template<typename JunctionContent>
class vvcomplex::DivisionData< JunctionContent >

Class holding the data needed to actually divide a cell.

This is the return type of the different division algorithm. It provides all the informations needed to modify the graphs to account for the cell division.

The division will cut the walls (u1,u2) and (v1,v2) and will place the new vertexes at positions pu on the (u1,u2) wall and pv on the (v1,v2) wall.

Definition at line 746 of file complex.h.


Member Typedef Documentation

template<typename JunctionContent>
typedef graph::Vertex<JunctionContent> vvcomplex::DivisionData< JunctionContent >::junction

Type of graph vertex.

Definition at line 751 of file complex.h.


Constructor & Destructor Documentation

template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::DivisionData (  )  [inline]

Default constructor do not require pinching.

Definition at line 756 of file complex.h.

00757       : u1(0)
00758       , v1(0)
00759       , divide_at_u1(false)
00760       , divide_at_v1(false)
00761     { }

template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::DivisionData ( Point3d  _pu,
Point3d  _pv,
const junction _u1,
const junction _v1,
bool  _du1 = false,
bool  _dv1 = false 
) [inline]

Complete constructor.

Definition at line 766 of file complex.h.

00771       : pu(_pu)
00772       , pv(_pv)
00773       , u1(_u1)
00774       , v1(_v1)
00775       , divide_at_u1(_du1)
00776       , divide_at_v1(_dv1)
00777     { }

template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::DivisionData ( const DivisionData< JunctionContent > &  copy  )  [inline]

Copy constructor.

Definition at line 782 of file complex.h.

00783       : pu(copy.pu)
00784       , pv(copy.pv)
00785       , u1(copy.u1)
00786       , v1(copy.v1)
00787       , divide_at_u1(copy.divide_at_u1)
00788       , divide_at_v1(copy.divide_at_v1)
00789     { }


Member Function Documentation

template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::operator bool (  )  [inline]

Convert the result to true if everything is ok.

If the algorithm fails for any reason, the returned structure should have u1 or v1 set to null vertexes. That way, the boolean operator will convert it to false.

Definition at line 798 of file complex.h.

References vvcomplex::DivisionData< JunctionContent >::u1, and vvcomplex::DivisionData< JunctionContent >::v1.

00799     {
00800       return u1 and v1;
00801     }

template<typename JunctionContent>
bool vvcomplex::DivisionData< JunctionContent >::operator! (  )  const [inline]

Convert the result to false if everything is ok.

Definition at line 806 of file complex.h.

References vvcomplex::DivisionData< JunctionContent >::u1, and vvcomplex::DivisionData< JunctionContent >::v1.

00807     {
00808       return !u1 or !v1;
00809     }


Member Data Documentation

template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::divide_at_u1
template<typename JunctionContent>
vvcomplex::DivisionData< JunctionContent >::divide_at_v1
template<typename JunctionContent>
Point3d vvcomplex::DivisionData< JunctionContent >::pu
template<typename JunctionContent>
Point3d vvcomplex::DivisionData< JunctionContent >::pv
template<typename JunctionContent>
vertex vvcomplex::DivisionData< JunctionContent >::u1
template<typename JunctionContent>
vertex vvcomplex::DivisionData< JunctionContent >::v1

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Fri May 31 15:38:38 2013 for VVE by  doxygen 1.6.3