CSplineBoundaryCondition Class Referenceabstract

Abstract base class for B-spline interpolation boundary conditions. More...

#include <mia/core/boundary_conditions.hh>

Inheritance diagram for CSplineBoundaryCondition:
[legend]
Collaboration diagram for CSplineBoundaryCondition:
[legend]

Public Types

typedef CSplineBoundaryCondition plugin_data
 helper typedef for plug-in handling More...
 
typedef CSplineBoundaryCondition plugin_type
 helper typedef for plug-in handling More...
 
typedef std::unique_ptr< CSplineBoundaryConditionPointer
 pointer type to this boundary condition More...
 
- Public Types inherited from CPropertyFlagHolder
typedef std::set< const char * > Set
 define the type of the set of flags More...
 

Public Member Functions

bool apply (CSplineKernel::VIndex &index, CSplineKernel::VWeight &weights) const
 
virtual CSplineBoundaryConditionclone () const __attribute__((warn_unused_result))=0
 
 CSplineBoundaryCondition ()
 
 CSplineBoundaryCondition (const CSplineBoundaryCondition &)=delete
 
 CSplineBoundaryCondition (int width)
 
template<typename T >
void filter_line (std::vector< T > &coeff, const std::vector< double > &poles) const
 
void filter_line (std::vector< double > &coeff, const std::vector< double > &poles) const
 
int get_width () const
 
CSplineBoundaryConditionoperator= (const CSplineBoundaryCondition &)=delete
 
void set_width (int width)
 
template<typename T >
void template_filter_line (std::vector< T > &coeff, const std::vector< double > &poles) const
 
- Public Member Functions inherited from CProductBase
const char * get_init_string () const
 
void set_init_string (const char *init)
 
void set_module (PPluginModule module)
 
- Public Member Functions inherited from CPropertyFlagHolder
void add (const char *property)
 
Set get_missing_properties (const CPropertyFlagHolder &testset) const
 
bool has (const char *property) const
 
bool has_all_in (const CPropertyFlagHolder &testset) const
 
virtual ~CPropertyFlagHolder ()
 

Static Public Attributes

static const char *const data_descr
 data portion of the plugin search path More...
 
static const char *const type_descr
 type portion of the plugin search path More...
 

Detailed Description

Abstract base class for B-spline interpolation boundary conditions.

This class is the abstract base class for B-spline interpolation boundary conditions.

The actual boundary conditions are implemented as plug-ins and instances are created by calling produce_spline_boundary_condition.

Definition at line 52 of file boundary_conditions.hh.

Member Typedef Documentation

◆ plugin_data

helper typedef for plug-in handling

Definition at line 56 of file boundary_conditions.hh.

◆ plugin_type

helper typedef for plug-in handling

Definition at line 59 of file boundary_conditions.hh.

◆ Pointer

pointer type to this boundary condition

Definition at line 69 of file boundary_conditions.hh.

Constructor & Destructor Documentation

◆ CSplineBoundaryCondition() [1/3]

CSplineBoundaryCondition::CSplineBoundaryCondition ( )

◆ CSplineBoundaryCondition() [2/3]

CSplineBoundaryCondition::CSplineBoundaryCondition ( const CSplineBoundaryCondition )
delete

Delete copy operations

◆ CSplineBoundaryCondition() [3/3]

CSplineBoundaryCondition::CSplineBoundaryCondition ( int  width)

Constructor for the boundary conditions.

Parameters
widthsize of the coefficent domain

Member Function Documentation

◆ apply()

bool CSplineBoundaryCondition::apply ( CSplineKernel::VIndex index,
CSplineKernel::VWeight weights 
) const

Apply the boundary conditions

Parameters
index- indices into the coeffisicnt domain will be changed to fit domain
weights- according weights
Returns
true if the index set was in the coefficient domain

◆ clone()

virtual CSplineBoundaryCondition* CSplineBoundaryCondition::clone ( ) const
pure virtual
Returns
a copy of the (derived) instance of this boundary condition

◆ filter_line() [1/2]

template<typename T >
void CSplineBoundaryCondition::filter_line ( std::vector< T > &  coeff,
const std::vector< double > &  poles 
) const

Prefiltering function to convert a vector of input data to spline coefficients

Template Parameters
Tmust either be a scalar type or an array of scalar data types whose elements can be accessed by using the operator[]. This restriction is currently necessary to allow a dynamic polymorphic implementation of the pre-filtering step needed for different boundary condition models.
Parameters
[in,out]coeffvector of function values that will be converted to spline coefficients
polesthe poles of the B-spline the coefficients are created for

Definition at line 277 of file boundary_conditions.hh.

Referenced by produce_spline_boundary_condition().

◆ filter_line() [2/2]

void CSplineBoundaryCondition::filter_line ( std::vector< double > &  coeff,
const std::vector< double > &  poles 
) const

Prefiltering function to convert a vector of double valued input data to spline coefficients This is the actual work routine that will be called by the other filter_line functions after type conversion and decomposition has been executed

Parameters
[in,out]coeffvector of function values that will be converted to spline coefficients
polesthe poles of the B-spline the coefficients are created for

◆ get_width()

int CSplineBoundaryCondition::get_width ( ) const
inline
Returns
the width of the coefficient domain

Definition at line 104 of file boundary_conditions.hh.

◆ operator=()

CSplineBoundaryCondition& CSplineBoundaryCondition::operator= ( const CSplineBoundaryCondition )
delete

◆ set_width()

void CSplineBoundaryCondition::set_width ( int  width)

(re-)set the width of the supported index range

Parameters
widthnew width

◆ template_filter_line()

template<typename T >
void CSplineBoundaryCondition::template_filter_line ( std::vector< T > &  coeff,
const std::vector< double > &  poles 
) const

Prefiltering function to convert a vector of scalar valued input data to spline coefficients.

Template Parameters
Ta scalar type.
Parameters
[in,out]coeffvector of function values that will be converted to spline coefficients
polesthe poles of the B-spline the coefficients are created for

Definition at line 285 of file boundary_conditions.hh.

References NS_MIA_END.

Referenced by produce_spline_boundary_condition().

Field Documentation

◆ data_descr

const char* const CSplineBoundaryCondition::data_descr
static

data portion of the plugin search path

Definition at line 65 of file boundary_conditions.hh.

◆ type_descr

const char* const CSplineBoundaryCondition::type_descr
static

type portion of the plugin search path

Definition at line 62 of file boundary_conditions.hh.


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