VPTissue Reference Manual
SimPT_Sim::Wall Class Reference

A cell wall, runs between cell corner points and consists of wall elements. More...

#include <Wall.h>

Inheritance diagram for SimPT_Sim::Wall:
Inheritance graph
Collaboration diagram for SimPT_Sim::Wall:
Collaboration graph

Public Member Functions

CellGetC1 () const
 
CellGetC2 () const
 
std::vector< EdgeGetEdges () 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.
 
NodeGetN1 () const
 
NodeGetN2 () 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
 

Detailed Description

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.

Definition at line 48 of file Wall.h.

Member Function Documentation

bool SimPT_Sim::Wall::IncludesEdge ( const Edge edge) const

Checks whether edge is part of this wall.

Parameters
edgethe edge.
Returns
true iff the wall includes 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().

Here is the call graph for this function:

bool SimPT_Sim::Wall::IncludesNode ( const Node node) const

Checks whether edge is part of this wall.

Parameters
edgethe edge.
Returns
true iff the wall includes the edge.

Definition at line 146 of file Wall.cpp.

References SimPT_Sim::Cell::GetNodes(), and SimPT_Sim::Container::make_const_circular().

Here is the call graph for this function:

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.

Returns
True if the wall is at the boundary of the cell complex.

Definition at line 120 of file Wall.cpp.

References SimPT_Sim::Cell::GetIndex().

Here is the call graph for this function:

ptree SimPT_Sim::Wall::ToPtree ( ) const
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().

Here is the call graph for this function:


The documentation for this class was generated from the following files: