| 
    xmsmesh
    1.0
    
   | 
 
#include <xmsmesh/meshing/detail/MeIntersectPolys.h>#include <boost/geometry/geometry.hpp>#include <boost/unordered_set.hpp>#include <xmsinterp/geometry/GmBoostTypes.h>#include <xmsmesh/meshing/detail/MePolyOffsetter.h>#include <xmscore/misc/XmError.h>#include <xmscore/stl/vector.h>#include <xmsmesh/meshing/detail/MeIntersectPolys.t.h>#include <xmscore/testing/TestTools.h>Go to the source code of this file.
Classes | |
| class | xms::MeIntersectPolys::impl | 
| Does polygon intersection for MePolyCleaner.  More... | |
Macros | |
| #define | T_TOL 1e-13 | 
| tolerance used in multipoly intersector  | |
| #define | TOLERANCE 1e9 | 
| tolerance used in PolyOffsetter  | |
Functions | |
| static GmBstBox3d | xms::iCalcPolyEnvelope (const std::vector< size_t > &a_loop, const std::vector< Pt3d > &a_pts) | 
| Returns the envelop of a polygon.  More... | |
| static bool | xms::iEnvelopesOverlap (size_t a_i, size_t a_j, const std::vector< GmBstBox3d > &a_iEnv, const std::vector< GmBstBox3d > &a_jEnv) | 
| Returns true only if the envelopes overlap (not touch)  More... | |
| static bool | xms::iEnvelopeInsideOfEnvelope (size_t a_i, size_t a_j, const std::vector< GmBstBox3d > &a_envelopes) | 
| Returns true if envelope a_i is inside of envelope a_j.  More... | |
Definition in file MeIntersectPolys.cpp.
      
  | 
  static | 
Returns the envelop of a polygon.
| a_loop | Vector of point indexes defining a polygon. | 
| a_pts | Vector of locations. The indexes in a_loop refer to this vector. | 
Definition at line 110 of file MeIntersectPolys.cpp.
References xms::iCalcPolyEnvelope(), xms::Pt3< T >::x, and xms::Pt3< T >::y.
Referenced by xms::MeIntersectPolys::impl::BoostPolySubtract(), xms::MeIntersectPolys::impl::BoostPolyUnion(), xms::MeIntersectPolys::CalcEnvelopes(), and xms::iCalcPolyEnvelope().
      
  | 
  static | 
Returns true if envelope a_i is inside of envelope a_j.
| a_i | Index to an envelope from a polygon. | 
| a_j | Index to an envelope from a polygon. | 
| a_envelopes | Vector of envelopes used by the a_i & a_j variables. | 
Definition at line 159 of file MeIntersectPolys.cpp.
References xms::iEnvelopeInsideOfEnvelope(), xms::Pt3< T >::x, and xms::Pt3< T >::y.
Referenced by xms::MeIntersectPolys::impl::ClassifyPolysInsideOfPolys(), and xms::iEnvelopeInsideOfEnvelope().
      
  | 
  static | 
Returns true only if the envelopes overlap (not touch)
| a_i | Index to an envelope from a polygon. | 
| a_j | Index to an envelope from a polygon. | 
| a_iEnv | Vector of envelopes used by the a_i variable. | 
| a_jEnv | Vector of envelopes used by the a_j variable. | 
Definition at line 141 of file MeIntersectPolys.cpp.
References xms::iEnvelopesOverlap(), xms::Pt3< T >::x, and xms::Pt3< T >::y.
Referenced by xms::MeIntersectPolys::impl::ClassifyDisjointPolys(), xms::iEnvelopesOverlap(), xms::MeIntersectPolys::impl::InInDoIntersection(), and xms::MeIntersectPolys::impl::InOutFindIntersectingPolys().