Public Member Functions | Protected Member Functions | Friends
morphio::Section Class Reference

#include <section.h>

Inheritance diagram for morphio::Section:
morphio::SectionBase< Section >

Public Member Functions

depth_iterator depth_begin () const
 
depth_iterator depth_end () const
 
breadth_iterator breadth_begin () const
 
breadth_iterator breadth_end () const
 
upstream_iterator upstream_begin () const
 
upstream_iterator upstream_end () const
 
range< const Pointpoints () const
 
range< const floatTypediameters () const
 
range< const floatTypeperimeters () const
 
SectionType type () const
 
- Public Member Functions inherited from morphio::SectionBase< Section >
 SectionBase (const SectionBase &section)
 
SectionBaseoperator= (const SectionBase &other)
 
bool operator== (const SectionBase &other) const noexcept
 
bool operator!= (const SectionBase &other) const noexcept
 
bool isRoot () const
 
Section parent () const
 
std::vector< Sectionchildren () const
 
uint32_t id () const noexcept
 

Protected Member Functions

 Section (uint32_t id_, const std::shared_ptr< Property::Properties > &properties)
 
- Protected Member Functions inherited from morphio::SectionBase< Section >
 SectionBase (uint32_t id, const std::shared_ptr< Property::Properties > &properties)
 
range< const typename Property::Type > get () const
 

Friends

class mut::Section
 
class SectionBase< Section >
 
Section Morphology::section (uint32_t) const
 

Additional Inherited Members

- Protected Attributes inherited from morphio::SectionBase< Section >
uint32_t _id
 
SectionRange _range
 
std::shared_ptr< Property::Properties_properties
 

Detailed Description

A class to represent a morphological section.

A Section is an unbranched piece of a morphological skeleton. This class provides functions to query information about the sample points that compose the section and functions to obtain the parent and children sections.

The cell soma is also considered a section, but some functions have special meaning for it.

Sections cannot be directly created, but are returned by several morphio::Morphology and morphio::Section methods.

This is a lightweight object with STL container style thread safety. It is also safe to use a section after the morphology from where it comes has been deallocated. The morphological data will be kept as long as there is a Section referring to it.

Member Function Documentation

◆ breadth_begin()

breadth_iterator morphio::Section::breadth_begin ( ) const

Breadth first search iterator

◆ depth_begin()

depth_iterator morphio::Section::depth_begin ( ) const

Depth first search iterator

◆ diameters()

range<const floatType> morphio::Section::diameters ( ) const

◆ perimeters()

range<const floatType> morphio::Section::perimeters ( ) const

◆ points()

range<const Point> morphio::Section::points ( ) const

◆ type()

SectionType morphio::Section::type ( ) const

Return the morphological type of this section (dendrite, axon, ...)

◆ upstream_begin()

upstream_iterator morphio::Section::upstream_begin ( ) const

Upstream first search iterator