MorphologicalAttributeFilters
Public API documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
mmcfilters::adjust::DynamicAreaAttributeComputer< T > Class Template Reference

Incremental area attribute. More...

#include <DynamicTreeAttributeComputer.hpp>

Inheritance diagram for mmcfilters::adjust::DynamicAreaAttributeComputer< T >:
Inheritance graph
[legend]
Collaboration diagram for mmcfilters::adjust::DynamicAreaAttributeComputer< T >:
Collaboration graph
[legend]

Public Types

using buffer_type = typename base_t::buffer_type
 Dense per-node area buffer inherited from the dynamic attribute protocol.
 
- Public Types inherited from mmcfilters::adjust::DynamicTreeAttributeComputer< T >
using buffer_type = std::vector< double >
 Dense per-node attribute buffer used by dynamic adjustment computers.
 

Public Member Functions

void preProcessing (NodeId nodeId, const WeightedMorphologicalTree< T > &tree, buffer_type &buffer) const override
 Initializes one node area from its direct proper-part count.
 
void mergeProcessing (NodeId parentId, NodeId childId, const WeightedMorphologicalTree< T > &, buffer_type &buffer) const override
 Adds an already-current child area to its parent.
 
void postProcessing (NodeId, const WeightedMorphologicalTree< T > &, buffer_type &) const override
 Area has no finalization step beyond child accumulation.
 
- Public Member Functions inherited from mmcfilters::adjust::DynamicTreeAttributeComputer< T >
virtual ~DynamicTreeAttributeComputer ()=default
 Destroys a dynamic attribute computer through the protocol base.
 
virtual void resize (const WeightedMorphologicalTree< T > &tree, buffer_type &buffer) const
 Resizes an attribute buffer to the full internal node-id space.
 
virtual void onMoveProperParts (NodeId, NodeId, const WeightedMorphologicalTree< T > &) const
 Incremental hook called after all direct proper parts move from one node to another.
 
virtual void onMoveProperPart (NodeId, NodeId, NodeId, const WeightedMorphologicalTree< T > &) const
 Incremental hook called after one proper part moves between nodes.
 
virtual void onNodeRemoved (NodeId, const WeightedMorphologicalTree< T > &) const
 Incremental hook called when one node slot is released from the live tree.
 
void computeAttribute (const WeightedMorphologicalTree< T > &tree, buffer_type &buffer) const
 Computes the attribute for the full current tree in post-order.
 
void computeAttributeOnNode (const WeightedMorphologicalTree< T > &tree, NodeId nodeId, buffer_type &buffer) const
 Recomputes one node assuming all direct children are already up to date.
 

Detailed Description

template<AltitudeValue T>
class mmcfilters::adjust::DynamicAreaAttributeComputer< T >

Incremental area attribute.

Area is increasing and is defined as the number of proper parts in the full support of a node. The local contribution is the number of direct proper parts; child values are then accumulated bottom-up. The single-node refresh contract is straightforward: once child areas are current, recomputing a parent requires only its direct proper-part count and the cached values of its direct children.

Definition at line 184 of file DynamicTreeAttributeComputer.hpp.

Member Typedef Documentation

◆ buffer_type

Dense per-node area buffer inherited from the dynamic attribute protocol.

Definition at line 190 of file DynamicTreeAttributeComputer.hpp.

Member Function Documentation

◆ mergeProcessing()

template<AltitudeValue T>
void mmcfilters::adjust::DynamicAreaAttributeComputer< T >::mergeProcessing ( NodeId  parentId,
NodeId  childId,
const WeightedMorphologicalTree< T > &  ,
buffer_type buffer 
) const
inlineoverridevirtual

Adds an already-current child area to its parent.

Implements mmcfilters::adjust::DynamicTreeAttributeComputer< T >.

Definition at line 203 of file DynamicTreeAttributeComputer.hpp.

◆ postProcessing()

template<AltitudeValue T>
void mmcfilters::adjust::DynamicAreaAttributeComputer< T >::postProcessing ( NodeId  ,
const WeightedMorphologicalTree< T > &  ,
buffer_type  
) const
inlineoverridevirtual

Area has no finalization step beyond child accumulation.

Implements mmcfilters::adjust::DynamicTreeAttributeComputer< T >.

Definition at line 210 of file DynamicTreeAttributeComputer.hpp.

◆ preProcessing()

template<AltitudeValue T>
void mmcfilters::adjust::DynamicAreaAttributeComputer< T >::preProcessing ( NodeId  nodeId,
const WeightedMorphologicalTree< T > &  tree,
buffer_type buffer 
) const
inlineoverridevirtual

Initializes one node area from its direct proper-part count.

Implements mmcfilters::adjust::DynamicTreeAttributeComputer< T >.

Definition at line 196 of file DynamicTreeAttributeComputer.hpp.


The documentation for this class was generated from the following file: