From 0b01f5132abd1a061b1bf308194e2a7d6ad35a54 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Mon, 19 Feb 2018 16:50:40 +0100
Subject: [PATCH] ComputeNodeParameters.createComputeNodeParameters() : ajout
 des cas CalculatorType.Structure et CalculatorType.ParallelStructure

---
 src/parameters.ts | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/parameters.ts b/src/parameters.ts
index feb4081e..7e64f8ab 100644
--- a/src/parameters.ts
+++ b/src/parameters.ts
@@ -11,6 +11,10 @@ import { CourbeRemous, CourbeRemousParams } from "./remous";
 import { PabDimensionParams, PabDimension } from "./pab/pab_dimension";
 import { PabPuissanceParams, PabPuissance } from "./pab/pab_puissance";
 import { HashTable } from "./util/hashtable";
+import { ParallelStructureParams } from "./structure/parallel_structure_params";
+import { ParallelStructure } from "./structure/parallel_structure";
+import { RectangularStructureParams } from "./structure/rectangular_structure_params";
+import { StructureCem88d } from "./structure/structure_cem88d";
 
 
 export class ComputeNodeParameters {
@@ -118,8 +122,27 @@ export class ComputeNodeParameters {
                     return cn;
                 }
 
+            case CalculatorType.Structure:
+                switch (nodeType) {
+                    case ComputeNodeType.None: // pour les paramètres communs, n'importe quelle structure convient
+                    case ComputeNodeType.StructureRectangle:
+                        let cn = new RectangularStructureParams(undefined, 0.5, 2, 1, undefined, undefined);
+                        let n = new StructureCem88d(cn);
+                        return cn;
+
+                    default:
+                        throw new Error(`ComputeNodeParameters.createComputeNodeParameters() : calculatrice '${CalculatorType[calcType]}' / noeud de calcul '${ComputeNodeType[nodeType]}' non pris en charge`);
+                }
+
+            case CalculatorType.ParallelStructure:
+                {
+                    let cn = new ParallelStructureParams(undefined, undefined, undefined);
+                    let n = new ParallelStructure(cn);
+                    return cn;
+                }
+
             default:
-                throw "ComputeNodeParameters.getComputeNodeParameters() : noeud de calcul '" + ComputeNodeType[nodeType] + "' non pris en charge";
+                throw new Error(`ComputeNodeParameters.createComputeNodeParameters() : calculatrice '${CalculatorType[calcType]}' / noeud de calcul '${ComputeNodeType[nodeType]}' non pris en charge`);
         }
     }
 
-- 
GitLab