90template <
class T,
class S>
void export_Geom_2d(py::module &m,
const char *name)
92 py::classh<T, Geometry2D>(m, name)
93 .def(py::init<>(&Geometry_Init<T, S>), py::arg(
"id"),
94 py::arg(
"segments") = py::list())
95 .def(py::init<>(&Geometry_Init_Curved<T, S>), py::arg(
"id"),
96 py::arg(
"segments"), py::arg(
"curve"));
146 py::classh<Geometry1D, Geometry>(m,
"Geometry1D");
147 py::classh<Geometry2D, Geometry>(m,
"Geometry2D")
149 py::return_value_policy::reference);
150 py::classh<Geometry3D, Geometry>(m,
"Geometry3D");
153 py::classh<PointGeom, Geometry>(m,
"PointGeom")
154 .def(py::init<>(&
PointGeom_Init), py::arg(
"coordim"), py::arg(
"id"),
155 py::arg(
"x"), py::arg(
"y"), py::arg(
"z"))
159 py::classh<SegGeom, Geometry>(m,
"SegGeom")
160 .def(py::init<>(&
SegGeom_Init), py::arg(
"id"), py::arg(
"coordim"),
161 py::arg(
"points") = py::list(), py::arg(
"curve") =
nullptr)
163 py::return_value_policy::reference);
165 export_Geom_2d<TriGeom, SegGeom>(m,
"TriGeom");
166 export_Geom_2d<QuadGeom, SegGeom>(m,
"QuadGeom");
167 export_Geom_3d<TetGeom, TriGeom>(m,
"TetGeom");
168 export_Geom_3d<PrismGeom, Geometry2D>(m,
"PrismGeom");
169 export_Geom_3d<PyrGeom, Geometry2D>(m,
"PyrGeom");
170 export_Geom_3d<HexGeom, QuadGeom>(m,
"HexGeom");