xc
SectionGeometryWrapper.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // XC program; finite element analysis code
4 // for structural analysis and design.
5 //
6 // Copyright (C) Luis C. Pérez Tato
7 //
8 // This program derives from OpenSees <http://opensees.berkeley.edu>
9 // developed by the «Pacific earthquake engineering research center».
10 //
11 // Except for the restrictions that may arise from the copyright
12 // of the original program (see copyright_opensees.txt)
13 // XC is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // This software is distributed in the hope that it will be useful, but
19 // WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU General Public License for more details.
22 //
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program.
26 // If not, see <http://www.gnu.org/licenses/>.
27 //----------------------------------------------------------------------------
28 //SectionGeometryWrapper.h
29 
30 #ifndef ENTGEOMSECTION_H
31 #define ENTGEOMSECTION_H
32 
33 #include "utility/kernel/NamedEntity.h"
34 
35 namespace XC {
36 class SectionGeometry;
37 class SectionReferenceFrame;
38 class Spot;
39 class Axis;
40 
44 //
46 //
49  {
50  private:
51  SectionGeometry *sccGeom;
52  public:
53  SectionGeometryWrapper(const std::string &nmb="",SectionGeometry *sccGeom= nullptr);
56  const SectionGeometry *getSectionGeometry(void) const;
58  int getVtkCellType(void) const;
59 
60 
63 
64  Spot *BuscaSpot(const size_t &);
65  const Spot *BuscaSpot(const size_t &) const;
66  Axis *findAxis(const size_t &);
67  const Axis *findAxis(const size_t &) const;
68  };
69 
70 } //end of XC namespace
71 #endif
SectionGeometryWrapper(const std::string &nmb="", SectionGeometry *sccGeom=nullptr)
Constructor.
Definition: SectionGeometryWrapper.cc:43
Base class of section geometry representation classes.
Definition: SectionGeometryWrapper.h:48
SectionReferenceFrame * SectionReferenceFrameActual(void)
Returns current reference system.
Definition: SectionGeometryWrapper.cc:69
int getVtkCellType(void) const
VTK interface.
Definition: SectionGeometryWrapper.cc:151
Spot * BuscaSpot(const size_t &)
Returns a pointer to the point with the identifier being passed as parameter.
Definition: SectionGeometryWrapper.cc:87
Base class for 1D entities in section definition.
Definition: Axis.h:44
const SectionGeometry * getSectionGeometry(void) const
Returns a pointer to the SectionGeometry.
Definition: SectionGeometryWrapper.cc:36
SectionGeometryWrapper & operator=(const SectionGeometryWrapper &)
Assignment operator.
Definition: SectionGeometryWrapper.cc:59
Axis * findAxis(const size_t &)
Returns a pointer to the axis identified by the tag being passed as parameter.
Definition: SectionGeometryWrapper.cc:119
Reference system used for make easier defining point positions.
Definition: SectionReferenceFrame.h:43
Point object for section geometry definition.
Definition: Spot.h:44
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Object identified by a name.
Definition: NamedEntity.h:37
Cross section geometry.
Definition: SectionGeometry.h:65