==========================================================================
| 930 | } |
| 931 | //========================================================================== |
| 932 | int vtkXdmf3DataSet::GetVTKFiniteElementCellType(unsigned int element_degree, |
| 933 | const std::string& element_family, shared_ptr<const XdmfTopologyType> topologyType) |
| 934 | { |
| 935 | // Linear geometry and linear or constant function |
| 936 | // isoparametric element |
| 937 | if (topologyType == XdmfTopologyType::Triangle() && |
| 938 | (element_degree == 1 || element_degree == 0) && |
| 939 | (element_family == "CG" || element_family == "DG")) |
| 940 | { |
| 941 | return VTK_TRIANGLE; |
| 942 | } |
| 943 | |
| 944 | // Linear or quadratic geometry and quadratic function |
| 945 | // isoparametric and superparametric element |
| 946 | if ((topologyType == XdmfTopologyType::Triangle() || |
| 947 | topologyType == XdmfTopologyType::Triangle_6()) && |
| 948 | element_degree == 2 && (element_family == "CG" || element_family == "DG")) |
| 949 | { |
| 950 | return VTK_QUADRATIC_TRIANGLE; |
| 951 | } |
| 952 | |
| 953 | // Quadratic geometry and linear or const function |
| 954 | // subparametric element |
| 955 | if (topologyType == XdmfTopologyType::Triangle_6() && |
| 956 | (element_degree == 1 || element_degree == 0) && |
| 957 | (element_family == "CG" || element_family == "DG")) |
| 958 | { |
| 959 | return VTK_QUADRATIC_TRIANGLE; |
| 960 | } |
| 961 | |
| 962 | // Linear geometry and linear or constant function |
| 963 | // isoparametric element |
| 964 | if (topologyType == XdmfTopologyType::Tetrahedron() && |
| 965 | (element_degree == 1 || element_degree == 0) && |
| 966 | (element_family == "CG" || element_family == "DG")) |
| 967 | { |
| 968 | return VTK_TETRA; |
| 969 | } |
| 970 | |
| 971 | // Linear or quadratic geometry and quadratic function |
| 972 | // isoparametric and superparametric element |
| 973 | if ((topologyType == XdmfTopologyType::Tetrahedron() || |
| 974 | topologyType == XdmfTopologyType::Tetrahedron_10()) && |
| 975 | element_degree == 2 && (element_family == "CG" || element_family == "DG")) |
| 976 | { |
| 977 | return VTK_QUADRATIC_TETRA; |
| 978 | } |
| 979 | |
| 980 | // Linear geometry and linear or const function |
| 981 | // isoparametric element |
| 982 | if (topologyType == XdmfTopologyType::Quadrilateral() && |
| 983 | (element_degree == 1 || element_degree == 0) && |
| 984 | (element_family == "Q" || element_family == "DQ")) |
| 985 | { |
| 986 | return VTK_QUAD; |
| 987 | } |
| 988 | |
| 989 | // Linear geometry and quadratic function |