4 #include <morphio/types.h>
9 namespace vasculature {
15 using Type =
unsigned int;
19 using Type = morphio::Point;
23 using Type = morphio::VascularSectionType;
27 using Type = floatType;
34 using Type = std::array<unsigned int, 2>;
39 std::vector<Point::Type> _points;
40 std::vector<Diameter::Type> _diameters;
44 const std::vector<Diameter::Type>& diameters);
52 std::vector<morphio::floatType> leakiness;
57 std::vector<VascSection::Type> _sections;
58 std::vector<SectionType::Type> _sectionTypes;
59 std::map<uint32_t, std::vector<uint32_t>> _predecessors;
60 std::map<uint32_t, std::vector<uint32_t>> _successors;
69 std::vector<Connection::Type> _connectivity;
72 std::vector<typename T::Type>& get_mut() noexcept;
75 const std::vector<typename T::Type>& get()
const noexcept;
77 inline const std::map<uint32_t, std::vector<uint32_t>>& predecessors()
const noexcept;
78 inline const std::map<uint32_t, std::vector<uint32_t>>& successors()
const noexcept;
80 bool operator==(
const Properties& other)
const;
81 bool operator!=(
const Properties& other)
const;
84 inline const std::map<uint32_t, std::vector<uint32_t>>& Properties::predecessors() const noexcept {
85 return _sectionLevel._predecessors;
87 inline const std::map<uint32_t, std::vector<uint32_t>>& Properties::successors() const noexcept {
88 return _sectionLevel._successors;
91 std::ostream& operator<<(std::ostream& os,
const Properties& properties);
92 std::ostream& operator<<(std::ostream& os,
const VascPointLevel& pointLevel);
94 #define INSTANTIATE_TEMPLATE_GET(T, M) \
96 inline std::vector<T::Type>& Properties::get_mut<T>() noexcept { \
100 inline const std::vector<T::Type>& Properties::get<T>() const noexcept { \
104 INSTANTIATE_TEMPLATE_GET(VascSection, _sectionLevel._sections)
105 INSTANTIATE_TEMPLATE_GET(Point, _pointLevel._points)
106 INSTANTIATE_TEMPLATE_GET(Connection, _connectivity)
107 INSTANTIATE_TEMPLATE_GET(SectionType, _sectionLevel._sectionTypes)
108 INSTANTIATE_TEMPLATE_GET(Diameter, _pointLevel._diameters)
110 #undef INSTANTIATE_TEMPLATE_GET
Definition: endoplasmic_reticulum.h:5
Definition: properties.h:30
Definition: properties.h:26
Definition: properties.h:18
Definition: properties.h:65
Definition: properties.h:22
Definition: properties.h:50
Definition: properties.h:37
Definition: properties.h:12
Definition: properties.h:55