29#ifndef FUNCTION_DATA_INCLUDED
30#define FUNCTION_DATA_INCLUDED
32#define BOUNDARY_CONDITIONS 1
35# pragma GCC system_header
39#include "ppolynomial.h"
46 template<
int Degree,
class Real>
50#if BOUNDARY_CONDITIONS
63#if BOUNDARY_CONDITIONS
78 virtual void setValueTables(
const int& flags,
const double& smooth=0);
96#if BOUNDARY_CONDITIONS
97 void set(
const int& maxDepth ,
const PPolynomial<Degree>&
F ,
const int& normalize ,
bool useDotRatios=
true ,
bool reflectBoundary=
false );
102#if BOUNDARY_CONDITIONS
112 static inline int SymmetricIndex(
const int& i1 ,
const int& i2 );
113 static inline int SymmetricIndex(
const int& i1 ,
const int& i2 ,
int& index );
121#include "function_data.hpp"
Iterator class for point clouds with or without given indices.
virtual void setDotTables(const int &flags)
static const int D_VALUE_FLAG
Real dotProduct(const double ¢er1, const double &width1, const double ¢er2, const double &width2) const
PPolynomial< Degree > baseFunction
Real d2DotProduct(const double ¢er1, const double &width1, const double ¢er2, const double &width2) const
static const int DOT_FLAG
static const int D_DOT_FLAG
PPolynomial< Degree-1 > dBaseFunction
virtual void clearValueTables(void)
PPolynomial< Degree+1 > * baseFunctions
static const int VALUE_FLAG
static const int D2_DOT_FLAG
static int SymmetricIndex(const int &i1, const int &i2)
virtual void setValueTables(const int &flags, const double &smooth=0)
void set(const int &maxDepth, const PPolynomial< Degree > &F, const int &normalize, bool useDotRatios=true)
virtual void clearDotTables(const int &flags)
Real dDotProduct(const double ¢er1, const double &width1, const double ¢er2, const double &width2) const