gstlearn  1.0.0
CCC
MeshManifold Class Reference

#include <MeshManifold.hpp>

Inheritance diagram for MeshManifold:
AMesh AStringable ASerializable

Public Member Functions

 MeshManifold ()
 
 MeshManifold (const MeshManifold &m)
 
MeshManifoldoperator= (const MeshManifold &m)
 
virtual ~MeshManifold ()
 
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
 
double getApexCoor (int i, int idim) const override
 
int getEmbeddedNDim () const override
 
void getEmbeddedCoorPerMesh (int imesh, int ic, VectorDouble &coords) const override
 
void getEmbeddedCoorPerApex (int iapex, VectorDouble &coords) const override
 
cs * getMeshToDb (const Db *db, int rankZ=-1, bool verbose=false) const override
 
int getVariety () const
 
VectorVectorInt getMeshes () const
 
double getMeshSize (int imesh) const
 TODO : getMeshSize. More...
 
- Public Member Functions inherited from AMesh
 AMesh ()
 
 AMesh (const AMesh &m)
 
AMeshoperator= (const AMesh &m)
 
virtual ~AMesh ()
 
virtual int getNApexPerMesh () const
 Interface for AMesh. More...
 
virtual void getCoordinatesInPlace (int imesh, int rank, VectorDouble &coords) const
 
virtual void getApexCoordinatesInPlace (int i, 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)
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 
- Public Member Functions inherited from ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (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 MeshManifoldcreateFromNF (const String &neutralFilename, bool verbose=true)
 
- Static Public Member Functions inherited from ASerializable
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 StringgetContainerName ()
 
static const StringgetPrefixName ()
 
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
 
- Protected Member Functions inherited from AMesh
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)
 
- Protected Member Functions inherited from ASerializable
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

virtual int _deserialize (std::istream &is, bool verbose=false) override
 Interface for ASerializable. More...
 
virtual int _serialize (std::ostream &os, bool verbose=false) const override
 
void _defineBoundingBox ()
 
int _recopy (const MeshManifold &m)
 

Private Attributes

MatrixRectangular _apices
 
MatrixInt _meshes
 

Additional Inherited Members

- Static Protected Member Functions inherited from ASerializable
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)
 

Detailed Description

Meshing defined in 3D for a 2D manifold

Constructor & Destructor Documentation

◆ MeshManifold() [1/2]

MeshManifold::MeshManifold ( )

◆ MeshManifold() [2/2]

MeshManifold::MeshManifold ( const MeshManifold m)

◆ ~MeshManifold()

MeshManifold::~MeshManifold ( )
virtual

Member Function Documentation

◆ _defineBoundingBox()

void MeshManifold::_defineBoundingBox ( void  )
private

◆ _deserialize() [1/2]

int MeshManifold::_deserialize ( std::istream &  is,
bool  verbose = false 
)
inlineoverrideprotectedvirtual

Interface for ASerializable.

Reimplemented from AMesh.

◆ _deserialize() [2/2]

virtual int MeshManifold::_deserialize ( std::istream &  is,
bool  verbose = false 
)
overrideprivatevirtual

Interface for ASerializable.

Reimplemented from AMesh.

◆ _getNFName()

String MeshManifold::_getNFName ( ) const
inlineoverrideprotectedvirtual

Reimplemented from AMesh.

◆ _recopy()

int MeshManifold::_recopy ( const MeshManifold m)
private

◆ _serialize() [1/2]

int MeshManifold::_serialize ( std::ostream &  os,
bool  verbose = false 
) const
inlineoverrideprotectedvirtual

Reimplemented from AMesh.

◆ _serialize() [2/2]

virtual int MeshManifold::_serialize ( std::ostream &  os,
bool  verbose = false 
) const
overrideprivatevirtual

Reimplemented from AMesh.

◆ createFromNF()

MeshManifold * MeshManifold::createFromNF ( const String neutralFilename,
bool  verbose = true 
)
static

Create a MeshManifold by loading the contents of a Neutral File

Parameters
neutralFilenameName of the Neutral File (MeshEStandard format)
verboseVerbose

◆ getApex()

int MeshManifold::getApex ( int  imesh,
int  rank 
) const
overridevirtual

Returns the rank of the Apex 'rank' of the Mesh 'imesh'

Returns
The rank of the target apex
Parameters
[in]imeshRank of the Mesh (from 0 to _nMeshes-1))
[in]rankRank of the Apex within a Mesh (from 0 to _nApices-1)

Implements AMesh.

◆ getApexCoor()

double MeshManifold::getApexCoor ( int  i,
int  idim 
) const
overridevirtual

Returns coordinate 'idim' of apex 'i'

Implements AMesh.

◆ getCoor()

double MeshManifold::getCoor ( int  imesh,
int  rank,
int  idim 
) const
overridevirtual

Returns the coordinate 'ic' of the Apex 'rank' of the Mesh 'imesh'

Returns
The coordinate of the target apex
Parameters
[in]imeshRank of the Mesh (from 0 to _nMeshes-1))
[in]rankRank of the Apex within a Mesh (from 0 to _nApices-1)
[in]idimRank of the coordinate (from 0 to _ndimh-1)

Implements AMesh.

◆ getEmbeddedCoorPerApex()

void MeshManifold::getEmbeddedCoorPerApex ( int  iapex,
VectorDouble coords 
) const
overridevirtual

Fill the coordinates of an apex in embedded space

Parameters
iapexApex index
coordsArray of coordinates

Reimplemented from AMesh.

◆ getEmbeddedCoorPerMesh()

void MeshManifold::getEmbeddedCoorPerMesh ( int  imesh,
int  ic,
VectorDouble coords 
) const
overridevirtual

Fill the coordinates of a corner of a mesh in embedded space

Parameters
imeshMesh rank
icCorner index
coordsArray of coordinates

Reimplemented from AMesh.

◆ getEmbeddedNDim()

int MeshManifold::getEmbeddedNDim ( ) const
inlineoverridevirtual

Reimplemented from AMesh.

◆ getMeshes()

VectorVectorInt MeshManifold::getMeshes ( ) const
inline

◆ getMeshSize()

double MeshManifold::getMeshSize ( int  imesh) const
inlinevirtual

TODO : getMeshSize.

Implements AMesh.

◆ getMeshToDb()

cs * MeshManifold::getMeshToDb ( const Db db,
int  rankZ = -1,
bool  verbose = false 
) const
overridevirtual

Returns the Sparse Matrix for projecting a Mesh to a Db

TODO getMeshToDb

Implements AMesh.

◆ getNApices()

int MeshManifold::getNApices ( ) const
overridevirtual

Interface to AMesh.

Returns the number of Apices

Returns
Number of apices

Implements AMesh.

◆ getNMeshes()

int MeshManifold::getNMeshes ( ) const
overridevirtual

Returns the number of Meshes

Returns
Number of meshes

Implements AMesh.

◆ getVariety()

int MeshManifold::getVariety ( ) const
inlinevirtual

Returns the space variety

Reimplemented from AMesh.

◆ operator=()

MeshManifold & MeshManifold::operator= ( const MeshManifold m)

◆ toString()

String MeshManifold::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Interface to AStringable.

Print the contents of the meshing

Parameters
[in]strfmtFormat for printout

Reimplemented from AMesh.

Member Data Documentation

◆ _apices

MatrixRectangular MeshManifold::_apices
private

◆ _meshes

MatrixInt MeshManifold::_meshes
private

The documentation for this class was generated from the following files: