func init() // adds using namespace sys.add_use('System.Collections') sys.add_use('System.Collections.Generic') sys.add_use('System.Linq') sys.add_use('EyeOneWrapper') // initialize instance sys.add_object(this.codename, 'List' ) // initialize properties if(isdef("EyeOne")) error(this.name + ' - manager does not defined') else this.i1 = sys.get_undef_manager("EyeOne") end end func doMeasure(data) if(not isdef("EyeOne")) blk.println(this.i1, '.Trigger();') .println(this.codename, '.Clear();') .println('for (int i = 0; i < ', this.i1, '.Samples(); i++) {').inc() .println('float[] data = new float[]{};') if(user_level) // expert if(isdef("DataRange")) this.make_range(data) else v = this.props("DataRange").value // gets tristimulus values if(v _and_ 1) blk.println('data = data.Concat(', this.i1, '.GetTriStimulus(i)).ToArray();') end // gets densities values if(v _and_ 2) blk.println('data = data.Concat(', this.i1, '.GetDensities(i)).ToArray();') end // gets spectrum values if(v _and_ 4) blk.println('data = data.Concat(', this.i1, '.GetSpectrum(i)).ToArray();') end end else // novice this.make_range(data) end blk.println(this.codename, '.Add(data);') .dec().println('}') event("onResult", this.codename) end end func Result return(this.codename) end func Count return(this.codename + '.Count') end func make_range(data) dt = d("DataRange") blk.println('if (new BitArray(new[] { ', dt, ' })[0])').inc() .println('data = data.Concat(', this.i1, '.GetTriStimulus(i)).ToArray();') .dec().println('if (new BitArray(new[] { ', dt, ' })[1])').inc() .println('data = data.Concat(', this.i1, '.GetDensities(i)).ToArray();') .dec().println('if (new BitArray(new[] { ', dt, ' })[2])').inc() .println('data = data.Concat(', this.i1, '.GetSpectrum(i)).ToArray();').dec() end