Intersection computation method for two elements of arbitrary dimension.
More...
#include <dune/grid-glue/merging/computeintersection.hh>
|
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...
|
|
template<class CM>
class Dune::GridGlue::IntersectionComputation< CM >
Intersection computation method for two elements of arbitrary dimension.
- Template Parameters
-
dimWorld | The world dimension |
T | the field type |
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
-
X | ordered vector of corners defining the element with dimension dim1 |
Y | ordered vector of corners defining the element with dimension dim2 |
SX | indices of points in P on the index i face of X, where i denotes the vector index in SX |
SY | indices of points in P on the index i face of Y, where i denotes the vector index in SY |
P | the intersection points |
orderPoints | order points (e.g. counterclockwise for dimWorld=2) |
- Returns
- true if enough intersection points were found to define at least one intersection element
References Dune::GridGlue::insertPoint().
Referenced by Dune::GridGlue::OverlappingMerge< dim1, dim2, dimworld, T >::computeIntersections().
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
-
isDim | the intersection geometry dimension |
- Parameters
-
centroid | the center of all points |
SX | indices of points in P on the index i face of X, where i denotes the vector index in SX |
SY | indices of points in P on the index i face of Y, where i denotes the vector index in SY |
P | the point list (remains unchanged) |
H | ordered list of P indices |
The documentation for this class was generated from the following files: