5 #include <morphio/properties.h>
6 #include <morphio/section.h>
7 #include <morphio/types.h>
9 #include <morphio/section_iterators.hpp>
18 class Section:
public std::enable_shared_from_this<Section>
26 inline uint32_t
id()
const noexcept;
31 inline SectionType&
type() noexcept;
32 inline const SectionType&
type()
const noexcept;
38 inline std::vector<Point>&
points() noexcept;
39 inline const std::vector<Point>&
points()
const noexcept;
45 inline std::vector<morphio::floatType>&
diameters() noexcept;
46 inline const std::vector<morphio::floatType>&
diameters()
const noexcept;
52 inline std::vector<morphio::floatType>&
perimeters() noexcept;
53 inline const std::vector<morphio::floatType>&
perimeters()
const noexcept;
73 const std::shared_ptr<Section>&
parent()
const;
83 const std::vector<std::shared_ptr<Section>>&
children()
const;
94 std::shared_ptr<Section> appendSection(
const morphio::Section&,
bool recursive =
false);
96 std::shared_ptr<Section> appendSection(std::shared_ptr<Section> original_section,
97 bool recursive =
false);
99 std::shared_ptr<Section> appendSection(
113 void throwIfNoOwningMorphology()
const;
118 Morphology* getOwningMorphologyOrThrow()
const;
123 SectionType _sectionType;
126 std::ostream& operator<<(std::ostream&,
const std::shared_ptr<Section>&);
141 return _pointProperties._points;
145 return _pointProperties._points;
149 return _pointProperties._diameters;
153 return _pointProperties._diameters;
157 return _pointProperties._perimeters;
161 return _pointProperties._perimeters;
165 return _pointProperties;
169 return _pointProperties;
Definition: section_iterators.hpp:54
Definition: section_iterators.hpp:82
Definition: morphology.h:27
const std::vector< std::shared_ptr< Section > > & children() const
std::vector< morphio::floatType > & perimeters() noexcept
Definition: section.h:156
SectionType & type() noexcept
Definition: section.h:132
Property::PointLevel & properties() noexcept
Definition: section.h:164
uint32_t id() const noexcept
Definition: section.h:128
std::vector< Point > & points() noexcept
Definition: section.h:140
std::vector< morphio::floatType > & diameters() noexcept
Definition: section.h:148
const std::shared_ptr< Section > & parent() const
Definition: section_iterators.hpp:110
Definition: endoplasmic_reticulum.h:5
upstream_iterator_t< Section > upstream_iterator
Definition: section.h:32
Definition: properties.h:66