| 2336 | } |
| 2337 | |
| 2338 | int |
| 2339 | Node::getDisplayCrds(Vector &res, double fact, int mode) |
| 2340 | { |
| 2341 | int ndm = Crd->Size(); |
| 2342 | int resSize = res.Size(); |
| 2343 | |
| 2344 | if (resSize < ndm) |
| 2345 | return -1; |
| 2346 | |
| 2347 | if (mode < 0) { |
| 2348 | int eigenMode = -mode; |
| 2349 | if ((theEigenvectors != 0) && ((*theEigenvectors).noCols() > eigenMode)) { |
| 2350 | if (displayLocation != 0) |
| 2351 | for (int i=0; i<ndm; i++) |
| 2352 | res(i) = (*displayLocation)(i)+(*theEigenvectors)(i,eigenMode-1)*fact; |
| 2353 | else |
| 2354 | for (int i=0; i<ndm; i++) |
| 2355 | res(i) = (*Crd)(i)+(*theEigenvectors)(i,eigenMode-1)*fact; |
| 2356 | } |
| 2357 | } else { |
| 2358 | |
| 2359 | if (commitDisp != 0) { |
| 2360 | if (displayLocation != 0) |
| 2361 | for (int i=0; i<ndm; i++) |
| 2362 | res(i) = (*displayLocation)(i)+(*commitDisp)(i)*fact; |
| 2363 | else |
| 2364 | for (int i=0; i<ndm; i++) |
| 2365 | res(i) = (*Crd)(i)+(*commitDisp)(i)*fact; |
| 2366 | } else { |
| 2367 | if (displayLocation != 0) |
| 2368 | for (int i=0; i<ndm; i++) |
| 2369 | res(i) = (*displayLocation)(i); |
| 2370 | else |
| 2371 | for (int i=0; i<ndm; i++) |
| 2372 | res(i) = (*Crd)(i); |
| 2373 | } |
| 2374 | |
| 2375 | } |
| 2376 | |
| 2377 | // zero rest |
| 2378 | for (int i=ndm; i<resSize; i++) |
| 2379 | res(i) = 0; |
| 2380 | |
| 2381 | return 0; |
| 2382 | } |
| 2383 | |
| 2384 | int |
| 2385 | Node::setDisplayCrds(const Vector &theCrds) |
no test coverage detected