DUNE-GRID-GLUE (2.10)

Dune::GridGlue::IntersectionComputation< CM > Class Template Reference

Intersection computation method for two elements of arbitrary dimension. More...

#include <dune/grid-glue/merging/computeintersection.hh>

Static Public Member Functions

static bool computeIntersection (const std::vector< V > &X, const std::vector< V > &Y, std::vector< std::vector< int > > &SX, std::vector< std::vector< int > > &SY, std::vector< V > &P)
 Compute the intersection of two elements X and Y Compute the intersection of two elements X and Y, where X is of dimension dim1 and Y is of dimension dim2 and return a vector P containing the corner points of the intersection polyhedron. More...
 
template<int isDim, int dW>
static void orderPoints (const V &centroid, const std::vector< std::vector< int > > &SX, const std::vector< std::vector< int > > &SY, const std::vector< V > &P, std::vector< std::vector< int > > &H)
 Order Points in the point list P face-wise such that a subsimplex subdivision can be constructed. More...
 

Detailed Description

template<class CM>
class Dune::GridGlue::IntersectionComputation< CM >

Intersection computation method for two elements of arbitrary dimension.

Template Parameters
dimWorldThe world dimension
Tthe field type

Member Function Documentation

◆ computeIntersection()

template<class CM >
bool Dune::GridGlue::IntersectionComputation< CM >::computeIntersection ( const std::vector< V > &  X,
const std::vector< V > &  Y,
std::vector< std::vector< int > > &  SX,
std::vector< std::vector< int > > &  SY,
std::vector< V > &  P 
)
static

Compute the intersection of two elements X and Y Compute the intersection of two elements X and Y, where X is of dimension dim1 and Y is of dimension dim2 and return a vector P containing the corner points of the intersection polyhedron.

Parameters
Xordered vector of corners defining the element with dimension dim1
Yordered vector of corners defining the element with dimension dim2
SXindices of points in P on the index i face of X, where i denotes the vector index in SX
SYindices of points in P on the index i face of Y, where i denotes the vector index in SY
Pthe intersection points
Returns
true if enough intersection points were found to define at least one intersection element

Referenced by Dune::GridGlue::OverlappingMerge< dim1, dim2, dimworld, T >::computeIntersections().

◆ orderPoints()

template<class CM >
template<int isDim, int dW>
static void Dune::GridGlue::IntersectionComputation< CM >::orderPoints ( const V &  centroid,
const std::vector< std::vector< int > > &  SX,
const std::vector< std::vector< int > > &  SY,
const std::vector< V > &  P,
std::vector< std::vector< int > > &  H 
)
inlinestatic

Order Points in the point list P face-wise such that a subsimplex subdivision can be constructed.

Template Parameters
isDimthe intersection geometry dimension
Parameters
centroidthe center of all points
SXindices of points in P on the index i face of X, where i denotes the vector index in SX
SYindices of points in P on the index i face of Y, where i denotes the vector index in SY
Pthe point list (remains unchanged)
Hordered list of P indices

The documentation for this class was generated from the following files:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Apr 4, 22:59, 2025)