Path: blob/devel/ElmerGUI/Application/src/meshutils.h
3203 views
/*****************************************************************************1* *2* Elmer, A Finite Element Software for Multiphysical Problems *3* *4* Copyright 1st April 1995 - , CSC - IT Center for Science Ltd., Finland *5* *6* This program is free software; you can redistribute it and/or *7* modify it under the terms of the GNU General Public License *8* as published by the Free Software Foundation; either version 2 *9* of the License, or (at your option) any later version. *10* *11* This program is distributed in the hope that it will be useful, *12* but WITHOUT ANY WARRANTY; without even the implied warranty of *13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *14* GNU General Public License for more details. *15* *16* You should have received a copy of the GNU General Public License *17* along with this program (in file fem/GPL-2); if not, write to the *18* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *19* Boston, MA 02110-1301, USA. *20* *21*****************************************************************************/2223/*****************************************************************************24* *25* ElmerGUI meshutils *26* *27*****************************************************************************28* *29* Authors: Mikko Lyly, Juha Ruokolainen and Peter Råback *30* Email: [email protected] *31* Web: http://www.csc.fi/elmer *32* Address: CSC - IT Center for Science Ltd. *33* Keilaranta 14 *34* 02101 Espoo, Finland *35* *36* Original Date: 15 Mar 2008 *37* *38*****************************************************************************/3940#ifndef MESHUTILS_H41#define MESHUTILS_H4243#include <math.h>44#include "meshtype.h"45#include "helpers.h"4647#define SHARPEDGE 048#define UNKNOWN -149#define MYPI 3.141592655051class Meshutils52{53public:54Meshutils();55~Meshutils();5657void clearMesh(mesh_t*);58void findEdgeElementPoints(mesh_t*);59void findSurfaceElements(mesh_t*);60void findSurfaceElementEdges(mesh_t*);61void findSurfaceElementParents(mesh_t*);62void findEdgeElementParents(mesh_t*);63void findSurfaceElementNormals(mesh_t*);64void findSharpEdges(mesh_t*, double);65void findSharpPoints(mesh_t*, double);66int divideEdgeBySharpPoints(mesh_t*);67int divideSurfaceBySharpEdges(mesh_t*);68void sort_index(int n, double *a, int *b);69void increaseElementOrder(mesh_t*);70void decreaseElementOrder(mesh_t*);71int cleanHangingSharpEdges(mesh_t*);72};73#endif // #ifndef MESHUTILS_H747576