public override Correzione somma(Correzione altra) { // TODO gestire stessa scala return(new Trasla { offsetX = this.offsetX + ((Trasla)altra).offsetX, offsetY = this.offsetY + ((Trasla)altra).offsetY }); }
public override Correzione somma(Correzione altra) { Luce lcAltra = altra as Luce; Luce ris = new Luce { contrasto = this.contrasto + lcAltra.contrasto, luminosita = this.luminosita + lcAltra.luminosita }; return(ris); }
/// <summary> /// Se ho già uno specchio e ne applico un altro, allora si annullano. /// Quindi torno null in modo da segnalare che devo eliminare la correzione /// </summary public override Correzione somma(Correzione altra) { if (altra is Specchio) { return(null); } else { throw new InvalidOperationException("Non posso sommare " + altra.GetType()); } }
// Sommo i gradi. public override Correzione somma(Correzione altra) { Correzione ret = null; if (isSommabile(altra)) { Ruota ruotaAltra = (Ruota)altra; this.gradi = this.gradi + ruotaAltra.gradi; ret = this; } return(ret); }
public override Correzione somma(Correzione altra) { return(altra); }
public override bool isSommabile(Correzione altra) { return(altra is Logo); }
public override bool isSommabile(Correzione altra) { return(false); }
public abstract IImmagine applica(IImmagine immagineSorgente, Correzione correzione);
public virtual Correzione somma(Correzione altra) { return(null); }
public virtual bool isSommabile(Correzione altra) { return(false); }
public override Correzione somma(Correzione altra) { return(new Zoom { fattore = this.fattore + ((Zoom)altra).fattore }); }
public override bool isSommabile(Correzione altra) { return(altra is Zoom && this.quadroRuotato == ((Zoom)altra).quadroRuotato); }