MeshOperations.h File Reference

Detailed Description

#include "MatrixVectorOperations.h"
#include "mesh_common/TriangleMeshes.h"
#include "core/math/GenericAABB.h"
#include "core/Optional.h"
#include <set>
#include <iterator>
#include <queue>

Namespaces

 walberla
 \file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.u.de
 
 walberla::mesh
 

Functions

template<typename MeshType >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABB (const MeshType &mesh)
 
template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForVertices (const MeshType &mesh, InputIterator beginVh, InputIterator endVh)
 
template<typename MeshType , typename InputIterator >
math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForFaces (const MeshType &mesh, InputIterator beginFh, InputIterator endFh)
 
template<typename MeshType >
void walberla::mesh::translate (MeshType &mesh, const Vector3< typename MeshType::Scalar > &offset)
 
template<typename MeshType >
void walberla::mesh::scale (MeshType &mesh, const Vector3< typename MeshType::Scalar > &scaleFactors)
 
template<typename MeshType >
void walberla::mesh::rotate (MeshType &mesh, Vector3< typename MeshType::Scalar > axis, typename MeshType::Scalar angle, Vector3< typename MeshType::scalar > axis_foot)
 
template<typename MeshType >
MeshType::Scalar walberla::mesh::computeVolume (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Scalar walberla::mesh::computeSurfaceArea (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Point walberla::mesh::computeCentroid (const MeshType &mesh)
 
template<typename MeshType >
Matrix3< typename MeshType::Scalar > walberla::mesh::computeInertiaTensor (const MeshType &mesh)
 
template<typename MeshType >
MeshType::Point walberla::mesh::computeCentroid (const MeshType &mesh, const typename MeshType::FaceHandle fh)
 
template<typename MeshType >
MeshType::Scalar walberla::mesh::computeBoundingSphereRadius (const MeshType &mesh, const typename MeshType::Point &referencePoint)
 
template<typename MeshType , typename InputIterator >
std::vector< typename MeshType::VertexHandle > walberla::mesh::findConnectedVertices (const MeshType &mesh, InputIterator facesBegin, InputIterator facesEnd)
 
template<typename MeshType >
void walberla::mesh::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 > walberla::mesh::isIntersecting (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const T &maxError)
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::fullyCoversAABB (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const T &maxError)
 
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)
 
template<typename MeshType , typename InputIterator >
MeshType::Point walberla::mesh::principalComponent (const MeshType &mesh, InputIterator beginFh, InputIterator endFh, const uint_t iterations=uint_t(10))
 
template<typename MeshType >
MeshType::Point walberla::mesh::principalComponent (const MeshType &mesh, const uint_t iterations=uint_t(10))
 
template<typename MeshType >
void walberla::mesh::rotate (MeshType &mesh, Vector3< typename MeshType::Scalar > axis, typename MeshType::Scalar angle, Vector3< typename MeshType::Scalar > axis_foot)
 
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). More...
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::isIntersecting (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const U &maxError)
 
template<typename DistanceObject , typename T , typename U >
walberla::optional< bool > walberla::mesh::fullyCoversAABB (const DistanceObject &distanceObject, const math::GenericAABB< T > &aabb, const U &maxError)