waLBerla 7.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
walberla::mesh Namespace Reference

Namespaces

namespace  distance_octree
 

Classes

struct  AABBFaceFilter
 
class  AreaFaceDataSource
 
class  BoundaryInfo
 
class  BoundaryLocation
 
class  BoundarySetup
 
class  BoundaryUIDFaceDataSource
 
class  ColorFaceDataSource
 
class  ColorToBoundaryMapper
 
class  ColorVertexDataSource
 
class  ComplexGeometryBlockforestCreator
 
class  ComplexGeometryStructuredBlockforestCreator
 
struct  DistanceProperties
 
class  DistributedVTKMeshWriter
 
class  ExcludeMeshExterior
 
class  ExcludeMeshInterior
 
class  ExcludeMeshInteriorRefinement
 
struct  FloatTraits
 
class  IndexFaceDataSource
 
class  IndexVertexDataSource
 
class  MeshBodyWallDistance
 Class which computes the minimum wall distance between a fluid cell and a mesh object using the Möller-Trumbore Fast Minimum Storage Ray/Triangle Intersection Algorithm. More...
 
class  MeshWorkloadMemory
 
class  NormalsFaceDataSource
 
class  NormalsVertexDataSource
 
class  QHull
 
class  QHullFaceSorter
 
class  QHullPointDataSource
 
class  RankFaceDataSource
 
class  RankVertexDataSource
 
class  Ray
 
struct  RealTraits
 
class  RefinementSelection
 
class  StatusBitFaceDataSource
 
class  StatusBitVertexDataSource
 
struct  StatusFaceFilter
 
struct  SubsetFaceFilter
 
class  TriangleDistance
 Adds information required to compute signed distances from a point to a triangle. More...
 
class  VTKMeshWriter
 

Typedefs

using PythonPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<OpenMesh::Python::MeshTraits>
 
using PolyMesh = OpenMesh::PolyMesh_ArrayKernelT<RealTraits>
 
using FloatPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<FloatTraits>
 
using PythonTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<OpenMesh::Python::MeshTraits>
 
using TriangleMesh = OpenMesh::TriMesh_ArrayKernelT<RealTraits>
 
using FloatTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<FloatTraits>
 

Functions

template<typename DistanceObject >
ExcludeMeshExterior< DistanceObject > makeExcludeMeshExterior (const shared_ptr< DistanceObject > &distanceObject, const real_t maxError)
 
template<typename DistanceObject >
ExcludeMeshInterior< DistanceObject > makeExcludeMeshInterior (const shared_ptr< DistanceObject > &distanceObject, const real_t maxError)
 
template<typename DistanceObject >
ExcludeMeshInteriorRefinement< DistanceObject > makeExcludeMeshInteriorRefinement (const shared_ptr< DistanceObject > &distanceObject, const real_t maxError)
 
template<typename MeshType >
shared_ptr< StructuredBlockForestcreateStructuredBlockStorageInsideMesh (const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const Vector3< uint_t > &blockSize)
 
template<typename MeshType >
shared_ptr< StructuredBlockForestcreateStructuredBlockStorageOutsideMesh (const AABB &aabb, const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const Vector3< uint_t > &blockSize)
 
template<typename MeshType >
shared_ptr< StructuredBlockForestcreateStructuredBlockStorageInsideMesh (const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const uint_t targetNumRootBlocks)
 
template<typename MeshType >
shared_ptr< StructuredBlockForestcreateStructuredBlockStorageOutsideMesh (const AABB &aabb, const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const uint_t targetNumRootBlocks)
 
template<typename DistanceObject >
MeshWorkloadMemory< DistanceObject > makeMeshWorkloadMemory (const shared_ptr< DistanceObject > &distanceObject, const Vector3< typename DistanceObject::Scalar > &cellSize)
 
template<typename DistanceObject >
MeshWorkloadMemory< DistanceObject > makeMeshWorkloadMemory (const shared_ptr< DistanceObject > &distanceObject, const typename DistanceObject::Scalar cellSize)
 
template<typename DistanceObject >
RefinementSelection< DistanceObject > makeRefinementSelection (const shared_ptr< DistanceObject > &distanceObject, const uint_t level, const real_t distance, real_t maxError)
 
