31 #ifndef PTRARRAY3DBASE_H    32 #define PTRARRAY3DBASE_H    34 #include "utility/matrices/3d_arrays/Array3dBase.h"    35 #include "utility/kernel/CommandEntity.h"    42 template <
class PtrArray>
    55     void resize(
const size_t &);
    56     void resize(
const size_t &,
const size_t &,
const size_t &,
const value_type &v=  value_type());
    60     void dim(
const size_t &,
const size_t &,
const size_t &);
    76 template <
class PtrArray>
    79   { set_owner_matrices(); }
    82 template <
class PtrArray>
    85   { set_owner_matrices(); }
    88 template <
class PtrArray>
    96 template <
class PtrArray>
    99     for(iterator i=this->begin();i!=this->end();i++)
   104 template <
class PtrArray>
   109 template <
class PtrArray>
   113     set_owner_matrices();
   116 template <
class PtrArray>
   120     set_owner_matrices();
   124 template <
class PtrArray>
   129 template <
class PtrArray>
   138 template <
class PtrArray>
   140   { 
return (*
this)(c).getTagsObjs(); }
   143 template <
class PtrArray>
   146     const size_t numCols= this->getNumberOfColumns();
   147     std::vector<int> retval;
   148     for(
size_t k= 1;k<=numCols;k++)
   149       retval[k-1]= (*
this)(c,f,k)->getTag();
   154 template <
class PtrArray>
   157     const size_t num_layers= this->getNumberOfLayers();
   158     const size_t numCols= this->getNumberOfColumns();
   159     m_int retval(num_layers,numCols);
   160     for(
size_t i= 1;i<=num_layers;i++)
   161       for(
size_t k= 1;k<=numCols;k++)
   162         retval(i,k)= (*this)(i,f,k)->getTag();
   163     return retval.getVector();
   167 template <
class PtrArray>
   170     const size_t n_rows= this->getNumberOfRows();
   171     std::vector<int> retval(n_rows);
   172     for(
size_t j= 1;j<=n_rows;j++)
   173       retval[j-1]= (*
this)(layer,j,c)->getTag();
   178 template <
class PtrArray>
   181     const size_t num_layers= this->getNumberOfLayers();
   182     const size_t n_rows= this->getNumberOfRows();
   183     m_int retval(num_layers,n_rows);
   184     for(
size_t i= 1;i<=num_layers;i++)
   185       for(
size_t j= 1;j<=n_rows;j++)
   186         retval(i,j)= (*this)(i,j,c)->getTag();
   187     return retval.getVector();
   191 template <
class PtrArray>
   193   { 
return (*
this)(c).getObjsInteriores(); }
   196 template <
class PtrArray>
   199     const size_t numCols= this->getNumberOfColumns();
   200     std::vector<int> retval(numCols);    
   201     for(
size_t k= 1;k<=numCols;k++)
   202       retval[k-1]= (*
this)(c,f,k)->getTag();
   207 template <
class PtrArray>
   210     const size_t num_layers= this->getNumberOfLayers();
   211     const size_t numCols= this->getNumberOfColumns();
   212     m_int retval(num_layers-2,numCols-2);
   213     for(
size_t i= 2;i<num_layers;i++)
   214       for(
size_t k= 2;k<numCols;k++)
   215         retval(i-1,k-1)= (*this)(i,f,k)->getTag();
   216     return retval.getVector();
   220 template <
class PtrArray>
   223     const size_t n_rows= this->getNumberOfRows();
   224     std::vector<int> retval(n_rows-2);
   225     for(
size_t j= 2;j<n_rows;j++)
   226       retval[j-2]= (*
this)(layer,j,c)->getTag();
   231 template <
class PtrArray>
   234     const size_t num_layers= this->getNumberOfLayers();
   235     const size_t n_rows= this->getNumberOfRows();
   236     m_int retval(num_layers-2,n_rows-2);
   237     for(
size_t i= 2;i<num_layers;i++)
   238       for(
size_t j= 2;j<n_rows;j++)
   239         retval(i-1,j-1)= (*this)(i,j,c)->getTag();
   240     return retval.getVector();
   244 template <
