58 typedef memory::shared_ptr< gsRemapInterface >
Ptr;
61 typedef memory::unique_ptr< gsRemapInterface >
uPtr;
100 result.
addInt (
"CheckAffine",
"The number of interior points (per direction) in point grid used to "
101 "check if the mapping is affine", 1 );
102 result.
addInt (
"NumSamplePoints",
"Number of sample points for computing fitting curve (if not affine)", 11 );
103 result.
addInt (
"IntervalsOfFittingCurve",
"Number of knot space in the fitting curve (if not affine)", 5 );
104 result.
addInt (
"DegreeOfFittingCurve",
"Spline degree of fitting curve (if not affine)", 3 );
105 result.
addReal(
"EqualityTolerance",
"Points are considered equal iff difference is smaller", 1e-5 );
106 result.
addReal(
"NewtonTolerance",
"Tolerance for Newton solvers", 1e-10 );
144 virtual std::ostream &
print(std::ostream& os)
const;
198{
return remapIf.
print(os); }
202#ifndef GISMO_BUILD_LIB
203#include GISMO_HPP_HEADER(gsRemapInterface.hpp)
A basis represents a family of scalar basis functions defined over a common parameter domain.
Definition gsBasis.h:79
memory::unique_ptr< gsDomainIterator > uPtr
Unique pointer for gsDomainIterator.
Definition gsDomainIterator.h:73
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
memory::shared_ptr< gsFunction > Ptr
Shared pointer for gsFunction.
Definition gsFunction.h:65
Abstract base class representing a geometry map.
Definition gsGeometry.h:93
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
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
Class which holds a list of parameters/options, and provides easy access to them.
Definition gsOptionList.h:33
void addInt(const std::string &label, const std::string &desc, const index_t &value)
Adds a option named label, with description desc and value value.
Definition gsOptionList.cpp:201
void addReal(const std::string &label, const std::string &desc, const Real &value)
Adds a option named label, with description desc and value value.
Definition gsOptionList.cpp:211
Provides a mapping between the corresponding sides of two patches sharing an interface.
Definition gsRemapInterface.h:54
memory::unique_ptr< gsRemapInterface > uPtr
Unique pointer for gsRemapInterface.
Definition gsRemapInterface.h:61
const std::vector< std::vector< T > > & breakPoints() const
Returns the break points used in makeDomainIterator.
Definition gsRemapInterface.h:141
gsDomainIterator< T >::uPtr makeDomainIterator() const
Returns a domain iterator.
Definition gsRemapInterface.hpp:434
void constructInterfaceBox()
Computes the box which represents the intersection of sides of incoming patches.
Definition gsRemapInterface.hpp:140
boundaryInterface m_bi
Corresponding boundary interface.
Definition gsRemapInterface.h:168
gsMatrix< T > m_parameterBounds1
The bounds of the box that represents .
Definition gsRemapInterface.h:182
bool m_isAffine
True iff the interface is affine.
Definition gsRemapInterface.h:171
bool isMatching() const
Returns true iff the interface is matching.
Definition gsRemapInterface.h:135
virtual short_t domainDim() const
Returns parameter dimension of the domains.
Definition gsRemapInterface.h:125
gsFunction< T >::Ptr m_intfMap
Iff affine, interface map, otherwise the fitting curve.
Definition gsRemapInterface.h:175
bool isAffine() const
Returns true iff the interface is affine.
Definition gsRemapInterface.h:138
const gsFunction< T >::Ptr & interfaceMap() const
Returns the interface map iff affine, otherwise the fitting curve.
Definition gsRemapInterface.h:116
T m_newtonTolerance
Tolerance for Newton solver.
Definition gsRemapInterface.h:190
virtual void eval_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the interface map.
Definition gsRemapInterface.hpp:405
const gsGeometry< T > * m_g1
Geometry of first patch.
Definition gsRemapInterface.h:162
bool m_isMatching
True iff the interface is matching.
Definition gsRemapInterface.h:170
gsMatrix< T > m_parameterBounds2
The bounds of the box that represents .
Definition gsRemapInterface.h:187
const gsBasis< T > * m_b2
Basis on second patch.
Definition gsRemapInterface.h:166
void constructFittingCurve(index_t numSamplePoints, index_t intervalsOfFittingCurve, index_t degreeOfFittingCurve)
Constructs the fitting curve m_intfMap in the non-affine case.
Definition gsRemapInterface.hpp:242
T m_equalityTolerance
Tolerance for considering points to be equal.
Definition gsRemapInterface.h:189
const gsBasis< T > * m_b1
Basis on first patch.
Definition gsRemapInterface.h:165
virtual std::ostream & print(std::ostream &os) const
Prints the state of the object.
Definition gsRemapInterface.hpp:447
static gsOptionList defaultOptions()
Definition gsRemapInterface.h:97
const gsGeometry< T > * m_g2
Geometry of second patch.
Definition gsRemapInterface.h:163
@ neverAffine
Instructs constructor not to use an affine mapping.
Definition gsRemapInterface.h:66
@ alwaysAffine
Instructs constructor always to use an affine mapping.
Definition gsRemapInterface.h:67
std::ostream & operator<<(std::ostream &os, const gsRemapInterface< T > &remapIf)
Prints the state of the object.
Definition gsRemapInterface.h:197
std::vector< std::vector< T > > m_breakpoints
Union of breakpoints of both bases.
Definition gsRemapInterface.h:173
T estimateReparamError(index_t steps) const
Estimates error between geometry1 and geometry2 after repearametrization on physical domain.
Definition gsRemapInterface.hpp:201
void constructBreaks()
Constructs the breakpoints m_breakpoints.
Definition gsRemapInterface.hpp:325
memory::shared_ptr< gsRemapInterface > Ptr
Shared pointer for gsRemapInterface.
Definition gsRemapInterface.h:58
Implements an affine function.
Provides structs and classes related to interfaces and boundaries.
#define short_t
Definition gsConfig.h:35
#define index_t
Definition gsConfig.h:32
Provides a list of labeled parameters/options that can be set and accessed easily.
The G+Smo namespace, containing all definitions for the library.
Struct which represents an interface between two patches.
Definition gsBoundary.h:650