12#ifndef __IMeshWrapper_H
13#define __IMeshWrapper_H
16#include "Gedim_Macro.hpp"
961 virtual std::vector<std::vector<unsigned int>>
Cell3DsEdges()
const = 0;
963 virtual std::vector<std::vector<unsigned int>>
Cell3DsFaces()
const = 0;
1077 template <
typename T>
void AlignSparseMatrixHigherElements(Eigen::SparseMatrix<T> &
matrix,
const T &
minElement);
1084 template <
class Container,
class T>
1085 void AlignMapContainerHigherElements(std::unordered_map<unsigned int, Container> &
elements,
1094 template <
class Container,
class T>
1101 template <
class Container,
class T>
1104 template <
typename T>
1105 void InitializeNuberVectorWithConstantElements(std::vector<unsigned int> &
numberElementVector,
1110 template <
typename T>
1116 template <
typename T>
1117 void ResizeNumberVectorWithNewNumberElements(std::vector<unsigned int> &
numberElementVector,
1274 std::numeric_limits<unsigned int>::max();
1324 std::numeric_limits<unsigned int>::max();
1373 std::numeric_limits<unsigned int>::max();
1547 std::numeric_limits<unsigned int>::max();
1645 std::numeric_limits<unsigned int>::max();
1897 std::numeric_limits<unsigned int>::max();
2095 std::vector<std::vector<unsigned int>>
Cell3DsEdges()
const;
2096 std::vector<std::vector<unsigned int>>
Cell3DsFaces()
const;
Eigen column vector.
Definition Eigen_Array.hpp:23
The IMeshDAO (mesh data access object) class to read and write mesh data.
Definition IMeshDAO.hpp:24
virtual void Cell2DInitializeSubDivision(const unsigned int &cell2DIndex, const unsigned int &numberSubDivision)=0
Initialize the Cell2D subdivision number.
virtual bool Cell0DIsActive(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell3DTotalNumber() const =0
virtual void Cell2DsInitializeSubDivision(const std::vector< unsigned int > &numberSubDivisions)=0
Initialize the Cell2D subdivision number for each Cell2D.
virtual std::vector< bool > Cell0DsState() const =0
virtual unsigned int Cell1DVertex(const unsigned int &cell1DIndex, const unsigned int &vertexIndex) const =0
virtual Eigen::Vector3d Cell3DVertexCoordinates(const unsigned int &cell3DIndex, const unsigned int &vertexIndex) const =0
virtual unsigned int Cell2DNumberSubDivision(const unsigned int &cell2DIndex) const =0
virtual void Cell1DInsertDoublePropertyValue(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)=0
Insert the Cell1Ds double property value at position.
virtual void Cell0DInitializeNeighbourCell1Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell1Ds)=0
Initialize the Cell0D Cell1D neighbours number.
virtual unsigned int Cell2DAddDoubleProperty(const std::string &propertyId)=0
Add the Cell2Ds double property identified by id.
virtual Eigen::MatrixXi Cell1DsExtremes(const std::vector< unsigned int > &cell1Ds) const =0
virtual std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell1Ds() const =0
virtual void Cell0DInsertCoordinates(const unsigned int &cell0DIndex, const Eigen::Vector3d &coordinates)=0
Add the Cell0D Coordinates.
virtual Eigen::Vector3d Cell0DCoordinates(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell1DNumberDoubleProperties() const =0
virtual void Cell3DsInitialize(const unsigned int &numberCell3Ds)=0
Initialize the Cell3Ds container.
virtual void Cell1DInsertUpdatedCell1D(const unsigned int &cell1DIndex, const unsigned int &updatedCell1DIdex)=0
Add the new Cell1D to an existing Cell1D.
virtual std::vector< bool > Cell1DsState() const =0
virtual void Cell0DInsertNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell2DIndex)=0
Insert the Cell0D Cell2D neighbour.
virtual unsigned int Cell2DNumberUpdatedCell2Ds(const unsigned int &cell2DIndex) const =0
virtual void Cell2DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &porpertySizes)=0
Initialize the Cell2Ds double property sizes.
virtual void Cell0DResetNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell0D Cell1D neighbour to empty value (Cell0DHasNeighbourCell1D is false)
virtual void Cell1DSetMarker(const unsigned int &cell1DIndex, const unsigned int &marker)=0
Set the Cell1D Marker.
virtual unsigned int Cell0DNumberNeighbourCell1D(const unsigned int &cell0DIndex) const =0
virtual void Cell3DsInitializeVertices(const std::vector< unsigned int > &numberCell3DsVertices)=0
Initialize the Cell3Ds vertices number.
virtual unsigned int Cell0DNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual unsigned int Cell0DTotalNumber() const =0
virtual bool Cell1DUpdatedCell1Ds(const unsigned int &cell1DIndex, std::list< unsigned int > &updatedCell1DIds) const =0
return the updated Cell1D Ids for cell1DIndex
virtual void Cell2DInsertUpdatedCell2D(const unsigned int &cell2DIndex, const unsigned int &updatedCell2DIdex)=0
Add the new Cell2D to an existing Cell2D.
virtual std::vector< std::vector< unsigned int > > Cell1DsNeighbourCell2Ds() const =0
virtual void Cell2DInsertVertex(const unsigned int &cell2DIndex, const unsigned int &vertexIndex, const unsigned int &vertexCell0DIndex)=0
Insert the Cell2D vertex.
virtual std::vector< unsigned int > Cell1DNeighbourCell2Ds(const unsigned int &cell1DIndex) const =0
virtual std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell3Ds() const =0
virtual std::vector< unsigned int > Cell0DNeighbourCell1Ds(const unsigned int &cell0DIndex) const =0
virtual void Cell0DInsertUpdatedCell0D(const unsigned int &cell0DIndex, const unsigned int &updatedCell0DIdex)=0
Add the new Cell0D to an existing Cell0D.
virtual unsigned int Cell0DNumberNeighbourCell2D(const unsigned int &cell0DIndex) const =0
virtual void Cell3DInitializeDoublePropertyValues(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &porpertySize)=0
Initialize the Cell3Ds double property size.
virtual std::string ToString()=0
virtual bool Cell0DDoublePropertyExists(const std::string &propertyId) const =0
virtual void Cell1DsInitialize(const unsigned int &numberCell1Ds)=0
Initialize the Cell1Ds container.
virtual bool Cell2DHasUpdatedCell2Ds(const unsigned int &cell2DIndex) const =0
virtual void Compress()=0
Compact the mesh to save memory.
virtual unsigned int Cell1DFindExtreme(const unsigned int &cell1DIndex, const unsigned int &cell0DIndex) const =0
virtual void Cell2DInsertVertices(const unsigned int &cell2DIndex, const std::vector< unsigned int > &verticesCell0DIndices)=0
Insert the Cell2D vertex.
virtual bool Cell0DHasNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual void Cell3DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)=0
Initialize the Cell3Ds double properties.
virtual void Cell3DSetMarker(const unsigned int &cell3DIndex, const unsigned int &marker)=0
Set the Cell1D Marker.
virtual unsigned int Cell1DNumberNeighbourCell2D(const unsigned int &cell1DIndex) const =0
virtual bool Cell0DHasNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual void Cell3DInitializeEdges(const unsigned int &cell3DIndex, const unsigned int &numberCell3DEdges)=0
Initialize the Cell3D edges number.
virtual std::vector< std::vector< unsigned int > > Cell1DsNeighbourCell3Ds() const =0
virtual void Cell1DResetNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell1D Cell3D neighbour to empty value (Cell1DHasNeighbourCell3D is false)
virtual void Cell3DInsertVertex(const unsigned int &cell3DIndex, const unsigned int &vertexIndex, const unsigned int &vertexCell0DIndex)=0
Insert the Cell3D vertex.
virtual bool Cell3DHasOriginalCell3D(const unsigned int &updatedCell3DIndex) const =0
virtual unsigned int Cell3DOriginalCell3D(const unsigned int &updatedCell3DIndex) const =0
virtual void Cell1DsInitializeNeighbourCell2Ds(const std::vector< unsigned int > &numbersNeighbourCell2Ds)=0
Initialize the Cell1Ds Cell2D neighbours number.
virtual std::vector< std::vector< unsigned int > > Cell3DsVertices() const =0
virtual void Cell1DRemove(const unsigned int &cell1DIndex)=0
Remove the Cell1D from the mesh.
virtual void Cell0DInitializeNeighbourCell3Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell3Ds)=0
Initialize the Cell0D Cell3D neighbours number.
virtual void Cell2DsInitializeVertices(const std::vector< unsigned int > &numberCell2DsVertices)=0
Initialize the Cell2Ds vertices number.
virtual unsigned int Cell1DAppend(const unsigned int &numberCell1Ds)=0
Append Cell1Ds to the Cell1Ds container.
virtual void Cell3DInsertEdges(const unsigned int &cell3DIndex, const std::vector< unsigned int > &edgesCell1DIndices)=0
Insert the Cell3D edges.
virtual bool Cell2DHasNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex) const =0
virtual unsigned int Cell3DNumberUpdatedCell3Ds(const unsigned int &cell3DIndex) const =0
virtual void Cell1DSetState(const unsigned int &cell1DIndex, const bool &state)=0
Set the Cell1D state.
virtual void Cell1DInitializeNeighbourCell3Ds(const unsigned int &cell1DIndex, const unsigned int &numberNeighbourCell3Ds)=0
Initialize the Cell1D Cell3D neighbours number.
virtual std::vector< unsigned int > Cell2DsMarker() const =0
virtual unsigned int Cell2DVertex(const unsigned int &cell2DIndex, const unsigned int &vertexIndex) const =0
virtual std::vector< std::vector< std::vector< unsigned int > > > Cell3DsFacesVertices() const =0
virtual void Cell2DInitializeNeighbourCell3Ds(const unsigned int &cell2DIndex, const std::vector< unsigned int > &neighbourCell3Ds)=0
virtual std::vector< std::vector< unsigned int > > Cell3DsFaces() const =0
virtual void Cell0DInsertNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell1DIndex)=0
Insert the Cell0D Cell1D neighbour.
virtual unsigned int Cell3DNumberFaces(const unsigned int &cell3DIndex) const =0
virtual double Cell0DCoordinateX(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell0DNumberNeighbourCell3D(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell1DAddDoubleProperty(const std::string &propertyId)=0
Add the Cell1Ds double property identified by id.
virtual std::vector< unsigned int > Cell3DVertices(const unsigned int &cell3DIndex) const =0
virtual void Cell2DsInitializeVertices(const unsigned int &numberCell2DVertices)=0
Initialize the Cell2Ds vertices number.
virtual void Cell0DInitializeNeighbourCell1Ds(const unsigned int &cell0DIndex, const std::vector< unsigned int > &neighbourCell1Ds)=0
virtual unsigned int Cell2DNumberVertices(const unsigned int &cell2DIndex) const =0
virtual Eigen::MatrixXi Cell1DsExtremes() const =0
virtual void Cell2DAddEdges(const unsigned int &cell2DIndex, const std::vector< unsigned int > &edgesCell1DIndices)=0
Add the Cell2D edges.
virtual bool Cell2DHasUpdatedCell2D(const unsigned int &cell2DIndex, const unsigned int &updatedCell2DIndex) const =0
virtual void Cell0DInitializeNeighbourCell2Ds(const unsigned int &cell0DIndex, const std::vector< unsigned int > &neighbourCell2Ds)=0
virtual std::vector< std::vector< unsigned int > > Cell3DsEdges() const =0
virtual unsigned int Cell2DNumberNeighbourCell3D(const unsigned int &cell2DIndex) const =0
virtual void Cell2DInsertDoublePropertyValue(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)=0
Insert the Cell2Ds double property value at position.
virtual unsigned int Cell3DEdge(const unsigned int &cell3DIndex, const unsigned int &edgeIndex) const =0
virtual double Cell0DCoordinateZ(const unsigned int &cell0DIndex) const =0
virtual double Cell1DDoublePropertyValue(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const =0
virtual unsigned int Cell2DDoublePropertyIndex(const std::string &propertyId) const =0
virtual unsigned int Cell1DDoublePropertySize(const unsigned int &cell1DIndex, const unsigned int &propertyIndex) const =0
virtual unsigned int Cell2DFindVertex(const unsigned int &cell2DIndex, const unsigned int &cell0DIndex) const =0
virtual bool Cell2DUpdatedCell2Ds(const unsigned int &cell2DIndex, std::list< unsigned int > &updatedCell2DIds) const =0
return the updated Cell2D Ids for cell2DIndex
virtual Eigen::MatrixXd Cell3DVerticesCoordinates(const unsigned int &cell3DIndex) const =0
virtual unsigned int Cell1DEnd(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell3DNumberDoubleProperties() const =0
virtual unsigned int Cell3DAppend(const unsigned int &numberCell3Ds)=0
Append Cell3Ds to the Cell3Ds container.
virtual void Cell2DSetMarker(const unsigned int &cell2DIndex, const unsigned int &marker)=0
Set the Cell2D Marker.
virtual bool Cell1DHasUpdatedCell1Ds(const unsigned int &cell1DIndex) const =0
virtual void Cell1DInsertNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell2DIndex)=0
Insert the Cell1D Cell2D neighbour.
virtual unsigned int Cell1DNumberNeighbourCell3D(const unsigned int &cell1DIndex) const =0
virtual std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell2Ds() const =0
virtual void Cell3DSetState(const unsigned int &cell3DIndex, const bool &state)=0
Set the Cell3D state.
virtual unsigned int Cell2DNumberEdges(const unsigned int &cell2DIndex) const =0
virtual void Cell2DsInitialize(const unsigned int &numberCell2Ds)=0
Initialize the Cell2Ds container.
virtual void Cell3DInsertUpdatedCell3D(const unsigned int &cell3DIndex, const unsigned int &updatedCell3DIdex)=0
Add the new Cell3D to an existing Cell3D.
virtual void Cell1DInitializeNeighbourCell3Ds(const unsigned int &cell1DIndex, const std::vector< unsigned int > &neighbourCell3Ds)=0
virtual void Cell0DResetNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell0D Cell3D neighbour to empty value (Cell0DHasNeighbourCell3D is false)
virtual unsigned int Cell2DFindEdge(const unsigned int &cell2DIndex, const unsigned int &cell1DIndex) const =0
virtual void Cell0DSetState(const unsigned int &cell0DIndex, const bool &state)=0
Set the Cell0D state.
virtual void Cell0DsInitializeNeighbourCell2Ds(const std::vector< unsigned int > &numbersNeighbourCell2Ds)=0
Initialize the Cell0Ds Cell2D neighbours number.
virtual void Cell0DRemove(const unsigned int &cell0DIndex)=0
Remove the Cell0D from the mesh.
virtual void Cell2DInsertEdge(const unsigned int &cell2DIndex, const unsigned int &edgeIndex, const unsigned int &edgeCell1DIndex)=0
Insert the Cell2D edge.
virtual void Cell2DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)=0
Initialize the Cell2Ds double properties.
virtual void Cell3DInitializeFaces(const unsigned int &cell3DIndex, const unsigned int &numberCell3DFaces)=0
Initialize the Cell3D faces number.
virtual void Cell3DInsertEdge(const unsigned int &cell3DIndex, const unsigned int &edgeIndex, const unsigned int &edgeCell1DIndex)=0
Insert the Cell3D edge.
virtual void Cell0DInsertDoublePropertyValue(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)=0
Insert the Cell0Ds double property value at position.
virtual unsigned int Cell1DMarker(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell3DFindEdge(const unsigned int &cell3DIndex, const unsigned int &cell1DIndex) const =0
virtual void Cell2DsInitializeEdges(const unsigned int &numberCell2DEdges)=0
Initialize the Cell2Ds edges number.
virtual unsigned int Cell3DFace(const unsigned int &cell3DIndex, const unsigned int &faceIndex) const =0
virtual Eigen::MatrixXd Cell2DVerticesCoordinates(const unsigned int &cell2DIndex) const =0
virtual void Cell2DInitializeEdges(const unsigned int &cell2DIndex, const unsigned int &numberCell2DEdges)=0
Initialize the Cell2D edges number.
virtual std::string Cell1DDoublePropertyId(const unsigned int &propertyIndex) const =0
virtual unsigned int Cell3DDoublePropertySize(const unsigned int &cell3DIndex, const unsigned int &propertyIndex) const =0
virtual void Cell2DAddVertices(const unsigned int &cell2DIndex, const std::vector< unsigned int > &verticesCell0DIndices)=0
Add the Cell2D vertices.
virtual void Cell0DInitializeNeighbourCell3Ds(const unsigned int &cell0DIndex, const std::vector< unsigned int > &neighbourCell3Ds)=0
virtual std::vector< bool > Cell3DsState() const =0
virtual std::vector< unsigned int > Cell2DNeighbourCell3Ds(const unsigned int &cell2DIndex) const =0
virtual unsigned int Cell1DNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const =0
virtual bool Cell1DHasUpdatedCell1D(const unsigned int &cell1DIndex, const unsigned int &updatedCell1DIdex) const =0
virtual std::vector< bool > Cell2DsState() const =0
virtual bool Cell3DHasUpdatedCell3Ds(const unsigned int &cell3DIndex) const =0
virtual Eigen::Vector3d Cell1DEndCoordinates(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell2DSubDivisionCell0D(const unsigned int &cell2DIndex, const unsigned int &subDivisionIndex) const =0
virtual void Cell3DInsertFaces(const unsigned int &cell3DIndex, const std::vector< unsigned int > &facesCell2DIndices)=0
Insert the Cell3D faces.
virtual std::vector< unsigned int > Cell0DNeighbourCell3Ds(const unsigned int &cell0DIndex) const =0
virtual void InitializeDimension(const unsigned int &dimension)=0
Initialize the mesh dimension.
virtual unsigned int Cell1DTotalNumber() const =0
virtual void Cell2DInsertNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)=0
Insert the Cell2D Cell3D neighbour.
virtual void Cell0DsInitialize(const unsigned int &numberCell0Ds)=0
Initialize the Cell0Ds container.
virtual void Cell2DInsertSubDivision(const unsigned int &cell2DIndex, const unsigned int &subDivisionIndex, const unsigned int &cell2DVertexIndex)=0
Insert the subDivision vertex index.
virtual void Cell1DInsertNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)=0
Insert the Cell1D Cell3D neighbour.
virtual unsigned int Cell3DNumberVertices(const unsigned int &cell3DIndex) const =0
virtual void Cell2DInitializeNeighbourCell3Ds(const unsigned int &cell2DIndex, const unsigned int &numberNeighbourCell3Ds)=0
Initialize the Cell2D Cell3D neighbours number.
virtual void Cell0DSetMarker(const unsigned int &cell0DIndex, const unsigned int &marker)=0
Set the Cell0D Marker.
virtual unsigned int Cell0DDoublePropertySize(const unsigned int &cell0DIndex, const unsigned int &propertyIndex) const =0
virtual bool Cell1DIsActive(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell3DFindEdgeByExtremes(const unsigned int &cell3DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const =0
virtual std::vector< unsigned int > Cell2DVertices(const unsigned int &cell2DIndex) const =0
virtual bool Cell3DHasUpdatedCell3D(const unsigned int &cell3DIndex, const unsigned int &updatedCell3DIdex) const =0
virtual void Cell1DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numbersNeighbourCell3Ds)=0
Initialize the Cell1Ds Cell3D neighbours number.
virtual unsigned int Cell0DNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual std::vector< unsigned int > Cell1DNeighbourCell3Ds(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell3DVertex(const unsigned int &cell3DIndex, const unsigned int &vertexIndex) const =0
virtual void Cell1DsInsertExtremes(const Eigen::MatrixXi &cell1DExtremes)=0
Set the Cell1D Extremes for the whole mesh edges.
virtual void Cell2DRemove(const unsigned int &cell2DIndex)=0
Remove the Cell2D from the mesh.
virtual ~IMeshDAO()
Definition IMeshDAO.hpp:26
virtual unsigned int Cell1DOrigin(const unsigned int &cell1DIndex) const =0
virtual void Cell1DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)=0
Initialize the Cell1Ds double properties.
virtual void Cell2DResetNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell2D Cell3D neighbour to empty value (Cell2DHasNeighbourCell3D is false)
virtual unsigned int Cell3DFindVertex(const unsigned int &cell3DIndex, const unsigned int &cell0DIndex) const =0
virtual bool Cell3DUpdatedCell3Ds(const unsigned int &cell3DIndex, std::list< unsigned int > &updatedCell3DIds) const =0
return the updated Cell3D Ids for cell3DIndex
virtual void Cell2DsInitializeEdges(const std::vector< unsigned int > &numberCell2DsEdges)=0
Initialize the Cell2Ds edges number.
virtual void Cell0DInsertNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)=0
Insert the Cell0D Cell3D neighbour.
virtual unsigned int Cell0DMarker(const unsigned int &cell0DIndex) const =0
virtual void Cell3DAddVertices(const unsigned int &cell3DIndex, const std::vector< unsigned int > &verticesCell0DIndices)=0
Add the Cell3D vertices.
virtual Eigen::MatrixXd Cell0DsCoordinates(const std::vector< unsigned int > &cell0Ds) const =0
virtual double Cell0DDoublePropertyValue(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const =0
virtual unsigned int Cell2DFindEdgeByExtremes(const unsigned int &cell2DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const =0
virtual void Cell1DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &porpertySizes)=0
Initialize the Cell1Ds double property sizes.
virtual std::vector< unsigned int > Cell1DsMarker() const =0
virtual void Cell0DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numbersNeighbourCell3Ds)=0
Initialize the Cell0Ds Cell3D neighbours number.
virtual void Cell0DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &porpertySizes)=0
Initialize the Cell0Ds double property sizes.
virtual Eigen::Vector3d Cell1DOriginCoordinates(const unsigned int &cell1DIndex) const =0
virtual unsigned int Cell0DNumberUpdatedCell0Ds(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell0DAppend(const unsigned int &numberCell0Ds)=0
Append Cell0Ds to the Cell0Ds container.
virtual unsigned int Cell1DDoublePropertyIndex(const std::string &propertyId) const =0
virtual void Cell0DInitializeDoublePropertyValues(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &porpertySize)=0
Initialize the Cell0Ds double property size.
virtual bool Cell2DIsActive(const unsigned int &cell2DIndex) const =0
virtual unsigned int Cell3DAddDoubleProperty(const std::string &propertyId)=0
Add the Cell3Ds double property identified by id.
virtual std::vector< std::vector< unsigned int > > Cell2DsVertices() const =0
virtual void Cell2DAddVerticesAndEdges(const unsigned int &cell2DIndex, const Eigen::MatrixXi &verticesAndEdgesIndices)=0
Cell2D Add Vertices And Edges.
virtual unsigned int Dimension() const =0
virtual unsigned int Cell1DOriginalCell1D(const unsigned int &updatedCell1DIndex) const =0
virtual Eigen::Vector3d Cell2DVertexCoordinates(const unsigned int &cell2DIndex, const unsigned int &vertexIndex) const =0
virtual unsigned int Cell2DTotalNumber() const =0
virtual bool Cell3DDoublePropertyExists(const std::string &propertyId) const =0
virtual unsigned int Cell2DNumberDoubleProperties() const =0
virtual bool Cell1DHasNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const =0
virtual Eigen::VectorXi Cell1DExtremes(const unsigned int &cell1DIndex) const =0
virtual void Cell0DsInsertCoordinates(const Eigen::MatrixXd &coordinates)=0
Add the Cell0Ds Coordinates.
virtual bool Cell0DHasNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual bool Cell1DHasNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const =0
virtual bool Cell2DDoublePropertyExists(const std::string &propertyId) const =0
virtual std::string Cell2DDoublePropertyId(const unsigned int &propertyIndex) const =0
virtual unsigned int Cell2DEdge(const unsigned int &cell2DIndex, const unsigned int &edgeIndex) const =0
virtual std::vector< unsigned int > Cell3DsMarker() const =0
virtual Eigen::MatrixXd Cell0DsCoordinates() const =0
virtual void Cell2DInsertEdges(const unsigned int &cell2DIndex, const std::vector< unsigned int > &edgesCell1DIndices)=0
Insert the Cell2D edge.
virtual unsigned int Cell3DNumberEdges(const unsigned int &cell3DIndex) const =0
virtual bool Cell0DHasUpdatedCell0Ds(const unsigned int &cell0DIndex) const =0
virtual void Cell3DRemove(const unsigned int &cell3DIndex)=0
Remove the Cell3D from the mesh.
virtual bool Cell1DHasOriginalCell1D(const unsigned int &updatedCell1DIndex) const =0
virtual unsigned int Cell0DNumberDoubleProperties() const =0
virtual void Cell1DResetNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell1D Cell2D neighbour to empty value (Cell1DHasNeighbourCell2D is false)
virtual Eigen::MatrixXd Cell1DCoordinates(const unsigned int &cell1DIndex) const =0
virtual void Cell2DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numbersNeighbourCell3Ds)=0
Initialize the Cell2Ds Cell3D neighbours number.
virtual bool Cell2DHasOriginalCell2D(const unsigned int &updatedCell2DIndex) const =0
virtual double Cell2DDoublePropertyValue(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const =0
virtual void Cell3DAddFaces(const unsigned int &cell3DIndex, const std::vector< unsigned int > &facesCell0DIndices)=0
Add the Cell3D faces.
virtual std::vector< unsigned int > Cell3DEdges(const unsigned int &cell3DIndex) const =0
virtual unsigned int Cell0DNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const =0
virtual void Cell3DInsertDoublePropertyValue(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)=0
Insert the Cell3Ds double property value at position.
virtual void Cell1DInitializeNeighbourCell2Ds(const unsigned int &cell1DIndex, const std::vector< unsigned int > &neighbourCell2Ds)=0
virtual bool Cell0DHasUpdatedCell0D(const unsigned int &cell0DIndex, const unsigned int &updatedCell0DIdex) const =0
virtual unsigned int Cell1DNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const =0
virtual unsigned int Cell2DMarker(const unsigned int &cell2DIndex) const =0
virtual bool Cell0DUpdatedCell0Ds(const unsigned int &cell0DIndex, std::list< unsigned int > &updatedCell0DIds) const =0
return the updated Cell0D Ids for cell0DIndex
virtual void Cell0DResetNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)=0
Reset the Cell0D Cell2D neighbour to empty value (Cell0DHasNeighbourCell2D is false)
virtual void Cell3DInitializeVertices(const unsigned int &cell3DIndex, const unsigned int &numberCell3DVertices)=0
Initialize the Cell3D vertices number.
virtual void Cell0DInitializeNeighbourCell2Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell2Ds)=0
Initialize the Cell0D Cell2D neighbours number.
virtual unsigned int Cell1DNumberUpdatedCell1Ds(const unsigned int &cell1DIndex) const =0
virtual double Cell3DDoublePropertyValue(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const =0
virtual void Cell3DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &porpertySizes)=0
Initialize the Cell3Ds double property sizes.
virtual std::vector< unsigned int > Cell2DEdges(const unsigned int &cell2DIndex) const =0
virtual void Cell0DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)=0
Initialize the Cell0Ds double properties.
virtual void Cell1DInsertExtremes(const unsigned int &cell1DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex)=0
Set the Cell1D Origin and End.
virtual unsigned int Cell2DAppend(const unsigned int &numberCell2Ds)=0
Append Cell2Ds to the Cell2Ds container.
virtual unsigned int Cell3DDoublePropertyIndex(const std::string &propertyId) const =0
virtual void Cell3DAddEdges(const unsigned int &cell3DIndex, const std::vector< unsigned int > &edgesCell0DIndices)=0
Add the Cell3D edges.
virtual unsigned int Cell2DDoublePropertySize(const unsigned int &cell2DIndex, const unsigned int &propertyIndex) const =0
virtual bool Cell1DDoublePropertyExists(const std::string &propertyId) const =0
virtual unsigned int Cell3DMarker(const unsigned int &cell3DIndex) const =0
virtual void Cell1DInitializeDoublePropertyValues(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &porpertySize)=0
Initialize the Cell1Ds double property size.
virtual unsigned int Cell0DDoublePropertyIndex(const std::string &propertyId) const =0
virtual unsigned int Cell3DFindFace(const unsigned int &cell3DIndex, const unsigned int &cell2DIndex) const =0
virtual std::vector< Eigen::MatrixXi > Cell2DsExtremes() const =0
virtual std::vector< unsigned int > Cell0DNeighbourCell2Ds(const unsigned int &cell0DIndex) const =0
virtual unsigned int Cell2DOriginalCell2D(const unsigned int &updatedCell2DIndex) const =0
virtual unsigned int Cell2DNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex) const =0
virtual void Cell0DsInitializeNeighbourCell1Ds(const std::vector< unsigned int > &numbersNeighbourCell1Ds)=0
Initialize the Cell0Ds Cell1D neighbours number.
virtual unsigned int Cell1DByExtremes(const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const =0
virtual std::string Cell3DDoublePropertyId(const unsigned int &propertyIndex) const =0
virtual void Cell2DInitializeDoublePropertyValues(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &porpertySize)=0
Initialize the Cell2Ds double property size.
virtual void Cell1DsInitializeNeighbourCell2Ds(const unsigned int &numberNeighbourCell2Ds)=0
Initialize the Cell1Ds Cell2D neighbours number.
virtual std::vector< unsigned int > Cell0DsMarker() const =0
virtual void Cell3DInsertFace(const unsigned int &cell3DIndex, const unsigned int &faceIndex, const unsigned int &faceCell2DIndex)=0
Insert the Cell3D face.
virtual void Cell2DSetState(const unsigned int &cell2DIndex, const bool &state)=0
Set the Cell1D state.
virtual void Cell3DsInitializeFaces(const std::vector< unsigned int > &numberCell3DsFaces)=0
Initialize the Cell3Ds faces number.
virtual void Cell2DInitializeVertices(const unsigned int &cell2DIndex, const unsigned int &numberCell2DVertices)=0
Initialize the Cell2D vertices number.
virtual void Cell3DInsertVertices(const unsigned int &cell3DIndex, const std::vector< unsigned int > &verticesCell0DIndices)=0
Insert the Cell3D vertex.
virtual std::string Cell0DDoublePropertyId(const unsigned int &propertyIndex) const =0
virtual std::vector< std::vector< unsigned int > > Cell2DsNeighbourCell3Ds() const =0
virtual std::vector< unsigned int > Cell3DFaces(const unsigned int &cell3DIndex) const =0
virtual bool Cell3DIsActive(const unsigned int &cell3DIndex) const =0
virtual unsigned int Cell0DAddDoubleProperty(const std::string &propertyId)=0
Add the Cell0Ds double property identified by id.
virtual double Cell0DCoordinateY(const unsigned int &cell0DIndex) const =0
virtual void Cell1DInitializeNeighbourCell2Ds(const unsigned int &cell1DIndex, const unsigned int &numberNeighbourCell2Ds)=0
Initialize the Cell1D Cell2D neighbours number.
virtual void Cell3DsInitializeEdges(const std::vector< unsigned int > &numberCell3DsEdges)=0
Initialize the Cell3Ds edges number.
Definition IMeshDAO.hpp:1068
bool Cell1DDoublePropertyExists(const std::string &propertyId) const
Definition IMeshDAO.hpp:1672
std::vector< std::vector< unsigned int > > Cell2DsVertices() const
Definition MeshMatricesDAO.cpp:981
void Cell2DInitializeVertices(const unsigned int &cell2DIndex, const unsigned int &numberCell2DVertices)
Initialize the Cell2D vertices number.
Definition MeshMatricesDAO.cpp:928
std::vector< unsigned int > Cell1DsMarker() const
Definition IMeshDAO.hpp:1555
unsigned int Cell2DEdge(const unsigned int &cell2DIndex, const unsigned int &edgeIndex) const
Definition IMeshDAO.hpp:1792
unsigned int Cell0DNumberNeighbourCell1D(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1239
void Cell0DInsertCoordinates(const unsigned int &cell0DIndex, const Eigen::Vector3d &coordinates)
Add the Cell0D Coordinates.
Definition MeshMatricesDAO.cpp:255
void Cell0DsInitializeNeighbourCell1Ds(const std::vector< unsigned int > &numberNeighbourCell1Ds)
Initialize the Cell0Ds Cell1D neighbours number.
Definition MeshMatricesDAO.cpp:333
unsigned int Cell0DDoublePropertySize(const unsigned int &cell0DIndex, const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1410
void Cell2DInsertVertices(const unsigned int &cell2DIndex, const std::vector< unsigned int > &verticesCell0DIndices)
Insert the Cell2D vertex.
Definition IMeshDAO.hpp:1718
void Cell3DInitializeEdges(const unsigned int &cell3DIndex, const unsigned int &numberCell3DEdges)
Initialize the Cell3D edges number.
Definition MeshMatricesDAO.cpp:1293
std::vector< unsigned int > Cell3DFaces(const unsigned int &cell3DIndex) const
Definition MeshMatricesDAO.cpp:1474
unsigned int Cell1DDoublePropertyIndex(const std::string &propertyId) const
Definition IMeshDAO.hpp:1676
bool Cell2DIsActive(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1811
unsigned int Cell0DTotalNumber() const
Definition IMeshDAO.hpp:1163
unsigned int Cell0DNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1294
Eigen::MatrixXd Cell2DVerticesCoordinates(const unsigned int &cell2DIndex) const
Definition MeshMatricesDAO.cpp:1005
unsigned int Cell3DFindEdgeByExtremes(const unsigned int &cell3DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const
Definition MeshMatricesDAO.cpp:1356
unsigned int Cell1DDoublePropertySize(const unsigned int &cell1DIndex, const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1681
bool Cell3DHasOriginalCell3D(const unsigned int &updatedCell3DIndex) const
Definition IMeshDAO.hpp:2134
unsigned int Cell3DNumberFaces(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2057
std::vector< unsigned int > Cell3DsMarker() const
Definition IMeshDAO.hpp:2102
void Cell3DInsertUpdatedCell3D(const unsigned int &cell3DIndex, const unsigned int &updatedCell3DIdex)
Add the new Cell3D to an existing Cell3D.
Definition MeshMatricesDAO.cpp:1390
void InitializeDimension(const unsigned int &dimension)
Initialize the mesh dimension.
Definition IMeshDAO.hpp:1137
void Cell1DsInitialize(const unsigned int &numberCell1Ds)
Initialize the Cell1Ds container.
Definition MeshMatricesDAO.cpp:501
std::vector< unsigned int > Cell0DNeighbourCell2Ds(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1300
void Cell1DInitializeNeighbourCell3Ds(const unsigned int &cell1DIndex, const unsigned int &numberNeighbourCell3Ds)
Initialize the Cell1D Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:761
bool Cell0DIsActive(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1198
Eigen::MatrixXd Cell3DVerticesCoordinates(const unsigned int &cell3DIndex) const
Definition MeshMatricesDAO.cpp:1382
std::vector< unsigned int > Cell1DNeighbourCell3Ds(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1621
void Cell2DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &propertySizes)
Initialize the Cell2Ds double property sizes.
Definition MeshMatricesDAO.cpp:1144
void Cell2DsInitialize(const unsigned int &numberCell2Ds)
Initialize the Cell2Ds container.
Definition MeshMatricesDAO.cpp:819
Eigen::MatrixXd Cell1DCoordinates(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1500
std::vector< unsigned int > Cell0DsMarker() const
Definition IMeshDAO.hpp:1194
unsigned int Cell2DNumberNeighbourCell3D(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1862
void Cell1DInitializeNeighbourCell2Ds(const unsigned int &cell1DIndex, const unsigned int &numberNeighbourCell2Ds)
Initialize the Cell1D Cell2D neighbours number.
Definition MeshMatricesDAO.cpp:677
void Cell2DInsertEdges(const unsigned int &cell2DIndex, const std::vector< unsigned int > &edgesCell1DIndices)
Insert the Cell2D edge.
Definition IMeshDAO.hpp:1730
std::vector< unsigned int > Cell3DEdges(const unsigned int &cell3DIndex) const
Definition MeshMatricesDAO.cpp:1463
void Cell1DInsertDoublePropertyValue(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)
Insert the Cell1Ds double property value at position.
Definition IMeshDAO.hpp:1653
unsigned int Cell2DAppend(const unsigned int &numberCell2Ds)
Append Cell2Ds to the Cell2Ds container.
Definition MeshMatricesDAO.cpp:833
double Cell0DCoordinateY(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1172
void Cell0DInsertNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)
Insert the Cell0D Cell3D neighbour.
Definition IMeshDAO.hpp:1330
unsigned int Cell1DTotalNumber() const
Definition IMeshDAO.hpp:1469
void Cell3DsInitializeFaces(const std::vector< unsigned int > &numberCell3DsFaces)
Initialize the Cell3Ds faces number.
Definition MeshMatricesDAO.cpp:1281
double Cell0DDoublePropertyValue(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const
Definition IMeshDAO.hpp:1417
void Cell0DsInitialize(const unsigned int &numberCell0Ds)
Initialize the Cell0Ds container.
Definition MeshMatricesDAO.cpp:167
void Cell0DInsertNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell2DIndex)
Insert the Cell0D Cell2D neighbour.
Definition IMeshDAO.hpp:1281
unsigned int Cell2DNumberDoubleProperties() const
Definition IMeshDAO.hpp:1916
unsigned int Cell2DFindEdge(const unsigned int &cell2DIndex, const unsigned int &cell1DIndex) const
Definition MeshMatricesDAO.cpp:1023
void Cell3DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &propertySizes)
Initialize the Cell3Ds double property sizes.
Definition MeshMatricesDAO.cpp:1439
unsigned int Cell1DEnd(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1484
Eigen::VectorXi Cell1DExtremes(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1439
unsigned int Dimension() const
Definition IMeshDAO.hpp:1141
unsigned int Cell2DAddDoubleProperty(const std::string &propertyId)
Add the Cell2Ds double property identified by id.
Definition MeshMatricesDAO.cpp:1132
std::vector< bool > Cell2DsState() const
Definition IMeshDAO.hpp:1816
bool Cell0DHasUpdatedCell0D(const unsigned int &cell0DIndex, const unsigned int &updatedCell0DIdex) const
Definition IMeshDAO.hpp:1218
std::vector< std::vector< unsigned int > > Cell1DsNeighbourCell3Ds() const
Definition MeshMatricesDAO.cpp:736
void Cell2DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)
Initialize the Cell2Ds double properties.
Definition MeshMatricesDAO.cpp:1125
bool Cell1DHasNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1538
void Cell1DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numberNeighbourCell3Ds)
Initialize the Cell1Ds Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:752
unsigned int Cell2DSubDivisionCell0D(const unsigned int &cell2DIndex, const unsigned int &subDivisionIndex) const
Definition IMeshDAO.hpp:1966
void Cell0DRemove(const unsigned int &cell0DIndex)
Remove the Cell0D from the mesh.
Definition MeshMatricesDAO.cpp:217
unsigned int Cell2DOriginalCell2D(const unsigned int &updatedCell2DIndex) const
Definition IMeshDAO.hpp:1843
void Cell3DInsertFaces(const unsigned int &cell3DIndex, const std::vector< unsigned int > &facesCell2DIndices)
Insert the Cell3D faces.
Definition IMeshDAO.hpp:2026
unsigned int Cell2DNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1867
unsigned int Cell0DAppend(const unsigned int &numberCell0Ds)
Append Cell0Ds to the Cell0Ds container.
Definition MeshMatricesDAO.cpp:180
void Compress()
Compact the mesh to save memory.
Definition MeshMatricesDAO.cpp:1531
void Cell1DInsertNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell2DIndex)
Insert the Cell1D Cell2D neighbour.
Definition IMeshDAO.hpp:1461
std::vector< std::vector< unsigned int > > Cell3DsFaces() const
Definition MeshMatricesDAO.cpp:1521
void Cell1DSetMarker(const unsigned int &cell1DIndex, const unsigned int &marker)
Set the Cell1D Marker.
Definition IMeshDAO.hpp:1446
unsigned int Cell3DOriginalCell3D(const unsigned int &updatedCell3DIndex) const
Definition IMeshDAO.hpp:2139
bool Cell1DHasOriginalCell1D(const unsigned int &updatedCell1DIndex) const
Definition IMeshDAO.hpp:1568
void Cell3DInsertVertices(const unsigned int &cell3DIndex, const std::vector< unsigned int > &verticesCell0DIndices)
Insert the Cell3D vertex.
Definition IMeshDAO.hpp:2000
unsigned int Cell2DFindVertex(const unsigned int &cell2DIndex, const unsigned int &cell0DIndex) const
Definition MeshMatricesDAO.cpp:1013
void Cell3DInsertVertex(const unsigned int &cell3DIndex, const unsigned int &vertexIndex, const unsigned int &vertexCell0DIndex)
Insert the Cell3D vertex.
Definition IMeshDAO.hpp:1992
void Cell2DInsertSubDivision(const unsigned int &cell2DIndex, const unsigned int &subDivisionIndex, const unsigned int &cell0DIndex)
Insert the subDivision vertex index.
Definition IMeshDAO.hpp:1954
std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell1Ds() const
Definition MeshMatricesDAO.cpp:317
void Cell0DResetNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)
Reset the Cell0D Cell2D neighbour to empty value (Cell0DHasNeighbourCell2D is false)
Definition IMeshDAO.hpp:1321
unsigned int Cell1DAppend(const unsigned int &numberCell1Ds)
Append Cell1Ds to the Cell1Ds container.
Definition MeshMatricesDAO.cpp:514
void Cell0DResetNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)
Reset the Cell0D Cell3D neighbour to empty value (Cell0DHasNeighbourCell3D is false)
Definition IMeshDAO.hpp:1370
bool Cell2DHasNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1888
bool Cell0DHasNeighbourCell2D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1315
void Cell3DsInitializeVertices(const std::vector< unsigned int > &numberCell3DsVertices)
Initialize the Cell3Ds vertices number.
Definition MeshMatricesDAO.cpp:1266
std::string Cell1DDoublePropertyId(const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1668
unsigned int Cell1DNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1615
unsigned int Cell2DVertex(const unsigned int &cell2DIndex, const unsigned int &vertexIndex) const
Definition IMeshDAO.hpp:1770
std::string ToString()
Definition MeshMatricesDAO.cpp:1602
std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell2Ds() const
Definition MeshMatricesDAO.cpp:364
void Cell1DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)
Initialize the Cell1Ds double properties.
Definition MeshMatricesDAO.cpp:729
unsigned int Cell3DNumberUpdatedCell3Ds(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2121
unsigned int Cell0DNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1343
unsigned int Cell3DDoublePropertyIndex(const std::string &propertyId) const
Definition IMeshDAO.hpp:2174
std::vector< std::vector< unsigned int > > Cell1DsNeighbourCell2Ds() const
Definition MeshMatricesDAO.cpp:643
void Cell0DsInsertCoordinates(const Eigen::MatrixXd &coordinates)
Add the Cell0Ds Coordinates.
Definition MeshMatricesDAO.cpp:264
bool Cell2DDoublePropertyExists(const std::string &propertyId) const
Definition IMeshDAO.hpp:1924
unsigned int Cell2DDoublePropertyIndex(const std::string &propertyId) const
Definition IMeshDAO.hpp:1928
Eigen::Vector3d Cell1DOriginCoordinates(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1504
void Cell0DResetNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex)
Reset the Cell0D Cell1D neighbour to empty value (Cell0DHasNeighbourCell1D is false)
Definition IMeshDAO.hpp:1271
unsigned int Cell1DMarker(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1550
void Cell0DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &propertySizes)
Initialize the Cell0Ds double property sizes.
Definition MeshMatricesDAO.cpp:477
std::vector< unsigned int > Cell2DsMarker() const
Definition IMeshDAO.hpp:1807
void Cell1DsInitializeNeighbourCell2Ds(const std::vector< unsigned int > &numberNeighbourCell2Ds)
Initialize the Cell1Ds Cell2D neighbours number.
Definition MeshMatricesDAO.cpp:668
double Cell0DCoordinateZ(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1177
bool Cell2DUpdatedCell2Ds(const unsigned int &cell2DIndex, std::list< unsigned int > &updatedCell2DIds) const
return the updated Cell2D Ids for cell2DIndex
Definition MeshMatricesDAO.cpp:1059
void Cell1DSetState(const unsigned int &cell1DIndex, const bool &state)
Set the Cell1D state.
Definition IMeshDAO.hpp:1451
unsigned int Cell3DNumberEdges(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2052
std::vector< unsigned int > Cell2DEdges(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1785
unsigned int Cell2DTotalNumber() const
Definition IMeshDAO.hpp:1746
unsigned int Cell3DAppend(const unsigned int &numberCell3Ds)
Append Cell3Ds to the Cell3Ds container.
Definition MeshMatricesDAO.cpp:1195
unsigned int Cell1DAddDoubleProperty(const std::string &propertyId)
Add the Cell1Ds double property identified by id.
Definition MeshMatricesDAO.cpp:783
std::vector< std::vector< unsigned int > > Cell3DsVertices() const
Definition MeshMatricesDAO.cpp:1501
unsigned int Cell0DMarker(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1189
unsigned int Cell1DNumberUpdatedCell1Ds(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1583
void Cell1DRemove(const unsigned int &cell1DIndex)
Remove the Cell1D from the mesh.
Definition MeshMatricesDAO.cpp:547
void Cell2DResetNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex)
Reset the Cell2D Cell3D neighbour to empty value (Cell2DHasNeighbourCell3D is false)
Definition IMeshDAO.hpp:1894
void Cell0DInsertUpdatedCell0D(const unsigned int &cell0DIndex, const unsigned int &updatedCell0DIdex)
Add the new Cell0D to an existing Cell0D.
Definition MeshMatricesDAO.cpp:288
std::vector< std::vector< unsigned int > > Cell0DsNeighbourCell3Ds() const
Definition MeshMatricesDAO.cpp:411
bool Cell3DIsActive(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2106
unsigned int Cell3DFace(const unsigned int &cell3DIndex, const unsigned int &faceIndex) const
Definition IMeshDAO.hpp:2086
void Cell2DsInitializeEdges(const unsigned int &numberCell2DEdges)
Initialize the Cell2Ds edges number.
Definition MeshMatricesDAO.cpp:934
bool Cell2DHasUpdatedCell2D(const unsigned int &cell2DIndex, const unsigned int &updatedCell2DIndex) const
Definition IMeshDAO.hpp:1831
Eigen::Vector3d Cell1DEndCoordinates(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1508
void Cell2DsInitializeSubDivision(const std::vector< unsigned int > &numberSubDivisions)
Initialize the Cell2D subdivision number for each Cell2D.
Definition MeshMatricesDAO.cpp:1168
std::vector< unsigned int > Cell1DNeighbourCell2Ds(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1523
bool Cell1DUpdatedCell1Ds(const unsigned int &cell1DIndex, std::list< unsigned int > &updatedCell1DIds) const
return the updated Cell1D Ids for cell1DIndex
Definition MeshMatricesDAO.cpp:710
unsigned int Cell2DDoublePropertySize(const unsigned int &cell2DIndex, const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1933
void Cell2DSetState(const unsigned int &cell2DIndex, const bool &state)
Set the Cell1D state.
Definition IMeshDAO.hpp:1707
unsigned int Cell1DNumberNeighbourCell2D(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1512
unsigned int Cell0DNumberNeighbourCell2D(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1289
bool Cell2DHasOriginalCell2D(const unsigned int &updatedCell2DIndex) const
Definition IMeshDAO.hpp:1838
void Cell1DInitializeDoublePropertyValues(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &propertySize)
Initialize the Cell1Ds double property size.
Definition MeshMatricesDAO.cpp:804
std::vector< std::vector< unsigned int > > Cell3DsEdges() const
Definition MeshMatricesDAO.cpp:1511
unsigned int Cell0DAddDoubleProperty(const std::string &propertyId)
Add the Cell0Ds double property identified by id.
Definition MeshMatricesDAO.cpp:465
unsigned int Cell3DFindEdge(const unsigned int &cell3DIndex, const unsigned int &cell1DIndex) const
Definition MeshMatricesDAO.cpp:1336
unsigned int Cell2DFindEdgeByExtremes(const unsigned int &cell2DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const
Definition MeshMatricesDAO.cpp:1033
void Cell2DAddVertices(const unsigned int &cell2DIndex, const std::vector< unsigned int > &verticesCell0DIndices)
Add the Cell2D vertices.
Definition MeshMatricesDAO.cpp:955
std::vector< bool > Cell0DsState() const
Definition IMeshDAO.hpp:1203
void Cell2DsInitializeVertices(const unsigned int &numberCell2DVertices)
Initialize the Cell2Ds vertices number.
Definition MeshMatricesDAO.cpp:910
void Cell0DInitializeNeighbourCell3Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell3Ds)
Initialize the Cell0D Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:436
void Cell2DInsertNeighbourCell3D(const unsigned int &cell2DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)
Insert the Cell2D Cell3D neighbour.
Definition IMeshDAO.hpp:1854
void Cell2DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numberNeighbourCell3Ds)
Initialize the Cell2Ds Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:1094
unsigned int Cell0DNumberUpdatedCell0Ds(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1213
Eigen::Vector3d Cell3DVertexCoordinates(const unsigned int &cell3DIndex, const unsigned int &vertexIndex) const
Definition IMeshDAO.hpp:2070
bool Cell1DHasUpdatedCell1Ds(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1578
unsigned int Cell2DNumberVertices(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1750
void Cell3DAddFaces(const unsigned int &cell3DIndex, const std::vector< unsigned int > &facesCell2DIndices)
Add the Cell3D faces.
Definition MeshMatricesDAO.cpp:1319
void Cell2DInsertUpdatedCell2D(const unsigned int &cell2DIndex, const unsigned int &updatedCell2DIdex)
Add the new Cell2D to an existing Cell2D.
Definition MeshMatricesDAO.cpp:1048
unsigned int Cell1DNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1517
unsigned int Cell1DByExtremes(const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex) const
Definition MeshMatricesDAO.cpp:629
void Cell3DSetState(const unsigned int &cell3DIndex, const bool &state)
Set the Cell3D state.
Definition IMeshDAO.hpp:1981
void Cell3DAddVertices(const unsigned int &cell3DIndex, const std::vector< unsigned int > &verticesCell0DIndices)
Add the Cell3D vertices.
Definition MeshMatricesDAO.cpp:1305
void Cell2DInitializeEdges(const unsigned int &cell2DIndex, const unsigned int &numberCell2DEdges)
Initialize the Cell2D edges number.
Definition MeshMatricesDAO.cpp:949
unsigned int Cell1DOrigin(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1479
void Cell2DInitializeNeighbourCell3Ds(const unsigned int &cell2DIndex, const unsigned int &numberNeighbourCell3Ds)
Initialize the Cell2D Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:1103
void Cell0DSetMarker(const unsigned int &cell0DIndex, const unsigned int &marker)
Set the Cell0D Marker.
Definition IMeshDAO.hpp:1152
void Cell3DInsertEdges(const unsigned int &cell3DIndex, const std::vector< unsigned int > &edgesCell1DIndices)
Insert the Cell3D edges.
Definition IMeshDAO.hpp:2013
unsigned int Cell0DNumberDoubleProperties() const
Definition IMeshDAO.hpp:1393
void Cell0DInitializeNeighbourCell2Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell2Ds)
Initialize the Cell0D Cell2D neighbours number.
Definition MeshMatricesDAO.cpp:389
~MeshMatricesDAO()
Definition MeshMatricesDAO.cpp:163
void Cell3DsInitialize(const unsigned int &numberCell3Ds)
Initialize the Cell3Ds container.
Definition MeshMatricesDAO.cpp:1182
void Cell3DInsertEdge(const unsigned int &cell3DIndex, const unsigned int &edgeIndex, const unsigned int &edgeCell1DIndex)
Insert the Cell3D edge.
Definition IMeshDAO.hpp:2005
unsigned int Cell3DEdge(const unsigned int &cell3DIndex, const unsigned int &edgeIndex) const
Definition IMeshDAO.hpp:2078
unsigned int Cell3DNumberDoubleProperties() const
Definition IMeshDAO.hpp:2162
void Cell1DInsertUpdatedCell1D(const unsigned int &cell1DIndex, const unsigned int &updatedCell1DIdex)
Add the new Cell1D to an existing Cell1D.
Definition MeshMatricesDAO.cpp:699
bool Cell0DHasUpdatedCell0Ds(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1208
bool Cell2DHasUpdatedCell2Ds(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1821
unsigned int Cell2DNumberUpdatedCell2Ds(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1826
unsigned int Cell1DOriginalCell1D(const unsigned int &updatedCell1DIndex) const
Definition IMeshDAO.hpp:1573
unsigned int Cell3DVertex(const unsigned int &cell3DIndex, const unsigned int &vertexIndex) const
Definition IMeshDAO.hpp:2063
unsigned int Cell2DNumberSubDivision(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1961
bool Cell3DDoublePropertyExists(const std::string &propertyId) const
Definition IMeshDAO.hpp:2170
bool Cell3DHasUpdatedCell3Ds(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2116
unsigned int Cell0DNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1244
void Cell2DSetMarker(const unsigned int &cell2DIndex, const unsigned int &marker)
Set the Cell2D Marker.
Definition IMeshDAO.hpp:1702
void Cell2DInsertVertex(const unsigned int &cell2DIndex, const unsigned int &vertexIndex, const unsigned int &vertexCell0DIndex)
Insert the Cell2D vertex.
Definition IMeshDAO.hpp:1723
bool Cell3DUpdatedCell3Ds(const unsigned int &cell3DIndex, std::list< unsigned int > &updatedCell3DIds) const
return the updated Cell3D Ids for cell3DIndex
Definition MeshMatricesDAO.cpp:1401
void Cell1DResetNeighbourCell2D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex)
Reset the Cell1D Cell2D neighbour to empty value (Cell1DHasNeighbourCell2D is false)
Definition IMeshDAO.hpp:1544
std::vector< bool > Cell3DsState() const
Definition IMeshDAO.hpp:2111
double Cell2DDoublePropertyValue(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const
Definition IMeshDAO.hpp:1940
std::vector< unsigned int > Cell0DNeighbourCell1Ds(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1250
Gedim::MeshMatrices & MeshData()
Definition IMeshDAO.hpp:1128
void Cell0DSetState(const unsigned int &cell0DIndex, const bool &state)
Set the Cell0D state.
Definition IMeshDAO.hpp:1157
void Cell3DAddEdges(const unsigned int &cell3DIndex, const std::vector< unsigned int > &edgesCell1DIndices)
Add the Cell3D edges.
Definition MeshMatricesDAO.cpp:1312
void Cell0DsInitializeNeighbourCell2Ds(const std::vector< unsigned int > &numberNeighbourCell2Ds)
Initialize the Cell0Ds Cell2D neighbours number.
Definition MeshMatricesDAO.cpp:380
unsigned int Cell1DNumberDoubleProperties() const
Definition IMeshDAO.hpp:1664
Eigen::Vector3d Cell2DVertexCoordinates(const unsigned int &cell2DIndex, const unsigned int &vertexIndex) const
Definition IMeshDAO.hpp:1776
void Cell1DInsertExtremes(const unsigned int &cell1DIndex, const unsigned int &originCell0DIndex, const unsigned int &endCell0DIndex)
Set the Cell1D Origin and End.
Definition MeshMatricesDAO.cpp:584
std::string Cell2DDoublePropertyId(const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1920
unsigned int Cell1DVertex(const unsigned int &cell1DIndex, const unsigned int &vertexIndex) const
Definition IMeshDAO.hpp:1473
void Cell3DsInitializeEdges(const std::vector< unsigned int > &numberCell3DsEdges)
Initialize the Cell3Ds edges number.
Definition MeshMatricesDAO.cpp:1275
std::vector< unsigned int > Cell3DVertices(const unsigned int &cell3DIndex) const
Definition MeshMatricesDAO.cpp:1371
void Cell0DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)
Initialize the Cell0Ds double properties.
Definition MeshMatricesDAO.cpp:458
void Cell2DInitializeDoublePropertyValues(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &propertySize)
Initialize the Cell2Ds double property size.
Definition MeshMatricesDAO.cpp:1153
unsigned int Cell1DNumberNeighbourCell3D(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1610
Eigen::Vector3d Cell0DCoordinates(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1182
std::string Cell3DDoublePropertyId(const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:2166
void Cell2DAddEdges(const unsigned int &cell2DIndex, const std::vector< unsigned int > &edgesCell1DIndices)
Add the Cell2D edges.
Definition MeshMatricesDAO.cpp:962
void Cell3DInitializeFaces(const unsigned int &cell3DIndex, const unsigned int &numberCell3DFaces)
Initialize the Cell3D faces number.
Definition MeshMatricesDAO.cpp:1299
unsigned int Cell1DFindExtreme(const unsigned int &cell1DIndex, const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1489
std::vector< unsigned int > Cell2DVertices(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1761
void Cell2DInsertEdge(const unsigned int &cell2DIndex, const unsigned int &edgeIndex, const unsigned int &edgeCell1DIndex)
Insert the Cell2D edge.
Definition IMeshDAO.hpp:1735
void Cell0DInitializeDoublePropertyValues(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &propertySize)
Initialize the Cell0Ds double property size.
Definition MeshMatricesDAO.cpp:486
std::string Cell0DDoublePropertyId(const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:1397
unsigned int Cell2DNumberEdges(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1755
void Cell2DInsertDoublePropertyValue(const unsigned int &cell2DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)
Insert the Cell2Ds double property value at position.
Definition IMeshDAO.hpp:1905
unsigned int Cell3DDoublePropertySize(const unsigned int &cell3DIndex, const unsigned int &propertyIndex) const
Definition IMeshDAO.hpp:2179
double Cell0DCoordinateX(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1167
unsigned int Cell3DMarker(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2097
void Cell0DsInitializeNeighbourCell3Ds(const std::vector< unsigned int > &numberNeighbourCell3Ds)
Initialize the Cell0Ds Cell3D neighbours number.
Definition MeshMatricesDAO.cpp:427
const Gedim::MeshMatrices & MeshData() const
Definition IMeshDAO.hpp:1132
void Cell3DInitializeDoublePropertyValues(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &propertySize)
Initialize the Cell3Ds double property size.
Definition MeshMatricesDAO.cpp:1448
double Cell1DDoublePropertyValue(const unsigned int &cell1DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const
Definition IMeshDAO.hpp:1688
unsigned int Cell0DNumberNeighbourCell3D(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1338
bool Cell0DHasNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1265
void Cell0DInsertDoublePropertyValue(const unsigned int &cell0DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)
Insert the Cell0Ds double property value at position.
Definition IMeshDAO.hpp:1382
std::vector< std::vector< std::vector< unsigned int > > > Cell3DsFacesVertices() const
Definition MeshMatricesDAO.cpp:1485
unsigned int Cell3DAddDoubleProperty(const std::string &propertyId)
Add the Cell3Ds double property identified by id.
Definition MeshMatricesDAO.cpp:1427
void Cell1DsInitializeDoublePropertyValues(const unsigned int &propertyIndex, const std::vector< unsigned int > &propertySizes)
Initialize the Cell1Ds double property sizes.
Definition MeshMatricesDAO.cpp:795
std::vector< bool > Cell1DsState() const
Definition IMeshDAO.hpp:1564
double Cell3DDoublePropertyValue(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex) const
Definition IMeshDAO.hpp:2186
void Cell3DInitializeVertices(const unsigned int &cell3DIndex, const unsigned int &numberCell3DVertices)
Initialize the Cell3D vertices number.
Definition MeshMatricesDAO.cpp:1287
void Cell3DSetMarker(const unsigned int &cell3DIndex, const unsigned int &marker)
Set the Cell1D Marker.
Definition IMeshDAO.hpp:1976
void Cell3DInsertDoublePropertyValue(const unsigned int &cell3DIndex, const unsigned int &propertyIndex, const unsigned int &propertyValueIndex, const double &propertyValue)
Insert the Cell3Ds double property value at position.
Definition IMeshDAO.hpp:2151
bool Cell0DUpdatedCell0Ds(const unsigned int &cell0DIndex, std::list< unsigned int > &updatedCell0DIds) const
return the updated Cell0D Ids for cell0DIndex
Definition MeshMatricesDAO.cpp:298
Eigen::MatrixXi Cell1DsExtremes() const
Definition MeshMatricesDAO.cpp:609
unsigned int Cell0DDoublePropertyIndex(const std::string &propertyId) const
Definition IMeshDAO.hpp:1405
void Cell1DInsertNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell3DIndex)
Insert the Cell1D Cell3D neighbour.
Definition IMeshDAO.hpp:1602
void Cell0DInsertNeighbourCell1D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex, const unsigned int &neigbourCell1DIndex)
Insert the Cell0D Cell1D neighbour.
Definition IMeshDAO.hpp:1231
std::vector< unsigned int > Cell2DNeighbourCell3Ds(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1873
void Cell1DsInsertExtremes(const Eigen::MatrixXi &cell1DExtremes)
Set the Cell1D Extremes for the whole mesh edges.
Definition MeshMatricesDAO.cpp:591
std::vector< unsigned int > Cell0DNeighbourCell3Ds(const unsigned int &cell0DIndex) const
Definition IMeshDAO.hpp:1349
std::vector< std::vector< unsigned int > > Cell2DsNeighbourCell3Ds() const
Definition MeshMatricesDAO.cpp:1078
void Cell2DRemove(const unsigned int &cell2DIndex)
Remove the Cell2D from the mesh.
Definition MeshMatricesDAO.cpp:870
void Cell2DAddVerticesAndEdges(const unsigned int &cell2DIndex, const Eigen::MatrixXi &verticesAndEdgesIndices)
Cell2D Add Vertices And Edges.
Definition MeshMatricesDAO.cpp:969
unsigned int Cell3DTotalNumber() const
Definition IMeshDAO.hpp:2043
bool Cell3DHasUpdatedCell3D(const unsigned int &cell3DIndex, const unsigned int &updatedCell3DIdex) const
Definition IMeshDAO.hpp:2126
void Cell1DResetNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex)
Reset the Cell1D Cell3D neighbour to empty value (Cell1DHasNeighbourCell3D is false)
Definition IMeshDAO.hpp:1642
bool Cell0DDoublePropertyExists(const std::string &propertyId) const
Definition IMeshDAO.hpp:1401
Eigen::MatrixXd Cell0DsCoordinates() const
Definition MeshMatricesDAO.cpp:272
void Cell3DRemove(const unsigned int &cell3DIndex)
Remove the Cell3D from the mesh.
Definition MeshMatricesDAO.cpp:1229
void Cell3DInsertFace(const unsigned int &cell3DIndex, const unsigned int &faceIndex, const unsigned int &faceCell2DIndex)
Insert the Cell3D face.
Definition IMeshDAO.hpp:2018
std::vector< Eigen::MatrixXi > Cell2DsExtremes() const
Definition MeshMatricesDAO.cpp:991
bool Cell1DIsActive(const unsigned int &cell1DIndex) const
Definition IMeshDAO.hpp:1559
unsigned int Cell3DNumberVertices(const unsigned int &cell3DIndex) const
Definition IMeshDAO.hpp:2047
void Cell0DInitializeNeighbourCell1Ds(const unsigned int &cell0DIndex, const unsigned int &numberNeighbourCell1Ds)
Initialize the Cell0D Cell1D neighbours number.
Definition MeshMatricesDAO.cpp:342
bool Cell1DHasUpdatedCell1D(const unsigned int &cell1DIndex, const unsigned int &updatedCell1DIdex) const
Definition IMeshDAO.hpp:1588
unsigned int Cell3DFindFace(const unsigned int &cell3DIndex, const unsigned int &cell2DIndex) const
Definition MeshMatricesDAO.cpp:1346
void Cell3DInitializeDoubleProperties(const unsigned int &numberDoubleProperties)
Initialize the Cell3Ds double properties.
Definition MeshMatricesDAO.cpp:1420
bool Cell1DHasNeighbourCell3D(const unsigned int &cell1DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1636
unsigned int Cell3DFindVertex(const unsigned int &cell3DIndex, const unsigned int &cell0DIndex) const
Definition MeshMatricesDAO.cpp:1326
bool Cell0DHasNeighbourCell3D(const unsigned int &cell0DIndex, const unsigned int &neighbourIndex) const
Definition IMeshDAO.hpp:1364
unsigned int Cell2DMarker(const unsigned int &cell2DIndex) const
Definition IMeshDAO.hpp:1802
void Cell2DInitializeSubDivision(const unsigned int &cell2DIndex, const unsigned int &numberSubDivision)
Initialize the Cell2D subdivision number.
Definition MeshMatricesDAO.cpp:1175
static void Assert(const bool &logicResult)
Assert for all code, generate exception if something goes wrong.
Definition IOUtilities.hpp:126
Definition Eigen_Array.cpp:22
Definition MeshMatrices.hpp:21
unsigned int NumberCell2D
number of Cell2D
Definition MeshMatrices.hpp:68
std::vector< unsigned int > Cell1DNeighbourCell3Ds
Definition MeshMatrices.hpp:54
std::vector< unsigned int > NumberCell0DNeighbourCell3D
Definition MeshMatrices.hpp:34
std::vector< unsigned int > NumberCell0DNeighbourCell1D
Definition MeshMatrices.hpp:26
std::vector< unsigned int > Cell0DNeighbourCell1Ds
Definition MeshMatrices.hpp:28
std::vector< unsigned int > Cell2DOriginalCell2Ds
Definition MeshMatrices.hpp:84
unsigned int NumberCell1D
number of Cell1D
Definition MeshMatrices.hpp:46
std::vector< unsigned int > NumberCell1DNeighbourCell2D
Definition MeshMatrices.hpp:48
std::vector< std::string > Cell3DDoublePropertyIds
Cell3D double property id - double property index.
Definition MeshMatrices.hpp:109
std::vector< unsigned int > NumberCell3DEdges
number of Edges per Cell3D, size 1 x NumberCell3D + 1
Definition MeshMatrices.hpp:96
std::vector< std::vector< unsigned int > > Cell0DDoublePropertySizes
Cell0D double property sizes.
Definition MeshMatrices.hpp:44
std::vector< unsigned int > Cell3DVertices
Definition MeshMatrices.hpp:98
std::vector< bool > ActiveCell1D
active Cell1D
Definition MeshMatrices.hpp:57
std::vector< unsigned int > Cell3DOriginalCell3Ds
Definition MeshMatrices.hpp:104
std::vector< unsigned int > Cell2DEdges
Cell2D Cell1D indices, size 1 x NumberCell2DEdges[NumberCell2D].
Definition MeshMatrices.hpp:73
std::vector< std::string > Cell0DDoublePropertyIds
Cell0D double property id - double property index.
Definition MeshMatrices.hpp:41
std::unordered_map< unsigned int, std::unordered_set< unsigned int > > UpdatedCell2Ds
Definition MeshMatrices.hpp:87
std::unordered_map< unsigned int, std::unordered_set< unsigned int > > UpdatedCell1Ds
Definition MeshMatrices.hpp:61
unsigned int NumberCell3D
number of Cell3D
Definition MeshMatrices.hpp:94
std::vector< unsigned int > Cell2DMarkers
Cell2D markers, size 1 x NumberCell2D (marker)
Definition MeshMatrices.hpp:78
std::vector< unsigned int > Cell2DNeighbourCell3Ds
Definition MeshMatrices.hpp:76
std::unordered_map< std::string, unsigned int > Cell2DDoublePropertyIndices
Definition MeshMatrices.hpp:90
std::unordered_map< unsigned int, std::unordered_set< unsigned int > > UpdatedCell3Ds
Definition MeshMatrices.hpp:107
std::vector< std::vector< double > > Cell3DDoublePropertyValues
Cell3D double property values.
Definition MeshMatrices.hpp:113
std::vector< unsigned int > Cell2DSubdivision
Definition MeshMatrices.hpp:82
std::vector< bool > ActiveCell2D
active Cell2D
Definition MeshMatrices.hpp:79
std::vector< unsigned int > Cell0DMarkers
Cell0D markers, size 1 x NumberCell0D (marker)
Definition MeshMatrices.hpp:25
std::vector< unsigned int > NumberCell2DNeighbourCell3D
Definition MeshMatrices.hpp:74
std::vector< unsigned int > Cell1DVertices
Cell1D vertices indices, size 2 x NumberCell1D (fromId,toId)
Definition MeshMatrices.hpp:47
std::vector< unsigned int > NumberCell3DFaces
number of Faces per Cell3D, size 1 x NumberCell3D + 1
Definition MeshMatrices.hpp:97
std::vector< unsigned int > Cell1DNeighbourCell2Ds
Definition MeshMatrices.hpp:52
std::vector< std::vector< double > > Cell2DDoublePropertyValues
Cell2D double property values.
Definition MeshMatrices.hpp:93
std::vector< unsigned int > Cell0DNeighbourCell3Ds
Definition MeshMatrices.hpp:36
std::vector< std::vector< unsigned int > > Cell1DDoublePropertySizes
Cell1D double property sizes.
Definition MeshMatrices.hpp:66
std::vector< unsigned int > Cell2DVertices
Definition MeshMatrices.hpp:71
std::unordered_map< std::string, unsigned int > Cell0DDoublePropertyIndices
Definition MeshMatrices.hpp:42
std::vector< unsigned int > NumberCell2DVertices
number of Vertices per Cell2D, size 1 x NumberCell2D + 1
Definition MeshMatrices.hpp:69
std::unordered_map< unsigned int, std::unordered_set< unsigned int > > UpdatedCell0Ds
Definition MeshMatrices.hpp:39
std::unordered_map< std::string, unsigned int > Cell3DDoublePropertyIndices
Definition MeshMatrices.hpp:110
std::vector< unsigned int > Cell0DNeighbourCell2Ds
Definition MeshMatrices.hpp:32
std::vector< std::vector< double > > Cell1DDoublePropertyValues
Cell1D double property values.
Definition MeshMatrices.hpp:67
std::vector< std::vector< unsigned int > > Cell2DDoublePropertySizes
Cell2D double property sizes.
Definition MeshMatrices.hpp:92
std::vector< unsigned int > NumberCell2DSubdivision
Definition MeshMatrices.hpp:80
std::vector< std::vector< unsigned int > > Cell3DDoublePropertySizes
Cell3D double property sizes.
Definition MeshMatrices.hpp:112
unsigned int Dimension
Geometric dimension.
Definition MeshMatrices.hpp:22
std::vector< double > Cell0DCoordinates
Cell0D coordinates, size 3 x NumberCell0D (x,y,z)
Definition MeshMatrices.hpp:24
std::vector< unsigned int > Cell1DMarkers
Cell1D propertoes, size 1 x NumberCell1D (marker)
Definition MeshMatrices.hpp:56
std::vector< unsigned int > NumberCell3DVertices
number of Vertices per Cell3D, size 1 x NumberCell3D + 1
Definition MeshMatrices.hpp:95
std::vector< unsigned int > NumberCell0DNeighbourCell2D
Definition MeshMatrices.hpp:30
std::vector< unsigned int > Cell1DOriginalCell1Ds
Definition MeshMatrices.hpp:58
std::vector< unsigned int > Cell3DEdges
Cell3D Cell1D indices, size 1 x NumberCell3DEdges[NumberCell3D].
Definition MeshMatrices.hpp:100
std::vector< unsigned int > Cell3DMarkers
Cell3D markers, size 1 x NumberCell3D (marker)
Definition MeshMatrices.hpp:102
std::unordered_map< std::string, unsigned int > Cell1DDoublePropertyIndices
Definition MeshMatrices.hpp:64
std::vector< bool > ActiveCell3D
active Cell3D
Definition MeshMatrices.hpp:103
std::vector< std::string > Cell1DDoublePropertyIds
Cell1D double property id - double property index.
Definition MeshMatrices.hpp:63
std::vector< std::string > Cell2DDoublePropertyIds
Cell2D double property id - double property index.
Definition MeshMatrices.hpp:89
std::vector< bool > ActiveCell0D
active Cell0D
Definition MeshMatrices.hpp:38
unsigned int NumberCell0D
number of Cell0D
Definition MeshMatrices.hpp:23
std::vector< unsigned int > Cell3DFaces
Cell3D Cell2D indices, size 1 x NumberCell3DFaces[NumberCell3D].
Definition MeshMatrices.hpp:101
std::vector< std::vector< double > > Cell0DDoublePropertyValues
Cell0D double property values.
Definition MeshMatrices.hpp:45
std::vector< unsigned int > NumberCell1DNeighbourCell3D
Definition MeshMatrices.hpp:50
std::vector< unsigned int > NumberCell2DEdges
number of Edges per Cell2D, size 1 x NumberCell2D + 1
Definition MeshMatrices.hpp:70