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