/// <summary> /// Instancia uma nova instância de objectos do tipo <see cref="UnivarNormalFromInterpolator{SourceType, TargetType}"/>. /// </summary> /// <param name="pointsContainer">O contentor de pontos que constitui o conjunto a ser interpolado.</param> /// <param name="variableName">A variável associada ao polinómio interpolador.</param> /// <param name="integerConversion"> /// O objecto responsável pela conversão entre inteiros a o tipo de dados do conjunto /// dos objectos. /// </param> /// <param name="multiplicationOperation"> /// O objecto responsável pelas operações de multiplicação entre objectos do conjunto de partida /// e objectos da imagem. /// </param> /// <param name="targetRing">O objecto responsável pelas operações sobre os objectos da imagem.</param> /// <param name="sourceField">O objecto responsável pelas operações sobre os objectos do conjunto de partida.</param> public UnivarNormalFromInterpolator( PointContainer2D <SourceType, TargetType> pointsContainer, string variableName, IConversion <int, SourceType> integerConversion, IMultiplicationOperation <SourceType, TargetType, TargetType> multiplicationOperation, IRing <TargetType> targetRing, IField <SourceType> sourceField) : base(pointsContainer, sourceField) { if (targetRing == null) { throw new ArgumentNullException("targetGroup"); } else if (multiplicationOperation == null) { throw new ArgumentNullException("multiplicationOperation"); } else { this.integerConversion = integerConversion; this.targetRing = targetRing; this.multiplicationOperation = multiplicationOperation; this.interpolationgPolynomial = new UnivariatePolynomialNormalForm <TargetType>(variableName); this.Initialize(); } }
/// <summary> /// Instancia uma nova instância de objectos do tipo <see cref="ABaseInterpolator{SourceType, TargetType}"/>. /// </summary> /// <param name="pointsContainer">O contentor de pontos que constitui o conjunto a ser interpolado.</param> /// <param name="sourceField">O objecto responsável pelas operações sobre os objectos do conjunto de partida.</param> public ABaseInterpolator( PointContainer2D <SourceType, TargetType> pointsContainer, IField <SourceType> sourceField) { if (sourceField == null) { throw new ArgumentNullException("sourceField"); } else if (pointsContainer == null) { throw new ArgumentNullException("pointsConatiner"); } else { // Delega a inicialização para mais tarde. this.pointsContainer = pointsContainer; this.sourceField = sourceField; // Inicializa os eventos. this.pointsContainer.BeforeAddEvent += this.BeforeAddEventHandler; this.pointsContainer.AfterAddEvent += this.AfterAddEventHandler; this.pointsContainer.BeforeDeleteEvent += this.BeforeRemoveEventHandler; this.pointsContainer.AfterDeleteEvent += this.AfterRemoveEventHandler; } }