public InequalityDrawOperation(Player player, Command cmd)
: base(player)
{
string strFunc = cmd.Next();
if (string.IsNullOrWhiteSpace(strFunc))
{
throw new ArgumentException("empty inequality expression");
}
if (strFunc.Length < 3)
{
throw new ArgumentException("expression is too short (should be like f(x,y,z)>g(x,y,z))");
}
strFunc = strFunc.ToLower();
_expression = SimpleParser.Parse(strFunc, new string[] { "x", "y", "z" });
if (!_expression.IsInEquality())
{
throw new ArgumentException(
"the expression given is not an inequality (should be like f(x,y,z)>g(x,y,z))");
}
player.Message("Expression parsed as " + _expression.Print());
string scalingStr = cmd.Next();
_scaler = new Scaler(scalingStr);
}