gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
14 #include <unordered_map>
25 #define hashmapMFace \
26 std::unordered_map<MFace, std::size_t, MFaceHash, MFaceEqual>
27 #define hashmapMEdge \
28 std::unordered_map<MEdge, std::size_t, MEdgeHash, MEdgeEqual>
35 class Parasolid_Internals;
46 std::multimap<std::pair<const std::vector<int>,
const std::vector<int> >,
47 std::pair<const std::string, const std::vector<int> > >
61 int _writeMSH2(
const std::string &name,
double version,
bool binary,
62 bool saveAll,
bool saveParametric,
double scalingFactor,
63 int elementStartNum,
int saveSinglePartition,
bool append,
64 bool renumberVertices);
66 bool saveAll,
bool saveParametric,
67 double scalingFactor);
69 int _writeMSH3(
const std::string &name,
double version,
bool binary,
70 bool saveAll,
bool saveParametric,
double scalingFactor,
71 int elementStartNum,
int saveSinglePartition,
bool append);
73 bool binary,
bool saveAll,
bool saveParametric,
74 double scalingFactor);
76 int _writeMSH4(
const std::string &name,
double version,
bool binary,
77 bool saveAll,
bool saveParametric,
double scalingFactor,
78 bool append,
int partitionToSave = 0,
79 std::map<GEntity*, SBoundingBox3d> *entityBounds =
nullptr);
81 bool binary,
bool saveAll,
bool saveParametric,
82 double scalingFactor);
84 double scalingFactor,
int x3dsurfaces,
int x3dedges,
85 int x3dvertices,
int x3dcolorize,
86 std::vector<GFace *> &customFaces);
143 std::set<GRegion *, GEntityPtrLessThan>
regions;
144 std::set<GFace *, GEntityPtrLessThan>
faces;
145 std::set<GEdge *, GEntityPtrLessThan>
edges;
179 std::map<
int, std::map<int, std::string> > &map);
183 typedef std::set<GRegion *, GEntityPtrLessThan>::iterator
riter;
184 typedef std::set<GFace *, GEntityPtrLessThan>::iterator
fiter;
185 typedef std::set<GEdge *, GEntityPtrLessThan>::iterator
eiter;
186 typedef std::set<GVertex *, GEntityPtrLessThan>::iterator
viter;
188 typedef std::set<GRegion *, GEntityPtrLessThan>::const_iterator
const_riter;
189 typedef std::set<GFace *, GEntityPtrLessThan>::const_iterator
const_fiter;
190 typedef std::set<GEdge *, GEntityPtrLessThan>::const_iterator
const_eiter;
191 typedef std::set<GVertex *, GEntityPtrLessThan>::const_iterator
const_viter;
194 typedef std::map<std::pair<int, int>, std::string>::iterator
piter;
197 GModel(
const std::string &name =
"");
202 static std::vector<GModel *>
list;
216 const std::string &fileName =
"");
219 void destroy(
bool keepName =
false);
226 #pragma omp atomic write
231 #pragma omp atomic write
238 std::size_t _myVertexNum;
239 #pragma omp atomic capture
248 std::size_t _myElementNum;
249 #pragma omp atomic capture
254 return _myElementNum;
260 #pragma omp atomic update
300 void deleteMesh(
const std::vector<GEntity *> &entities);
402 void remove(
int dim,
int tag, std::vector<GEntity*> &removed,
403 bool recursive =
false);
404 void remove(
const std::vector<std::pair<int, int> > &dimTags,
405 std::vector<GEntity*> &removed,
406 bool recursive =
false);
413 void getEntities(std::vector<GEntity *> &entities,
int dim = -1)
const;
420 bool getBoundaryTags(
const std::vector<std::pair<int, int> > &inDimTags,
421 std::vector<std::pair<int, int> > &outDimTags,
422 bool combined,
bool oriented =
true,
423 bool recursive =
false);
436 std::map<
int, std::vector<GEntity *> > &groups)
const;
492 std::vector<double> p1,
493 std::vector<double> p2);
569 std::vector<MVertex *> &);
574 bool renumber =
true);
607 std::vector<std::pair<MElement *, int> > elementPartition =
608 std::vector<std::pair<MElement *, int> >());
621 _ghostCells.insert(std::make_pair(elm, partition));
629 const std::vector<GEntity*> &entities =
630 std::vector<GEntity*>());
634 std::vector<GEntity*>());
639 const std::vector<std::pair<int, int> > &dimTags =
640 std::vector<std::pair<int, int> >());
664 int adaptMesh(std::vector<int> technique,
666 std::vector<std::vector<double> > parameters,
int niter,
667 bool meshAll =
false);
676 int setOrderN(
int order,
int linear,
int incomplete,
int onlyVisible);
679 int refineMesh(
int linear,
bool splitIntoQuads =
false,
680 bool splitIntoHexas =
false,
bool barycentric =
false);
683 int optimizeMesh(
const std::string &how,
bool force =
false,
int niter = 1);
693 bool forReparametrization,
double curveAngleThreshold);
698 bool saveTri =
false);
701 void storeChain(
int dim, std::map<
int, std::vector<MElement *> > &entityMap,
702 std::map<
int, std::map<int, std::string> > &physicalMap);
706 const std::vector<int> &domain,
707 const std::vector<int> &subdomain,
708 const std::vector<int> &dim);
713 std::function<double(
int,
int,
double,
double,
double,
double)>
lcCallback;
726 const std::vector<double> &heights,
727 const bool recombine,
728 const std::vector<int> ®ionTag);
737 void load(
const std::string &fileName);
738 void save(
const std::string &fileName);
741 static int readGEO(
const std::string &name);
742 int writeGEO(
const std::string &name,
bool printLabels =
true,
743 bool onlyPhysicals =
false);
747 int writePY(
const std::string &name,
bool printLabels =
true,
748 bool onlyPhysicals =
false);
772 int readMSH(
const std::string &name);
773 int writeMSH(
const std::string &name,
double version = 2.2,
774 bool binary =
false,
bool saveAll =
false,
775 bool saveParametric =
false,
double scalingFactor = 1.0,
776 int elementStartNum = 0,
int saveSinglePartition = 0,
777 bool append =
false);
779 bool binary =
false,
bool saveAll =
false,
780 bool saveParametric =
false,
781 double scalingFactor = 1.0);
784 int writeIR3(
const std::string &name,
int elementTagType,
bool saveAll,
785 double scalingFactor);
788 int writePOS(
const std::string &name,
bool printElementary,
789 bool printElementNumber,
bool printSICN,
bool printSIGE,
790 bool printGamma,
bool printDisto,
bool saveAll =
false,
791 double scalingFactor = 1.0);
795 int writeSTL(
const std::string &name,
bool binary =
false,
796 bool saveAll =
false,
double scalingFactor = 1.0,
797 int oneSolidPerSurface = 0);
800 int writeX3D(
const std::string &name,
bool saveAll =
false,
801 double scalingFactor = 1.0,
int x3dsurfaces = 1,
802 int x3dedges = 0,
int x3dvertices = 0,
int x3dvolumes = 0,
803 int x3dcolorize = 0);
806 int readPLY(
const std::string &name);
807 int readPLY2(
const std::string &name);
811 int readVRML(
const std::string &name);
812 int writeVRML(
const std::string &name,
bool saveAll =
false,
813 double scalingFactor = 1.0);
816 int readUNV(
const std::string &name,
bool readGroupsOfElements =
true);
817 int writeUNV(
const std::string &name,
bool saveAll =
false,
818 int saveGroupsOfElements = 0,
int saveGroupsOfNodes = 0,
819 double scalingFactor = 1.0);
822 int readMESH(
const std::string &name);
823 int writeMESH(
const std::string &name,
int elementTagType = 1,
824 bool saveAll =
false,
double scalingFactor = 1.0);
827 int readOFF(
const std::string &name);
828 int writeOFF(
const std::string &name,
bool saveAll =
false,
829 double scalingFactor = 1.0);
832 int readBDF(
const std::string &name);
833 int writeBDF(
const std::string &name,
int format = 0,
int elementTagType = 1,
834 bool saveAll =
false,
double scalingFactor = 1.0);
843 int readP3D(
const std::string &name);
844 int writeP3D(
const std::string &name,
bool saveAll =
false,
845 double scalingFactor = 1.0);
848 int readCGNS(
const std::string &name,
849 std::vector<std::vector<MVertex *> > &vertPerZone,
850 std::vector<std::vector<MElement *> > &eltPerZone);
851 int writeCGNS(
const std::string &name,
bool saveAll =
false,
852 double scalingFactor = 1.0,
bool structured =
false);
856 static int readMED(
const std::string &name);
857 int readMED(
const std::string &name,
int meshIndex);
858 int writeMED(
const std::string &name,
bool saveAll =
false,
859 double scalingFactor = 1.0);
862 int readVTK(
const std::string &name,
bool bigEndian =
false);
863 int writeVTK(
const std::string &name,
bool binary =
false,
864 bool saveAll =
false,
double scalingFactor = 1.0,
865 bool bigEndian =
false);
868 int writeMATLAB(
const std::string &name,
bool binary =
false,
869 bool saveAll =
false,
double scalingFactor = 1.0,
873 int writeTOCHNOG(
const std::string &name,
bool saveAll =
false,
874 int saveGroupsOfNodes = 0,
double scalingFactor = 1.0);
877 int readDIFF(
const std::string &name);
878 int writeDIFF(
const std::string &name,
bool binary =
false,
879 bool saveAll =
false,
double scalingFactor = 1.0);
882 int writeINP(
const std::string &name,
bool saveAll =
false,
883 int saveGroupsOfElements = 0,
int saveGroupsOfNodes = 0,
884 double scalingFactor = 1.0);
887 int writeKEY(
const std::string &name,
int saveAll = 0,
888 int saveGroupsOfNodes = 0,
double scalingFactor = 1.0);
891 int writeRAD(
const std::string &name,
int saveAll = 0,
892 int saveGroupsOfNodes = 0,
double scalingFactor = 1.0);
895 int writeCELUM(
const std::string &name,
bool saveAll =
false,
896 double scalingFactor = 1.0);
899 int readGEOM(
const std::string &name);
902 int writeMAIL(
const std::string &name,
bool saveAll,
double scalingFactor);
905 int writeSU2(
const std::string &name,
bool saveAll,
double scalingFactor);
908 int writeNEU(
const std::string &name,
bool saveAll,
double scalingFactor);
int removeDuplicateMeshElements(const std::vector< GEntity * > &entities=std::vector< GEntity * >())
std::set< GFace *, GEntityPtrLessThan >::const_iterator const_fiter
GModel(const std::string &name="")
int setOrderN(int order, int linear, int incomplete, int onlyVisible)
std::size_t incrementAndGetMaxVertexNumber()
std::multimap< MElement *, short > & getGhostCells()
void setVisibility(char val)
void clearLastMeshEntityError()
std::map< std::string, std::vector< std::string > > _attributes
int writeCGNS(const std::string &name, bool saveAll=false, double scalingFactor=1.0, bool structured=false)
static std::map< SPoint2, unsigned int > tags
bool hasFileName(const std::string &name) const
std::set< GFace *, GEntityPtrLessThan >::iterator fiter
std::vector< GEntity * > _lastMeshEntityError
const_viter lastVertex() const
int readParasolidXMT(const std::string &name)
int writeMAIL(const std::string &name, bool saveAll, double scalingFactor)
void decrementMaxVertexNumber()
int writePartitionedTopology(std::string &name)
std::size_t getNumMeshParentElements() const
std::string getFileName() const
int _readMSH3(const std::string &name)
int writeVRML(const std::string &name, bool saveAll=false, double scalingFactor=1.0)
std::set< GEdge *, GEntityPtrLessThan > _chainEdges
std::map< MVertex *, std::pair< SVector3, SVector3 > > & getCurvatures()
int convertOldPartitioningToNewOne()
int _writePartitionedMSH3(const std::string &baseName, double version, bool binary, bool saveAll, bool saveParametric, double scalingFactor)
int getMaxElementaryNumber(int dim)
void createOCCInternals()
int importOCCShape(const void *shape)
void setAllVolumesPositiveTopology()
int writeNEU(const std::string &name, bool saveAll, double scalingFactor)
std::size_t getNumMeshVertices(int dim=-1) const
int readUNV(const std::string &name, bool readGroupsOfElements=true)
int writeKEY(const std::string &name, int saveAll=0, int saveGroupsOfNodes=0, double scalingFactor=1.0)
std::map< std::string, std::vector< std::string > > & getAttributes()
std::set< GFace *, GEntityPtrLessThan > getFaces() const
int writeGEO(const std::string &name, bool printLabels=true, bool onlyPhysicals=false)
int writeOFF(const std::string &name, bool saveAll=false, double scalingFactor=1.0)
int removeDuplicateMeshVertices(double tolerance, const std::vector< GEntity * > &entities=std::vector< GEntity * >())
void checkPointMaxNumbers()
std::size_t getMaxElementNumber() const
bool addAutomaticExtrusionConstraints(const std::vector< int > &numElements, const std::vector< double > &heights, const bool recombine, const std::vector< int > ®ionTag)
static double c(int i, int j, fullMatrix< double > &CA, const std::vector< SPoint3 > &P, const std::vector< SPoint3 > &Q)
void load(const std::string &fileName)
void deleteOCCInternals()
int writeP3D(const std::string &name, bool saveAll=false, double scalingFactor=1.0)
std::function< double(int, int, double, double, double, double)> lcCallback
std::string getName() const
int numPhysicalNames() const
std::set< std::string > _fileNames
void deleteACISInternals()
GEntity * _currentMeshEntity
void f(int n, double u, double *val)
int writeRAD(const std::string &name, int saveAll=0, int saveGroupsOfNodes=0, double scalingFactor=1.0)
int readGEOM(const std::string &name)
GFace * getFaceByTag(int n) const
std::set< GRegion *, GEntityPtrLessThan > getRegions() const
int readOCCSTEP(const std::string &name)
void _storeElementsInEntities(std::map< int, std::vector< MElement * > > &map)
int _readMSH2(const std::string &name)
MVertex * getMeshVertexByTag(int n)
void getInnerPhysicalNamesIterators(std::vector< piter > &iterators)
void clearLastMeshVertexError()
int writeCELUM(const std::string &name, bool saveAll=false, double scalingFactor=1.0)
std::set< GEdge *, GEntityPtrLessThan >::iterator eiter
GFace * getFaceForOCCShape(const void *shape)
void deleteGEOInternals()
int writeX3D(const std::string &name, bool saveAll=false, double scalingFactor=1.0, int x3dsurfaces=1, int x3dedges=0, int x3dvertices=0, int x3dvolumes=0, int x3dcolorize=0)
std::size_t getMaxVertexNumber() const
GEdge * getEdgeByTag(int n) const
int _writePartitionedMSH4(const std::string &baseName, double version, bool binary, bool saveAll, bool saveParametric, double scalingFactor)
const_fiter lastFace() const
void createParasolidInternals()
void setMaxVertexNumber(std::size_t num)
GModel * buildCutGModel(gLevelset *ls, bool cutElem=true, bool saveTri=false)
std::size_t getNumMeshElements(int dim=-1) const
int writePLY2(const std::string &name)
void removePhysicalGroups()
GVertex * getVertexForOCCShape(const void *shape)
int readDIFF(const std::string &name)
piter firstPhysicalName()
Parasolid_Internals * getParasolidInternals()
void addMVertexToVertexCache(MVertex *v)
void addGhostCells(MElement *elm, short partition)
ACIS_Internals * _acis_internals
std::size_t getNumPartitions() const
void setNumPartitions(std::size_t npart)
std::vector< GEntity * > getLastMeshEntityError()
int getMeshElementIndex(MElement *e)
GEdge * getEdgeForOCCShape(const void *shape)
void rebuildMeshVertexCache(bool onlyIfNecessary=false)
void createGeometryOfDiscreteEntities(const std::vector< std::pair< int, int > > &dimTags=std::vector< std::pair< int, int > >())
std::map< std::pair< int, int >, std::string > _physicalNames
const_eiter lastEdge() const
std::map< int, int > _elementIndexCache
int readMSH(const std::string &name)
int writeDIFF(const std::string &name, bool binary=false, bool saveAll=false, double scalingFactor=1.0)
void makeDiscreteRegionsSimplyConnected()
Parasolid_Internals * _parasolid_internals
static GModel * findByName(const std::string &name, const std::string &fileName="")
std::size_t incrementAndGetMaxElementNumber()
int writePY(const std::string &name, bool printLabels=true, bool onlyPhysicals=false)
void getEntitiesInBox(std::vector< GEntity * > &entities, const SBoundingBox3d &box, int dim=-1) const
int writeSTL(const std::string &name, bool binary=false, bool saveAll=false, double scalingFactor=1.0, int oneSolidPerSurface=0)
int readCGNS(const std::string &name, std::vector< std::vector< MVertex * > > &vertPerZone, std::vector< std::vector< MElement * > > &eltPerZone)
void getPhysicalGroups(std::map< int, std::vector< GEntity * > > groups[4]) const
static int readMED(const std::string &name)
std::size_t addMFace(MFace &face, std::size_t num=0)
int readVTK(const std::string &name, bool bigEndian=false)
void addLastMeshVertexError(MVertex *v)
std::string getPhysicalName(int dim, int num) const
int readSTL(const std::string &name, double tolerance=1.e-3)
std::set< GVertex *, GEntityPtrLessThan > getVertices() const
SBoundingBox3d bounds(bool aroundVisible=false)
void scaleMesh(double factor)
void createACISInternals()
void renumberMeshVertices()
std::map< std::pair< int, int >, std::string > _elementaryNames
void setName(const std::string &name)
void setFileName(const std::string &fileName)
bool changeEntityTag(int dim, int tag, int newTag)
const std::map< std::pair< int, int >, std::string > & getPhysicalNames() const
void setElementaryName(int dim, int tag, const std::string &name)
hashmapMFace::const_iterator firstMFace()
int getMaxPhysicalNumber(int dim)
int readVRML(const std::string &name)
int refineMesh(int linear, bool splitIntoQuads=false, bool splitIntoHexas=false, bool barycentric=false)
int writeTOCHNOG(const std::string &name, bool saveAll=false, int saveGroupsOfNodes=0, double scalingFactor=1.0)
std::map< MVertex *, std::pair< SVector3, SVector3 > > _curvatures
std::size_t getNumVertices() const
void setPhysicalNumToEntitiesInBox(int EntityDimension, int PhysicalNumber, std::vector< double > p1, std::vector< double > p2)
int readP3D(const std::string &name)
void rebuildMeshElementCache(bool onlyIfNecessary=false)
std::set< GVertex *, GEntityPtrLessThan >::const_iterator const_viter
void classifySurfaces(double angleThreshold, bool includeBoundary, bool forReparametrization, double curveAngleThreshold)
std::set< GVertex *, GEntityPtrLessThan > vertices
int readPLY2(const std::string &name)
void addHomologyRequest(const std::string &type, const std::vector< int > &domain, const std::vector< int > &subdomain, const std::vector< int > &dim)
void getMeshVerticesForPhysicalGroup(int dim, int num, std::vector< MVertex * > &)
void createTopologyFromMesh()
void clearHomologyRequests()
std::multimap< MElement *, short > _ghostCells
bool getBoundaryTags(const std::vector< std::pair< int, int > > &inDimTags, std::vector< std::pair< int, int > > &outDimTags, bool combined, bool oriented=true, bool recursive=false)
std::size_t removeInvisibleElements()
std::size_t _checkPointedMaxVertexNum
const_riter lastRegion() const
void createGEOInternals()
std::vector< std::pair< MElement *, int > > _elementVectorCache
int writeOCCBREP(const std::string &name)
std::string getElementaryName(int dim, int tag)
std::size_t getNumRegions() const
int _writeMSH4(const std::string &name, double version, bool binary, bool saveAll, bool saveParametric, double scalingFactor, bool append, int partitionToSave=0, std::map< GEntity *, SBoundingBox3d > *entityBounds=nullptr)
piter lastElementaryName()
void destroy(bool keepName=false)
FieldManager * getFields()
hashmapMEdge::const_iterator firstMEdge()
MElement * getMeshElementByTag(int n)
std::map< int, MVertex * > _vertexMapCache
int writeUNV(const std::string &name, bool saveAll=false, int saveGroupsOfElements=0, int saveGroupsOfNodes=0, double scalingFactor=1.0)
std::size_t _checkPointedMaxElementNum
std::size_t getNumFaces() const
static std::vector< GModel * > list
std::size_t _numPartitions
void setPhysicalNames(const std::map< std::pair< int, int >, std::string > &names)
void removePhysicalName(const std::string &name)
std::size_t reverseInvisibleElements()
std::vector< MVertex * > _lastMeshVertexError
void removeElementaryName(const std::string &name)
std::multimap< std::pair< const std::vector< int >, const std::vector< int > >, std::pair< const std::string, const std::vector< int > > > _homologyRequests
void save(const std::string &fileName)
void makeDiscreteFacesSimplyConnected()
void computeHomology(std::vector< std::pair< int, int > > &newPhysicals)
int readPLY(const std::string &name)
int _writePartitionedMSH2(const std::string &baseName, bool binary, bool saveAll, bool saveParametric, double scalingFactor)
std::vector< MVertex * > _vertexVectorCache
void getEntities(std::vector< GEntity * > &entities, int dim=-1) const
int exportDiscreteGEOInternals()
void alignPeriodicBoundaries()
int readBDF(const std::string &name)
int _writeMSH3(const std::string &name, double version, bool binary, bool saveAll, bool saveParametric, double scalingFactor, int elementStartNum, int saveSinglePartition, bool append)
int writePOS(const std::string &name, bool printElementary, bool printElementNumber, bool printSICN, bool printSIGE, bool printGamma, bool printDisto, bool saveAll=false, double scalingFactor=1.0)
std::set< GEdge *, GEntityPtrLessThan > getEdges() const
int readACTRAN(const std::string &name)
GRegion * getRegionForOCCShape(const void *shape)
int readOFF(const std::string &name)
std::size_t getNumEdges() const
int writeINP(const std::string &name, bool saveAll=false, int saveGroupsOfElements=0, int saveGroupsOfNodes=0, double scalingFactor=1.0)
int _writeX3dFile(FILE *fp, bool saveAll, double scalingFactor, int x3dsurfaces, int x3dedges, int x3dvertices, int x3dcolorize, std::vector< GFace * > &customFaces)
static int readGEO(const std::string &name)
std::map< std::pair< int, int >, std::string >::iterator piter
std::vector< MElement * > getMeshElementsByCoord(SPoint3 &p, int dim=-1, bool strict=true)
int writeMSH(const std::string &name, double version=2.2, bool binary=false, bool saveAll=false, bool saveParametric=false, double scalingFactor=1.0, int elementStartNum=0, int saveSinglePartition=0, bool append=false)
int readACISSAT(const std::string &name)
char getVisibility() const
int writeParasolidXMT(const std::string &name)
piter firstElementaryName()
MElementOctree * _elementOctree
static int setCurrent(GModel *m)
int writeSU2(const std::string &name, bool saveAll, double scalingFactor)
void _storeParentsInSubElements(std::map< int, std::vector< MElement * > > &map)
int readSAMCEF(const std::string &name)
std::vector< MVertex * > getLastMeshVertexError()
int readOCCBREP(const std::string &name)
int _writeMSH2(const std::string &name, double version, bool binary, bool saveAll, bool saveParametric, double scalingFactor, int elementStartNum, int saveSinglePartition, bool append, bool renumberVertices)
void storeChain(int dim, std::map< int, std::vector< MElement * > > &entityMap, std::map< int, std::map< int, std::string > > &physicalMap)
int writeParasolidSTEP(const std::string &name)
GEntity * getCurrentMeshEntity()
int writeMESH(const std::string &name, int elementTagType=1, bool saveAll=false, double scalingFactor=1.0)
void setMeshElementIndex(MElement *e, int index)
std::set< GFace *, GEntityPtrLessThan > faces
void removePhysicalGroup(int dim, int num)
int writeMATLAB(const std::string &name, bool binary=false, bool saveAll=false, double scalingFactor=1.0, int filetype=1)
int optimizeMesh(const std::string &how, bool force=false, int niter=1)
const_eiter firstEdge() const
std::size_t _maxVertexNum
int readMESH(const std::string &name)
void pruneMeshVertexAssociations()
std::set< GVertex *, GEntityPtrLessThan > _chainVertices
std::set< GRegion *, GEntityPtrLessThan >::iterator riter
std::map< int, std::pair< MElement *, int > > _elementMapCache
OCC_Internals * _occ_internals
std::set< GFace *, GEntityPtrLessThan > _chainFaces
int _readMSH4(const std::string &name)
int setPhysicalName(const std::string &name, int dim, int num=0)
std::set< GEdge *, GEntityPtrLessThan >::const_iterator const_eiter
GEntity * getEntityByTag(int dim, int n) const
std::set< GVertex *, GEntityPtrLessThan >::iterator viter
std::size_t getMFace(MVertex *v0, MVertex *v1, MVertex *v2, MVertex *v3, MFace &face)
std::set< GRegion *, GEntityPtrLessThan > regions
int writeVTK(const std::string &name, bool binary=false, bool saveAll=false, double scalingFactor=1.0, bool bigEndian=false)
void renumberMeshElements()
hashmapMFace::const_iterator lastMFace()
std::size_t getMEdge(MVertex *v0, MVertex *v1, MEdge &edge)
std::set< GRegion *, GEntityPtrLessThan >::const_iterator const_riter
int readOCCIGES(const std::string &name)
GRegion * getRegionByTag(int n) const
void _storeVerticesInEntities(std::map< int, MVertex * > &vertices)
void checkMeshCoherence(double tolerance)
int readParasolidSTEP(const std::string &name)
void setMaxElementNumber(std::size_t num)
void addLastMeshEntityError(GEntity *e)
const_riter firstRegion() const
const_fiter firstFace() const
int writeMED(const std::string &name, bool saveAll=false, double scalingFactor=1.0)
int writeBDF(const std::string &name, int format=0, int elementTagType=1, bool saveAll=false, double scalingFactor=1.0)
void addPhysicalGroup(int dim, int tag, const std::vector< int > &tags)
GVertex * getVertexByTag(int n) const
GEO_Internals * _geo_internals
void setSelection(int val)
GEO_Internals * getGEOInternals()
void deleteVertexArrays()
void deleteParasolidInternals()
int getMeshStatus(bool countDiscrete=true)
std::size_t _maxElementNum
void _associateEntityWithMeshVertices()
bool setAllVolumesPositive()
OCC_Internals * getOCCInternals()
std::set< GEdge *, GEntityPtrLessThan > edges
std::size_t addMEdge(MEdge &edge, std::size_t num=0)
std::set< GRegion *, GEntityPtrLessThan > _chainRegions
void setCurrentMeshEntity(GEntity *e)
const_viter firstVertex() const
std::vector< int > getTagsForPhysicalName(int dim, const std::string &name)
std::size_t indexMeshVertices(bool all, int singlePartition=0, bool renumber=true)
int getPhysicalNumber(const int &dim, const std::string &name)
void _storePhysicalTagsInEntities(int dim, std::map< int, std::map< int, std::string > > &map)
static GModel * current(int index=-1)
void getCheckPointedMaxNumbers(std::size_t &maxv, std::size_t &maxe) const
ACIS_Internals * getACISInternals()
int writeOCCSTEP(const std::string &name)
int partitionMesh(int num, std::vector< std::pair< MElement *, int > > elementPartition=std::vector< std::pair< MElement *, int > >())
hashmapMEdge::const_iterator lastMEdge()
MElement * getMeshElementByCoord(SPoint3 &p, SPoint3 ¶m, int dim=-1, bool strict=true)
int writeIR3(const std::string &name, int elementTagType, bool saveAll, double scalingFactor)
int writePartitionedMSH(const std::string &baseName, double version=2.2, bool binary=false, bool saveAll=false, bool saveParametric=false, double scalingFactor=1.0)