Ejemplo n.º 1
0
        public void Write(OmaReaderSingleResult OmaReaderSingleResult, computeLensResponseDTO computeLensResponse, string surfaceFile, IFilePathOmaBuilder filePathBuilder)
        {
            switch (OmaReaderSingleResult)
            {
            case OmaReaderLeftResult OmaReaderLeftResult:
                Write(OmaReaderLeftResult.Result, null, computeLensResponse, null, surfaceFile, null, filePathBuilder);
                break;

            case OmaReaderRightResult OmaReaderRightResult:
                Write(null, OmaReaderRightResult.Result, null, computeLensResponse, null, surfaceFile, filePathBuilder);
                break;
            }
        }
Ejemplo n.º 2
0
        private void Write(IDictionary <OmaParameter, string> leftParameters, IDictionary <OmaParameter, string> rightParameters, computeLensResponseDTO leftComputeLensResponse, computeLensResponseDTO rightComputeLensResponse, string leftSurfaceFilePath, string rightSurfaceFilePath, IFilePathOmaBuilder filePathBuilder)
        {
            string tmpPath = Path.Combine(OutputFolder, (leftParameters is object?leftParameters: rightParameters)[OmaParameter.JOB]);

            using (StreamWriter streamWriter = File.AppendText(tmpPath))
            {
                streamWriter.WriteLine("REQ=LMS");
                streamWriter.WriteLine("JOB=" + (leftParameters is object?leftParameters: rightParameters)[OmaParameter.JOB]);
                streamWriter.WriteLine("DO=" + (leftParameters is object?leftParameters: rightParameters)[OmaParameter.DO]);

                double rightCentralThickness = rightComputeLensResponse is object?rightComputeLensResponse.value.finishedCenterThickness : 0D;
                double leftCentralThickness  = leftComputeLensResponse is object?leftComputeLensResponse.value.finishedCenterThickness : 0D;
                streamWriter.WriteLine("CTHICK=" + (rightComputeLensResponse is object?rightCentralThickness.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftCentralThickness.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("GTHK=" + (rightComputeLensResponse is object?rightCentralThickness.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftCentralThickness.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                // streamWriter.WriteLine("GTHK=" + (rightComputeLensResponse is object ? rightComputeLensResponse.value.surfaceBlockCenterGeneratorThickness.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object ? leftComputeLensResponse.value.surfaceBlockCenterGeneratorThickness.ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("CTHNP=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.cribPerimeterThinnestPointThickness.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.cribPerimeterThinnestPointThickness.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("CTHNA=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.cribPerimeterThinnestPointAngle.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.cribPerimeterThinnestPointAngle.ToString() : ""));

                streamWriter.WriteLine("CTHKP=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.cribPerimeterThickestPointThickness.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.cribPerimeterThickestPointThickness.ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("CTHKA=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.cribPerimeterThickestPointAngle.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.cribPerimeterThickestPointAngle.ToString() : ""));

                streamWriter.WriteLine("LAPBASX=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.lapBaseCurve.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.lapBaseCurve.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LAPCRSX=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.lapCrossCurve.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.lapCrossCurve.ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("CRIB=" + (rightParameters is object?rightParameters[OmaParameter.CRIB] : "") + ";" + (leftParameters is object?leftParameters[OmaParameter.CRIB] : ""));
                streamWriter.WriteLine("ELLH=" + (rightParameters is object?rightParameters[OmaParameter.ELLH] : "") + ";" + (leftParameters is object?leftParameters[OmaParameter.ELLH] : ""));

                streamWriter.WriteLine("LDDRSPH=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedDistanceReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedDistanceReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("LDDRCYL=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedDistanceReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedDistanceReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("LDDRAX=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedLayoutReferencePointCylinderAxis.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedLayoutReferencePointCylinderAxis.ToString() : ""));

                streamWriter.WriteLine("LDNRSPH=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedNearReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedNearReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDNRCYL=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedNearReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedNearReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDNRAX=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedNearReferencePointCylinderAxis.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedNearReferencePointCylinderAxis.ToString() : ""));

                streamWriter.WriteLine("LDADD=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedAdditionPower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedAdditionPower.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDSGSPH=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedLayoutReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedLayoutReferencePointSpherePower.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDSGCYL=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedLayoutReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedLayoutReferencePointCylinderPower.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDSGAX=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedNearReferencePointCylinderAxis.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedNearReferencePointCylinderAxis.ToString() : ""));

                streamWriter.WriteLine("LDPRVM=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedPrismMagnitude.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedPrismMagnitude.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("LDPRVA=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.designedPrismBaseSetting.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.designedPrismBaseSetting.ToString() : ""));

                string R_BCERIN = rightParameters is object?rightParameters.ContainsKey(OmaParameter.SMOCIN) ? rightParameters[OmaParameter.SMOCIN] : rightParameters.ContainsKey(OmaParameter.BCERIN) ? rightParameters[OmaParameter.BCERIN] == "?" ? "0" : rightParameters[OmaParameter.BCERIN] : null : null;

                string L_BCERIN = leftParameters is object?leftParameters.ContainsKey(OmaParameter.SMOCIN) ? leftParameters[OmaParameter.SMOCIN] : leftParameters.ContainsKey(OmaParameter.BCERIN) ? leftParameters[OmaParameter.BCERIN] == "?" ? "0" : leftParameters[OmaParameter.BCERIN] : null : null;

                string R_BCERUP = rightParameters is object?rightParameters.ContainsKey(OmaParameter.SMOCUP) ? rightParameters[OmaParameter.SMOCUP] : rightParameters.ContainsKey(OmaParameter.BCERUP) ? rightParameters[OmaParameter.BCERUP] == "?" ? "0" : rightParameters[OmaParameter.BCERUP] : null : null;

                string L_BCERUP = leftParameters is object?leftParameters.ContainsKey(OmaParameter.SMOCUP) ? leftParameters[OmaParameter.SMOCUP] : leftParameters.ContainsKey(OmaParameter.BCERUP) ? leftParameters[OmaParameter.BCERUP] == "?" ? "0" : leftParameters[OmaParameter.BCERUP] : null : null;

                if (R_BCERIN is object || L_BCERIN is object)
                {
                    streamWriter.WriteLine("BCERIN=" + R_BCERIN + ";" + L_BCERIN);
                }
                if (R_BCERUP is object || L_BCERUP is object)
                {
                    streamWriter.WriteLine("BCERUP=" + R_BCERUP + ";" + L_BCERUP);
                }
                if (!string.IsNullOrWhiteSpace(Gax))
                {
                    streamWriter.WriteLine("GAX=" + (
                                               rightComputeLensResponse is object?
                                               Gax: ""
                                               ) + ';' + (
                                               leftComputeLensResponse is object?Gax: ""));
                }
                if (!string.IsNullOrWhiteSpace(LapGax))
                {
                    streamWriter.WriteLine("LAPGAX=" + (
                                               rightComputeLensResponse is object?
                                               LapGax: ""
                                               ) + ';' + (
                                               leftComputeLensResponse is object?LapGax: ""));
                }

                streamWriter.WriteLine("KPRVM=" + "0" + ";" + "0");

                streamWriter.WriteLine("INSET=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.inset.ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.inset.ToString("0.00", CultureInfo.InvariantCulture) : ""));
                streamWriter.WriteLine("_DOWNSET=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.downset.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.downset.ToString() : ""));
                streamWriter.WriteLine("_FCRSSY=" + (rightComputeLensResponse is object?rightComputeLensResponse.value.crossPosition.ToString() : "") + ";" + (leftComputeLensResponse is object?leftComputeLensResponse.value.crossPosition.ToString() : ""));
                streamWriter.WriteLine("LDPATH=" + filePathBuilder.BuildFilePath());

                // RENDERE CONFIGURABILE/OPZIONALE LA RESTITUZIONE DI SVAL AVAL
                // streamWriter.WriteLine("SVAL=" + (rightParameters is object ? Sval(rightParameters, rightCentralThickness).ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftParameters is object ? Sval(leftParameters, leftCentralThickness).ToString("0.00", CultureInfo.InvariantCulture) : ""));
                // streamWriter.WriteLine("AVAL=" + (rightParameters is object ? Aval(rightParameters, rightCentralThickness).ToString("0.00", CultureInfo.InvariantCulture) : "") + ";" + (leftParameters is object ? Aval(leftParameters, leftCentralThickness).ToString("0.00", CultureInfo.InvariantCulture) : ""));

                streamWriter.WriteLine("STATUS=" + "0");
            }

            string filePath = Path.ChangeExtension(tmpPath, ".lms");

            File.Delete(filePath);
            if (File.Exists(tmpPath))
            {
                File.Move(tmpPath, filePath);
            }
        }
Ejemplo n.º 3
0
 public void Write(OmaReaderDoubleResult OmaReaderDoubleResult, computeLensResponseDTO leftComputeLensResponse, computeLensResponseDTO rightComputeLensResponse, string leftSurfaceFilePath, string rightSurfaceFilePath, IFilePathOmaBuilder filePathBuilder)
 {
     Write(OmaReaderDoubleResult.Left, OmaReaderDoubleResult.Right, leftComputeLensResponse, rightComputeLensResponse, leftSurfaceFilePath, rightSurfaceFilePath, filePathBuilder);
 }