11 #ifndef HIERARCHICAL_BASIS_HCURL_H
12 #define HIERARCHICAL_BASIS_HCURL_H
18 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
19 int const &flag1,
int const &flag2,
20 int const &flag3,
int const &faceNumber,
21 std::vector<double> &faceFunctions){};
22 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
23 int const &flag1,
int const &flag2,
24 int const &flag3,
int const &faceNumber,
25 std::vector<std::vector<double> > &faceFunctions,
26 std::string typeFunction) = 0;
30 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
31 std::vector<double> &vertexBasis,
32 std::vector<double> &edgeBasis,
33 std::vector<double> &faceBasis,
34 std::vector<double> &bubbleBasis){};
37 std::vector<std::vector<double> > &vertexBasis,
38 std::vector<std::vector<double> > &edgeBasis,
39 std::vector<std::vector<double> > &faceBasis,
40 std::vector<std::vector<double> > &bubbleBasis,
41 std::string typeFunction) = 0;
44 orientEdge(
int const &flagOrientation,
int const &edgeNumber,
45 std::vector<std::vector<double> > &edgeBasis,
46 const std::vector<std::vector<double> > &eTablePositiveFlag,
47 const std::vector<std::vector<double> > &eTableNegativeFlag) = 0;
50 orientFace(
int const &flag1,
int const &flag2,
int const &flag3,
51 int const &faceNumber,
52 const std::vector<double> &quadFaceFunctionsAllOrientations,
53 const std::vector<double> &triFaceFunctionsAllOrientations,
54 std::vector<double> &fTableCopy){};
56 int const &flag1,
int const &flag2,
int const &flag3,
int const &faceNumber,
57 const std::vector<std::vector<double> > &quadFaceFunctionsAllOrientations,
58 const std::vector<std::vector<double> > &triFaceFunctionsAllOrientations,
59 std::vector<std::vector<double> > &fTableCopy) = 0;
60 virtual void orientEdge(
int const &flagOrientation,
int const &edgeNumber,
61 std::vector<double> &edgeFunctions,
62 const std::vector<double> &eTablePositiveFlag,
63 const std::vector<double> &eTableNegativeFlag){};
67 std::vector<std::vector<double> > &edgeFunctions) = 0;
70 double const &u,
double const &v,
double const &w,
71 const std::vector<double> &faceFunctions,
72 std::vector<double> &quadFaceFunctionsAllOrientations,
73 std::vector<double> &triFaceFunctionsAllOrientations){};
75 double const &u,
double const &v,
double const &w,
76 const std::vector<std::vector<double> > &faceFunctions,
77 std::vector<std::vector<double> > &quadFaceFunctionsAllOrientations,
78 std::vector<std::vector<double> > &triFaceFunctionsAllOrientations,
79 std::string typeFunction);
81 std::vector<int> &orderInfo) = 0;