template<typename OpenMeshType >
void convertOpenMeshToWalberla (const OpenMeshType &omMesh, geometry::TriangleMesh &wbMesh, bool clear=false)
 Converts an OpenMesh to a geometry::TriangleMesh.
 
template<typename OpenMeshType >
void convertWalberlaToOpenMesh (const geometry::TriangleMesh &wbMesh, OpenMeshType &omMesh, bool clear=false)
 Converts a geometry::TriangleMesh to an OpenMesh.
 
bool rayAABBIntersection (const AABB &aabb, const Ray &ray, real_t &t, real_t padding, Vector3< real_t > *n)
 
template<typename S >
OpenMesh::VectorT< S, 3 > operator* (const math::Matrix3< S > &lhs, const OpenMesh::VectorT< S, 3 > &rhs)
 
template<typename S >
math::Vector3< S > toWalberla (const OpenMesh::VectorT< S, 3 > &v)
 
template<typename S >
OpenMesh::VectorT< S, 3 > toOpenMesh (const math::Vector3< S > &v)
 
template<typename SWB , typename SOM >
math::Vector3< SWB > toWalberlaNumericCast (const OpenMesh::VectorT< SOM, 3 > &v)
 
template<typename SOM , typename SWB >
OpenMesh::VectorT< SOM, 3 > toOpenMeshNumericCast (const math::Vector3< SWB > &v)
 
template<typename MeshType >
bool readFromStream (std::istream &inputStream, MeshType &mesh, const std::string &extension, bool binaryFile=false)
 Reads a mesh from a generic input stream.
 
template<typename MeshType >
void readAndBroadcast (const std::string &filename, MeshType &mesh, bool binaryFile=false)
 Loads an OpenMesh in parallel.
 
template<typename MeshType >
void readFromFile (const std::string &filename, MeshType &mesh, bool binaryFile=false)
 Read a mesh from a file.
 
template<typename MeshType >
math::GenericAABB< typename MeshType::Scalar > computeAABB (const MeshType &mesh)
 
template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > computeAABBForVertices (const MeshType &mesh, InputIterator beginVh, InputIterator endVh)
 
template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > computeAABBForFaces (const MeshType &mesh, InputIterator beginFh, InputIterator endFh)
 
template<typename MeshType >
void translate (MeshType &mesh, const Vector3< typename MeshType::Scalar > &offset)
 
template<typename MeshType >
void scale (MeshType &mesh, const Vector3< typename MeshType::Scalar > &scaleFactors)
 
template<typename MeshType >
void rotate (MeshType &mesh, Vector3< typename MeshType::Scalar > axis, typename MeshType::Scalar angle, Vector3< typename MeshType::scalar > axis_foot)
 
