23 lines
660 B
C#
23 lines
660 B
C#
using SFML.Graphics;
|
|
|
|
namespace FluidSim.Core
|
|
{
|
|
public abstract class Scenario
|
|
{
|
|
/// <summary>
|
|
/// Initialize the scenario with a given audio sample rate.
|
|
/// </summary>
|
|
public abstract void Initialize(int sampleRate);
|
|
|
|
/// <summary>
|
|
/// Advance one simulation step and return an audio sample.
|
|
/// The step size is 1 / sampleRate seconds.
|
|
/// </summary>
|
|
public abstract float Process();
|
|
|
|
/// <summary>
|
|
/// Draw the current simulation state onto the given SFML render target.
|
|
/// </summary>
|
|
public abstract void Draw(RenderWindow target);
|
|
}
|
|
} |