| 2458 | } |
| 2459 | |
| 2460 | virtual bool DefinedOn (const ElementTransformation & trafo) override |
| 2461 | { |
| 2462 | auto ei = trafo.GetElementId(); |
| 2463 | if (ei.IsVolume()) |
| 2464 | return vol_cf->DefinedOn(trafo); |
| 2465 | |
| 2466 | const MeshAccess & ma = *static_cast<const MeshAccess*> (trafo.GetMesh()); |
| 2467 | int facet = ma.GetElFacets(ei)[0]; |
| 2468 | ArrayMem<int,2> elnums; |
| 2469 | ma.GetFacetElements (facet, elnums); |
| 2470 | LocalHeapMem<1000> lh("definedonlh"); |
| 2471 | |
| 2472 | for (auto elnr : elnums) |
| 2473 | { |
| 2474 | ElementId vei(VOL, elnr); |
| 2475 | ElementTransformation & vol_trafo = ma.GetTrafo (vei, lh); |
| 2476 | if (vol_cf->DefinedOn(vol_trafo)) |
| 2477 | return true; |
| 2478 | } |
| 2479 | |
| 2480 | return false; |
| 2481 | } |
| 2482 | |
| 2483 | using BASE::Evaluate; |
| 2484 | template <typename MIR, typename T, ORDERING ORD> |
no test coverage detected