gstlearn
1.0.0
Geostatistics & Machine Learning toolbox | https://gstlearn.org
|
#include <MeshETurbo.hpp>
Public Member Functions | |
MeshETurbo (int mode=1) | |
MeshETurbo (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &rotmat=VectorDouble(), bool flag_polarized=false, bool verbose=false, int mode=1) | |
MeshETurbo (const DbGrid *dbgrid, bool flag_polarized=false, bool verbose=false, int mode=1) | |
MeshETurbo (const MeshETurbo &m) | |
MeshETurbo & | operator= (const MeshETurbo &r) |
virtual | ~MeshETurbo () |
virtual String | toString (const AStringFormat *strfmt=nullptr) const override |
Interface to AStringable. More... | |
int | getNApices () const override |
Interface to AMesh. More... | |
int | getNMeshes () const override |
int | getApex (int imesh, int rank) const override |
double | getCoor (int imesh, int rank, int idim) const override |
void | getCoordinatesInPlace (int imesh, int rank, VectorDouble &coords) const |
double | getApexCoor (int i, int idim) const override |
void | getApexCoordinatesInPlace (int i, VectorDouble &coords) const override |
double | getMeshSize (int imesh) const override |
cs * | getMeshToDb (const Db *db, int rankZ=-1, bool verbose=false) const override |
void | setPolarized (bool flag) |
int | initFromExtend (const VectorDouble &extendmin, const VectorDouble &extendmax, const VectorDouble &cellsize, const VectorDouble &rotmat=VectorDouble(), bool flag_polarized=false, bool verbose=false) |
int | initFromGrid (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &rotmat=VectorDouble(), const VectorDouble &sel=VectorDouble(), bool flag_polarized=false, bool verbose=false) |
int | initFromCova (const CovAniso &cova, const Db *field, double ratio, int nbExt=0, bool useSel=true, bool flagNoStatRot=false, bool verbose=false) |
const Grid & | getGrid () const |
const Indirection & | getGridIndirect () const |
const Indirection & | getMeshIndirect () const |
![]() | |
AMesh () | |
AMesh (const AMesh &m) | |
AMesh & | operator= (const AMesh &m) |
virtual | ~AMesh () |
virtual int | getNApexPerMesh () const |
Interface for AMesh. More... | |
virtual int | getVariety () const |
virtual int | getEmbeddedNDim () const |
virtual void | getEmbeddedCoorPerMesh (int imesh, int ic, VectorDouble &coords) const |
virtual void | getEmbeddedCoorPerApex (int iapex, VectorDouble &coords) const |
int | getNDim () const |
double | getExtendMin (int idim) const |
double | getExtendMax (int idim) const |
VectorDouble | getExtrema (int idim) const |
void | getElements (MatrixRectangular &apices, MatrixInt &meshes) const |
int | isCompatibleDb (const Db *db) const |
VectorDouble | getMeshSizes () const |
void | printMesh (int imesh0) const |
void | printMeshes (int level=0, int nline_max=-1) const |
VectorDouble | getCoordinates (int idim) const |
VectorInt | getMeshByApexPair (int apex1, int apex2) const |
VectorDouble | getCoordinatesPerMesh (int imesh, int idim, bool flagClose=false) const |
VectorDouble | getApexCoordinates (int iapex) const |
VectorVectorDouble | getCoordinatesPerMesh (int imesh) const |
VectorVectorDouble | getEmbeddedCoordinatesPerMesh (int imesh=0) const |
void | getEmbeddedCoordinatesPerMeshInPlace (int imesh, VectorVectorDouble &coors) const |
VectorVectorDouble | getEmbeddedCoordinatesPerApex () const |
VectorDouble | getDistances (int iapex0, const VectorInt &japices=VectorInt()) |
VectorVectorDouble | getAllCoordinates () const |
MatrixRectangular | getAllApices () const |
MatrixInt | getAllMeshes () const |
double | getCenterCoordinate (int imesh, int idim) const |
VectorVectorDouble | getAllCenterCoordinates () const |
VectorVectorInt | getNeighborhoodPerMesh () const |
VectorVectorInt | getNeighborhoodPerApex () const |
void | dumpNeighborhood (std::vector< VectorInt > &Vmesh, int nline_max=1) |
![]() | |
AStringable () | |
AStringable (const AStringable &r) | |
AStringable & | operator= (const AStringable &r) |
virtual | ~AStringable () |
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
virtual void | display (int level) const final |
![]() | |
ASerializable () | |
ASerializable (const ASerializable &r) | |
ASerializable & | operator= (const ASerializable &r) |
virtual | ~ASerializable () |
bool | deserialize (std::istream &is, bool verbose=true) |
bool | serialize (std::ostream &os, bool verbose=true) const |
bool | dumpToNF (const String &neutralFilename, bool verbose=false) const |
Static Public Member Functions | |
static MeshETurbo * | create (const VectorInt &nx, const VectorDouble &dx=VectorDouble(), const VectorDouble &x0=VectorDouble(), const VectorDouble &rotmat=VectorDouble(), bool flag_polarized=false, bool verbose=false) |
static MeshETurbo * | createFromNF (const String &neutralFilename, bool verbose=true) |
static MeshETurbo * | createFromGrid (const DbGrid *dbgrid, bool flag_polarized=false, bool verbose=false, int mode=1) |
static MeshETurbo * | createFromGridInfo (const Grid *grid, bool flag_polarized=false, bool verbose=false, int mode=1) |
static MeshETurbo * | createFromCova (const CovAniso &cova, const Db *field, double ratio, int nbExt=0, bool useSel=true, bool flagNoStatRot=false, bool verbose=false) |
![]() | |
static String | buildFileName (int status, const String &filename, bool ensureDirExist=false) |
static String | getHomeDirectory (const String &sub="") |
static String | getWorkingDirectory () |
static String | getTestData (const String &subdir, const String &filename) |
static String | getFileIdentity (const String &filename, bool verbose=false) |
static void | setContainerName (bool useDefault, const String &containerName="", bool verbose=false) |
static void | unsetContainerName () |
static void | setPrefixName (const String &prefixName) |
static void | unsetPrefixName () |
static const String & | getContainerName () |
static const String & | getPrefixName () |
static bool | createDirectory (const String &dir) |
static String | getExecDirectory () |
static String | getDirectory (const String &path) |
Protected Member Functions | |
virtual bool | _deserialize (std::istream &is, bool verbose=false) override |
Interface for ASerializable. More... | |
virtual bool | _serialize (std::ostream &os, bool verbose=false) const override |
String | _getNFName () const override |
![]() | |
void | _setNDim (int ndim) |
int | _setExtend (const VectorDouble extendmin, const VectorDouble extendmax) |
bool | _weightsInMesh (const VectorDouble &coor, const VectorVectorDouble &corners, double meshsize, VectorDouble &weights, double eps=EPSILON5) const |
double | _getMeshUnit (const VectorVectorDouble &corners) const |
void | _recopy (const AMesh &m) |
![]() | |
bool | _fileOpenWrite (const String &filename, std::ofstream &os, bool verbose=false) const |
bool | _fileOpenRead (const String &filename, std::ifstream &is, bool verbose=false) const |
Private Member Functions | |
int | _defineGrid (const VectorDouble &cellsize) |
void | _setNumberElementPerCell () |
int | _getPolarized (VectorInt indg) const |
int | _addWeights (int icas, const VectorInt &indg0, const VectorDouble &coor, VectorInt &indices, VectorDouble &lambda, bool verbose=false) const |
void | _deallocate () |
void | _getGridFromMesh (int imesh, int *node, int *icas) const |
void | _buildMaskInMeshing (const VectorDouble &sel) |
int | _nmeshInCompleteGrid () const |
bool | _addElementToCS (cs *ATriplet, int iech, const VectorDouble &coor, const VectorInt &indg0, bool verbose) const |
Private Attributes | |
Grid | _grid |
int | _nPerCell |
bool | _isPolarized |
Indirection | _meshIndirect |
Indirection | _gridIndirect |
Additional Inherited Members | |
![]() | |
static bool | _commentWrite (std::ostream &os, const String &comment) |
template<typename T > | |
static bool | _recordWrite (std::ostream &os, const String &title, const T &val) |
template<typename T > | |
static bool | _recordWriteVec (std::ostream &os, const String &title, const VectorT< T > &vec) |
template<typename T > | |
static bool | _recordRead (std::istream &is, const String &title, T &val) |
template<typename T > | |
static bool | _recordReadVec (std::istream &is, const String &title, VectorT< T > &vec, int nvalues) |
static bool | _onlyBlanks (char *string) |
static bool | _tableRead (std::istream &is, const String &string, int ntab, double *tab) |
static bool | _tableWrite (std::ostream &os, const String &string, int ntab, const VectorDouble &tab) |
Meshing defined as a Turbo based on a Regular Grid It actually avoids storing all the meshing information and produces quicker methods
MeshETurbo::MeshETurbo | ( | int | mode = 1 | ) |
MeshETurbo::MeshETurbo | ( | const VectorInt & | nx, |
const VectorDouble & | dx = VectorDouble() , |
||
const VectorDouble & | x0 = VectorDouble() , |
||
const VectorDouble & | rotmat = VectorDouble() , |
||
bool | flag_polarized = false , |
||
bool | verbose = false , |
||
int | mode = 1 |
||
) |
MeshETurbo::MeshETurbo | ( | const DbGrid * | dbgrid, |
bool | flag_polarized = false , |
||
bool | verbose = false , |
||
int | mode = 1 |
||
) |
MeshETurbo::MeshETurbo | ( | const MeshETurbo & | m | ) |
|
virtual |
|
private |
|
private |
Return the weights assigned to the corners
icas | Corner indication |
indg0 | Indices of the starting grid node |
coor | Coordinates of the targte point |
indices | Grid indices of the target (in active ranks) |
lambda | Weights |
verbose | Verbose flag |
|
private |
|
private |
|
private |
Define the internal grid
[in] | cellsize | Array giving the cell size (see details) |
|
overrideprotectedvirtual |
Interface for ASerializable.
Reimplemented from AMesh.
|
private |
Returns the (starting) grid node, given the absolute rank of the mesh
imesh | Absolute Rank of the mesh |
node | Starting grid node |
icas | Sorting used for reviewing grid meshes (takes polarization into account) |
|
private |
|
private |
Returns the total number of possible meshes built using the whole grid (not accounting for possible mask on triangles)
|
overrideprotectedvirtual |
Reimplemented from AMesh.
|
private |
|
static |
|
static |
|
static |
|
static |
|
static |
Create a MeshETurbo by loading the contents of a Neutral File
neutralFilename | Name of the Neutral File (MeshEStandard format) |
verbose | Verbose |
|
overridevirtual |
Returns the Apex 'rank' of the Mesh 'imesh'
[in] | imesh | Rank of active Mesh (starting from 0) |
[in] | rank | Rank of Apex within a Mesh (from 0 to _nApexPerMesh-1) |
Implements AMesh.
|
overridevirtual |
Returns coordinate 'idim' of apex 'i'
Implements AMesh.
|
overridevirtual |
Returns coordinates of apex 'i'
Reimplemented from AMesh.
|
overridevirtual |
Returns coordinate 'idim' of apex 'rank' of mesh 'imesh'
Implements AMesh.
|
virtual |
Returns coordinate 'idim' of apex 'rank' of mesh 'imesh'
Reimplemented from AMesh.
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Returns the mesh size
Implements AMesh.
|
overridevirtual |
Returns the Sparse Matrix used to project a Db onto the Meshing
[in] | db | Db structure |
[in] | rankZ | Rank of the Z-locator to be tested (see remarks) |
[in] | verbose | Verbose flag |
Implements AMesh.
|
overridevirtual |
|
overridevirtual |
int MeshETurbo::initFromCova | ( | const CovAniso & | cova, |
const Db * | field, | ||
double | ratio, | ||
int | nbExt = 0 , |
||
bool | useSel = true , |
||
bool | flagNoStatRot = false , |
||
bool | verbose = false |
||
) |
int MeshETurbo::initFromExtend | ( | const VectorDouble & | extendmin, |
const VectorDouble & | extendmax, | ||
const VectorDouble & | cellsize, | ||
const VectorDouble & | rotmat = VectorDouble() , |
||
bool | flag_polarized = false , |
||
bool | verbose = false |
||
) |
Create the meshing
int MeshETurbo::initFromGrid | ( | const VectorInt & | nx, |
const VectorDouble & | dx = VectorDouble() , |
||
const VectorDouble & | x0 = VectorDouble() , |
||
const VectorDouble & | rotmat = VectorDouble() , |
||
const VectorDouble & | sel = VectorDouble() , |
||
bool | flag_polarized = false , |
||
bool | verbose = false |
||
) |
MeshETurbo & MeshETurbo::operator= | ( | const MeshETurbo & | r | ) |
|
inline |
|
overridevirtual |
Interface to AStringable.
Print the contents of the meshing
[in] | strfmt | Format for printout |
Reimplemented from AMesh.
|
private |
|
private |
|
private |
|
private |
|
private |