protected override void InitFunction()
		{
			if (this.SourceType == SourceType.Equation)
			{
				_function = new Implicit3DFunction(this.Formula);
			}
			else
			{
//				TrivariateFunctionEvalutor evalutor = new TrivariateFunctionEvalutor();
//				evalutor.Text = this.CodeBody;
//				switch(this.CodeLanguage)
//				{
//					case CodeLanguage.CSharp:
//						evalutor.language= CodeLanguage.CSharp;
//						break;
//					case CodeLanguage.VBNET:
//						evalutor.language = CodeLanguage.VBNET;						
//						break;
//				}
//				_function = new Implicit3DFunction(new TrivariateRealFunction(evalutor.Invoke));
				FunctionEvalutor evalutor = new FunctionEvalutor(this.CodeBody, new string[]{"x", "y", "z"},this.CodeLanguage);
				_function = new Implicit3DFunction((TrivariateRealFunction)evalutor.CreateDelegate(typeof(TrivariateRealFunction)));

			}
		}
		public Implicit3DFunctionPlotter(Implicit3DFunction function) 
		{
			_function = function.ValueAt;
		}