| 453 | }; |
| 454 | |
| 455 | shared_ptr<GlobalInterfaceSpace> CreateGlobalInterfaceSpace |
| 456 | (shared_ptr<MeshAccess> ma, shared_ptr<CoefficientFunction> mapping, |
| 457 | optional<Region> definedon, bool periodic, bool periodicu, |
| 458 | bool periodicv, int order, bool complex, bool polar, bool autoupdate) |
| 459 | { |
| 460 | Flags flags; |
| 461 | if(complex) |
| 462 | flags.SetFlag("complex"); |
| 463 | flags.SetFlag("mapping", mapping); |
| 464 | if(periodic) |
| 465 | flags.SetFlag("periodic"); |
| 466 | if(periodicu) |
| 467 | flags.SetFlag("periodicu"); |
| 468 | if(periodicv) |
| 469 | flags.SetFlag("periodicv"); |
| 470 | if(definedon.has_value()) |
| 471 | flags.SetFlag("definedon", definedon.value()); |
| 472 | if(polar) |
| 473 | { |
| 474 | flags.SetFlag("polar"); |
| 475 | flags.SetFlag("periodicv"); |
| 476 | } |
| 477 | if(autoupdate) |
| 478 | flags.SetFlag("autoupdate"); |
| 479 | flags.SetFlag("order", order); |
| 480 | if(mapping->Dimension() == 1) |
| 481 | return make_shared<GlobalInterfaceSpaceD<1>>(ma, flags); |
| 482 | else if(mapping->Dimension() == 2) |
| 483 | return make_shared<GlobalInterfaceSpaceD<2>>(ma, flags); |
| 484 | throw Exception("Mapping must be 1 or 2 dimensional!"); |
| 485 | } |
| 486 | } // namespace ngcomp |
no test coverage detected