27 #include "utility/matrices/TMatrix.h"    28 #include "../cgal_types.h"    29 #include "boost/lexical_cast.hpp"    30 #include "utility/utils/misc_utils/matem.h"    41     typedef typename POS::vector vector;
    44       : m_pos(mp,f1,c1,f2,c2) {}
    46     PosArray(
const size_t &f=1,
const size_t &c=1,
const POS &p= POS()): m_pos(f,c,p) {}
    47     PosArray(
const POS &p1,
const POS &p2,
const size_t &num,
const GEOM_FT &ratio);
    48     PosArray(
const POS &p1,
const POS &p2,
const size_t &ndiv);
    49     PosArray(
const POS &p1,
const POS &p2,
const std::vector<GEOM_FT> &longs);
    50     PosArray(
const POS &p0,
const POS &p1,
const POS &p2,
const size_t &ndiv1,
const size_t &ndiv2);
    52     inline PosArray<POS> getBox(
size_t f1, 
size_t c1, 
size_t f2, 
size_t c2)
 const    53       { 
return PosArray(*
this,f1,c1,f2,c2); }
    55       { 
return getBox(iRow,1,iRow,this->n_columns); }
    57       { 
return getBox(1,col,this->n_rows,col); }
    68     const vector v_ratio= ratio * (p2-p1);
    69     for(
size_t i=1;i<=num;i++)
    90         const GEOM_FT ratio= double_to_FT(1.0/boost::lexical_cast<double>(ndiv));
    91         const vector v_ratio= ratio * (p2-p1);
    92         for(
size_t i=1;i<=ndiv+1;i++)
   110   : 
m_pos(longs.size()+1,1)
   112     const size_t sz= longs.size();
   113     const size_t num= sz+1;
   116     std::cerr << 
"PosArray::" << __FUNCTION__
   117           << 
"; list of lengths is empty." << std::endl;
   128             for(std::vector<GEOM_FT>::const_iterator i=longs.begin();i!=longs.end();i++)
   131             const vector v= p2-p1;
   132             for(
size_t i=0;i<sz;i++)
   134                 p= p + (longs[i]/denom)*v;
   144   : 
m_pos(ndiv1+1,ndiv2+1)
   146     const GEOM_FT dn1= double_to_FT(1.0/boost::lexical_cast<double>(ndiv1));
   147     const GEOM_FT dn2= double_to_FT(1.0/boost::lexical_cast<double>(ndiv2));
   148     const vector v01= (p1-p0)*dn1;
   149     const vector v02= (p2-p0)*dn2;
   150     const size_t n_rows= this->getNumberOfRows();
   151     const size_t n_columns= this->getNumberOfColumns();
   152     for(
size_t i=1;i<=n_rows;i++)
   154         const vector vi= boost::lexical_cast<
int>(i-1)*v02;
   155         for(
size_t j=1;j<=n_columns;j++)
   156           (*
this)(i,j)= p0+vi+boost::lexical_cast<int>(j-1)*v01;
   162   : 
m_pos(l1_points.getNumberOfRows(),l2_points.getNumberOfRows())
   186     const size_t row_number= l1_points.getNumberOfRows();
   187     const size_t num_cols= l2_points.getNumberOfRows();
   189     for(
size_t i=1;i<=row_number;i++)
   194               row_points= l2_points;
   196               row_points= 
PosArray(l1_points(i,1),l3_points(i,1),num_cols-1);
   198         for(
size_t j=1;j<=num_cols;j++)
   199           (*
this)(i,j)= row_points(j,1);
   203 template <
class POS,
class SEG>
   207     const size_t n_rows= m.getNumberOfRows();
   208     const size_t n_columns= m.getNumberOfColumns();
   209     const size_t iRow= n_rows/2;
   210     const size_t iColumn= n_columns/2;
   211     if(impar(n_rows) && impar(n_columns))
   212       retval= m(iRow+1,iColumn+1);
   214       if(par(n_rows) && par(n_columns))
   216           SEG s(m(iRow,iColumn),m(iRow+1,iColumn+1));
   217           retval= s.getCenterOfMass();
   222             SEG s(m(iRow,iColumn),m(iRow,iColumn+1));
   223             retval= s.getCenterOfMass();
   227             SEG s(m(iRow,iColumn),m(iRow+1,iColumn));
   228             retval= s.getCenterOfMass();
   270     const size_t nptos1= l1_points.getNumberOfRows();
   271     const size_t nptos2= l2_points.getNumberOfRows();
   272     const size_t ntot= nptos1*nptos2;
   276     for(
size_t j=1;j<=nptos1;j++)
   277       retval(1,j)= l1_points(j);
   279     for(
size_t i=2;i<=nptos1;i++)
   280       retval(i,1)= l2_points(i);
   282     for(
size_t i=2;i<=nptos1;i++)
   284         const typename PosArray<POS>::vector v= retval(i,1)-retval(i-1,1);
   285         for(
size_t j=2;j<=nptos1;j++)
   286           retval(i,j)= retval(i-1,j)+v;
 
Base class for position matrices used to represent grids of points. 
Definition: PosArray.h:37
Base class for quadrilateral domains. 
Definition: ShapeFunction.h:181