template<typename MeshType >
MeshType::Scalar computeVolume (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Scalar computeSurfaceArea (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Point computeCentroid (const MeshType &mesh)
 
template<typename MeshType >
Matrix3< typename MeshType::Scalar > computeInertiaTensor (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Point computeCentroid (const MeshType &mesh, const typename MeshType::FaceHandle fh)
 
template<typename MeshType >
MeshType::Scalar computeBoundingSphereRadius (const MeshType &mesh, const typename MeshType::Point &referencePoint)
 
template<typename MeshType , typename InputIterator >
std::vector< typename MeshType::VertexHandle > findConnectedVertices (const MeshType &mesh, InputIterator facesBegin, InputIterator facesEnd)
 
template<typename MeshType >
void findConnectedVertices (const MeshType &mesh, const typename MeshType::FaceHandle &face, std::vector< typename MeshType::VertexHandle > &outVertices)
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > isIntersecting (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const T &maxError)
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > fullyCoversAABB (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const T &maxError)
 
template<typename DistanceObject , typename T , typename U , typename V >
walberla::optional< bool > intersectsSurface (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const U &maxError, const V &surfaceDistance)
 
template<typename MeshType , typename InputIterator >
MeshType::Point principalComponent (const MeshType &mesh, InputIterator beginFh, InputIterator endFh, const uint_t iterations=uint_t(10))
 
template<typename MeshType >
MeshType::Point principalComponent (const MeshType &mesh, const uint_t iterations=uint_t(10))
 
template<typename MeshType >
void vertexToFaceColor (const MeshType &mesh, const typename MeshType::Color &defaultColor)
 Color the faces of a mesh according to its vertices.
 
template<typename MeshType >
void rotate (MeshType &mesh, Vector3< typename MeshType::Scalar > axis, typename MeshType::Scalar angle, Vector3< typename MeshType::Scalar > axis_foot)
 
template<typename MeshType >
void computeMassProperties (const MeshType &mesh, typename MeshType::Scalar density, Vector3< typename MeshType::Scalar > &centroid, Matrix3< typename MeshType::Scalar > &inertiaTensor, typename MeshType::Scalar &mass)
 Computes all mass properties (mass, centroid, inertia tensor at once).
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > isIntersecting (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const U &maxError)
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > fullyCoversAABB (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const U &maxError)
 
template<typename MeshType >
shared_ptr< MeshType > convexHull (const Vector3< real_t > &points)
 
template<typename MeshType >
shared_ptr< MeshType > convexHull (const MeshType &mesh)
 
template<typename MeshType >
void getVertexHandles (const MeshType &mesh, const typename MeshType::FaceHandle fh, typename MeshType::VertexHandle &vh0, typename MeshType::VertexHandle &vh1, typename MeshType::VertexHandle &vh2)
 
template<typename MeshType >
void getVertexPositions (const MeshType &mesh, const typename MeshType::FaceHandle fh, typename MeshType::Point &v0, typename MeshType::Point &v1, typename MeshType::Point &v2)
 
template<typename MeshType >
MeshType::VertexHandle getVertexHandle (const MeshType &mesh, const typename MeshType::FaceHandle fh, const unsigned int vertexIdx)
 
template<typename MeshType >
MeshType::HalfedgeHandle getHalfedgeHandle (const MeshType &mesh, const typename MeshType::FaceHandle fh, const unsigned int fromVertexIdx, const unsigned int toVertexIdx)
 

Typedef Documentation

◆ FloatPolyMesh

using walberla::mesh::FloatPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<FloatTraits>

◆ FloatTriangleMesh

using walberla::mesh::FloatTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<FloatTraits>

◆ PolyMesh

using walberla::mesh::PolyMesh = OpenMesh::PolyMesh_ArrayKernelT<RealTraits>

◆ PythonPolyMesh

using walberla::mesh::PythonPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<OpenMesh::Python::MeshTraits>

◆ PythonTriangleMesh

using walberla::mesh::PythonTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<OpenMesh::Python::MeshTraits>

◆ TriangleMesh

using walberla::mesh::TriangleMesh = OpenMesh::TriMesh_ArrayKernelT<RealTraits>

Function Documentation

◆ computeAABB()

template<typename MeshType >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABB ( const MeshType & mesh)

◆ computeAABBForFaces()

template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForFaces ( const MeshType & mesh,
InputIterator beginFh,
InputIterator endFh )

◆ computeAABBForVertices()

template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForVertices ( const MeshType & mesh,
InputIterator beginVh,
InputIterator endVh )

◆ computeBoundingSphereRadius()

template<typename MeshType >
MeshType::Scalar walberla::mesh::computeBoundingSphereRadius ( const MeshType & mesh,
const typename MeshType::Point & referencePoint )

◆ computeCentroid() [1/2]

template<typename MeshType >
MeshType::Point walberla::mesh::computeCentroid ( const MeshType & mesh)

◆ computeCentroid() [2/2]

template<typename MeshType >
MeshType::Point walberla::mesh::computeCentroid ( const MeshType & mesh,
const typename MeshType::FaceHandle fh )

◆ computeInertiaTensor()

template<typename MeshType >
Matrix3< typename MeshType::Scalar > walberla::mesh::computeInertiaTensor ( const MeshType & mesh)

◆ computeMassProperties()

template<typename MeshType >
void walberla::mesh::computeMassProperties ( const MeshType & mesh,
typename MeshType::Scalar density,
Vector3< typename MeshType::Scalar > & centroid,
Matrix3< typename MeshType::Scalar > & inertiaTensor,
typename MeshType::Scalar & mass )

Computes all mass properties (mass, centroid, inertia tensor at once).

This function computes the mass, centroid and the inertia tensor relative to the calculated centroid. Source: https://www.cs.upc.edu/~virtual/SGI/docs/3.%20Further%20Reading/Polyhedral%20Mass%20Properties%20Revisited.pdf

Template Parameters
MeshType
Parameters
meshTriangular input mesh.
densityDensity of the mesh.
centroidOutput centroid point.
inertiaTensorOutput inertia matrix.
massOutput mass.
Attention
The inertia tensor is computed relative to the centroid.

◆ computeSurfaceArea()

template<typename MeshType >
MeshType::Scalar walberla::mesh::computeSurfaceArea ( const MeshType & mesh)

◆ computeVolume()

template<typename MeshType >
MeshType::Scalar walberla::mesh::computeVolume ( const MeshType & mesh)

◆ convertOpenMeshToWalberla()

template<typename OpenMeshType >
void walberla::mesh::convertOpenMeshToWalberla ( const OpenMeshType & omMesh,
geometry::TriangleMesh & wbMesh,
bool clear = false )

Converts an OpenMesh to a geometry::TriangleMesh.

Only the basic topology is converted. Additional mesh attributes like normals are ignored.

Template Parameters
MeshTypeThe type of the OpenMesh
Parameters
omMeshThe OpenMesh source mesh
wbMeshThe waLBerla target mesh
clearIf true, the waLBerla mesh is cleared before data from omMesh is added

◆ convertWalberlaToOpenMesh()

template<typename OpenMeshType >
void walberla::mesh::convertWalberlaToOpenMesh ( const geometry::TriangleMesh & wbMesh,
OpenMeshType & omMesh,
bool clear = false )

Converts a geometry::TriangleMesh to an OpenMesh.

Only the basic topology is converted. Additional mesh attributes like normals are ignored.

Template Parameters
MeshTypeThe type of the OpenMesh
Parameters
wbMeshThe waLBerla source mesh
omMeshThe OpenMesh target mesh
clearIf true, the OpenMesh is cleared before data from wbMesh is added

◆ convexHull() [1/2]

template<typename MeshType >
shared_ptr< MeshType > walberla::mesh::convexHull ( const MeshType & mesh)
inline

◆ convexHull() [2/2]

template<typename MeshType >
shared_ptr< MeshType > walberla::mesh::convexHull ( const Vector3< real_t > & points)
inline

◆ createStructuredBlockStorageInsideMesh() [1/2]

template<typename MeshType >
shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageInsideMesh ( const shared_ptr< mesh::DistanceOctree< MeshType > > & distanceOctree,
const real_t dx,
const uint_t targetNumRootBlocks )

◆ createStructuredBlockStorageInsideMesh() [2/2]

template<typename MeshType >
shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageInsideMesh ( const shared_ptr< mesh::DistanceOctree< MeshType > > & distanceOctree,
const real_t dx,
const Vector3< uint_t > & blockSize )

◆ createStructuredBlockStorageOutsideMesh() [1/2]

template<typename MeshType >
shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageOutsideMesh ( const AABB & aabb,
const shared_ptr< mesh::DistanceOctree< MeshType > > & distanceOctree,
const real_t dx,
const uint_t targetNumRootBlocks )

◆ createStructuredBlockStorageOutsideMesh() [2/2]

template<typename MeshType >
shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageOutsideMesh ( const AABB & aabb,
const shared_ptr< mesh::DistanceOctree< MeshType > > & distanceOctree,
const real_t dx,
const Vector3< uint_t > & blockSize )

◆ findConnectedVertices() [1/2]

template<typename MeshType >
void walberla::mesh::findConnectedVertices ( const MeshType & mesh,
const typename MeshType::FaceHandle & face,
std::vector< typename MeshType::VertexHandle > & outVertices )

◆ findConnectedVertices() [2/2]

template<typename MeshType , typename InputIterator >
std::vector< typename MeshType::VertexHandle > walberla::mesh::findConnectedVertices ( const MeshType & mesh,
InputIterator facesBegin,
InputIterator facesEnd )

◆ fullyCoversAABB() [1/2]

template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::fullyCoversAABB ( const DistanceObject & distanceObject,
const math::GenericAABB< T > & aabb,
const T & maxError )

◆ fullyCoversAABB() [2/2]

template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::fullyCoversAABB ( const DistanceObject & distanceObject,
const math::GenericAABB< T > & aabb,
const U & maxError )

◆ getHalfedgeHandle()

template<typename MeshType >
MeshType::HalfedgeHandle walberla::mesh::getHalfedgeHandle ( const MeshType & mesh,
const typename MeshType::FaceHandle fh,
const unsigned int fromVertexIdx,
const unsigned int toVertexIdx )
inline

◆ getVertexHandle()

template<typename MeshType >
MeshType::VertexHandle walberla::mesh::getVertexHandle ( const MeshType & mesh,
const typename MeshType::FaceHandle fh,
const unsigned int vertexIdx )
inline

◆ getVertexHandles()

template<typename MeshType >
void walberla::mesh::getVertexHandles ( const MeshType & mesh,
const typename MeshType::FaceHandle fh,
typename MeshType::VertexHandle & vh0,
typename MeshType::VertexHandle & vh1,
typename MeshType::VertexHandle & vh2 )
inline

◆ getVertexPositions()

template<typename MeshType >
void walberla::mesh::getVertexPositions ( const MeshType & mesh,
const typename MeshType::FaceHandle fh,
typename MeshType::Point & v0,
typename MeshType::Point & v1,
typename MeshType::Point & v2 )
inline

◆ intersectsSurface()

template<typename DistanceObject , typename T , typename U , typename V >
walberla::optional< bool > walberla::mesh::intersectsSurface ( const DistanceObject & distanceObject,
const math::GenericAABB< T > & aabb,
const U & maxError,
const V & surfaceDistance )

◆ isIntersecting() [1/2]

template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::isIntersecting ( const DistanceObject & distanceObject,
const math::GenericAABB< T > & aabb,
const T & maxError )

◆ isIntersecting() [2/2]

template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::isIntersecting ( const DistanceObject & distanceObject,
const math::GenericAABB< T > & aabb,
const U & maxError )

◆ makeExcludeMeshExterior()

template<typename DistanceObject >
ExcludeMeshExterior< DistanceObject > walberla::mesh::makeExcludeMeshExterior ( const shared_ptr< DistanceObject > & distanceObject,
const real_t maxError )

◆ makeExcludeMeshInterior()

template<typename DistanceObject >
ExcludeMeshInterior< DistanceObject > walberla::mesh::makeExcludeMeshInterior ( const shared_ptr< DistanceObject > & distanceObject,
const real_t maxError )

◆ makeExcludeMeshInteriorRefinement()

template<typename DistanceObject >
ExcludeMeshInteriorRefinement< DistanceObject > walberla::mesh::makeExcludeMeshInteriorRefinement ( const shared_ptr< DistanceObject > & distanceObject,
const real_t maxError )

◆ makeMeshWorkloadMemory() [1/2]

template<typename DistanceObject >
MeshWorkloadMemory< DistanceObject > walberla::mesh::makeMeshWorkloadMemory ( const shared_ptr< DistanceObject > & distanceObject,
const typename DistanceObject::Scalar cellSize )

◆ makeMeshWorkloadMemory() [2/2]

template<typename DistanceObject >
MeshWorkloadMemory< DistanceObject > walberla::mesh::makeMeshWorkloadMemory ( const shared_ptr< DistanceObject > & distanceObject,
const Vector3< typename DistanceObject::Scalar > & cellSize )

◆ makeRefinementSelection()

template<typename DistanceObject >
RefinementSelection< DistanceObject > walberla::mesh::makeRefinementSelection ( const shared_ptr< DistanceObject > & distanceObject,
const uint_t level,
const real_t distance,
real_t maxError )
inline

◆ operator*()

template<typename S >
OpenMesh::VectorT< S, 3 > walberla::mesh::operator* ( const math::Matrix3< S > & lhs,
const OpenMesh::VectorT< S, 3 > & rhs )
inline

◆ principalComponent() [1/2]

template<typename MeshType >
MeshType::Point walberla::mesh::principalComponent ( const MeshType & mesh,
const uint_t iterations = uint_t( 10 ) )

◆ principalComponent() [2/2]

template<typename MeshType , typename InputIterator >
MeshType::Point walberla::mesh::principalComponent ( const MeshType & mesh,
InputIterator beginFh,
InputIterator endFh,
const uint_t iterations = uint_t(10) )

◆ rayAABBIntersection()

bool walberla::mesh::rayAABBIntersection ( const AABB & aabb,
const Ray & ray,
real_t & t,
real_t padding,
Vector3< real_t > * n )
inline

◆ readAndBroadcast()

template<typename MeshType >
void walberla::mesh::readAndBroadcast ( const std::string & filename,
MeshType & mesh,
bool binaryFile = false )

Loads an OpenMesh in parallel.

The mesh is read from disk by a single process and then broadcasted. This ensures a scalable load process that does not put to much pressure on the file system at large scale.

Template Parameters
MeshTypeThe type of the OpenMesh
Parameters
filenamefilename of the mesh to be loaded
meshThe mesh data structure to be written to

◆ readFromFile()

template<typename MeshType >
void walberla::mesh::readFromFile ( const std::string & filename,
MeshType & mesh,
bool binaryFile = false )

Read a mesh from a file.

Attention
If reading in parallel, readAndBroadcast should be preferred!
Template Parameters
MeshTypeThe type of the OpenMesh
Parameters
filenameFilename of the mesh to be loaded
meshThe mesh data structure to be written to

◆ readFromStream()

template<typename MeshType >
bool walberla::mesh::readFromStream ( std::istream & inputStream,
MeshType & mesh,
const std::string & extension,
bool binaryFile = false )

Reads a mesh from a generic input stream.

Template Parameters
MeshTypeThe type of the OpenMesh
Parameters
inputStreamThe input stream from which the mesh should be read
meshThe mesh data structure to be written to
extensionThe mesh file's extension
Returns
Whether the read operation was successful.

◆ rotate() [1/2]

template<typename MeshType >
void walberla::mesh::rotate ( MeshType & mesh,
Vector3< typename MeshType::Scalar > axis,
typename MeshType::Scalar angle,
Vector3< typename MeshType::Scalar > axis_foot )

◆ rotate() [2/2]

template<typename MeshType >
void walberla::mesh::rotate ( MeshType & mesh,
Vector3< typename MeshType::Scalar > axis,
typename MeshType::Scalar angle,
Vector3< typename MeshType::scalar > axis_foot )

◆ scale()

template<typename MeshType >
void walberla::mesh::scale ( MeshType & mesh,
const Vector3< typename MeshType::Scalar > & scaleFactors )

◆ toOpenMesh()

template<typename S >
OpenMesh::VectorT< S, 3 > walberla::mesh::toOpenMesh ( const math::Vector3< S > & v)
inline

◆ toOpenMeshNumericCast()

template<typename SOM , typename SWB >
OpenMesh::VectorT< SOM, 3 > walberla::mesh::toOpenMeshNumericCast ( const math::Vector3< SWB > & v)
inline

◆ toWalberla()

template<typename S >
math::Vector3< S > walberla::mesh::toWalberla ( const OpenMesh::VectorT< S, 3 > & v)
inline

◆ toWalberlaNumericCast()

template<typename SWB , typename SOM >
math::Vector3< SWB > walberla::mesh::toWalberlaNumericCast ( const OpenMesh::VectorT< SOM, 3 > & v)
inline

◆ translate()

template<typename MeshType >
void walberla::mesh::translate ( MeshType & mesh,
const Vector3< typename MeshType::Scalar > & offset )

◆ vertexToFaceColor()

template<typename MeshType >
void walberla::mesh::vertexToFaceColor ( const MeshType & mesh,
const typename MeshType::Color & defaultColor )

Color the faces of a mesh according to its vertices.

Iterate over all faces and colors them in their vertex color. If no uniform coloring of the vertices is given, a default color is taken.

Template Parameters
MeshTypeThe type of the Mesh
Parameters
meshThe Mesh source mesh
defaultColorDefault color if no uniform coloring is given