G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsApproxC1Spline.h
Go to the documentation of this file.
1
14#pragma once
15
16#include<gsIO/gsOptionList.h>
17
20
21//#include <gsUnstructuredSplines/src/gsApproxC1Utils.h>
22
23namespace gismo
24{
25
32template<short_t d,class T>
33class gsApproxC1Spline : public gsContainerBasisBase<d,T>
34{
35public:
36
37 // gsContainerBasisBase:
38 // - Interior space: [0] : inner,
39 // - Edge spaces: [1] : west, [2] : east, [3] : south, [4] : north,
40 // - Vertex spaces: [5] : southwest, [6] : southeast, [7] : northwest, [8] : northeast
41 using Base = gsContainerBasisBase<d,T>;
42
50 :
51 Base(patches, multiBasis)
52 {
53 this->defaultOptions();
54 };
55
56public:
57 // To be overwritten in inheriting classes
58
60 void init();
61
63 void compute();
64
70 void update(gsMappedBasis<d,T> & bb2)
71 {
72 this->init();
73 this->compute();
74
75 m_matrix = m_matrix.transpose();
76 gsMultiBasis<T> dbasis_temp;
77 this->getMultiBasis(dbasis_temp);
78
79 bb2.init(dbasis_temp,m_matrix);
80 }
81
83 void defaultOptions();
84
85private:
86 // Helper functions
87
88
89protected:
90 // Data members
91 index_t p_tilde, r_tilde;
92
93 // Put here the members of the shared functions
94 using Base::m_patches;
95 using Base::m_multiBasis;
96 using Base::m_options;
97 using Base::m_matrix;
98 using Base::m_bases;
99};
100
101}
102
103#ifndef GISMO_BUILD_LIB
104#include GISMO_HPP_HEADER(gsApproxC1Spline.hpp)
105#endif
Class describing the approximate spline.
Definition gsApproxC1Spline.h:34
void init()
Initializes the method.
Definition gsApproxC1Spline.hpp:62
void defaultOptions()
Sets the default options.
Definition gsApproxC1Spline.hpp:25
void compute()
Computes the basis.
Definition gsApproxC1Spline.hpp:273
gsApproxC1Spline(gsMultiPatch< T > &patches, gsMultiBasis< T > &multiBasis)
Constructs a new instance of the approximate basis.
Definition gsApproxC1Spline.h:49
void update(gsMappedBasis< d, T > &bb2)
Updates the basis bb2 with the right basis and mapping matrix.
Definition gsApproxC1Spline.h:70
Holds a set of patch-wise bases and their topology information.
Definition gsMultiBasis.h:37
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition gsMultiPatch.h:100
#define index_t
Definition gsConfig.h:32
Provides declaration of Basis abstract interface.
Provides declaration of Basis abstract interface.
Provides a list of labeled parameters/options that can be set and accessed easily.
The G+Smo namespace, containing all definitions for the library.