mmcfilters
Public API documentation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
mmcfilters::NativeHierarchyOwned< T > Struct Template Reference

Owning, move-only native hierarchy returned by builders and consumed by materialization. More...

#include <NativeHierarchyOwned.hpp>

Collaboration diagram for mmcfilters::NativeHierarchyOwned< T >:
Collaboration graph
[legend]

Public Member Functions

 NativeHierarchyOwned (std::vector< NodeId > &&parent, std::vector< NodeId > &&smallestNodeMap, std::vector< T > &&nodeAltitudes, NodeId root, std::optional< GridDomain2D > gridDomain2D, MorphologicalTreeSemantics semantics)
 Takes ownership of native hierarchy buffers without structural validation.
 
 NativeHierarchyOwned (const NativeHierarchyOwned &)=delete
 Disables copy construction.
 
NativeHierarchyOwned & operator= (const NativeHierarchyOwned &)=delete
 Disables copy assignment.
 
 NativeHierarchyOwned (NativeHierarchyOwned &&) noexcept=default
 Transfers ownership of the native hierarchy.
 
NativeHierarchyOwned & operator= (NativeHierarchyOwned &&) noexcept=default
 Assigns the supplied object state.
 

Public Attributes

std::vector< NodeId > parent
 Parent identifier indexed by internal node.
 
std::vector< NodeId > smallestNodeMap
 Smallest node identifier indexed by pixel.
 
std::vector< T > nodeAltitudes
 Altitude indexed by internal node.
 
NodeId root
 Identifier of the self-parented root.
 
std::optional< GridDomain2D > gridDomain2D
 Optional two-dimensional pixel domain.
 
MorphologicalTreeSemantics semantics
 Semantic metadata, including owned construction adjacencies.
 

Detailed Description

template<class T>
struct mmcfilters::NativeHierarchyOwned< T >

Owning, move-only native hierarchy returned by builders and consumed by materialization.

Builders move their existing buffers into this representation. Higra import conversion also produces this representation after validation. Materialization transfers the buffers into the valued-tree owner without another copy. The constructor transfers ownership without structural validation; callers remain responsible for providing valid hierarchy data. This representation also supports producer scalar types outside AltitudeValue; these results cannot be materialized as valued trees without an explicit conversion.

Template Parameters
TScalar type stored by the producer; valued-tree materialization requires AltitudeValue.

Definition at line 26 of file NativeHierarchyOwned.hpp.

Constructor & Destructor Documentation

◆ NativeHierarchyOwned()

template<class T >
mmcfilters::NativeHierarchyOwned< T >::NativeHierarchyOwned ( std::vector< NodeId > &&  parent,
std::vector< NodeId > &&  smallestNodeMap,
std::vector< T > &&  nodeAltitudes,
NodeId  root,
std::optional< GridDomain2D >  gridDomain2D,
MorphologicalTreeSemantics  semantics 
)
inline

Takes ownership of native hierarchy buffers without structural validation.

Parameters
parentParent identifier indexed by internal node.
smallestNodeMapSmallest node identifier indexed by pixel.
nodeAltitudesAltitude indexed by internal node.
rootIdentifier of the root.
gridDomain2DOptional two-dimensional pixel domain.
semanticsSemantic metadata to transfer with the buffers.

Definition at line 50 of file NativeHierarchyOwned.hpp.

Member Function Documentation

◆ operator=()

template<class T >
NativeHierarchyOwned & mmcfilters::NativeHierarchyOwned< T >::operator= ( NativeHierarchyOwned< T > &&  )
defaultnoexcept

Assigns the supplied object state.

Returns
Reference to the assigned object.

Member Data Documentation

◆ gridDomain2D

template<class T >
std::optional<GridDomain2D> mmcfilters::NativeHierarchyOwned< T >::gridDomain2D

Optional two-dimensional pixel domain.

Definition at line 36 of file NativeHierarchyOwned.hpp.

◆ nodeAltitudes

template<class T >
std::vector<T> mmcfilters::NativeHierarchyOwned< T >::nodeAltitudes

Altitude indexed by internal node.

Definition at line 32 of file NativeHierarchyOwned.hpp.

◆ parent

template<class T >
std::vector<NodeId> mmcfilters::NativeHierarchyOwned< T >::parent

Parent identifier indexed by internal node.

Definition at line 28 of file NativeHierarchyOwned.hpp.

◆ root

Identifier of the self-parented root.

Definition at line 34 of file NativeHierarchyOwned.hpp.

◆ semantics

Semantic metadata, including owned construction adjacencies.

Definition at line 38 of file NativeHierarchyOwned.hpp.

◆ smallestNodeMap

template<class T >
std::vector<NodeId> mmcfilters::NativeHierarchyOwned< T >::smallestNodeMap

Smallest node identifier indexed by pixel.

Definition at line 30 of file NativeHierarchyOwned.hpp.


The documentation for this struct was generated from the following files: