| 2475 | |
| 2476 | |
| 2477 | void L2SurfaceHighOrderFESpace ::SetOrder (NodeId ni, int order) |
| 2478 | { |
| 2479 | if (order_policy == CONSTANT_ORDER || order_policy == NODE_TYPE_ORDER) |
| 2480 | throw Exception("In L2SurfaceHighOrderFESpace::SetOrder. Order policy is constant or node-type!"); |
| 2481 | else if (order_policy == OLDSTYLE_ORDER) |
| 2482 | order_policy = VARIABLE_ORDER; |
| 2483 | |
| 2484 | if (order < 0) |
| 2485 | order = 0; |
| 2486 | |
| 2487 | if (CoDimension(ni.GetType(), ma->GetDimension()) == 1) |
| 2488 | { |
| 2489 | if (ma->GetDimension() == 3 && ni.GetType() == NT_FACE) |
| 2490 | { |
| 2491 | Array<int> elnr; |
| 2492 | ma->GetFacetSurfaceElements(ni.GetNr(),elnr); |
| 2493 | if (elnr[0] < order_inner.Size()) |
| 2494 | order_inner[elnr[0]] = order; |
| 2495 | } |
| 2496 | else if (ni.GetNr() < order_inner.Size()) |
| 2497 | order_inner[ni.GetNr()] = order; |
| 2498 | } |
| 2499 | else |
| 2500 | throw Exception ("L2SurfaceHighOrderFESpace::SetOrder requires NodeType of codimension 1!"); |
| 2501 | } |
| 2502 | |
| 2503 | int L2SurfaceHighOrderFESpace ::GetOrder (NodeId ni) const |
| 2504 | { |
no test coverage detected