33 #include "SetEstruct.h" 34 #include "utility/matrices/3d_arrays/Array3dRange.h" 38 class SFreedom_Constraint;
48 template <
class ROWTTZNOD,
class ROWTTZELEM>
52 ROWTTZELEM element_row;
54 typedef typename ROWTTZNOD::reference reference_nod;
55 typedef typename ROWTTZNOD::const_reference const_reference_nod;
57 typedef typename ROWTTZELEM::reference reference_elem;
58 typedef typename ROWTTZELEM::const_reference const_reference_elem;
60 RowSet(
const ROWTTZNOD &fn,
const ROWTTZELEM &fe,
const std::string &nmb=
"",
Preprocessor *preprocessor=
nullptr);
64 reference_nod
Node(
const size_t &i)
65 {
return node_row(i); }
66 const reference_nod
Node(
const size_t &i)
const 67 {
return node_row(i); }
68 reference_elem
Element(
const size_t &i)
69 {
return element_row(i); }
70 const reference_elem
Element(
const size_t &i)
const 71 {
return element_row(i); }
78 virtual size_t getNumNodeLayers(
void)
const 79 {
return node_row.getNumberOfLayers(); }
80 virtual size_t getNumNodeRows(
void)
const 81 {
return node_row.getNumberOfRows(); }
82 virtual size_t getNumNodeColumns(
void)
const 83 {
return node_row.getNumberOfColumns(); }
84 virtual size_t getNumElementLayers(
void)
const 85 {
return element_row.getNumberOfLayers(); }
86 virtual size_t getNumElementRows(
void)
const 87 {
return element_row.getNumberOfRows(); }
88 virtual size_t getNumElementColumns(
void)
const 89 {
return element_row.getNumberOfColumns(); }
91 virtual XC::Node *getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
92 {
return node_row(i,j,k); }
93 virtual const XC::Node *getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const 94 {
return node_row(i,j,k); }
95 virtual XC::Element *getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
96 {
return element_row(i,j,k); }
97 virtual const XC::Element *getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const 98 {
return element_row(i,j,k); }
104 template <
class ROWTTZNOD,
class ROWTTZELEM>
106 :
SetEstruct(nmb,preprocessor), node_row(fn), element_row(fe) {}
108 template <
class ROWTTZNOD,
class ROWTTZELEM>
110 :
SetEstruct(other), node_row(other.node_row), element_row(other.element_row) {}
113 template <
class ROWTTZNOD,
class ROWTTZELEM>
117 node_row= other.node_row;
118 element_row= other.element_row;
123 template <
class ROWTTZNOD,
class ROWTTZELEM>
virtual SetEstruct * getCopy(void) const
Virtual constructor.
Definition: RowSet.h:124
Set of objects in a row.
Definition: RowSet.h:49
Finite element model generation tools.
Definition: Preprocessor.h:59
SetEstruct(const std::string &nmb="", Preprocessor *preprocessor=nullptr)
Constructor.
Definition: SetEstruct.cc:37
Base class for the finite elements.
Definition: Element.h:112
RowSet & operator=(const RowSet &)
Assignment operator.
Definition: RowSet.h:114
structured set, i.
Definition: SetEstruct.h:47
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Rangos de variación de tres índices, se emplea en BoxConstRef.
Definition: Array3dRange.h:32
Mesh node.
Definition: Node.h:111
SetEstruct & operator=(const SetEstruct &)
Assignment operator.
Definition: SetEstruct.cc:45