Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
file_io_tetgen.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009-2015: G-CSC, Goethe University Frankfurt
3 * Author: Sebastian Reiter
4 *
5 * This file is part of UG4.
6 *
7 * UG4 is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU Lesser General Public License version 3 (as published by the
9 * Free Software Foundation) with the following additional attribution
10 * requirements (according to LGPL/GPL v3 §7):
11 *
12 * (1) The following notice must be displayed in the Appropriate Legal Notices
13 * of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14 *
15 * (2) The following notice must be displayed at a prominent place in the
16 * terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17 *
18 * (3) The following bibliography is recommended for citation and must be
19 * preserved in all covered files:
20 * "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21 * parallel geometric multigrid solver on hierarchically distributed grids.
22 * Computing and visualization in science 16, 4 (2013), 151-164"
23 * "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24 * flexible software system for simulating pde based models on high performance
25 * computers. Computing and visualization in science 16, 4 (2013), 165-179"
26 *
27 * This program is distributed in the hope that it will be useful,
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 * GNU Lesser General Public License for more details.
31 */
32
33#ifndef __H__LIBGRID__FILE_IO_TETGEN__
34#define __H__LIBGRID__FILE_IO_TETGEN__
35
36#include <vector>
37#include "../grid/grid.h"
38#include "../subset_handler.h"
39#include "../common_attachments.h"
40
41namespace ug
42{
43
44bool LoadGridFromELE(Grid& grid, const char* filename, ISubsetHandler* pSH = NULL,
45 APosition& aPos = aPosition);
46
47bool SaveGridToELE(Grid& grid, const char* filename, ISubsetHandler* pSH = NULL,
48 APosition& aPos = aPosition,
49 ANumber* paVolumeConstraint = NULL);
50
51
52bool ImportGridFromTETGEN(Grid& grid,
53 const char* nodesFilename, const char* facesFilename,
54 const char* elemsFilename, AVector3& aPos,
55 std::vector<AFloat>* pvNodeAttributes = NULL,
56 AInt* paNodeBoundaryMarker = NULL,
57 AInt* paFaceBoundaryMarker = NULL,
58 AInt* paElementAttribute = NULL);
59
60bool ImportGridFromTETGEN(Grid& grid,
61 const char* nodesFilename, const char* facesFilename,
62 const char* elemsFilename, AVector3& aPos,
63 ISubsetHandler* psh = NULL,
64 std::vector<AFloat>* pvNodeAttributes = NULL);
65
67// ExportGridToSMESH
69
88bool ExportGridToSMESH(Grid& grid, const char* filename, AVector3& aPos,
89 std::vector<AFloat>* pvNodeAttributes = NULL,
90 AInt* paNodeBoundaryMarker = NULL,
91 AInt* paFaceBoundaryMarker = NULL,
92 std::vector<vector3>* pvHoles = NULL,
93 std::vector<vector3>* pvRegionPositions = NULL,
94 std::vector<int>* pvRegionAttributes = NULL,
95 std::vector<float>* pvRegionVolumeConstraints = NULL);
96
98// ExportGridToSMESH
100
118bool ExportGridToSMESH(Grid& grid, const char* filename, AVector3& aPos,
119 ISubsetHandler* psh = NULL,
120 std::vector<AFloat>* pvNodeAttributes = NULL,
121 std::vector<vector3>* pvHoles = NULL,
122 std::vector<vector3>* pvRegionPositions = NULL,
123 std::vector<int>* pvRegionAttributes = NULL,
124 std::vector<float>* pvRegionVolumeConstraints = NULL);
125
126bool LoadGridFromSMESH(Grid& grid, const char* filename, AVector3& aPos,
127 ISubsetHandler* psh = NULL);
128
129bool ExportGridToTETGEN(Grid& grid, const char* filename,
130 AVector3& aPos, std::vector<AFloat>* pvNodeAttributes = NULL,
131 AInt* paNodeBoundaryMarker = NULL,
132 AInt* paFaceBoundaryMarker = NULL,
133 AInt* paElementAttribute = NULL,
134 ANumber* paVolumeConstraint = NULL);
135
136}// end of namespace
137
138#endif
the ug namespace
bool LoadGridFromSMESH(Grid &grid, const char *filename, AVector3 &aPos, ISubsetHandler *psh)
Definition file_io_tetgen.cpp:788
bool ImportGridFromTETGEN(Grid &grid, const char *nodesFilename, const char *facesFilename, const char *elemsFilename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes, AInt *paNodeBoundaryMarker, AInt *paFaceBoundaryMarker, AInt *paElementAttribute)
Definition file_io_tetgen.cpp:109
Attachment< int > AInt
Definition common_attachments.h:55
bool ExportGridToTETGEN(Grid &grid, const char *filename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes, AInt *paNodeBoundaryMarker, AInt *paFaceBoundaryMarker, AInt *paElementAttribute, ANumber *paVolumeConstraint)
Definition file_io_tetgen.cpp:924
APosition3 APosition
Definition common_attachments.h:76
bool SaveGridToELE(Grid &grid, const char *filename, ISubsetHandler *pSH, APosition &aPos, ANumber *paVolumeConstraint)
Definition file_io_tetgen.cpp:68
APosition aPosition("position", true)
The standard 3d position type.
Definition common_attachments.h:84
bool LoadGridFromELE(Grid &grid, const char *filename, ISubsetHandler *pSH, APosition &aPos)
Definition file_io_tetgen.cpp:44
Attachment< number > ANumber
Definition common_attachments.h:57
bool ExportGridToSMESH(Grid &grid, const char *filename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes, AInt *paNodeBoundaryMarker, AInt *paFaceBoundaryMarker, std::vector< vector3 > *pvHoles, std::vector< vector3 > *pvRegionPositions, std::vector< int > *pvRegionAttributes, std::vector< float > *pvRegionVolumeConstraints)
writes an SMESH file.
Definition file_io_tetgen.cpp:453
Attachment< vector3 > AVector3
Definition common_attachments.h:62