48 inline ListElmSFC(Real3d& c, T* cell, ListElmSFC<T>* lnk = 0)
49 : lnk_(lnk), cell_(cell), c_(c) {};
51 inline ListElmSFC<T>** linkp() {
return &lnk_;};
52 inline ListElmSFC<T>* link()
const {
return lnk_;}
53 inline const Real3d& center()
const {
return c_;};
54 inline T* cell()
const {
return cell_;};
62 void refine1_(
Cell1* cell, uint lvl,
ListHead<ListElmSFC<Cell1> >& lst);
68 void refine2_(
Cell2* cell, uint lvl,
ListHead<ListElmSFC<Cell2> >& lst);
74 void refine3_(
Cell3* cell, uint lvl,
ListHead<ListElmSFC<Cell3> >& lst);
84 void sortList_(ListElmSFC<T>** root, Real& d, Real3d& pmin, ushort ori);
94 void boundingBox_(
ListHead<ListElmSFC<T> >& lst, Real3d* pmin,
103 void markOwnCells1_(
ListHead<ListElmSFC<Cell1> >& cells, uint* ncntr0,
112 void markOwnCells2_(
ListHead<ListElmSFC<Cell2> >& cells, uint* ncntr0,
122 void markOwnCells3_(
ListHead<ListElmSFC<Cell3> >& cells, uint* ncntr0,
164 Array<unique_ptr<Connector0> >& cntr0,
165 Array<unique_ptr<Connector1> >& cntr1,
166 Array<unique_ptr<Cell1> >& cell1);
190 Array<unique_ptr<Connector0> >& cntr0,
191 Array<unique_ptr<Connector1> >& cntr1,
192 Array<unique_ptr<Connector2> >& cntr2,
193 Array<unique_ptr<Cell2> >& cell2);
199 Array<unique_ptr<Connector0> >& cntr0,
200 Array<unique_ptr<Connector1> >& cntr1,
201 Array<unique_ptr<Connector2> >& cntr2,
202 Array<unique_ptr<Cell2> >& cell2);
208 Array<unique_ptr<Connector0> >& cntr0,
209 Array<unique_ptr<Connector1> >& cntr1,
210 Array<unique_ptr<Connector2> >& cntr2,
211 Array<unique_ptr<Cell2> >& cell2);
239 Array<unique_ptr<Connector0> >& cntr0,
240 Array<unique_ptr<Connector1> >& cntr1,
241 Array<unique_ptr<Connector2> >& cntr2,
242 Array<unique_ptr<Connector3> >& cntr3,
243 Array<unique_ptr<Cell3> >& cell3);
270 std::ostream&
info(std::ostream& os)
const;