51 composite->m_geomVec.clear();
52 for (
int i = 0; i < py::len(geometries); i++)
54 composite->m_geomVec.emplace_back(
55 py::cast<GeometrySharedPtr>(geometries[i]));
65 py::bind_map<LibUtilities::FieldMetaDataMap>(m,
"FieldMetaDataMap");
66 py::bind_vector<std::vector<GeometrySharedPtr>>(m,
"GeometryList");
68 py::class_<Composite, std::shared_ptr<Composite>>(m,
"Composite")
71 .def_readwrite(
"geometries", &Composite::m_geomVec);
73 py::bind_map<PointGeomMap>(m,
"PointGeomMap");
74 py::bind_map<SegGeomMap>(m,
"SegGeomMap");
75 py::bind_map<QuadGeomMap>(m,
"QuadGeomMap");
76 py::bind_map<TriGeomMap>(m,
"TriGeomMap");
77 py::bind_map<TetGeomMap>(m,
"TetGeomMap");
78 py::bind_map<PrismGeomMap>(m,
"PrismGeomMap");
79 py::bind_map<PyrGeomMap>(m,
"PyrGeomMap");
80 py::bind_map<HexGeomMap>(m,
"HexGeomMap");
81 py::bind_map<CurveMap>(m,
"CurveMap");
82 py::bind_map<CompositeMap>(m,
"CompositeMap");
83 py::bind_map<std::map<int, CompositeMap>>(m,
"DomainMap");
85 py::class_<MeshGraph, std::shared_ptr<MeshGraph>>(m,
"MeshGraph")
88 .def(
"Empty", &MeshGraph::Empty)
90 .def(
"GetMeshDimension", &MeshGraph::GetMeshDimension)
91 .def(
"GetSpaceDimension", &MeshGraph::GetSpaceDimension)
93 .def(
"SetMeshDimension", &MeshGraph::SetMeshDimension)
94 .def(
"SetSpaceDimension", &MeshGraph::SetSpaceDimension)
96 .def(
"GetAllPointGeoms", &MeshGraph::GetAllPointGeoms,
97 py::return_value_policy::reference_internal)
98 .def(
"GetAllSegGeoms", &MeshGraph::GetAllSegGeoms,
99 py::return_value_policy::reference_internal)
100 .def(
"GetAllQuadGeoms", &MeshGraph::GetAllQuadGeoms,
101 py::return_value_policy::reference_internal)
102 .def(
"GetAllTriGeoms", &MeshGraph::GetAllTriGeoms,
103 py::return_value_policy::reference_internal)
104 .def(
"GetAllTetGeoms", &MeshGraph::GetAllTetGeoms,
105 py::return_value_policy::reference_internal)
106 .def(
"GetAllPrismGeoms", &MeshGraph::GetAllPrismGeoms,
107 py::return_value_policy::reference_internal)
108 .def(
"GetAllPyrGeoms", &MeshGraph::GetAllPyrGeoms,
109 py::return_value_policy::reference_internal)
110 .def(
"GetAllHexGeoms", &MeshGraph::GetAllHexGeoms,
111 py::return_value_policy::reference_internal)
112 .def(
"GetCurvedEdges", &MeshGraph::GetCurvedEdges,
113 py::return_value_policy::reference_internal)
114 .def(
"GetCurvedFaces", &MeshGraph::GetCurvedFaces,
115 py::return_value_policy::reference_internal)
116 .def(
"GetComposites", &MeshGraph::GetComposites,
117 py::return_value_policy::reference_internal)
118 .def<std::map<int, CompositeMap> &(
MeshGraph::*)()>(
119 "GetDomain", &MeshGraph::GetDomain,
120 py::return_value_policy::reference_internal)
122 .def(
"GetMovement", &MeshGraph::GetMovement,
123 py::return_value_policy::reference_internal)
125 .def(
"GetNumElements", &MeshGraph::GetNumElements)
127 .def(
"SetExpansionInfosToEvenlySpacedPoints",
128 &MeshGraph::SetExpansionInfoToEvenlySpacedPoints)
129 .def(
"SetExpansionInfosToPolyOrder",
130 &MeshGraph::SetExpansionInfoToNumModes)
131 .def(
"SetExpansionInfosToPointOrder",
132 &MeshGraph::SetExpansionInfoToPointOrder);
void export_MeshGraph(py::module &m)
MeshGraph exports.
CompositeSharedPtr Composite_Init(py::list geometries)
Base class for a spectral/hp element mesh.
std::shared_ptr< Composite > CompositeSharedPtr