40#include <boost/python/suite/indexing/map_indexing_suite.hpp>
41#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
53 return MeshGraph::Read(session);
63 composite->m_geomVec.clear();
64 for (
int i = 0; i < py::len(geometries); i++)
66 composite->m_geomVec.emplace_back(
67 py::extract<GeometrySharedPtr>(geometries[i]));
78 auto result = MeshGraphXml::create();
79 result->Empty(meshDim, spatialDim);
90 auto result = MeshGraphXmlCompressed::create();
91 result->Empty(meshDim, spatialDim);
100 py::class_<LibUtilities::FieldMetaDataMap>(
"FieldMetaDataMap")
101 .def(py::map_indexing_suite<LibUtilities::FieldMetaDataMap, true>());
103 py::class_<std::vector<GeometrySharedPtr>>(
"GeometryList")
104 .def(py::vector_indexing_suite<std::vector<GeometrySharedPtr>,
true>());
105 py::class_<Composite, std::shared_ptr<Composite>>(
"Composite", py::init<>())
107 .def_readwrite(
"geometries", &Composite::m_geomVec);
109 py::class_<PointGeomMap>(
"PointGeomMap")
110 .def(py::map_indexing_suite<PointGeomMap, true>());
111 py::class_<SegGeomMap>(
"SegGeomMap")
112 .def(py::map_indexing_suite<SegGeomMap, true>());
113 py::class_<QuadGeomMap>(
"QuadGeomMap")
114 .def(py::map_indexing_suite<QuadGeomMap, true>());
115 py::class_<TriGeomMap>(
"TriGeomMap")
116 .def(py::map_indexing_suite<TriGeomMap, true>());
117 py::class_<TetGeomMap>(
"TetGeomMap")
118 .def(py::map_indexing_suite<TetGeomMap, true>());
119 py::class_<PrismGeomMap>(
"PrismGeomMap")
120 .def(py::map_indexing_suite<PrismGeomMap, true>());
121 py::class_<PyrGeomMap>(
"PyrGeomMap")
122 .def(py::map_indexing_suite<PyrGeomMap, true>());
123 py::class_<HexGeomMap>(
"HexGeomMap")
124 .def(py::map_indexing_suite<HexGeomMap, true>());
125 py::class_<CurveMap>(
"CurveMap")
126 .def(py::map_indexing_suite<CurveMap, true>());
127 py::class_<CompositeMap>(
"CompositeMap")
128 .def(py::map_indexing_suite<CompositeMap, true>());
129 py::class_<std::map<int, CompositeMap>>(
"DomainMap")
130 .def(py::map_indexing_suite<std::map<int, CompositeMap>,
true>());
132 py::class_<MeshGraph, std::shared_ptr<MeshGraph>, boost::noncopyable>(
133 "MeshGraph", py::no_init)
136 .staticmethod(
"Read")
138 .def(
"Write", &MeshGraph::WriteGeometry, py::default_call_policies(),
139 (py::arg(
"outfile"), py::arg(
"defaultExp") =
false,
142 .def(
"GetMeshDimension", &MeshGraph::GetMeshDimension)
143 .def(
"GetSpaceDimension", &MeshGraph::GetSpaceDimension)
144 .def(
"GetAllPointGeoms", &MeshGraph::GetAllPointGeoms,
145 py::return_internal_reference<>())
146 .def(
"GetAllSegGeoms", &MeshGraph::GetAllSegGeoms,
147 py::return_internal_reference<>())
148 .def(
"GetAllQuadGeoms", &MeshGraph::GetAllQuadGeoms,
149 py::return_internal_reference<>())
150 .def(
"GetAllTriGeoms", &MeshGraph::GetAllTriGeoms,
151 py::return_internal_reference<>())
152 .def(
"GetAllTetGeoms", &MeshGraph::GetAllTetGeoms,
153 py::return_internal_reference<>())
154 .def(
"GetAllPrismGeoms", &MeshGraph::GetAllPrismGeoms,
155 py::return_internal_reference<>())
156 .def(
"GetAllPyrGeoms", &MeshGraph::GetAllPyrGeoms,
157 py::return_internal_reference<>())
158 .def(
"GetAllHexGeoms", &MeshGraph::GetAllHexGeoms,
159 py::return_internal_reference<>())
160 .def(
"GetCurvedEdges", &MeshGraph::GetCurvedEdges,
161 py::return_internal_reference<>())
162 .def(
"GetCurvedFaces", &MeshGraph::GetCurvedFaces,
163 py::return_internal_reference<>())
164 .def(
"GetComposites", &MeshGraph::GetComposites,
165 py::return_internal_reference<>())
166 .def<std::map<int, CompositeMap> &(
MeshGraph::*)()>(
167 "GetDomain", &MeshGraph::GetDomain,
168 py::return_internal_reference<>())
170 .def(
"GetMovement", &MeshGraph::GetMovement,
171 py::return_value_policy<py::return_by_value>())
173 .def(
"GetNumElements", &MeshGraph::GetNumElements)
175 .def(
"SetExpansionInfosToEvenlySpacedPoints",
176 &MeshGraph::SetExpansionInfoToEvenlySpacedPoints)
177 .def(
"SetExpansionInfosToPolyOrder",
178 &MeshGraph::SetExpansionInfoToNumModes)
179 .def(
"SetExpansionInfosToPointOrder",
180 &MeshGraph::SetExpansionInfoToPointOrder);
182 py::class_<MeshGraphXml, py::bases<MeshGraph>,
183 std::shared_ptr<MeshGraphXml>, boost::noncopyable>(
184 "MeshGraphXml", py::no_init)
187 py::class_<MeshGraphXmlCompressed, py::bases<MeshGraphXml>,
188 std::shared_ptr<MeshGraphXmlCompressed>, boost::noncopyable>(
189 "MeshGraphXmlCompressed", py::no_init)
void export_MeshGraph()
MeshGraph exports.
MeshGraphSharedPtr MeshGraph_Read(const LibUtilities::SessionReaderSharedPtr &session)
CompositeSharedPtr Composite_Init(py::list geometries)
std::shared_ptr< MeshGraph > MeshGraphXmlCompressed_Init(int meshDim, int spatialDim)
std::shared_ptr< MeshGraph > MeshGraphXml_Init(int meshDim, int spatialDim)
Base class for a spectral/hp element mesh.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
static FieldMetaDataMap NullFieldMetaDataMap
std::shared_ptr< Composite > CompositeSharedPtr
std::shared_ptr< MeshGraph > MeshGraphSharedPtr