CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
Loading...
Searching...
No Matches
comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > Class Template Referenceabstract

Pure abstract class for a creator of Neighbourhood objects. It can create from scratch or by copy. More...

#include <Neighbourhood.h>

Inheritance diagram for comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >:
comma::NeighbourhoodExtendedCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > comma::NeighbourhoodPureFrontCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >

Public Types

using NeighbourhoodBaseType = Neighbourhood< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >
 Shortcut for the Neighborhood object type. More...
 

Public Member Functions

 NeighbourhoodCreator ()=default
 Constructor. More...
 
virtual ~NeighbourhoodCreator ()=default
 Destructor. More...
 
virtual std::shared_ptr< NeighbourhoodBaseTypecreate (const std::unordered_set< CoMMAIndexType > &s_neighbours_of_seed, const std::vector< CoMMAWeightType > &priority_weights, const CoMMAIntType dimension) const =0
 Create a new Neighbourhood object from scratch using the given arguments. More...
 
virtual std::shared_ptr< NeighbourhoodBaseTypeclone (std::shared_ptr< NeighbourhoodBaseType > other) const =0
 Create a new Neighbourhood object by copy. More...
 

Detailed Description

template<typename CoMMAIndexType, typename CoMMAWeightType, typename CoMMAIntType>
class comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >

Pure abstract class for a creator of Neighbourhood objects. It can create from scratch or by copy.

Template Parameters
CoMMAIndexTypethe CoMMA index type for the global index of the mesh
CoMMAWeightTypethe CoMMA weight type for the weights (volume or area) of the nodes or edges of the Mesh
CoMMAIntTypethe CoMMA type for integers

Member Typedef Documentation

◆ NeighbourhoodBaseType

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
using comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::NeighbourhoodBaseType = Neighbourhood<CoMMAIndexType, CoMMAWeightType, CoMMAIntType>

Shortcut for the Neighborhood object type.

Constructor & Destructor Documentation

◆ NeighbourhoodCreator()

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::NeighbourhoodCreator ( )
default

Constructor.

◆ ~NeighbourhoodCreator()

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
virtual comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::~NeighbourhoodCreator ( )
virtualdefault

Destructor.

Member Function Documentation

◆ clone()

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
virtual std::shared_ptr< NeighbourhoodBaseType > comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::clone ( std::shared_ptr< NeighbourhoodBaseType other) const
pure virtual

Create a new Neighbourhood object by copy.

Parameters
[in]otherShared pointer to an existing Neighbourhood object
Returns
a shared pointer to a new Neighborhood object

Implemented in comma::NeighbourhoodExtendedCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >, and comma::NeighbourhoodPureFrontCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.

◆ create()

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
virtual std::shared_ptr< NeighbourhoodBaseType > comma::NeighbourhoodCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::create ( const std::unordered_set< CoMMAIndexType > &  s_neighbours_of_seed,
const std::vector< CoMMAWeightType > &  priority_weights,
const CoMMAIntType  dimension 
) const
pure virtual

Create a new Neighbourhood object from scratch using the given arguments.

Parameters
[in]s_neighbours_of_seedSet of the neighbours of the given cell chosen as seed
[in]priority_weightsWeights used to set up the order of the neighbours to visit
[in]dimensionDimension of the problem
Returns
a shared pointer to a new Neighborhood object

Implemented in comma::NeighbourhoodExtendedCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >, and comma::NeighbourhoodPureFrontCreator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.


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