The MeshPlaneVisitor collects all facets the are co-planar to the plane defined by the start triangle. More...
#include <Visitor.h>
Public Member Functions | |
bool | AllowVisit (const MeshFacet &face, const MeshFacet &, FacetIndex, unsigned long, unsigned short neighbourIndex) |
Test before a facet will be flagged as VISIT, return false means: go on with visiting the facets but not this one and set not the VISIT flag. More... | |
MeshPlaneVisitor (const MeshKernel &mesh, FacetIndex index, float deviation, std::vector< FacetIndex > &indices) | |
bool | Visit (const MeshFacet &face, const MeshFacet &, FacetIndex ulFInd, unsigned long) |
Needs to be implemented in sub-classes. More... | |
virtual | ~MeshPlaneVisitor () |
Public Member Functions inherited from MeshCore::MeshFacetVisitor | |
virtual bool | AllowVisit (const MeshFacet &rclFacet, const MeshFacet &rclFrom, FacetIndex ulFInd, unsigned long ulLevel, unsigned short neighbourIndex) |
Test before a facet will be flagged as VISIT, return false means: go on with visiting the facets but not this one and set not the VISIT flag. More... | |
MeshFacetVisitor () | |
Construction. More... | |
virtual bool | Visit (const MeshFacet &rclFacet, const MeshFacet &rclFrom, FacetIndex ulFInd, unsigned long ulLevel)=0 |
Needs to be implemented in sub-classes. More... | |
virtual | ~MeshFacetVisitor () |
Denstruction. More... | |
Protected Attributes | |
Base::Vector3f | basepoint |
PlaneFit * | fitter |
std::vector< FacetIndex > & | indices |
float | max_deviation |
const MeshKernel & | mesh |
Base::Vector3f | normal |
The MeshPlaneVisitor collects all facets the are co-planar to the plane defined by the start triangle.
MeshPlaneVisitor::MeshPlaneVisitor | ( | const MeshKernel & | mesh, |
FacetIndex | index, | ||
float | deviation, | ||
std::vector< FacetIndex > & | indices | ||
) |
References MeshCore::Approximation::AddPoint(), basepoint, fitter, MeshCore::MeshKernel::GetFacet(), mesh, and normal.
|
virtual |
References fitter.
|
virtual |
Test before a facet will be flagged as VISIT, return false means: go on with visiting the facets but not this one and set not the VISIT flag.
Reimplemented from MeshCore::MeshFacetVisitor.
References MeshCore::Approximation::Done(), MeshCore::PlaneFit::Fit(), fitter, MeshCore::PlaneFit::GetDistanceToPlane(), MeshCore::MeshKernel::GetFacet(), max_deviation, and mesh.
|
virtual |
Needs to be implemented in sub-classes.
rclFacet is the currently visited facet with the index ulFInd, rclFrom is the last visited facet and ulLevel indicates the ring number around the start facet. If true is returned the next iteration is done if there are still facets to visit. If false is returned the calling method stops immediately visiting further facets.
Implements MeshCore::MeshFacetVisitor.
References MeshCore::Approximation::AddPoint(), fitter, MeshCore::MeshKernel::GetFacet(), and mesh.
|
protected |
|
protected |
Referenced by AllowVisit(), MeshPlaneVisitor(), Visit(), and ~MeshPlaneVisitor().
|
protected |
Referenced by draftguitools.gui_dimensions.Dimension::set_selection().
|
protected |
Referenced by AllowVisit().
|
protected |
Referenced by AllowVisit(), femtools.ccxtools.FemToolsCcx::check_prerequisites(), femtools.ccxtools.FemToolsCcx::has_no_material_assigned(), femtools.ccxtools.FemToolsCcx::has_nonpositive_jacobians(), MeshPlaneVisitor(), femsolver.fenics.fenics_tools.XDMFReader::readCellExpression(), femsolver.fenics.fenics_tools.XDMFReader::readFacetFunction(), femsolver.fenics.fenics_tools.XDMFReader::readMesh(), femsolver.fenics.fenics_tools.XDMFReader::resetMesh(), MengerSponge.MengerThread::run(), MeshTestsApp.MeshSubElement::testCenterOfGravity(), MeshTestsApp.MeshSubElement::testCountSubElements(), MeshTestsApp.MeshSubElement::testFacesFromSubElement(), MeshTestsApp.MeshSplitTestCases::testFindNearest(), MeshTestsApp.MeshSubElement::testSegmentSubElement(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnOneEdge(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_01(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_02(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_10(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_12(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_20(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_21(), MeshTestsApp.MeshSplitTestCases::testSplitFacetOnTwoEdges_5teps(), MeshTestsApp.MeshSubElement::testSubElements(), Visit(), and femtools.ccxtools.FemToolsCcx::write_inp_file().
|
protected |