class PtrArray>
   247     std::cerr << 
"deprecated; use python" << std::endl;
   248     std::vector<int> retval;
   249     const size_t num_layers= this->getNumberOfLayers();
   251       retval= (*this)(1).getTagsInteriorObjs();
   254         const size_t n_rows= this->getNumberOfRows();
   256           retval= getRowsInteriorObjectsTags(1);
   259             const size_t numCols= this->getNumberOfColumns();
   261               retval= getColumnsInteriorObjectsTags(1);
   263               for(
size_t i= 2;i<num_layers;i++)
   265           std::vector<int> tmp= getLayerInteriorObjectsTags(i);
   266                   retval.insert(retval.end(),tmp.begin(),tmp.end());
 void dim(const size_t &, const size_t &, const size_t &, const value_type &default_value=value_type())
Matrix dimensions. 
Definition: Array3dBase.h:183
void clear(void)
Clears container. 
Definition: Array3dBase.h:303
std::vector< int > getColumnObjectsTags(const size_t &, const size_t &)
Return the identifiers of the objects in the column. 
Definition: PtrArray3dBase.h:168
Matrix which element type has estructura de anillo respecto a las operaciones + y *...
Definition: ZMatrix.h:37
std::vector< int > getColumnInteriorObjectsTags(const size_t &, const size_t &)
Return the identifiers of the objects in the c-th column interior. 
Definition: PtrArray3dBase.h:221
std::vector< int > getRowsInteriorObjectsTags(const size_t &)
Return the identifiers of the objects in the c-th rows interior. 
Definition: PtrArray3dBase.h:208
void resize(const size_t &)
Resize the array. 
Definition: PtrArray3dBase.h:110
std::vector< int > getRowObjectsTags(const size_t &, const size_t &)
Return the identifiers of the objects in the row. 
Definition: PtrArray3dBase.h:144
std::vector< int > getRowInteriorObjectsTags(const size_t &, const size_t &)
Return the identifiers of the objects in the row interior. 
Definition: PtrArray3dBase.h:197
void clearAll(void)
Clears all. 
Definition: PtrArray3dBase.h:130
void set_owner_matrices(void)
Sets the owner for the matrices. 
Definition: PtrArray3dBase.h:97
std::vector< int > getLayerInteriorObjectsTags(const size_t &)
Return the identifiers of the objects in the layer interior. 
Definition: PtrArray3dBase.h:192
Objet that can execute python scripts. 
Definition: CommandEntity.h:40
size_t getNumberOfComponents(void) const
Return the number of components in the container. 
Definition: Array3dBase.h:235
std::vector< int > getColumnsInteriorObjectsTags(const size_t &)
Return the identifiers of the objects in the c-th columns interior. 
Definition: PtrArray3dBase.h:232
std::vector< int > getColumnsObjectsTags(const size_t &)
Return the identifiers of the objects in the c-th columns. 
Definition: PtrArray3dBase.h:179
std::vector< int > getRowsObjectsTags(const size_t &)
Return the identifiers of the objects in the f-th rows. 
Definition: PtrArray3dBase.h:155
size_t NumPtrs(void) const
Return the number of elements of the array. 
Definition: PtrArray3dBase.h:125
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
void dim(const size_t &, const size_t &, const size_t &)
Matrix dimensions. 
Definition: PtrArray3dBase.h:105
arrays3d 
Definition: Array3dBase.h:51
void clearPyProps(void)
Clear python properties map. 
Definition: EntityWithProperties.cc:33
std::vector< int > getLayerObjectsTags(const size_t &)
Return the identifiers of the objects in the layer. 
Definition: PtrArray3dBase.h:139
std::vector< int > getTagsInteriorObjs(void)
Return the tabs of the inerior elements. 
Definition: PtrArray3dBase.h:245
void resize(const size_t &)
Resize the array. 
Definition: Array3dBase.h:188
Three-dimensional array of object pointers. 
Definition: PtrArray3dBase.h:43
PtrArray3dBase(const size_t &n_layers=0)
Default constructor. 
Definition: PtrArray3dBase.h:77