G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsC1SurfSpline.h
Go to the documentation of this file.
1 
14 /*
15  TO DO
16  */
17 
18 #pragma once
19 
20 #include<gsIO/gsOptionList.h>
22 
23 namespace gismo
24 {
25 
26  template<short_t d,class T>
27  class gsC1SurfSpline : public gsContainerBasisBase<d,T>
28  {
29  public:
30 
31  // gsContainerBasisBase:
32  // - Interior space: [0] : inner,
33  // - Edge spaces: [1] : west, [2] : east, [3] : south, [4] : north,
34  // - Vertex spaces: [5] : southwest, [6] : southeast, [7] : northwest, [8] : northeast
35  using Base = gsContainerBasisBase<d,T>;
36 
37  gsC1SurfSpline(gsMultiPatch<T> & patches, gsMultiBasis<T> & multiBasis)
38  :
39  Base(patches, multiBasis)
40  {
41  this->defaultOptions();
42  };
43 
44  public:
45  // To be overwritten in inheriting classes
46 
47  void init();
48  void compute();
49 
50  private:
51  void defaultOptions();
52 
53  protected:
54  // Container[patch][side]
55  std::vector<std::vector<index_t>> rowContainer;
56 
57  // Put here the members of the shared functions
58  using Base::m_patches;
59  using Base::m_multiBasis;
60  using Base::m_options;
61  using Base::m_matrix;
62  using Base::m_bases;
63  };
64 
65 }
66 
67 #ifndef GISMO_BUILD_LIB
68 #include GISMO_HPP_HEADER(gsC1SurfSpline.hpp)
69 #endif
Provides declaration of Basis abstract interface.
Provides a list of labeled parameters/options that can be set and accessed easily.