| 204 | |
| 205 | void mprod::set_elements (const Array<shared_ptr<mpdf> > &mFacs ) { |
| 206 | mpdfs = mFacs; |
| 207 | dls.set_size ( mFacs.length() ); |
| 208 | |
| 209 | set_ep ( iepdf); |
| 210 | RV rv = get_composite_rv ( mpdfs, true ); |
| 211 | set_rv ( rv ); |
| 212 | iepdf.set_parameters ( rv._dsize() ); |
| 213 | |
| 214 | for ( int i = 0; i < mpdfs.length(); i++ ) { |
| 215 | RV rvx = mpdfs ( i )->_rvc().subt ( rv ); |
| 216 | rvc.add ( rvx ); // add rv to common rvc |
| 217 | } |
| 218 | |
| 219 | // rv and rvc established = > we can link them with mpdfs |
| 220 | for ( int i = 0; i < mpdfs.length(); i++ ) { |
| 221 | dls ( i ) = new datalink_m2m; |
| 222 | dls ( i )->set_connection ( mpdfs ( i )->_rv(), mpdfs ( i )->_rvc(), _rv(), _rvc() ); |
| 223 | } |
| 224 | } |