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