-
Notifications
You must be signed in to change notification settings - Fork 333
Expand file tree
/
Copy pathPFModule.cpp
More file actions
56 lines (46 loc) · 3.33 KB
/
Copy pathPFModule.cpp
File metadata and controls
56 lines (46 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//
// Created by sjeske on 1/28/20.
//
#include "common.h"
#include <SPlisHSPlasH/PF/SimulationDataPF.h>
#include <SPlisHSPlasH/PF/TimeStepPF.h>
#include <pybind11/pybind11.h>
namespace py = pybind11;
void PFModule(py::module m_sub) {
// ---------------------------------------
// Class Simulation Data PF
// ---------------------------------------
py::class_<SPH::SimulationDataPF>(m_sub, "SimulationDataPF")
.def(py::init<>())
.def("init", &SPH::SimulationDataPF::init)
.def("cleanup", &SPH::SimulationDataPF::cleanup)
.def("reset", &SPH::SimulationDataPF::reset)
.def("performNeighborhoodSearchSort", &SPH::SimulationDataPF::performNeighborhoodSearchSort)
.def("emittedParticles", &SPH::SimulationDataPF::emittedParticles)
.def("getOldPosition", (const Vector3r (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int)const)(&SPH::SimulationDataPF::getOldPosition))
// .def("getOldPosition", (Vector3r& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int))(&SPH::SimulationDataPF::getOldPosition)) // TODO: wont work by reference
.def("setOldPosition", &SPH::SimulationDataPF::setOldPosition)
.def("getNumFluidNeighbors", (const unsigned int (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int)const)&SPH::SimulationDataPF::getNumFluidNeighbors)
// .def("getNumFluidNeighbors", (unsigned int& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int))&SPH::SimulationDataPF::getNumFluidNeighbors) // TODO: wont work by reference
.def("setNumFluidNeighbors", &SPH::SimulationDataPF::setNumFluidNeighbors)
.def("getS", (const Vector3r& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int)const)&SPH::SimulationDataPF::getS)
// .def("getS", (Vector3r& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int))&SPH::SimulationDataPF::getS) // TODO: wont work by reference
.def("setS", &SPH::SimulationDataPF::setS)
.def("getDiag", (const Vector3r& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int)const)&SPH::SimulationDataPF::getDiag)
// .def("getDiag", (Vector3r& (SPH::SimulationDataPF::*)(const unsigned int, const unsigned int))&SPH::SimulationDataPF::getDiag) // TODO: wont work by reference
.def("setDiag", &SPH::SimulationDataPF::setDiag)
.def("getParticleOffset", &SPH::SimulationDataPF::getParticleOffset);
// ---------------------------------------
// Class Time Step PF
// ---------------------------------------
py::class_<SPH::TimeStepPF, SPH::TimeStep>(m_sub, "TimeStepPF")
.def_readwrite_static("SOLVER_ITERATIONS", &SPH::TimeStepPF::SOLVER_ITERATIONS)
.def_readwrite_static("MIN_ITERATIONS", &SPH::TimeStepPF::MIN_ITERATIONS)
.def_readwrite_static("MAX_ITERATIONS", &SPH::TimeStepPF::MAX_ITERATIONS)
.def_readwrite_static("MAX_ERROR", &SPH::TimeStepPF::MAX_ERROR)
.def_readwrite_static("STIFFNESS", &SPH::TimeStepPF::STIFFNESS)
.def(py::init<>())
.def_static("matrixVecProd", &SPH::TimeStepPF::matrixVecProd)
.def("getMethodName", &SPH::TimeStepPF::getMethodName)
.def("getNumIterations", &SPH::TimeStepPF::getNumIterations);
}