Nektar++
Loading...
Searching...
No Matches
Functions
Curve.cpp File Reference
#include <LibUtilities/Python/NekPyConfig.hpp>
#include <SpatialDomains/Curve.hpp>
#include <SpatialDomains/MeshGraph.h>

Go to the source code of this file.

Functions

unique_ptr_objpool< CurveCurve_Init (int curveID, LibUtilities::PointsType type)
 
py::list Curve_GetPoints (Curve *curve)
 
void Curve_SetPoints (Curve *curve, py::list &pts)
 
void export_Curve (py::module &m)
 

Function Documentation

◆ Curve_GetPoints()

py::list Curve_GetPoints ( Curve curve)

Definition at line 47 of file Curve.cpp.

48{
49 py::list ret;
50 for (auto &pt : curve->m_points)
51 {
52 ret.append(pt);
53 }
54 return ret;
55}

References Nektar::SpatialDomains::Curve::m_points.

Referenced by export_Curve().

◆ Curve_Init()

unique_ptr_objpool< Curve > Curve_Init ( int  curveID,
LibUtilities::PointsType  type 
)

Definition at line 42 of file Curve.cpp.

43{
44 return ObjPoolManager<Curve>::AllocateUniquePtr(curveID, type);
45}
static std::unique_ptr< DataType, UniquePtrDeleter > AllocateUniquePtr(const Args &...args)

References Nektar::ObjPoolManager< DataType >::AllocateUniquePtr().

Referenced by export_Curve().

◆ Curve_SetPoints()

void Curve_SetPoints ( Curve curve,
py::list &  pts 
)

Definition at line 57 of file Curve.cpp.

58{
59 auto n = pts.size();
60
61 for (py::ssize_t i = 0; i < n; ++i)
62 {
63 curve->m_points.push_back(py::cast<PointGeom *>(pts[i]));
64 }
65}
std::vector< PointGeom * > m_points
Points along the curve.
Definition Curve.hpp:53

References Nektar::SpatialDomains::Curve::m_points.

Referenced by export_Curve().

◆ export_Curve()

void export_Curve ( py::module &  m)

Definition at line 67 of file Curve.cpp.

68{
69 py::classh<Curve>(m, "Curve")
70
71 .def(py::init<>(&Curve_Init), py::arg("curveID"), py::arg("type"))
72
73 .def_readwrite("curveID", &Curve::m_curveID)
74 .def_readwrite("ptype", &Curve::m_ptype)
75 .def_property("points", &Curve_GetPoints, &Curve_SetPoints);
76}
void Curve_SetPoints(Curve *curve, py::list &pts)
Definition Curve.cpp:57
py::list Curve_GetPoints(Curve *curve)
Definition Curve.cpp:47
unique_ptr_objpool< Curve > Curve_Init(int curveID, LibUtilities::PointsType type)
Definition Curve.cpp:42
LibUtilities::PointsType m_ptype
Points distribution of this curve.
Definition Curve.hpp:57
int m_curveID
ID of the edge or face that is curved.
Definition Curve.hpp:55

References Curve_GetPoints(), Curve_Init(), Curve_SetPoints(), Nektar::SpatialDomains::Curve::m_curveID, and Nektar::SpatialDomains::Curve::m_ptype.

Referenced by PYBIND11_MODULE().