4 vector<Vector2D>
RoundGrid(vector<Vector2D>
const& points,
11 vector<int> indeces =
HilbertOrder(points, static_cast<int>(points.size()));
12 vector<Vector2D> res(points);
21 tess->Initialise(points,*tproc,bc);
23 tess->Initialise(points,bc);
25 double pi= 3.141592653;
26 double eta_=0.02,chi_=1;
27 int N=tess->GetPointNo();
31 res[static_cast<size_t>(i)]=tess->GetMeshPoint(i);
33 for(
int j=0;j<NumberIt;++j)
37 res=tess->GetMeshPoints();
38 res.resize(static_cast<size_t>(N));
42 double R = sqrt(tess->GetVolume(i)/pi);
51 res[
static_cast<size_t>(i)]=tess->GetMeshPoint(i)+dw;
57 tess->Update(res,*tproc);
64 res=tess->GetMeshPoints();
65 res.resize(static_cast<size_t>(N));
Voronoi tessellation class.
vector< T > VectorValues(vector< T > const &v, vector< int > const &index)
Returns only the values with indeces in index.
Abstract class for tessellation.
Makes the initial cells rounder.
vector< Vector2D > RoundGrid(vector< Vector2D > const &points, OuterBoundary const *bc, int NumberIt=10, Tessellation const *tproc=0, Tessellation *tess=0)
Makes the cells rounder.
Hilbert space filling curve.
void Initialise(vector< Vector2D > const &points, Tessellation const &vproc, OuterBoundary const *outer, bool reorder=true)
Initialise the tessellation.
vector< int > HilbertOrder(vector< Vector2D > const &cor, int num, int innernum=0)
Returns the Hilber curve ordering.
double abs(Vector3D const &v)
Norm of a vector.
Abstract class for geometric boundary conditions for the tessellation.