| 387 | |
| 388 | |
| 389 | void Foam::probes::updateMesh(const mapPolyMesh& mpm) |
| 390 | { |
| 391 | DebugInfo<< "probes: updateMesh" << endl; |
| 392 | |
| 393 | if (&mpm.mesh() != &mesh_) |
| 394 | { |
| 395 | return; |
| 396 | } |
| 397 | |
| 398 | if (fixedLocations_) |
| 399 | { |
| 400 | findElements(mesh_); |
| 401 | } |
| 402 | else |
| 403 | { |
| 404 | if (debug) |
| 405 | { |
| 406 | Info<< "probes: remapping sample locations" << endl; |
| 407 | } |
| 408 | |
| 409 | // 1. Update cells |
| 410 | { |
| 411 | DynamicList<label> elems(elementList_.size()); |
| 412 | |
| 413 | const labelList& reverseMap = mpm.reverseCellMap(); |
| 414 | forAll(elementList_, i) |
| 415 | { |
| 416 | label celli = elementList_[i]; |
| 417 | label newCelli = reverseMap[celli]; |
| 418 | if (newCelli == -1) |
| 419 | { |
| 420 | // cell removed |
| 421 | } |
| 422 | else if (newCelli < -1) |
| 423 | { |
| 424 | // cell merged |
| 425 | elems.append(-newCelli - 2); |
| 426 | } |
| 427 | else |
| 428 | { |
| 429 | // valid new cell |
| 430 | elems.append(newCelli); |
| 431 | } |
| 432 | } |
| 433 | |
| 434 | elementList_.transfer(elems); |
| 435 | } |
| 436 | |
| 437 | // 2. Update faces |
| 438 | { |
| 439 | DynamicList<label> elems(faceList_.size()); |
| 440 | |
| 441 | const labelList& reverseMap = mpm.reverseFaceMap(); |
| 442 | forAll(faceList_, i) |
| 443 | { |
| 444 | label facei = faceList_[i]; |
| 445 | label newFacei = reverseMap[facei]; |
| 446 | if (newFacei == -1) |
no test coverage detected