Esempio n. 1
0
 // create model
 public void CreateModel()
 {
     modelLink    = new ModelLink();
     modelName    = new ModelName();
     modelValue   = new ModelValue();
     modelWeight  = new ModelWeight();
     level1_nodes = new List <ModelNode>();
     level2_nodes = new List <ModelNode>();
     level3_nodes = new List <ModelNode>();
     level4_nodes = new List <ModelNode>();
     // create Level 1
     root_node = new ModelNode();                                    // level 1 nodes
     level1_nodes.Add(root_node);
     modelName.SetNodeName(root_node, modelLink.LEVEL1_UNITS);       // set node names
     modelWeight.SetNodeGainORDamage(root_node);
     // create Level 2
     for (int i = 0; i < modelLink.LEVEL1_LINK_2_NUM; i++)
     {
         ModelNode node_temp2 = new ModelNode();                     // level 2 nodes
         level2_nodes.Add(node_temp2);
         modelName.SetNodeName(node_temp2, modelLink.LEVEL1_LINK_2_UNITS[i]);
         modelWeight.SetNodeGainORDamage(node_temp2);
         for (int j = 0; j < modelLink.LEVEL2_LINK_3_NUM[i]; j++)
         {
             ModelNode node_temp3 = new ModelNode();                 // level 3 nodes
             level3_nodes.Add(node_temp3);
             modelName.SetNodeName(node_temp3, modelLink.LEVEL2_LINK_3_UNITS[i][j]);
             modelWeight.SetNodeGainORDamage(node_temp3);
             for (int k = 0; k < modelLink.LEVEL3_LINK_4_NUM[i][j]; k++)
             {
                 ModelNode node_temp4 = new ModelNode();             // level 4 nodes
                 level4_nodes.Add(node_temp4);
                 modelName.SetNodeName(node_temp4, modelLink.LEVEL3_LINK_4_UNITS[i][j][k]);
                 modelWeight.SetNodeGainORDamage(node_temp4);
                 node_temp4.prelevel = node_temp3;
                 node_temp3.nextlevel.Add(node_temp4);
             }
             node_temp3.prelevel = node_temp2;
             node_temp2.nextlevel.Add(node_temp3);
         }
         node_temp2.prelevel = root_node;
         root_node.nextlevel.Add(node_temp2);
     }
 }
Esempio n. 2
0
 // model weight calculation
 public void CalculateModelWeight()
 {
     modelWeight = new ModelWeight();
     // calculate the weight of Level 1
     foreach (var node in level1_nodes)
     {
         modelWeight.CalculateNodeNextLevelWeight(node);
     }
     // calculate the weight of Level 2
     foreach (var node in level2_nodes)
     {
         modelWeight.CalculateNodeNextLevelWeight(node);
     }
     // calculate the weight of Level 3
     foreach (var node in level3_nodes)
     {
         modelWeight.CalculateNodeNextLevelWeight(node);
     }
     // calculate the weight of Level 4
     foreach (var node in level4_nodes)
     {
         modelWeight.CalculateNodeNextLevelWeight(node);
     }
 }