1 #ifndef NODE_H_INCLUDED
2 #define NODE_H_INCLUDED
26 #include <boost/property_tree/ptree.hpp>
46 unsigned int GetIndex()
const {
return m_index; }
49 bool IsAtBoundary()
const {
return m_at_boundary; }
52 std::ostream& Print(std::ostream& os)
const;
55 virtual void ReadPtree(
const boost::property_tree::ptree& node_pt);
58 void SetAtBoundary(
bool b) { m_at_boundary = b; }
72 virtual boost::property_tree::ptree
ToPtree()
const;
76 operator std::array<double, 3>() {
return m_position; }
79 operator const std::array<double,3>()
const {
return m_position; }
82 Node& operator+=(
const std::array<double,3>& a)
89 Node& operator-=(
const std::array<double,3>& a)
96 std::array<double,3> operator+(
const Node& n)
const
98 return m_position + n.m_position;
102 std::array<double,3> operator-(
const Node& n)
const
104 return m_position - n.m_position;
108 double& operator[](
size_t i) {
return m_position[i]; }
111 double operator[](
size_t i)
const {
return m_position[i]; }
114 std::array<double, 3> m_position;
116 unsigned int m_index;
120 template<
typename T,
size_t N>
125 Node(
unsigned int index,
const std::array<double, 3>& src,
bool at_boundary);
130 std::ostream& operator<<(std::ostream& os,
const Node& n);
134 #endif //end_of_include_guard
Namespace for SimPT tissue editor package.
Interface for NodeAttributes.
Namespace for the core simulator.
virtual void ReadPtree(const boost::property_tree::ptree &node_pt)
Read the given ptree into the attributes.
virtual boost::property_tree::ptree ToPtree() const
Convert the node to a ptree.
Interface and implementation for SegmentedVector class.
Structure of cells; key data structure.
An editable mesh with actions to alter the construction of the mesh.
Attributes associated with a node.
Math constants and functions header combo.
Container that stores objects "almost contiguously" and guarantees that pointers/iterators are not in...