OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::AlphaHull Class Reference

Compute alpha complex or alpha shape. More...

#include <AlphaHull.hpp>

+ Inheritance diagram for OpenMD::AlphaHull:

Public Member Functions

 AlphaHull (RealType alpha)
 
void computeHull (std::vector< StuntDouble * > bodydoubles)
 
RealType getArea ()
 
RealType getVolume ()
 
vector< TrianglegetMesh ()
 

Protected Attributes

int dim_
 
RealType alpha_
 
const std::string options_
 

Detailed Description

Compute alpha complex or alpha shape.

Builds the alpha shape (H. Edelsbrunner and P.Mucke, "Three-dimensional Alpha Shapes," ACM Trans. Graph. 13, 1994) from a set of atomic locations using the Qhull library, http://www.qhull.org/

For a given value of \(\alpha\), the \(\alpha\)-shape includes all of the tetrahedra in the Delaunay triangulation which have an empty circumsphere with radius equal or smaller than \(\alpha\). To carry out this calculation, all points are lifted to 4D so that each point is \((x, y, z, x^2+y^2+z^2)\). The convex hull is computed in 4D, and tetrahedral facets with circumsphere radii larger than \(\alpha\) are removed.

Parameters
alphathe circumsphere radius to test tetrahedra for elimination

Definition at line 79 of file AlphaHull.hpp.

Constructor & Destructor Documentation

◆ AlphaHull()

AlphaHull::AlphaHull ( RealType alpha)

Definition at line 66 of file AlphaHull.cpp.

◆ ~AlphaHull()

virtual OpenMD::AlphaHull::~AlphaHull ( )
inlinevirtual

Definition at line 82 of file AlphaHull.hpp.

Member Function Documentation

◆ computeHull()

void AlphaHull::computeHull ( std::vector< StuntDouble * > bodydoubles)
virtual

Implements OpenMD::Hull.

Definition at line 69 of file AlphaHull.cpp.

◆ getArea()

RealType OpenMD::AlphaHull::getArea ( )
inlinevirtual

Implements OpenMD::Hull.

Definition at line 87 of file AlphaHull.hpp.

◆ getMesh()

vector< Triangle > OpenMD::AlphaHull::getMesh ( )
inlinevirtual

Implements OpenMD::Hull.

Definition at line 92 of file AlphaHull.hpp.

◆ getVolume()

RealType OpenMD::AlphaHull::getVolume ( )
inlinevirtual

Implements OpenMD::Hull.

Definition at line 90 of file AlphaHull.hpp.

Member Data Documentation

◆ alpha_

RealType OpenMD::AlphaHull::alpha_
protected

Definition at line 96 of file AlphaHull.hpp.

◆ dim_

int OpenMD::AlphaHull::dim_
protected

Definition at line 95 of file AlphaHull.hpp.

◆ options_

const std::string OpenMD::AlphaHull::options_
protected

Definition at line 97 of file AlphaHull.hpp.


The documentation for this class was generated from the following files: