Newer
Older
Karsten Rink
committed
/**
* \file
* \author Karsten Rink
* \date 2013-07-05
* \brief Definition of mesh to geometry conversion.
*
* \copyright
* Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org)
Karsten Rink
committed
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#ifndef CONVERTMESHTOGEO_H_
#define CONVERTMESHTOGEO_H_
Karsten Rink
committed
namespace GeoLib
{
class GEOObjects;
Karsten Rink
committed
}
namespace MeshLib
{
class Mesh;
/**
* Converts a 2D mesh into a geometry.
* A new geometry with the name of the mesh will be inserted into geo_objects, consisting
* of points identical with mesh nodes and one surface representing the mesh. Triangles are
* converted to geometric triangles, quads are split into two triangles, all other elements
* are ignored.
*/
bool convertMeshToGeo(const MeshLib::Mesh &mesh, GeoLib::GEOObjects &geo_objects, double eps = std::numeric_limits<double>::epsilon());
/**
* Converts a surface into a triangular mesh
* @param sfc Surface object
* @param mesh_name New mesh name
* @param eps Minimum distance for nodes not to be collapsed
* @return a pointer to a converted mesh object. nullptr is returned if the conversion fails.
*/
MeshLib::Mesh* convertSurfaceToMesh(const GeoLib::Surface &sfc, const std::string &mesh_name, double eps = std::numeric_limits<double>::epsilon());
Karsten Rink
committed
} // namespace
#endif /* CONVERTMESHTOGEO_H_ */