Following the merging of #585, lazy evaluation is used for field operations. This required some changes to the methods used to set Option values in Component and its subclasses, to ensure that these lazy-expressions are evaluated. However, this is performed prematurely for Component::add and Component::subtract. The final addition or subtraction done to the existing Field3D stored in the Options should be added to the BinaryExpr tree prior to evaluation.
Following the merging of #585, lazy evaluation is used for field operations. This required some changes to the methods used to set
Optionvalues inComponentand its subclasses, to ensure that these lazy-expressions are evaluated. However, this is performed prematurely for Component::add and Component::subtract. The final addition or subtraction done to the existingField3Dstored in theOptionsshould be added to theBinaryExprtree prior to evaluation.