ASMuxDmx::swapProjectionBasis: move to ASMLRSpline

now there are no differences between the classes so let's unify.
also a step in making functionality available for non-mixed ASMs,
although there is more work before that is supported.
This commit is contained in:
Arne Morten Kvarving 2023-09-07 11:27:36 +02:00
parent aff5742171
commit 309f57fb64
6 changed files with 12 additions and 24 deletions

View File

@ -586,3 +586,12 @@ void ASMLRSpline::getNoIntPoints (size_t& nPt, size_t& nIPt)
if (nInterface > 0 && nInterface != nel && nGauss > 0 && nGauss <= 10)
nIPt += nInterface*nGp/nGauss;
}
void ASMLRSpline::swapProjectionBasis ()
{
if (projB2) {
std::swap(projB, projB2);
std::swap(projThreadGroups, proj2ThreadGroups);
}
}

View File

@ -181,6 +181,9 @@ public:
//! \brief Computes the total number of integration points in this patch.
virtual void getNoIntPoints(size_t& nPt, size_t& nIPt);
//! \brief Swaps between the first and second projection basis.
virtual void swapProjectionBasis();
protected:
//! \brief Refines the mesh adaptively.
//! \param[in] prm Input data used to control the mesh refinement

View File

@ -1210,15 +1210,6 @@ void ASMu2Dmx::copyRefinement (LR::LRSplineSurface* basis,
}
void ASMu2Dmx::swapProjectionBasis ()
{
if (projB2) {
std::swap(projB, projB2);
std::swap(projThreadGroups, proj2ThreadGroups);
}
}
void ASMu2Dmx::getElementsAt (const RealArray& param,
std::vector<int>& elms,
std::vector<size_t>& sizes) const

View File

@ -213,9 +213,6 @@ public:
//! \param[in] multiplicity Wanted multiplicity
void copyRefinement(LR::LRSplineSurface* basis, int multiplicity) const;
//! \brief Swaps between the main and alternative projection basis.
virtual void swapProjectionBasis();
//! \brief Checks if a separate projection basis is used for this patch.
virtual bool separateProjectionBasis() const;

View File

@ -1004,15 +1004,6 @@ void ASMu3Dmx::copyRefinement (LR::LRSplineVolume* basis,
}
void ASMu3Dmx::swapProjectionBasis ()
{
if (projB2) {
std::swap(projB, projB2);
std::swap(projThreadGroups, proj2ThreadGroups);
}
}
void ASMu3Dmx::getElementsAt (const RealArray& param,
std::vector<int>& elms,
std::vector<size_t>& sizes) const

View File

@ -178,9 +178,6 @@ public:
//! \param[in] multiplicity Wanted multiplicity
void copyRefinement(LR::LRSplineVolume* basis, int multiplicity) const;
//! \brief Swaps between the main and alternative projection basis.
virtual void swapProjectionBasis();
//! \brief Checks if a separate projection basis is used for this patch.
virtual bool separateProjectionBasis() const;