OOFEM 3.0
Loading...
Searching...
No Matches
edge2d.C
Go to the documentation of this file.
1/*
2 *
3 * ##### ##### ###### ###### ### ###
4 * ## ## ## ## ## ## ## ### ##
5 * ## ## ## ## #### #### ## # ##
6 * ## ## ## ## ## ## ## ##
7 * ## ## ## ## ## ## ## ##
8 * ##### ##### ## ###### ## ##
9 *
10 *
11 * OOFEM : Object Oriented Finite Element Code
12 *
13 * Copyright (C) 1993 - 2025 Borek Patzak
14 *
15 *
16 *
17 * Czech Technical University, Faculty of Civil Engineering,
18 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19 *
20 * This library is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU Lesser General Public
22 * License as published by the Free Software Foundation; either
23 * version 2.1 of the License, or (at your option) any later version.
24 *
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 * Lesser General Public License for more details.
29 *
30 * You should have received a copy of the GNU Lesser General Public
31 * License along with this library; if not, write to the Free Software
32 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33 */
34
35#include "edge2d.h"
36#include "delaunaytriangle.h"
37
38namespace oofem {
39Edge2D :: Edge2D(int node1, int node2) :
40 nodeNumbers{node1, node2}
41{}
42
43Edge2D :: ~Edge2D()
44{ }
45
46bool
47Edge2D :: operator==(const Edge2D &right)
48{
49 return ( this->nodeNumbers.first == right.nodeNumbers.first && this->nodeNumbers.second == right.nodeNumbers.second ) ||
50 ( this->nodeNumbers.first == right.nodeNumbers.second && this->nodeNumbers.second == right.nodeNumbers.first );
51}
52
53
54
55AlphaEdge2D :: AlphaEdge2D(int node1, int node2, double _length) :
56 Edge2D(node1, node2)
57 , isOnConvexHull(true)
58 , outerAlphaBound(0.0)
59 , innerAlphaBound(0.0)
60 , length(_length)
61{
62 sharedByTriangles [ 0 ] = NULL;
63 sharedByTriangles [ 1 ] = NULL;
64}
65
66AlphaEdge2D :: ~AlphaEdge2D()
67{ }
68
69void
70AlphaEdge2D :: setSharing(int n, DelaunayTriangle *pTE)
71{
72 sharedByTriangles [ n - 1 ] = pTE;
73}
74}
DelaunayTriangle * sharedByTriangles[2]
Triangles which share the alphaEdge.
Definition edge2d.h:112
double outerAlphaBound
Bottom (outer) limit for alpha shape, for smaller values of alpha the edge lies outside.
Definition edge2d.h:108
double length
Length of edge is stored in order to allow variable alpha value.
Definition edge2d.h:114
bool isOnConvexHull
Convex hull flag means edge is not shared by two triangle.
Definition edge2d.h:106
double innerAlphaBound
Top (inner) limit for alpha shape, for greater values of alpha the edge lies inside of the shape.
Definition edge2d.h:110
Edge2D(int node1, int node2)
Constructor.
Definition edge2d.C:39
std ::pair< int, int > nodeNumbers
Global node numbers.
Definition edge2d.h:53

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011