#ifndef FX_FLUID_H
#define FX_FLUID_H

enum
{
	FLUID_FLIP = 2000,
	FLUID_LIQUID,
	FLUID_GRIDADVECTION,
	FLUID_GROUP_CONTAINER,
	FLUID_GROUP_CONTAINER_OBSTACLES,
	FLUID_GROUP_DYNAMICS,	
	SOLVER_SEP_PRESSURE,
	SOLVER_GROUP_ID,	
	FLUID_CONTAINER_WALLS,
	FLUID_GROUP_DISPLAY,
	FLUID_PORTS,
	SOLVER_SUB_ADVANCED,
	FLUID_GROUP_MATERIAL,
	FLUID_MATERIAL_PORTS,

	FLUID_DENSITY_CHANNEL = 1000,
	FLUID_DENSITY,	
	FLUID_CONVECT,	
	FLUID_GRIDADVECTION_PRECISION = 1003,
		FLUID_GRIDADVECTION_PRECISION_1ST = 0,
		FLUID_GRIDADVECTION_PRECISION_2ND = 2,
		FLUID_GRIDADVECTION_PRECISION_MIX = 4,
	FLUID_GRIDADVECTION_PRECISION_MIXVALUE = 1004,
	FLUID_GRIDADVECTION_INTEGRATOR = 1005,
		FLUID_GRIDADVECTION_INTEGRATOR_EULER1ST = 0,
		FLUID_GRIDADVECTION_INTEGRATOR_RUNGA2ND,
		FLUID_GRIDADVECTION_INTEGRATOR_RUNGA3RD,
		FLUID_GRIDADVECTION_INTEGRATOR_RUNGA4TH,
	FLUID_GRIDADVECTION_INTERPOLATOR = 1006,
		FLUID_GRIDADVECTION_INTERPOLATOR_LINEAR = 0,
		FLUID_GRIDADVECTION_INTERPOLATOR_COSINE,
		FLUID_GRIDADVECTION_INTERPOLATOR_HERMITE,
	FLUID_CACHE = 1007,
	FLUID_FORCES_GRID,

	FLUID_CONTAINER_ADAPTIVE,
	FLUID_CONTAINER_DIMENSIONS,
	FLUID_CONTAINER_OBSTACLES_BRD_LEFT,
	FLUID_CONTAINER_OBSTACLES_BRD_RIGHT,
	FLUID_CONTAINER_OBSTACLES_BRD_BOTTOM,
	FLUID_CONTAINER_OBSTACLES_BRD_TOP,
	FLUID_CONTAINER_OBSTACLES_BRD_FRONT,
	FLUID_CONTAINER_OBSTACLES_BRD_BACK,
	FLUID_CONTAINER_OBSTACLES,
	FLUID_CONTAINER_EXTRAPOLATION_LAYERS,

	FLUID_VISCOSITY,

	SOLVER_SOLVERTYPE = 1020,
		SOLVER_SOLVERTYPE_CG = 0,
		SOLVER_SOLVERTYPE_GAUSS,
	SOLVER_MAXITERATIONS = 1021,
	SOLVER_ACCURACY,
	SOLVER_MPEDITOR,
	SOLVER_MPRENDER,

	FLUID_VISCOSITY_PRESETS = 1025,
		FLUID_VISCOSITY_PRESETS_CUSTOM = 0,
		FLUID_VISCOSITY_PRESETS_WATER_DISTILLED,
		FLUID_VISCOSITY_PRESETS_WATER_FRESH,
		FLUID_VISCOSITY_PRESETS_WATER_SEA,
		FLUID_VISCOSITY_PRESETS_TURPENTINE,
		FLUID_VISCOSITY_PRESETS_RAPESEEDOIL,
		FLUID_VISCOSITY_PRESETS_OLIVEOIL,
		FLUID_VISCOSITY_PRESETS_MILK,
		FLUID_VISCOSITY_PRESETS_MOLASSES,
		FLUID_VISCOSITY_PRESETS_MERCURY,
		FLUID_VISCOSITY_PRESETS_KEROSENE,
		FLUID_VISCOSITY_PRESETS_INK,
		FLUID_VISCOSITY_PRESETS_HONEY,
		FLUID_VISCOSITY_PRESETS_GASOLINE,
		FLUID_VISCOSITY_PRESETS_FUELOIL,
		FLUID_VISCOSITY_PRESETS_GEAROIL,
		FLUID_VISCOSITY_PRESETS_DIESELFUEL2D,
		FLUID_VISCOSITY_PRESETS_BEER,
		FLUID_VISCOSITY_PRESETS_ASPHALT,
		FLUID_VISCOSITY_PRESETS_BLOOD,
		FLUID_VISCOSITY_PRESETS_PEANUTBUTTER,
		FLUID_VISCOSITY_PRESETS_KETCHUP,
		FLUID_VISCOSITY_PRESETS_MOLTENCHOCOLATE,

