Class holding the data needed to actually divide a cell. More...
#include <algorithms/complex.h>
Public Types | |
typedef graph::Vertex < JunctionContent > | junction |
Type of graph vertex. | |
Public Member Functions | |
DivisionData (const DivisionData ©) | |
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. |
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.
typedef graph::Vertex<JunctionContent> vvcomplex::DivisionData< JunctionContent >::junction |
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 { }
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 { }
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 { }
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.
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.
vvcomplex::DivisionData< JunctionContent >::divide_at_u1 |
If true, pu is ignored and the division wall goes through u1
.
Definition at line 839 of file complex.h.
Referenced by vvcomplex::VVComplex< MANDATORY_COMPLEX_TEMPLATE_ARGS, RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >)>::divideCell(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::divideCell(), and vvcomplex::testDivisionOnVertices().
vvcomplex::DivisionData< JunctionContent >::divide_at_v1 |
If true, pv is ignored and the division wall goes through v1
.
Definition at line 839 of file complex.h.
Referenced by vvcomplex::VVComplex< MANDATORY_COMPLEX_TEMPLATE_ARGS, RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >)>::divideCell(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::divideCell(), and vvcomplex::testDivisionOnVertices().
Point3d vvcomplex::DivisionData< JunctionContent >::pu |
Position of the junction inserted in the U wall.
Definition at line 837 of file complex.h.
Referenced by tissue::cellPinching(), vvcomplex::VVComplex< MANDATORY_COMPLEX_TEMPLATE_ARGS, RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >)>::divideCell(), tissue::findDivisionPoints(), cell_system::findDivisionPoints(), vvcomplex::FindOppositeWall(), vvcomplex::testDivisionOnVertices(), and cell_system::volumeLeftCell().
Point3d vvcomplex::DivisionData< JunctionContent >::pv |
Position of the junction inserted in the V wall.
Definition at line 837 of file complex.h.
Referenced by tissue::cellPinching(), vvcomplex::VVComplex< MANDATORY_COMPLEX_TEMPLATE_ARGS, RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >)>::divideCell(), tissue::findDivisionPoints(), cell_system::findDivisionPoints(), vvcomplex::FindOppositeWall(), vvcomplex::testDivisionOnVertices(), and cell_system::volumeLeftCell().
vertex vvcomplex::DivisionData< JunctionContent >::u1 |
First junction of the 'U' wall, u2 is the vertex after u1 in the neighborhood of c.
Definition at line 838 of file complex.h.
Referenced by tissue::cellPinching(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::divideCell(), tissue::findDivisionPoints(), cell_system::findDivisionPoints(), vvcomplex::FindOppositeWall(), vvcomplex::DivisionData< JunctionContent >::operator bool(), vvcomplex::DivisionData< JunctionContent >::operator!(), vvcomplex::testDivisionOnVertices(), and cell_system::volumeLeftCell().
vertex vvcomplex::DivisionData< JunctionContent >::v1 |
First junction of the 'V' wall, v2 is the vertex after v1 in the neighborhood of c.
Definition at line 838 of file complex.h.
Referenced by tissue::cellPinching(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::divideCell(), tissue::findDivisionPoints(), cell_system::findDivisionPoints(), vvcomplex::FindOppositeWall(), vvcomplex::DivisionData< JunctionContent >::operator bool(), vvcomplex::DivisionData< JunctionContent >::operator!(), vvcomplex::testDivisionOnVertices(), and cell_system::volumeLeftCell().