5 #include <morphio/properties.h> 6 #include <morphio/section.h> 7 #include <morphio/types.h> 9 #include <morphio/section_iterators.hpp> 19 class Section:
public std::enable_shared_from_this<Section>
27 inline uint32_t
id()
const noexcept;
39 inline std::vector<Point>&
points() noexcept;
40 inline const std::vector<Point>&
points()
const noexcept;
46 inline std::vector<morphio::floatType>&
diameters() noexcept;
47 inline const std::vector<morphio::floatType>&
diameters()
const noexcept;
53 inline std::vector<morphio::floatType>&
perimeters() noexcept;
54 inline const std::vector<morphio::floatType>&
perimeters()
const noexcept;
74 const std::shared_ptr<Section>&
parent()
const;
84 const std::vector<std::shared_ptr<Section>>&
children()
const;
95 std::shared_ptr<Section> appendSection(
const morphio::Section&,
bool recursive =
false);
97 std::shared_ptr<Section> appendSection(std::shared_ptr<Section> original_section,
98 bool recursive =
false);
100 std::shared_ptr<Section> appendSection(
104 friend class Morphology;
114 void throwIfNoOwningMorphology()
const;
119 Morphology* getOwningMorphologyOrThrow()
const;
121 Morphology* _morphology;
127 std::ostream& operator<<(std::ostream&, const std::shared_ptr<Section>&);
142 return _pointProperties._points;
146 return _pointProperties._points;
150 return _pointProperties._diameters;
154 return _pointProperties._diameters;
158 return _pointProperties._perimeters;
162 return _pointProperties._perimeters;
166 return _pointProperties;
170 return _pointProperties;
Definition: section_iterators.hpp:109
Definition: section_iterators.hpp:53
std::vector< Point > & points() noexcept
Definition: section.h:141
std::vector< morphio::floatType > & perimeters() noexcept
Definition: section.h:157
uint32_t id() const noexcept
Definition: section.h:129
std::vector< morphio::floatType > & diameters() noexcept
Definition: section.h:149
breadth_iterator_t< Section, Morphology > breadth_iterator
Definition: morphology.h:11
const std::vector< std::shared_ptr< Section > > & children() const
Definition: dendritic_spine.h:9
const std::shared_ptr< Section > & parent() const
Definition: section_iterators.hpp:81
SectionType & type() noexcept
Definition: section.h:133
Property::PointLevel & properties() noexcept
Definition: section.h:165
depth_iterator_t< Section, Morphology > depth_iterator
Definition: morphology.h:13
Definition: properties.h:55
SectionType
Definition: enums.h:61