	FLUID_DENSITY_PRESETS = 1026,
		FLUID_DENSITY_PRESETS_CUSTOM,
		FLUID_DENSITY_PRESETS_WATER,
		FLUID_DENSITY_PRESETS_WATER_SALINE,
		FLUID_DENSITY_PRESETS_WATER_SEA,
		FLUID_DENSITY_PRESETS_TURPENTINE,
		FLUID_DENSITY_PRESETS_RAPESEEDOIL,
		FLUID_DENSITY_PRESETS_OLIVEOIL,
		FLUID_DENSITY_PRESETS_MILK,
		FLUID_DENSITY_PRESETS_MOLASSES,
		FLUID_DENSITY_PRESETS_MERCURY,
		FLUID_DENSITY_PRESETS_KEROSENE,
		FLUID_DENSITY_PRESETS_INK,
		FLUID_DENSITY_PRESETS_HONEY,
		FLUID_DENSITY_PRESETS_GASOLINE,
		FLUID_DENSITY_PRESETS_FUELOIL,
		FLUID_DENSITY_PRESETS_GEAROIL,
		FLUID_DENSITY_PRESETS_DIESELFUEL2D,
		FLUID_DENSITY_PRESETS_BEER,
		FLUID_DENSITY_PRESETS_ASPHALT,
		FLUID_DENSITY_PRESETS_BLOOD,
		FLUID_DENSITY_PRESETS_PEANUTBUTTER,
		FLUID_DENSITY_PRESETS_KETCHUP,
		FLUID_DENSITY_PRESETS_MOLTENCHOCOLATE,
	FLUID_CONTAINER_CENTER = 1027,
		FLUID_CONTAINER_CENTER_MIN = 0,
		FLUID_CONTAINER_CENTER_MID,
		FLUID_CONTAINER_CENTER_MIDMINY,
		FLUID_CONTAINER_CENTER_CUSTOM,
	FLUID_CONTAINER_CENTER_POS = 1028,

	FLUID_DISPLAY_SHOWBOUNDS,
	FLUID_DISPLAY_VELOCITY = 1030,
		FLUID_DISPLAY_VELOCITY_OFF = 0,
		FLUID_DISPLAY_VELOCITY_ON,
		FLUID_DISPLAY_VELOCITY_Y,
		FLUID_DISPLAY_VELOCITY_Z,
	FLUID_DISPLAY_BOUNDARY = 1031,
		FLUID_DISPLAY_BOUNDARY_OFF = 0,
		FLUID_DISPLAY_BOUNDARY_ON,
	FLUID_DISPLAY_GRID = 1032,
		FLUID_DISPLAY_GRID_OFF = 0,
		FLUID_DISPLAY_GRID_ON,
	
	FLUID_CACHE_SELECTOR = 1033,
	FLUID_DENSITY_CHANNEL_SELECTOR,
	FLUID_CONTAINER_VELCONSTRAINT_SLIP,
	FLUID_CONTAINER_OBSTACLES_POLYNORMALS,
	FLUID_CONTAINER_INFO,
	FLUID_FORCES_GRID_SELECTOR,
	
	FLUID_DISPLAY_VELOCITY_MIX,
	FLUID_DISPLAY_VELOCITY_DOTONLY,
	FLUID_DISPLAY_VELOCITY_CUTOFF,
	FLUID_DISPLAY_VELOCITY_MAX,
	FLUID_DISPLAY_VELOCITY_COLOR,
	FLUID_DISPLAY_VELOCITY_AUTOTRANSPARENCY,

	SOLVER_PCG_MINDIAGONAL,
	SOLVER_PCG_FACTOR,
	FLUID_CONTAINER_VELCONSTRAINT_DIRICHLET,

	LIQUID_VISCOSITY_CHANNEL = 1300,
	SOLVER_MAXITERATIONS_VISCOSITY,
	SOLVER_ACCURACY_VISCOSITY,
	LIQUID_VISCOSITY_CHANNEL_SELECTOR,

	FLUID_QUICK_VARIABLEDENSITY,
	FLUID_QUICK_VARIABLEVISCOSITY,
	FLUID_QUICK_PARTICLETURBULENCE,
	FLUID_DURATION,
	FLUID_DURATION_SELECTOR,
	FLUID_COMPATIBILITY,

	FLUID_DUMMY_

};

#endif