using System; using System.Collections.Generic; using System.Diagnostics; namespace DMX2 { public class UniversDMX { Grada[] _gradas = new Grada[512]; public enum FTransfer { lineaire, log, exp } public struct Grada { public Circuit circuitAssocié; public FTransfer fonctionTransfert; public float param1; // Paramètres pour fonction de transfert public float param2; } public Grada[] Gradas { get { return _gradas; } } public void CalculUnivers(int[] valeurs) { Grada g; Debug.Assert(valeurs.Length == _gradas.Length); for(int i = 0 ; i<512; i++) { g= _gradas[i]; switch (g.fonctionTransfert) { case FTransfer.lineaire: valeurs[i] = g.circuitAssocié.ValeurCourante; break; case FTransfer.log: break; case FTransfer.exp: break; default: throw new ArgumentOutOfRangeException (); } } } } }