XC Open source finite element analysis program
ElementEdge.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 
27 #ifndef ElementEdge_h
28 #define ElementEdge_h
29 
30 #include <cstdlib>
31 #include "domain/mesh/element/Element.h"
32 
33 namespace XC {
34 
35 class MeshEdge;
36 
38 //
40 class ElementEdge: public EntCmd
41  {
42  Element *elem;
43  int iedge;
44  public:
46  typedef std::set<const Element *> ElementConstPtrSet;
47 
48  ElementEdge(Element *eptr= nullptr,const int &i=-1);
49  const Element *getElementPtr(void) const;
50  const int &getEdgeIndex(void) const;
51  ID getLocalIndexNodes(void) const;
52  NodesEdge getNodes(void) const;
53  MeshEdge getMeshEdge(void) const;
54  };
55 } // end of XC namespace
56 
57 #endif
58 
Mesh edge.
Definition: MeshEdge.h:39
MeshEdge getMeshEdge(void) const
Returns the corresponding mesh edge.
Definition: ElementEdge.cc:55
std::vector< const Node * > NodesEdge
Definition: Element.h:108
ElementEdge(Element *eptr=nullptr, const int &i=-1)
Constructor.
Definition: ElementEdge.cc:35
const int & getEdgeIndex(void) const
Returns the index of the edge in its owner element.
Definition: ElementEdge.cc:43
Base calass for the finite elements.
Definition: Element.h:104
Element edge (TO DEPRECATE?? LP 7.02.2017).
Definition: ElementEdge.h:40
ID getLocalIndexNodes(void) const
Get the the element indexes of the edge nodes.
Definition: ElementEdge.cc:47
Definition: ID.h:77
Element::NodesEdge NodesEdge
edge index.
Definition: ElementEdge.h:45
const Element * getElementPtr(void) const
Returns a pointer to the element that "owns" the edge.
Definition: ElementEdge.cc:39
================================================================================
Definition: ContinuaReprComponent.h:34
NodesEdge getNodes(void) const
Returns the edge nodes.
Definition: ElementEdge.cc:51