#include <SetOperations.h>
Classes | |
struct | Pair |
struct | Triple |
struct | Tuple |
Public Member Functions | |
void | connectLines (bool onlyclosed, const std::list< Tuple > &, std::list< std::list< Triple > > &) |
void | getIntersection (std::list< Tuple > &) const |
bool | hasIntersection () const |
MeshIntersection (const MeshKernel &m1, const MeshKernel &m2, float dist) | |
~MeshIntersection () | |
Determine the intersections between two meshes.
MeshCore::MeshIntersection::MeshIntersection | ( | const MeshKernel & | m1, |
const MeshKernel & | m2, | ||
float | dist | ||
) |
MeshCore::MeshIntersection::~MeshIntersection | ( | ) |
void MeshIntersection::connectLines | ( | bool | onlyclosed, |
const std::list< Tuple > & | rdata, | ||
std::list< std::list< Triple > > & | lines | ||
) |
From an unsorted list of intersection points make a list of sorted intersection points. If parameter onlyclosed is set to true then only closed intersection curves are taken and all other curves are filtered out.
References Base::DistanceP2(), MeshCore::MeshIntersection::Triple::f1, MeshCore::MeshIntersection::Triple::f2, and MeshCore::MeshIntersection::Triple::p.
Referenced by Mesh::MeshObject::section().
void MeshIntersection::getIntersection | ( | std::list< Tuple > & | intsct | ) | const |
References MeshCore::MeshFacetIterator::Begin(), MeshCore::MeshIntersection::Tuple::f1, MeshCore::MeshIntersection::Tuple::f2, MeshCore::MeshKernel::GetFacets(), MeshCore::MeshGrid::Inside(), MeshCore::MeshGeomFacet::IntersectWithFacet(), MeshCore::MeshFacetIterator::More(), MeshCore::MeshFacetIterator::Next(), Base::SequencerLauncher::next(), MeshCore::MeshIntersection::Tuple::p1, MeshCore::MeshIntersection::Tuple::p2, and MeshCore::MeshFacetIterator::Set().
Referenced by Mesh::MeshObject::section().
bool MeshIntersection::hasIntersection | ( | ) | const |
References MeshCore::MeshKernel::GetBoundBox().