MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/SPlisHSPlasH / init

Method init

SPlisHSPlasH/PF/SimulationDataPF.cpp:18–40  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16
17
18void SimulationDataPF::init()
19{
20 Simulation *sim = Simulation::getCurrent();
21 const unsigned int nModels = sim->numberOfFluidModels();
22
23 m_old_position.resize(nModels);
24 m_num_fluid_neighbors.resize(nModels);
25 m_s.resize(nModels);
26 m_mat_diag.resize(nModels);
27 m_particleOffset.resize(nModels);
28
29 for (unsigned int i = 0; i < nModels; i++)
30 {
31 FluidModel *fm = sim->getFluidModel(i);
32
33 m_old_position[i].resize(fm->numParticles(), Vector3r::Zero());
34 m_num_fluid_neighbors[i].resize(fm->numParticles(), 0);
35 m_s[i].resize(fm->numParticles(), Vector3r::Zero());
36 m_mat_diag[i].resize(fm->numParticles(), Vector3r::Zero());
37
38 m_particleOffset[i] = (i==0) ? 0 : sim->getFluidModel(i - 1)->numActiveParticles() + m_particleOffset[i - 1];
39 }
40}
41
42void SimulationDataPF::cleanup()
43{

Callers 6

TimeStepPFMethod · 0.45
solvePDConstraintsMethod · 0.45
resizeMethod · 0.45
stepMethod · 0.45
stepMethod · 0.45
stepMethod · 0.45

Calls 5

numberOfFluidModelsMethod · 0.80
getFluidModelMethod · 0.80
numParticlesMethod · 0.80
numActiveParticlesMethod · 0.80
resizeMethod · 0.45

Tested by

no test coverage detected