walberla::mesh::distance_octree::DistanceOctree< MeshType > Class Template Reference

#include <DistanceOctree.h>

Public Types

typedef MeshType::Point Point
 
typedef MeshType::Normal Normal
 
typedef MeshType::Scalar Scalar
 
typedef MeshType::FaceHandle FaceHandle
 
typedef math::GenericAABB< ScalarAABB
 

Public Member Functions

 DistanceOctree (const shared_ptr< TriangleDistance< MeshType > > &triDist, uint_t maxDepth=20u, uint_t minNumTriangles=25u)
 
Scalar sqSignedDistance (const Point &p) const
 
Scalar sqSignedDistance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint) const
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar sqDistance (const Point &p) const
 
Scalar sqDistance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar sqDistance (const Point &p, Point &closestPoint) const
 
Scalar sqDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
uint_t numTriangles () const
 
void numTrianglesToStream (std::ostream &os)
 
uint_t height () const
 
const AABBgetAABB () const
 
void writeVTKOutput (const std::string &filestem) const
 Write the distance octree to a VTK file. More...
 

Static Public Member Functions

static Point toPoint (const Vector3< Scalar > &p)
 
static Vector3< ScalarfromPoint (const Point &p)
 
static Vector3< ScalarfromNormal (const Normal &p)
 
static Scalar toScalar (const real_t &x)
 
static real_t fromScalar (const Scalar &x)
 

Protected Attributes

shared_ptr< const Node< MeshType > > rootNode_
 

Member Typedef Documentation

◆ AABB

◆ FaceHandle

template<typename MeshType >
typedef MeshType::FaceHandle walberla::mesh::distance_octree::DistanceOctree< MeshType >::FaceHandle

◆ Normal

template<typename MeshType >
typedef MeshType::Normal walberla::mesh::distance_octree::DistanceOctree< MeshType >::Normal

◆ Point

template<typename MeshType >
typedef MeshType::Point walberla::mesh::distance_octree::DistanceOctree< MeshType >::Point

◆ Scalar

template<typename MeshType >
typedef MeshType::Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::Scalar

Constructor & Destructor Documentation

◆ DistanceOctree()

template<typename MeshType >
walberla::mesh::distance_octree::DistanceOctree< MeshType >::DistanceOctree ( const shared_ptr< TriangleDistance< MeshType > > &  triDist,
uint_t  maxDepth = 20u,
uint_t  minNumTriangles = 25u 
)
inline

Member Function Documentation

◆ fromNormal()

template<typename MeshType >
static Vector3<Scalar> walberla::mesh::distance_octree::DistanceOctree< MeshType >::fromNormal ( const Normal p)
inlinestatic

◆ fromPoint()

template<typename MeshType >
static Vector3<Scalar> walberla::mesh::distance_octree::DistanceOctree< MeshType >::fromPoint ( const Point p)
inlinestatic

◆ fromScalar()

template<typename MeshType >
static real_t walberla::mesh::distance_octree::DistanceOctree< MeshType >::fromScalar ( const Scalar x)
inlinestatic

◆ getAABB()

template<typename MeshType >
const AABB& walberla::mesh::distance_octree::DistanceOctree< MeshType >::getAABB ( ) const
inline

◆ height()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::DistanceOctree< MeshType >::height ( ) const
inline

◆ numTriangles()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::DistanceOctree< MeshType >::numTriangles ( ) const
inline

◆ numTrianglesToStream()

template<typename MeshType >
void walberla::mesh::distance_octree::DistanceOctree< MeshType >::numTrianglesToStream ( std::ostream &  os)
inline

◆ sqDistance() [1/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqDistance ( const Point p) const
inline

◆ sqDistance() [2/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqDistance ( const Point p,
FaceHandle closestTriangle 
) const
inline

◆ sqDistance() [3/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqDistance ( const Point p,
Point closestPoint 
) const
inline

◆ sqDistance() [4/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqDistance ( const Point p,
Point closestPoint,
Normal normal 
) const
inline

◆ sqSignedDistance() [1/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqSignedDistance ( const Point p) const
inline

◆ sqSignedDistance() [2/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqSignedDistance ( const Point p,
FaceHandle closestTriangle 
) const
inline

◆ sqSignedDistance() [3/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqSignedDistance ( const Point p,
Point closestPoint 
) const
inline

◆ sqSignedDistance() [4/4]

template<typename MeshType >
Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::sqSignedDistance ( const Point p,
Point closestPoint,
Normal normal 
) const
inline

◆ toPoint()

template<typename MeshType >
static Point walberla::mesh::distance_octree::DistanceOctree< MeshType >::toPoint ( const Vector3< Scalar > &  p)
inlinestatic

◆ toScalar()

template<typename MeshType >
static Scalar walberla::mesh::distance_octree::DistanceOctree< MeshType >::toScalar ( const real_t x)
inlinestatic

◆ writeVTKOutput()

template<typename MeshType >
void walberla::mesh::distance_octree::DistanceOctree< MeshType >::writeVTKOutput ( const std::string &  filestem) const

Write the distance octree to a VTK file.

This method should only be called by the root process:

{
distanceOctree->writeVTKOutput("distanceOctree");
}
Parameters
filestemname of the VTK file without extension

Member Data Documentation

◆ rootNode_

template<typename MeshType >
shared_ptr< const Node<MeshType> > walberla::mesh::distance_octree::DistanceOctree< MeshType >::rootNode_
protected

The documentation for this class was generated from the following file:
#define WALBERLA_ROOT_SECTION()
Definition: MPIManager.h:174