Class TimeStepPBF¶
Defined in File TimeStepPBF.h
Inheritance Relationships¶
Base Type¶
public SPH::TimeStep(Class TimeStep)
Class Documentation¶
-
class
SPH::TimeStepPBF: public SPH::TimeStep¶ This class implements the position-based fluids approach introduced by Macklin and Mueller [MM13,BMO+14,BMM15].
References:
[MM13] Miles Macklin and Matthias Müller. Position based fluids. ACM Trans. Graph., 32(4):104:1-104:12, July 2013. URL: http://doi.acm.org/10.1145/2461912.2461984
[BMO+14] Jan Bender, Matthias Müller, Miguel A. Otaduy, Matthias Teschner, and Miles Macklin. A survey on position-based simulation methods in computer graphics. Computer Graphics Forum, 33(6):228-251, 2014. URL: http://dx.doi.org/10.1111/cgf.12346
[BMM15] Jan Bender, Matthias Müller, and Miles Macklin. Position-based simulation methods in computer graphics. In EUROGRAPHICS 2015 Tutorials. Eurographics Association, 2015. URL: http://dx.doi.org/10.2312/egt.20151045
Public Functions
-
TimeStepPBF()¶ Initialize the simulation data required for this method.
-
virtual
~TimeStepPBF(void)¶
-
virtual void
step()¶ Perform a simulation step.
-
virtual void
reset()¶ Reset the simulation method.
-
virtual void
resize()¶
Public Static Attributes
-
static int
VELOCITY_UPDATE_METHOD= -1¶
-
static int
ENUM_PBF_FIRST_ORDER= -1¶
-
static int
ENUM_PBF_SECOND_ORDER= -1¶
Protected Functions
-
void
pressureSolve()¶ Perform a position-based correction step for the following density constraint:\(C(\mathbf{x}) = \left (\frac{\rho_i}{\rho_0} - 1 \right )= 0\)
-
void
performNeighborhoodSearch()¶ Perform the neighborhood search for all fluid particles.
-
virtual void
emittedParticles(FluidModel *model, const unsigned int startIndex)¶
-
virtual void
initParameters()¶
Protected Attributes
-
SimulationDataPBF
m_simulationData¶
-
unsigned int
m_counter¶
-
int
m_velocityUpdateMethod¶