XC Open source finite element analysis program
MatrizPtrPnt.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 //MatrizPtrPnt.h
28 //Matriz de puntos
29 
30 #ifndef MATRIZPTRPNT_H
31 #define MATRIZPTRPNT_H
32 
33 #include "MatrizPtrBase.h"
34 #include "xc_basic/src/matrices/m_int.h"
35 #include <vector>
36 
37 class Pos3d;
38 class RangoMatriz;
39 class Vector3d;
40 
41 namespace XC{
42 class Pnt;
43 class SFreedom_Constraint;
44 class Cad;
45 
49 class MatrizPtrPnt: public MatrizPtrBase<Pnt>
50  {
51  protected:
52 
53 
54  friend class Cad;
55  public:
57  MatrizPtrPnt(const size_t &f=0,const size_t &c=0)
58  : MatrizPtrBase<Pnt>(f,c) {}
59  m_int getTags(void) const;
60 
61  const Cad *getCad(void) const;
62  Cad *getCad(void);
63 
64  void setPnt(const size_t &,const size_t &,const int &);
65  Pnt *getPnt(const size_t &,const size_t &);
66 
67  Pnt *buscaPunto(const size_t &);
68  const Pnt *buscaPunto(const size_t &) const;
69  Pnt *getNearestPnt(const Pos3d &p);
70  const Pnt *getNearestPnt(const Pos3d &p) const;
71  std::deque<size_t> CopiaPuntos(const RangoMatriz &,const std::vector<size_t> &,const Vector3d &);
72 
73  Pos3d getCentroide(void) const;
74 
75 
76  };
77 
78 } //end of XC namespace
79 
80 #endif
Pos3d getCentroide(void) const
Returns the centroide del esquema.
Definition: MatrizPtrPnt.cc:208
Pnt * buscaPunto(const size_t &)
Returns (if it exists) a pointer to punto cuyo tag is being passed as parameter.
Definition: MatrizPtrPnt.cc:77
Pnt * getNearestPnt(const Pos3d &p)
Returns the point closest to the point being passed as parameter.
Definition: MatrizPtrPnt.cc:160
Punto (KPoint).
Definition: Pnt.h:49
Model geometry manager. Management of geometry entities: points, lines, surfaces, bodies...
Definition: Cad.h:69
std::deque< size_t > CopiaPuntos(const RangoMatriz &, const std::vector< size_t > &, const Vector3d &)
Copy the points from the range being passed as parameter, and places the at the positions of the matr...
Definition: MatrizPtrPnt.cc:237
Base class for matrices of pointers to nodes, elements and points.
Definition: MatrizPtrBase.h:49
const Cad * getCad(void) const
Returns a pointer to objeto Cad.
Definition: MatrizPtrPnt.cc:100
Matriz de pointers to puntos.
Definition: MatrizPtrPnt.h:49
MatrizPtrPnt(const size_t &f=0, const size_t &c=0)
Constructor.
Definition: MatrizPtrPnt.h:57
================================================================================
Definition: ContinuaReprComponent.h:34
m_int getTags(void) const
Returns a matriz con los identificadores de los puntos.
Definition: MatrizPtrPnt.cc:192