diff --git a/MeshLib/Elements/TemplateHex-impl.h b/MeshLib/Elements/TemplateHex-impl.h index 64bbb3c482df62c45d4884d66330f23945c77c66..3a495484b18fdb4d99690fdadf765731aecbd34e 100644 --- a/MeshLib/Elements/TemplateHex-impl.h +++ b/MeshLib/Elements/TemplateHex-impl.h @@ -170,6 +170,7 @@ ElementErrorCode TemplateHex<NNODES,CELLHEXTYPE>::validate() const error_code |= quad->validate(); delete quad; } + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); return error_code; } diff --git a/MeshLib/Elements/TemplatePrism-impl.h b/MeshLib/Elements/TemplatePrism-impl.h index 2decf3bcb5792b270c28e425ce8b47071a2d4a04..2fc811a73d95e6c0c4046436cda9c89d4c4b3f20 100644 --- a/MeshLib/Elements/TemplatePrism-impl.h +++ b/MeshLib/Elements/TemplatePrism-impl.h @@ -179,6 +179,7 @@ ElementErrorCode TemplatePrism<NNODES,CELLPRISMTYPE>::validate() const error_code.set(ElementErrorFlag::NodeOrder); delete quad; } + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); return error_code; } diff --git a/MeshLib/Elements/TemplatePyramid-impl.h b/MeshLib/Elements/TemplatePyramid-impl.h index 4df80819c0e3626950c924f46d78cda306274767..31afb22c02902146e6e549b567c1cdfd481aff43 100644 --- a/MeshLib/Elements/TemplatePyramid-impl.h +++ b/MeshLib/Elements/TemplatePyramid-impl.h @@ -174,7 +174,10 @@ ElementErrorCode TemplatePyramid<NNODES,CELLPYRAMIDTYPE>::validate() const const MeshLib::Quad* base (dynamic_cast<const MeshLib::Quad*>(this->getFace(4))); if (base) + { error_code |= base->validate(); + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); + } else error_code.set(ElementErrorFlag::NodeOrder); delete base; diff --git a/MeshLib/Elements/TemplateQuad-impl.h b/MeshLib/Elements/TemplateQuad-impl.h index ab017977b14584b388630e46023c70f1922e5ad7..75f4f97f0a288a6dc63369af62ad038c0593fe4d 100644 --- a/MeshLib/Elements/TemplateQuad-impl.h +++ b/MeshLib/Elements/TemplateQuad-impl.h @@ -129,6 +129,7 @@ ElementErrorCode TemplateQuad<NNODES,CELLQUADTYPE>::validate() const if (!error_code[ElementErrorFlag::ZeroVolume]) error_code[ElementErrorFlag::NonConvex] = (!(GeoLib::dividedByPlane(*_nodes[0], *_nodes[2], *_nodes[1], *_nodes[3]) && GeoLib::dividedByPlane(*_nodes[1], *_nodes[3], *_nodes[0], *_nodes[2]))); + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); return error_code; } diff --git a/MeshLib/Elements/TemplateTet-impl.h b/MeshLib/Elements/TemplateTet-impl.h index 49370381650325fddf5f445d4a1ce9d532a02098..ceb9ffcb37218e81ff5021ff2667f348a1deafcb 100644 --- a/MeshLib/Elements/TemplateTet-impl.h +++ b/MeshLib/Elements/TemplateTet-impl.h @@ -149,6 +149,7 @@ ElementErrorCode TemplateTet<NNODES,CELLTETTYPE>::validate() const { ElementErrorCode error_code; error_code[ElementErrorFlag::ZeroVolume] = this->hasZeroVolume(); + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); return error_code; } diff --git a/MeshLib/Elements/TemplateTri-impl.h b/MeshLib/Elements/TemplateTri-impl.h index 5bae658eba7b09ad57a20a11afff286abc1b0285..736e8195a0e508d7abd62f8bce4e7156bd30f54b 100644 --- a/MeshLib/Elements/TemplateTri-impl.h +++ b/MeshLib/Elements/TemplateTri-impl.h @@ -85,6 +85,7 @@ ElementErrorCode TemplateTri<NNODES,CELLTRITYPE>::validate() const { ElementErrorCode error_code; error_code[ElementErrorFlag::ZeroVolume] = this->hasZeroVolume(); + error_code[ElementErrorFlag::NodeOrder] = !this->testElementNodeOrder(); return error_code; }