XC Open source finite element analysis program
TransfCooLoader.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 //TransfCooLoader.h
28 
29 #ifndef TRANSFCOOLOADER_H
30 #define TRANSFCOOLOADER_H
31 
32 #include "Loader.h"
33 #include <map>
34 
35 namespace XC {
36 class Domain;
37 class CrdTransf;
38 class LinearCrdTransf2d;
39 class LinearCrdTransf3d;
40 class PDeltaCrdTransf2d;
41 class PDeltaCrdTransf3d;
42 class CorotCrdTransf2d;
43 class CorotCrdTransf3d;
44 
45 
49 class TransfCooLoader: public Loader
50  {
51  public:
52  typedef std::map<std::string,CrdTransf *> map_transfcoo;
53  typedef map_transfcoo::const_iterator const_iterator;
54  typedef map_transfcoo::iterator iterator;
55  private:
56  map_transfcoo transfcoo;
57  int tag_trf;
58  protected:
59  void libera(void);
60  TransfCooLoader(const TransfCooLoader &otro);
62  public:
64  const map_transfcoo &Map(void) const;
65 
66  LinearCrdTransf2d *newLinearCrdTransf2d(const std::string &);
67  LinearCrdTransf3d *newLinearCrdTransf3d(const std::string &);
68  PDeltaCrdTransf2d *newPDeltaCrdTransf2d(const std::string &);
69  PDeltaCrdTransf3d *newPDeltaCrdTransf3d(const std::string &);
70  CorotCrdTransf2d *newCorotCrdTransf2d(const std::string &);
71  CorotCrdTransf3d *newCorotCrdTransf3d(const std::string &);
72 
73  const_iterator begin(void) const;
74  const_iterator end(void) const;
75  iterator begin(void);
76  iterator end(void);
77  const_iterator find(const std::string &str) const;
78  iterator find(const std::string &str);
79  CrdTransf *find_ptr(const std::string &str);
80  CrdTransf *find_ptr(const int &tag);
81  const CrdTransf *find_ptr(const int &tag) const;
82  std::string getName(const int &tag) const;
83 
84  ~TransfCooLoader(void);
85 
86  void clearAll(void);
87  };
88 
89 } // end of XC namespace
90 
91 #endif
CrdTransf provides the abstraction of a frame coordinate transformation. It is an abstract base class...
Definition: CrdTransf.h:87
const_iterator end(void) const
Returns an iterator apuntando después del final de la lista.
Definition: TransfCooLoader.cc:129
Coordinate transformation corrotacional en 3d.
Definition: CorotCrdTransf2d.h:71
~TransfCooLoader(void)
Destructor.
Definition: TransfCooLoader.cc:64
void clearAll(void)
Deletes all members.
Definition: TransfCooLoader.cc:202
TransfCooLoader & operator=(const TransfCooLoader &otro)
Assignment operator.
Definition: TransfCooLoader.cc:56
Linear coordinate transformation. Performs a linear transformation of element stiffness and responses...
Definition: LinearCrdTransf3d.h:74
PDeltaCrdTransf2d provides the abstraction of a linear transformation for a spatial frame between the...
Definition: PDeltaCrdTransf2d.h:76
Finite element model generation tools.
Definition: Preprocessor.h:58
const_iterator find(const std::string &str) const
Returns an iterator to the transformation with the name being passed as parameter.
Definition: TransfCooLoader.cc:139
Coordinate transformation corrotacional en 3d.
Definition: CorotCrdTransf3d.h:73
Base class for the preprocessor objects that create model entities: nodes, elements, loads, etc.
Definition: Loader.h:50
TransfCooLoader(const TransfCooLoader &otro)
Copy constructor.
Definition: TransfCooLoader.cc:51
const_iterator begin(void) const
Returns an iterator which points to principio de la lista.
Definition: TransfCooLoader.cc:126
LinearCrdTransf2d provides the abstraction of a linear transformation for a spatial frame between the...
Definition: LinearCrdTransf2d.h:74
void libera(void)
Frees memory.
Definition: TransfCooLoader.cc:39
CrdTransf * find_ptr(const std::string &str)
Returns a pointer to the transformation with the name being passed as parameter (returns nullptr if n...
Definition: TransfCooLoader.cc:147
================================================================================
Definition: ContinuaReprComponent.h:34
std::string getName(const int &tag) const
Returns the name that corresponds to the coordinate transformation tag being passed as parameter...
Definition: TransfCooLoader.cc:188
PDeltaCrdTransf3d provides the abstraction of a linear transformation for a spatial frame between the...
Definition: PDeltaCrdTransf3d.h:73
const map_transfcoo & Map(void) const
Returns a reference to the coordinate transformation map (container).
Definition: TransfCooLoader.cc:122
Manager for the creation/deletion of coordinate transformations.
Definition: TransfCooLoader.h:49