Forked from
ogs / ogs
3231 commits behind the upstream repository.
-
Dmitri Naumov authored
Now changes are in the class, function, methods documentation and not in the headers. This unifies to the most common case.
Dmitri Naumov authoredNow changes are in the class, function, methods documentation and not in the headers. This unifies to the most common case.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
convertMeshToGeo.h 1.53 KiB
/**
* \file
* \author Karsten Rink
* \date 2013-07-05
* \brief Definition of mesh to geometry conversion.
*
* \copyright
* Copyright (c) 2012-2023, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include <limits>
#include <string>
namespace GeoLib
{
class GEOObjects;
class Surface;
} // namespace GeoLib
namespace MeshLib
{
class Mesh;
}
namespace MeshToolsLib
{
/**
* 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());
} // namespace MeshToolsLib