32 #include "SetEstruct.h" 33 #include "xc_utils/src/geom/pos_vec/Array3dRange.h" 37 class SFreedom_Constraint;
47 template <
class ROWTTZNOD,
class ROWTTZELEM>
51 ROWTTZELEM element_row;
53 typedef typename ROWTTZNOD::reference reference_nod;
54 typedef typename ROWTTZNOD::const_reference const_reference_nod;
56 typedef typename ROWTTZELEM::reference reference_elem;
57 typedef typename ROWTTZELEM::const_reference const_reference_elem;
59 RowSet(
const ROWTTZNOD &fn,
const ROWTTZELEM &fe,
const std::string &nmb=
"",
Preprocessor *preprocessor=
nullptr);
63 reference_nod
Node(
const size_t &i)
64 {
return node_row(i); }
65 const reference_nod
Node(
const size_t &i)
const 66 {
return node_row(i); }
67 reference_elem
Element(
const size_t &i)
68 {
return element_row(i); }
69 const reference_elem
Element(
const size_t &i)
const 70 {
return element_row(i); }
72 Array3dRange NodeRange(
void)
const 73 {
return Array3dRange(node_row); }
74 Array3dRange ElementRange(
void)
const 75 {
return Array3dRange(element_row); }
77 virtual size_t getNumNodeLayers(
void)
const 78 {
return node_row.getNumberOfLayers(); }
79 virtual size_t getNumNodeRows(
void)
const 80 {
return node_row.getNumberOfRows(); }
81 virtual size_t getNumNodeColumns(
void)
const 82 {
return node_row.getNumberOfColumns(); }
83 virtual size_t getNumElementLayers(
void)
const 84 {
return element_row.getNumberOfLayers(); }
85 virtual size_t getNumElementRows(
void)
const 86 {
return element_row.getNumberOfRows(); }
87 virtual size_t getNumElementColumns(
void)
const 88 {
return element_row.getNumberOfColumns(); }
90 virtual XC::Node *getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
91 {
return node_row(i,j,k); }
92 virtual const XC::Node *getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const 93 {
return node_row(i,j,k); }
94 virtual XC::Element *getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
95 {
return element_row(i,j,k); }
96 virtual const XC::Element *getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const 97 {
return element_row(i,j,k); }
103 template <
class ROWTTZNOD,
class ROWTTZELEM>
105 :
SetEstruct(nmb,preprocessor), node_row(fn), element_row(fe) {}
107 template <
class ROWTTZNOD,
class ROWTTZELEM>
109 :
SetEstruct(other), node_row(other.node_row), element_row(other.element_row) {}
112 template <
class ROWTTZNOD,
class ROWTTZELEM>
116 node_row= other.node_row;
117 element_row= other.element_row;
122 template <
class ROWTTZNOD,
class ROWTTZELEM>
virtual SetEstruct * getCopy(void) const
Virtual constructor.
Definition: RowSet.h:123
Set of objects in a row.
Definition: RowSet.h:48
Finite element model generation tools.
Definition: Preprocessor.h:58
SetEstruct(const std::string &nmb="", Preprocessor *preprocessor=nullptr)
Constructor.
Definition: SetEstruct.cc:41
Base class for the finite elements.
Definition: Element.h:109
RowSet & operator=(const RowSet &)
Assignment operator.
Definition: RowSet.h:113
structured set, i.
Definition: SetEstruct.h:45
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Mesh node.
Definition: Node.h:110
SetEstruct & operator=(const SetEstruct &)
Assignment operator.
Definition: SetEstruct.cc:49