MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::filtering::JunctorInterface< dim, inputc, outputc > Class Template Reference

#include <JunctorInterface.h>

Inheritance diagram for coupling::filtering::JunctorInterface< dim, inputc, outputc >:
Collaboration diagram for coupling::filtering::JunctorInterface< dim, inputc, outputc >:

Public Member Functions

 JunctorInterface (const std::array< std::vector< coupling::datastructures::CouplingCell< dim > * >, inputc > inputCellVectors, const std::array< std::vector< coupling::datastructures::CouplingCell< dim > * >, outputc > outputCellVectors, const std::array< bool, 7 > filteredValues, const char *type)
 
void updateCellData (std::vector< coupling::datastructures::CouplingCell< dim > * > new_inputCellVectors[inputc], std::vector< coupling::datastructures::CouplingCell< dim > * > new_outputCellVectors[outputc], std::vector< tarch::la::Vector< dim, unsigned int > > &new_cellIndices)
 
- Public Member Functions inherited from coupling::filtering::FilterInterface< dim >
 FilterInterface (const std::vector< coupling::datastructures::CouplingCell< dim > * > &inputCellVector, const std::vector< coupling::datastructures::CouplingCell< dim > * > &outputCellVector, const std::array< bool, 7 > filteredValues, const char *type)
 
 FilterInterface (const char *type)
 
virtual void operator() ()=0
 
void updateCellData (const std::vector< coupling::datastructures::CouplingCell< dim > * > &new_inputCells, const std::vector< coupling::datastructures::CouplingCell< dim > * > &new_outputCells)
 
const char * getType () const
 
std::vector< coupling::datastructures::CouplingCell< dim > * > getInputCells () const
 
std::vector< coupling::datastructures::CouplingCell< dim > * > getOutputCells () const
 
coupling::datastructures::CouplingCell< dim > * getInputCellOfIndex (const CellIndex_T &index)
 
coupling::datastructures::CouplingCell< dim > * getOutputCellOfIndex (const CellIndex_T &index)
 
void setInputCells (const std::vector< coupling::datastructures::CouplingCell< dim > * > &newInputCells)
 
int getSize () const
 

Protected Attributes

std::array< std::vector< coupling::datastructures::CouplingCell< dim > * >, inputc > _inputCellVectors
 
std::array< std::vector< coupling::datastructures::CouplingCell< dim > * >, outputc > _outputCellVectors
 
- Protected Attributes inherited from coupling::filtering::FilterInterface< dim >
std::vector< coupling::datastructures::CouplingCell< dim > * > _inputCells
 
std::vector< coupling::datastructures::CouplingCell< dim > * > _outputCells
 
std::vector< ScalarAccessFunctionPair_scalarAccessFunctionPairs
 
std::vector< VectorAccessFunctionPair_vectorAccessFunctionPairs
 
const char * _type
 

Additional Inherited Members

- Public Types inherited from coupling::filtering::FilterInterface< dim >
using CellIndex_T
 

Detailed Description

template<unsigned int dim, std::size_t inputc, std::size_t outputc>
class coupling::filtering::JunctorInterface< dim, inputc, outputc >

Junctors are a generalization of Filters, in the sense that they can harbour multi in- and/or outputs. This allows for filters needing multiple sets of input data (e.g. unfiltered/prefiltered) or comparing read-only-filters. //TODO: implement FilterJunctorReadOnly? Junctors are stored in FilterJunctions, which generalize FilterSequences in a similar way. You can currently not add Junctors dynamically via FFF.

Implemenents FI. The underlying FI has the junctor's main partition's (i.e [0] of the corresponding std::array) input/output data. (cf. lines 35, 67.)

Author
Felix Maurer

Member Data Documentation

◆ _inputCellVectors

template<unsigned int dim, std::size_t inputc, std::size_t outputc>
std::array<std::vector<coupling::datastructures::CouplingCell<dim>*>, inputc> coupling::filtering::JunctorInterface< dim, inputc, outputc >::_inputCellVectors
protected

Unlike regular filters, junctors allow for multiple input- and output-sets


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