4 #include <morphio/types.h> 9 namespace vasculature {
15 using Type =
unsigned int;
35 using Type = std::array<unsigned int, 2>;
40 std::vector<Point::Type> _points;
41 std::vector<Diameter::Type> _diameters;
45 const std::vector<Diameter::Type>& diameters);
53 std::vector<morphio::floatType> leakiness;
58 std::vector<VascSection::Type> _sections;
59 std::vector<SectionType::Type> _sectionTypes;
60 std::map<uint32_t, std::vector<uint32_t>> _predecessors;
61 std::map<uint32_t, std::vector<uint32_t>> _successors;
71 std::vector<Connection::Type> _connectivity;
74 std::vector<typename T::Type>& get_mut() noexcept;
77 const std::vector<typename T::Type>&
get()
const noexcept;
79 inline const std::map<uint32_t, std::vector<uint32_t>>& predecessors()
const noexcept;
80 inline const std::map<uint32_t, std::vector<uint32_t>>& successors()
const noexcept;
82 bool operator==(
const Properties& other)
const;
83 bool operator!=(
const Properties& other)
const;
86 inline const std::map<uint32_t, std::vector<uint32_t>>& Properties::predecessors()
const noexcept {
87 return _sectionLevel._predecessors;
89 inline const std::map<uint32_t, std::vector<uint32_t>>& Properties::successors()
const noexcept {
90 return _sectionLevel._successors;
93 std::ostream& operator<<(std::ostream& os,
const Properties& properties);
94 std::ostream& operator<<(std::ostream& os,
const VascPointLevel& pointLevel);
96 #define INSTANTIATE_TEMPLATE_GET(T, M) \ 98 inline std::vector<T::Type>& Properties::get_mut<T>() noexcept { \ 102 inline const std::vector<T::Type>& Properties::get<T>() const noexcept { \ 106 INSTANTIATE_TEMPLATE_GET(
VascSection, _sectionLevel._sections)
107 INSTANTIATE_TEMPLATE_GET(
Point, _pointLevel._points)
108 INSTANTIATE_TEMPLATE_GET(
Connection, _connectivity)
109 INSTANTIATE_TEMPLATE_GET(
SectionType, _sectionLevel._sectionTypes)
110 INSTANTIATE_TEMPLATE_GET(
Diameter, _pointLevel._diameters)
112 #undef INSTANTIATE_TEMPLATE_GET Definition: properties.h:12
Definition: properties.h:34
Definition: properties.h:18
std::array< morphio::floatType, 3 > Point
Definition: vector_types.h:24
Definition: properties.h:26
Definition: dendritic_spine.h:9
Definition: properties.h:67
Definition: properties.h:57
Definition: properties.h:39
Definition: properties.h:22
Definition: properties.h:52
float floatType
Definition: vector_types.h:17
VascularSectionType
Definition: enums.h:98