|
waLBerla 7.2
|
Namespaces | |
| namespace | distance_octree |
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< StructuredBlockForest > | createStructuredBlockStorageInsideMesh (const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const Vector3< uint_t > &blockSize) |
| template<typename MeshType > | |
| shared_ptr< StructuredBlockForest > | createStructuredBlockStorageOutsideMesh (const AABB &aabb, const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const Vector3< uint_t > &blockSize) |
| template<typename MeshType > | |
| shared_ptr< StructuredBlockForest > | createStructuredBlockStorageInsideMesh (const shared_ptr< mesh::DistanceOctree< MeshType > > &distanceOctree, const real_t dx, const uint_t targetNumRootBlocks) |
| template<typename MeshType > | |
| shared_ptr< StructuredBlockForest > | createStructuredBlockStorageOutsideMesh (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 > ¢roid, 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) |
| using walberla::mesh::FloatPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<FloatTraits> |
| using walberla::mesh::FloatTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<FloatTraits> |
| using walberla::mesh::PolyMesh = OpenMesh::PolyMesh_ArrayKernelT<RealTraits> |
| using walberla::mesh::PythonPolyMesh = OpenMesh::PolyMesh_ArrayKernelT<OpenMesh::Python::MeshTraits> |
| using walberla::mesh::PythonTriangleMesh = OpenMesh::TriMesh_ArrayKernelT<OpenMesh::Python::MeshTraits> |
| using walberla::mesh::TriangleMesh = OpenMesh::TriMesh_ArrayKernelT<RealTraits> |
| math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABB | ( | const MeshType & | mesh | ) |
| math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForFaces | ( | const MeshType & | mesh, |
| InputIterator | beginFh, | ||
| InputIterator | endFh ) |
| math::GenericAABB< typename MeshType::Scalar > walberla::mesh::computeAABBForVertices | ( | const MeshType & | mesh, |
| InputIterator | beginVh, | ||
| InputIterator | endVh ) |
| MeshType::Scalar walberla::mesh::computeBoundingSphereRadius | ( | const MeshType & | mesh, |
| const typename MeshType::Point & | referencePoint ) |
| MeshType::Point walberla::mesh::computeCentroid | ( | const MeshType & | mesh | ) |
| MeshType::Point walberla::mesh::computeCentroid | ( | const MeshType & | mesh, |
| const typename MeshType::FaceHandle | fh ) |
| Matrix3< typename MeshType::Scalar > walberla::mesh::computeInertiaTensor | ( | const MeshType & | mesh | ) |
| 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
| MeshType |
| mesh | Triangular input mesh. |
| density | Density of the mesh. |
| centroid | Output centroid point. |
| inertiaTensor | Output inertia matrix. |
| mass | Output mass. |
| MeshType::Scalar walberla::mesh::computeSurfaceArea | ( | const MeshType & | mesh | ) |
| MeshType::Scalar walberla::mesh::computeVolume | ( | const MeshType & | mesh | ) |
| 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.
| MeshType | The type of the OpenMesh |
| omMesh | The OpenMesh source mesh |
| wbMesh | The waLBerla target mesh |
| clear | If true, the waLBerla mesh is cleared before data from omMesh is added |
| 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.
| MeshType | The type of the OpenMesh |
|
inline |
|
inline |
| shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageInsideMesh | ( | const shared_ptr< mesh::DistanceOctree< MeshType > > & | distanceOctree, |
| const real_t | dx, | ||
| const uint_t | targetNumRootBlocks ) |
| shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageInsideMesh | ( | const shared_ptr< mesh::DistanceOctree< MeshType > > & | distanceOctree, |
| const real_t | dx, | ||
| const Vector3< uint_t > & | blockSize ) |
| shared_ptr< StructuredBlockForest > walberla::mesh::createStructuredBlockStorageOutsideMesh | ( | const AABB & | aabb, |
| const shared_ptr< mesh::DistanceOctree< MeshType > > & | distanceOctree, | ||
| const real_t | dx, | ||
| const uint_t | targetNumRootBlocks ) |
| 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 ) |
| void walberla::mesh::findConnectedVertices | ( | const MeshType & | mesh, |
| const typename MeshType::FaceHandle & | face, | ||
| std::vector< typename MeshType::VertexHandle > & | outVertices ) |
| std::vector< typename MeshType::VertexHandle > walberla::mesh::findConnectedVertices | ( | const MeshType & | mesh, |
| InputIterator | facesBegin, | ||
| InputIterator | facesEnd ) |
| walberla::optional< bool > walberla::mesh::fullyCoversAABB | ( | const DistanceObject & | distanceObject, |
| const math::GenericAABB< T > & | aabb, | ||
| const T & | maxError ) |
| walberla::optional< bool > walberla::mesh::fullyCoversAABB | ( | const DistanceObject & | distanceObject, |
| const math::GenericAABB< T > & | aabb, | ||
| const U & | maxError ) |
|
inline |
|
inline |
|
inline |
|
inline |
| walberla::optional< bool > walberla::mesh::intersectsSurface | ( | const DistanceObject & | distanceObject, |
| const math::GenericAABB< T > & | aabb, | ||
| const U & | maxError, | ||
| const V & | surfaceDistance ) |
| walberla::optional< bool > walberla::mesh::isIntersecting | ( | const DistanceObject & | distanceObject, |
| const math::GenericAABB< T > & | aabb, | ||
| const T & | maxError ) |
| walberla::optional< bool > walberla::mesh::isIntersecting | ( | const DistanceObject & | distanceObject, |
| const math::GenericAABB< T > & | aabb, | ||
| const U & | maxError ) |
| ExcludeMeshExterior< DistanceObject > walberla::mesh::makeExcludeMeshExterior | ( | const shared_ptr< DistanceObject > & | distanceObject, |
| const real_t | maxError ) |
| ExcludeMeshInterior< DistanceObject > walberla::mesh::makeExcludeMeshInterior | ( | const shared_ptr< DistanceObject > & | distanceObject, |
| const real_t | maxError ) |
| ExcludeMeshInteriorRefinement< DistanceObject > walberla::mesh::makeExcludeMeshInteriorRefinement | ( | const shared_ptr< DistanceObject > & | distanceObject, |
| const real_t | maxError ) |
| MeshWorkloadMemory< DistanceObject > walberla::mesh::makeMeshWorkloadMemory | ( | const shared_ptr< DistanceObject > & | distanceObject, |
| const typename DistanceObject::Scalar | cellSize ) |
| MeshWorkloadMemory< DistanceObject > walberla::mesh::makeMeshWorkloadMemory | ( | const shared_ptr< DistanceObject > & | distanceObject, |
| const Vector3< typename DistanceObject::Scalar > & | cellSize ) |
|
inline |
|
inline |
| MeshType::Point walberla::mesh::principalComponent | ( | const MeshType & | mesh, |
| const uint_t | iterations = uint_t( 10 ) ) |
| MeshType::Point walberla::mesh::principalComponent | ( | const MeshType & | mesh, |
| InputIterator | beginFh, | ||
| InputIterator | endFh, | ||
| const uint_t | iterations = uint_t(10) ) |
|
inline |
| 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.
| MeshType | The type of the OpenMesh |
| filename | filename of the mesh to be loaded |
| mesh | The mesh data structure to be written to |
| void walberla::mesh::readFromFile | ( | const std::string & | filename, |
| MeshType & | mesh, | ||
| bool | binaryFile = false ) |
Read a mesh from a file.
| MeshType | The type of the OpenMesh |
| filename | Filename of the mesh to be loaded |
| mesh | The mesh data structure to be written to |
| bool walberla::mesh::readFromStream | ( | std::istream & | inputStream, |
| MeshType & | mesh, | ||
| const std::string & | extension, | ||
| bool | binaryFile = false ) |
Reads a mesh from a generic input stream.
| MeshType | The type of the OpenMesh |
| inputStream | The input stream from which the mesh should be read |
| mesh | The mesh data structure to be written to |
| extension | The mesh file's extension |
| void walberla::mesh::rotate | ( | MeshType & | mesh, |
| Vector3< typename MeshType::Scalar > | axis, | ||
| typename MeshType::Scalar | angle, | ||
| Vector3< typename MeshType::Scalar > | axis_foot ) |
| void walberla::mesh::rotate | ( | MeshType & | mesh, |
| Vector3< typename MeshType::Scalar > | axis, | ||
| typename MeshType::Scalar | angle, | ||
| Vector3< typename MeshType::scalar > | axis_foot ) |
| void walberla::mesh::scale | ( | MeshType & | mesh, |
| const Vector3< typename MeshType::Scalar > & | scaleFactors ) |
|
inline |
|
inline |
|
inline |
|
inline |
| void walberla::mesh::translate | ( | MeshType & | mesh, |
| const Vector3< typename MeshType::Scalar > & | offset ) |
| 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.
| MeshType | The type of the Mesh |
| mesh | The Mesh source mesh |
| defaultColor | Default color if no uniform coloring is given |