OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::AlphaEdge2D Class Reference

Class for the boundary recognition method - alpha shape. More...

#include <edge2d.h>

+ Inheritance diagram for oofem::AlphaEdge2D:
+ Collaboration diagram for oofem::AlphaEdge2D:

Public Member Functions

 AlphaEdge2D (int node1, int node2, double _length)
 Constructor. More...
 
virtual ~AlphaEdge2D ()
 Destructor. More...
 
void setOuterAlphaBound (double alphaMin)
 Sets the outer limit. More...
 
void setInnerAlphaBound (double alphaMax)
 Sets the inner limit. More...
 
double giveOuterAlphaBound ()
 Returns the outer limit. More...
 
double giveInnerAlphaBound ()
 Returns the inner limit. More...
 
void setHullFlag (bool flag)
 Sets the convex hull property. More...
 
bool giveHullFlag ()
 Returns true if the edge lies on convex hull, false otherwise. More...
 
void setSharing (int n, DelaunayTriangle *pTE)
 Stores DelaunayTriangle sharing the receiver. More...
 
DelaunayTrianglegiveShared (int n)
 Returns DelaunayTriangle sharing receiver. More...
 
double giveLength ()
 Returns length of the receiver. More...
 
- Public Member Functions inherited from oofem::Edge2D
 Edge2D (int node1, int node2)
 Constructor. More...
 
virtual ~Edge2D ()
 Destructor. More...
 
int giveFirstNodeNumber ()
 Gives the number of the first node. More...
 
int giveSecondNodeNumber ()
 Gives the number of the second node. More...
 
virtual bool operator== (const Edge2D &right)
 Compares receiver with passed Edge2D. Returns true if node numbers are equal, false otherwise. More...
 

Private Attributes

bool isOnConvexHull
 Convex hull flag means edge is not shared by two triangle. More...
 
double outerAlphaBound
 Bottom (outer) limit for alpha shape, for smaller values of alpha the edge lies outside. More...
 
double innerAlphaBound
 Top (inner) limit for alpha shape, for greater values of alpha the edge lies inside of the shape. More...
 
DelaunayTrianglesharedByTriangles [2]
 Triangles which share the alphaEdge. More...
 
double length
 Length of edge is stored in order to allow variable alpha value. More...
 

Detailed Description

Class for the boundary recognition method - alpha shape.

Case 1 - convex hull edge: alpha greater than outerAlphaBound, edge is part of alpha shape. Case 2 - shared edge: alpha greater than innerAlphaBound, edge lies within alpha shape. Alpha between bounds, edge is exactly on alpha shape Alpha smaller than outerAlphaBound, edge lies outside of alpha shape

Author
David Krybus

Definition at line 77 of file edge2d.h.

Constructor & Destructor Documentation

oofem::AlphaEdge2D::AlphaEdge2D ( int  node1,
int  node2,
double  _length 
)

Constructor.

Definition at line 55 of file edge2d.C.

References sharedByTriangles.

oofem::AlphaEdge2D::~AlphaEdge2D ( )
virtual

Destructor.

Definition at line 66 of file edge2d.C.

Member Function Documentation

bool oofem::AlphaEdge2D::giveHullFlag ( )
inline

Returns true if the edge lies on convex hull, false otherwise.

Definition at line 96 of file edge2d.h.

double oofem::AlphaEdge2D::giveInnerAlphaBound ( )
inline

Returns the inner limit.

Definition at line 92 of file edge2d.h.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

double oofem::AlphaEdge2D::giveLength ( )
inline

Returns length of the receiver.

Definition at line 102 of file edge2d.h.

double oofem::AlphaEdge2D::giveOuterAlphaBound ( )
inline

Returns the outer limit.

Definition at line 90 of file edge2d.h.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

DelaunayTriangle* oofem::AlphaEdge2D::giveShared ( int  n)
inline

Returns DelaunayTriangle sharing receiver.

Definition at line 100 of file edge2d.h.

void oofem::AlphaEdge2D::setHullFlag ( bool  flag)
inline

Sets the convex hull property.

Definition at line 94 of file edge2d.h.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

void oofem::AlphaEdge2D::setInnerAlphaBound ( double  alphaMax)
inline

Sets the inner limit.

Definition at line 88 of file edge2d.h.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

void oofem::AlphaEdge2D::setOuterAlphaBound ( double  alphaMin)
inline

Sets the outer limit.

Definition at line 86 of file edge2d.h.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

void oofem::AlphaEdge2D::setSharing ( int  n,
DelaunayTriangle pTE 
)

Stores DelaunayTriangle sharing the receiver.

Definition at line 70 of file edge2d.C.

References sharedByTriangles.

Referenced by oofem::DelaunayTriangulator::computeAlphaComplex().

Member Data Documentation

double oofem::AlphaEdge2D::innerAlphaBound
private

Top (inner) limit for alpha shape, for greater values of alpha the edge lies inside of the shape.

Definition at line 110 of file edge2d.h.

bool oofem::AlphaEdge2D::isOnConvexHull
private

Convex hull flag means edge is not shared by two triangle.

Definition at line 106 of file edge2d.h.

double oofem::AlphaEdge2D::length
private

Length of edge is stored in order to allow variable alpha value.

Definition at line 114 of file edge2d.h.

double oofem::AlphaEdge2D::outerAlphaBound
private

Bottom (outer) limit for alpha shape, for smaller values of alpha the edge lies outside.

Definition at line 108 of file edge2d.h.

DelaunayTriangle* oofem::AlphaEdge2D::sharedByTriangles[2]
private

Triangles which share the alphaEdge.

Definition at line 112 of file edge2d.h.

Referenced by AlphaEdge2D(), and setSharing().


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:33 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011