-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathelement.h
More file actions
40 lines (29 loc) · 812 Bytes
/
element.h
File metadata and controls
40 lines (29 loc) · 812 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* EPANET 3
*
* Copyright (c) 2016 Open Water Analytics
* Licensed under the terms of the MIT License (see the LICENSE file for details).
*
*/
//! \file element.h
//! \brief Describes the Element class.
#ifndef ELEMENT_H_
#define ELEMENT_H_
#include <string>
//! \class Element
//! \brief Abstract parent class for all pipe network components.
class Element
{
public:
enum ElementType {NODE, LINK, PATTERN, CURVE, CONTROL};
Element(std::string name_);
virtual ~Element() = 0;
std::string name; //!< element's ID name
int index; //!< index in array of elements
protected:
Element(const Element& e);
private:
// Elements can't be copied or tested for equality
//Element(const Element& e);
Element& operator=(const Element& e);
};
#endif