budnhead/org.budnhead/core/Limits.cs

57 lines
778 B
C#

using System;
namespace org.budnhead.core
{
public struct Limits
{
public Limits(float min, float max)
{
Minimum = min;
Maximum = max;
}
public Limits(double min, double max)
{
Minimum = (float)min;
Maximum = (float)max;
}
public float Minimum
{
get; set;
}
public float Maximum
{
get; set;
}
public float clamp(float value){
return (value < Minimum) ? Minimum : (value > Maximum) ? Maximum : value;
}
public void clamp(ref float value)
{
if (value < Minimum)
{
value = Minimum;
}
if (value > Maximum)
{
value = Maximum;
}
}
public void clamp(ref double value)
{
if (value < Minimum)
{
value = Minimum;
}
if (value > Maximum)
{
value = Maximum;
}
}
}
}