My Project
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
typedef CSplineBoundaryCondition plugin_type
 helper typedef for plug-in handling
typedef std::unique_ptr< CSplineBoundaryConditionPointer
 pointer type to this boundary condition
Public Types inherited from CPropertyFlagHolder
typedef std::set< const char * > Set
 define the type of the set of flags

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)
void filter_line (std::vector< double > &coeff, const std::vector< double > &poles) const
template<typename T>
void filter_line (std::vector< T > &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
static const char *const type_descr
 type portion of the plugin search path

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 57 of file boundary_conditions.hh.

◆ plugin_type

helper typedef for plug-in handling

Definition at line 60 of file boundary_conditions.hh.

◆ Pointer

pointer type to this boundary condition

Definition at line 70 of file boundary_conditions.hh.

Constructor & Destructor Documentation

◆ CSplineBoundaryCondition() [1/3]

CSplineBoundaryCondition::CSplineBoundaryCondition ( )

◆ CSplineBoundaryCondition() [2/3]

CSplineBoundaryCondition::CSplineBoundaryCondition ( const CSplineBoundaryCondition & )
delete

Delete copy operations

References CSplineBoundaryCondition().

◆ 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

References CSplineBoundaryCondition().

◆ filter_line() [1/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

References template_filter_line().

◆ filter_line() [2/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 285 of file boundary_conditions.hh.

Referenced by template_filter_line().

◆ get_width()

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

Definition at line 105 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 293 of file boundary_conditions.hh.

References filter_line().

Referenced by filter_line().

Field Documentation

◆ data_descr

const char* const CSplineBoundaryCondition::data_descr
static

data portion of the plugin search path

Definition at line 66 of file boundary_conditions.hh.

◆ type_descr

const char* const CSplineBoundaryCondition::type_descr
static

type portion of the plugin search path

Definition at line 63 of file boundary_conditions.hh.


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