CellGPU
0.8.0
GPU-accelerated simulations of cells
|
Access the 2D periodic and non-periodic functionality of CGAL Delaunay triangulations. More...
#include <DelaunayCGAL.h>
Public Member Functions | |
void | PeriodicTriangulation (vector< pair< Point, int > > &points, Dscalar bxx, Dscalar bxy, Dscalar byx, Dscalar byy) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), fill the allneighs structure with the neighbor list. Calls one of the routines below. More... | |
void | PeriodicTriangulationNineSheeted (vector< pair< Point, int > > &points, Dscalar bxx, Dscalar bxy, Dscalar byx, Dscalar byy) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), explicitly constructing the covering and using CGAL's non-periodic routines. More... | |
void | PeriodicTriangulationSquareDomain (vector< pair< Point, int > > &points, Dscalar boxX, Dscalar boxY) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), fill the allneighs structure with the neighbor list. More... | |
bool | LocalTriangulation (const vector< pair< LPoint, int > > &points, vector< int > &neighs) |
given a similar vector of points, calculate the neighbors of the first point in a non-periodic domain. More... | |
Public Attributes | |
vector< vector< int > > | allneighs |
The list of neighbors of every point in the periodic triangulation. | |
Access the 2D periodic and non-periodic functionality of CGAL Delaunay triangulations.
A class for interfacing with the CGAL library. In particular, this lets the user access the functionality of the 2D periodic and non-periodic schemes for performing a Delaunay Triangulation. A public member variable maintains a convenient data structure for keeping track of the most recently performed complete triangulation of a periodic point set.
void DelaunayCGAL::PeriodicTriangulation | ( | vector< pair< Point, int > > & | V, |
Dscalar | bxx, | ||
Dscalar | bxy, | ||
Dscalar | byx, | ||
Dscalar | byy | ||
) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), fill the allneighs structure with the neighbor list. Calls one of the routines below.
This routine simply calls either the general triangulation routine or the one specialized to square periodic domains The domain is stored as M= (bxx bxy byx byy), and a vector, v, whose components are between zero and one has real position M*v
void DelaunayCGAL::PeriodicTriangulationNineSheeted | ( | vector< pair< Point, int > > & | V, |
Dscalar | bxx, | ||
Dscalar | bxy, | ||
Dscalar | byx, | ||
Dscalar | byy | ||
) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), explicitly constructing the covering and using CGAL's non-periodic routines.
Perform a periodic triangulation in a non-square domain. This routine constructs the nine-sheeted covering by hand, computes the triangulation for points in the central domain. After the routine is called, the class member allneighs will store a list of particle neighbors, each sorted in CW order
V | A complete set of the points to be triangulated along with their indices The domain is stored as M= (bxx bxy byx byy), and a vector, v, whose components are between zero and one has real position M*v |
void DelaunayCGAL::PeriodicTriangulationSquareDomain | ( | vector< pair< Point, int > > & | V, |
Dscalar | boxX, | ||
Dscalar | boxY | ||
) |
Given a vector of points (in the form of pair<PDT::Point p ,int index>), fill the allneighs structure with the neighbor list.
Perform a periodic triangulation in a SQUARE domain
V | A complete set of the points to be triangulated along with their indices |
boxX | the side length of the periodic domain in the x-direction boxY the side length of the periodic domain in the y-direction |
After the routine is called, the class member allneighs will store a list of particle neighbors, each sorted in CW order
bool DelaunayCGAL::LocalTriangulation | ( | const vector< pair< LPoint, int > > & | V, |
vector< int > & | neighs | ||
) |
given a similar vector of points, calculate the neighbors of the first point in a non-periodic domain.
V | a vector of pairs (Delaunay::Lpoint, particle index) |
neighs | the desired output: a CW-ordered list of the particle indices that neighbor V[0] |