| 49 | } |
| 50 | |
| 51 | vtkCell* vtkLagrangeWedge::GetFace(int faceId) |
| 52 | { |
| 53 | // If faceId = 0 or 1, triangular face, else if 2, 3, or 4, quad face. |
| 54 | if (faceId < 2) |
| 55 | { |
| 56 | vtkLagrangeTriangle* result = BdyTri; |
| 57 | const auto set_number_of_ids_and_points = [&](const vtkIdType& npts) -> void |
| 58 | { |
| 59 | result->Points->SetNumberOfPoints(npts); |
| 60 | result->PointIds->SetNumberOfIds(npts); |
| 61 | }; |
| 62 | const auto set_ids_and_points = [&](const vtkIdType& face_id, const vtkIdType& vol_id) -> void |
| 63 | { |
| 64 | result->Points->SetPoint(face_id, this->Points->GetPoint(vol_id)); |
| 65 | result->PointIds->SetId(face_id, this->PointIds->GetId(vol_id)); |
| 66 | }; |
| 67 | vtkHigherOrderWedge::GetTriangularFace( |
| 68 | faceId, this->Order, set_number_of_ids_and_points, set_ids_and_points); |
| 69 | result->Initialize(); |
| 70 | return result; |
| 71 | } |
| 72 | else |
| 73 | { |
| 74 | vtkLagrangeQuadrilateral* result = BdyQuad; |
| 75 | const auto set_number_of_ids_and_points = [&](const vtkIdType& npts) -> void |
| 76 | { |
| 77 | result->Points->SetNumberOfPoints(npts); |
| 78 | result->PointIds->SetNumberOfIds(npts); |
| 79 | }; |
| 80 | const auto set_ids_and_points = [&](const vtkIdType& face_id, const vtkIdType& vol_id) -> void |
| 81 | { |
| 82 | result->Points->SetPoint(face_id, this->Points->GetPoint(vol_id)); |
| 83 | result->PointIds->SetId(face_id, this->PointIds->GetId(vol_id)); |
| 84 | }; |
| 85 | int faceOrder[2]; |
| 86 | vtkHigherOrderWedge::GetQuadrilateralFace( |
| 87 | faceId, this->Order, set_number_of_ids_and_points, set_ids_and_points, faceOrder); |
| 88 | result->SetOrder(faceOrder[0], faceOrder[1]); |
| 89 | return result; |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | void vtkLagrangeWedge::InterpolateFunctions(const double pcoords[3], double* weights) |
| 94 | { |
nothing calls this directly
no test coverage detected