mirror of
https://github.com/NGSolve/netgen.git
synced 2025-02-02 16:20:33 +05:00
mesh point coordinates as numpy - array
This commit is contained in:
parent
8c7d69c1d1
commit
c29e93dd2b
@ -854,6 +854,26 @@ DLL_HEADER void ExportNetgenMeshing(py::module &m)
|
||||
static_cast<Mesh::T_POINTS&(Mesh::*)()> (&Mesh::Points),
|
||||
py::return_value_policy::reference)
|
||||
|
||||
.def("Coordinates", [](Mesh & self) {
|
||||
size_t shape[2] = { self.Points().Size(), size_t(self.GetDimension()) };
|
||||
size_t stride[2] = { sizeof(self.Points()[0]), sizeof(double) };
|
||||
|
||||
return py::memoryview::from_buffer
|
||||
(&self.Points()[PointIndex::BASE](0), sizeof(double),
|
||||
py::format_descriptor<double>::value,
|
||||
{ self.Points().Size(), size_t(self.GetDimension()) },
|
||||
{ sizeof(self.Points()[1]), sizeof(double) } );
|
||||
|
||||
/*
|
||||
// how to avoid copying array ?
|
||||
return py::array
|
||||
(
|
||||
shape, stride,
|
||||
&self.Points()[PointIndex::BASE](0) // , borrowed_t{} // how to use borrow ?
|
||||
);
|
||||
*/
|
||||
})
|
||||
|
||||
.def("FaceDescriptor", static_cast<FaceDescriptor&(Mesh::*)(int)> (&Mesh::GetFaceDescriptor),
|
||||
py::return_value_policy::reference)
|
||||
.def("GetNFaceDescriptors", &Mesh::GetNFD)
|
||||
|
Loading…
Reference in New Issue
Block a user