Flow123d
release_3.0.0-973-g92f55e826
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
w
Variables
Typedefs
Enumerations
Enumerator
a
b
c
d
f
g
h
i
m
n
o
p
r
s
u
w
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
x
Enumerations
a
b
c
d
f
h
i
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
a
b
c
d
e
f
i
l
m
n
o
p
r
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
i
k
m
n
o
p
r
s
t
u
v
w
x
z
Variables
_
a
c
d
g
m
n
p
q
r
s
v
x
Typedefs
a
d
e
f
i
j
l
m
n
o
q
r
s
u
x
Enumerations
Enumerator
a
c
d
e
f
i
k
m
n
o
p
r
s
u
v
w
Macros
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
v
w
x
z
flow123d
src
mesh
nodes.hh
Go to the documentation of this file.
1
/*!
2
*
3
* Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License version 3 as published by the
7
* Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
*
13
*
14
* @file nodes.hh
15
* @brief Nodes of a mesh.
16
*/
17
18
#ifndef NODE_H
19
#define NODE_H
20
21
#include "
system/global_defs.h
"
22
#include <armadillo>
23
24
25
26
27
/**
28
* Class of node.
29
* First approach in turning to class.
30
*/
31
class
Node
{
32
private
:
33
/// Node point in 3D space.
34
arma::vec3
coordinates
;
35
36
public
:
37
/**
38
* Default constructor.
39
*/
40
Node
()
41
//: element(NULL)
42
{
coordinates
.zeros();}
43
44
/**
45
* Construct form given coordinates.
46
*
47
* Possibly there could be also constructor from a vector.
48
*/
49
Node
(
double
x,
double
y,
double
z)
50
//: element(NULL)
51
{
coordinates
(0)=x;
coordinates
(1)=y;
coordinates
(2)=z;}
52
53
/**
54
* Old getter methods. OBSOLETE.
55
*/
56
inline
double
getX
()
const
57
{
return
coordinates
[0];}
58
inline
double
getY
()
const
59
{
return
coordinates
[1];}
60
inline
double
getZ
()
const
61
{
return
coordinates
[2];}
62
63
64
/**
65
* Getter method for nodal point. Can be used also for modification.
66
*/
67
inline
arma::vec3
&
point
()
68
{
return
coordinates
; }
69
70
inline
const
arma::vec3
&
point
()
const
71
{
return
coordinates
; }
72
73
/**
74
* Difference of two nodes is a vector.
75
*/
76
inline
arma::vec3
operator-
(
const
Node
&n2)
const
77
{
78
return
( this->
point
() - n2.
point
() );
79
}
80
81
82
/**
83
* Distance of two nodes.
84
*/
85
inline
double
distance
(
const
Node
&n2)
const
86
{
87
return
norm(*
this
- n2, 2);
88
}
89
90
};
91
92
#endif
93
//-----------------------------------------------------------------------------
94
// vim: set cindent:
arma::vec3
Definition:
doxy_dummy_defs.hh:17
Node::point
const arma::vec3 & point() const
Definition:
nodes.hh:70
Node::getX
double getX() const
Definition:
nodes.hh:56
Node::point
arma::vec3 & point()
Definition:
nodes.hh:67
Node::getZ
double getZ() const
Definition:
nodes.hh:60
Node::getY
double getY() const
Definition:
nodes.hh:58
Node
Definition:
nodes.hh:31
global_defs.h
Global macros to enhance readability and debugging, general constants.
Node::Node
Node()
Definition:
nodes.hh:40
Node::operator-
arma::vec3 operator-(const Node &n2) const
Definition:
nodes.hh:76
Node::distance
double distance(const Node &n2) const
Definition:
nodes.hh:85
Node::Node
Node(double x, double y, double z)
Definition:
nodes.hh:49
Node::coordinates
arma::vec3 coordinates
Node point in 3D space.
Definition:
nodes.hh:34
Generated by
1.8.17