MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / adapt

Method adapt

tools/Assembler/Elements/Elements.cpp:14–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12using namespace PyMesh;
13
14Elements::Ptr Elements::adapt(Mesh::Ptr mesh) {
15 if (mesh->get_num_voxels() > 0) {
16 const size_t vertex_per_voxel = mesh->get_vertex_per_voxel();
17 switch (vertex_per_voxel) {
18 case 4:
19 return Ptr(new TetrahedronElements(mesh));
20 default:
21 std::stringstream err_msg;
22 err_msg << "Voxel with " << vertex_per_voxel
23 << " vertices is not supported yet.";
24 throw NotImplementedError(err_msg.str());
25 }
26 } else {
27 const size_t vertex_per_face = mesh->get_vertex_per_face();
28 switch (vertex_per_face) {
29 case 3:
30 return Ptr(new TriangleElements(mesh));
31 default:
32 std::stringstream err_msg;
33 err_msg << "Face with " << vertex_per_face
34 << " vertices is not supported yet.";
35 throw NotImplementedError(err_msg.str());
36 }
37 }
38}
39
40Elements::Ptr Elements::adapt_boundary(Mesh::Ptr mesh) {
41 if (mesh->get_num_voxels() > 0) {

Callers

nothing calls this directly

Calls 5

NotImplementedErrorClass · 0.85
get_num_voxelsMethod · 0.45
get_vertex_per_voxelMethod · 0.45
strMethod · 0.45
get_vertex_per_faceMethod · 0.45

Tested by

no test coverage detected