VPTissue Reference Manual
|
A cell wall, runs between cell corner points and consists of wall elements. More...
#include <Wall.h>
Public Member Functions | |
Cell * | GetC1 () const |
Cell * | GetC2 () const |
std::vector< Edge > | GetEdges () const |
unsigned int | GetIndex () const |
std::array< double, 3 > | GetInfluxVector (Cell *c) const |
double | GetLength () const |
Returns (and calculates, if length marked as dirty) the length along all nodes. | |
Node * | GetN1 () const |
Node * | GetN2 () const |
std::array< double, 3 > | GetWallVector (Cell *c) const |
bool | IncludesEdge (const Edge &edge) const |
Checks whether edge is part of this wall. More... | |
bool | IncludesNode (const Node *node) const |
Checks whether edge is part of this wall. More... | |
bool | IsAtBoundary () const |
Checks whether a wall is at the boundary of the mesh. More... | |
bool | IsIntersectingWithDivisionPlane (const std::array< double, 3 > &p1, const std::array< double, 3 > &p2) const |
bool | IsSam () const |
True if the Wall adheres to the SAM (shoot apical meristem) | |
std::ostream & | Print (std::ostream &os) const |
virtual void | ReadPtree (boost::property_tree::ptree const &wall_pt) |
void | SetC1 (Cell *c) |
void | SetC2 (Cell *c) |
void | SetLengthDirty () const |
Sets the 'dirty bit' i.e. length will recalculated on first use. | |
void | SetN1 (Node *n) |
void | SetN2 (Node *n) |
virtual boost::property_tree::ptree | ToPtree () const |
Convert the wall to a ptree. More... | |
Public Member Functions inherited from SimPT_Sim::WallAttributes | |
WallAttributes (unsigned int num_chem) | |
WallAttributes (double rest_length, double rest_length_init, double strength, const std::vector< double > &transporters1, const std::vector< double > &transporters2, WallType::Type wall_type) | |
void | CycleWallType () |
double | GetRestLength () const |
double | GetRestLengthInit () const |
double | GetStrength () const |
std::vector< double > | GetTransporters1 () const |
double | GetTransporters1 (unsigned int ch) const |
std::vector< double > | GetTransporters2 () const |
double | GetTransporters2 (unsigned int ch) const |
WallType::Type | GetType () const |
bool | IsAuxinSink () const |
bool | IsAuxinSource () const |
void | SetRestLength (double l) |
void | SetRestLengthInit (double l) |
void | SetStrength (double strength) |
void | SetTransporters1 (unsigned int ch, double val) |
void | SetTransporters1 (const std::vector< double > &transporter) |
void | SetTransporters2 (unsigned int ch, double val) |
void | SetTransporters2 (const std::vector< double > &transporter) |
void | SetType (WallType::Type type) |
void | Swap (WallAttributes &src) |
Friends | |
class | Mesh |
class | SimPT_Editor::EditableMesh |
template<typename T , size_t N> | |
class | SimPT_Sim::Container::SegmentedVector |
Additional Inherited Members | |
Protected Attributes inherited from SimPT_Sim::WallAttributes | |
double | m_rest_length |
double | m_rest_length_init |
double | m_strength |
std::vector< double > | m_transporters1 |
std::vector< double > | m_transporters2 |
WallType::Type | m_wall_type |
A cell wall, runs between cell corner points and consists of wall elements.
The end points (m_n1, m_n2) of the wall are ordered by their order in the first cell and indicate begin and end point (i.e. are both are included in the wall) If the wall is the boundary wall, then m_c2 (never m_c1) should be the boundary polygon.
bool SimPT_Sim::Wall::IncludesEdge | ( | const Edge & | edge | ) | const |
Checks whether edge is part of this wall.
edge | the edge. |
Definition at line 130 of file Wall.cpp.
References SimPT_Sim::Cell::GetNodes(), SimPT_Sim::Container::make_const_circular(), and SimPT_Sim::Container::next().
bool SimPT_Sim::Wall::IncludesNode | ( | const Node * | node | ) | const |
Checks whether edge is part of this wall.
edge | the edge. |
Definition at line 146 of file Wall.cpp.
References SimPT_Sim::Cell::GetNodes(), and SimPT_Sim::Container::make_const_circular().
bool SimPT_Sim::Wall::IsAtBoundary | ( | ) | const |
Checks whether a wall is at the boundary of the mesh.
The cells are used as a reference, so CorrectWall is recommended when necessary.
Definition at line 120 of file Wall.cpp.
References SimPT_Sim::Cell::GetIndex().
|
virtual |
Convert the wall to a ptree.
The format of a wall ptree is as follows:
<id>[the index of the wall]</id> <c1>[the index of the first neighbor cell]</c1> <c2>[the index of the second neighbor cell]</c2> <n1>[the index of the first endpoint]</n1> <n2>[the index of the second endpoint]</n2> <length>[the length of the wall]</length> <attributes> WallAttributes::ToPtree() </attributes>
Reimplemented from SimPT_Sim::WallAttributes.
Definition at line 192 of file Wall.cpp.
References SimPT_Sim::Cell::GetIndex(), GetLength(), and SimPT_Sim::WallAttributes::ToPtree().