public static function add($object)
 {
     // GET NODES
     $nodes = array_values(\Classes\Factory\Model\Model::getNodes());
     //GET RESTRAINT TABLE
     $resTable = \Classes\Factory\Model\Model::getRestraintTable();
     // RESTRAINT
     $restraint = new \Classes\Factory\Connection\SixFreedomConnection\RestraintConnection($object->getProperty('fix')->get());
     // RESTRAINT POINT
     $resPoint = new \Classes\Utils\AbstractInstance\Point($object->getProperty('x')->get(), $object->getProperty('y')->get(), $object->getProperty('z')->get());
     // TRY TO FIND NODE FOR RESTRAINT'S APPLICATION
     $isFound = FALSE;
     $i = 0;
     while ($isFound === FALSE && $i < count($nodes)) {
         $node = $nodes[$i];
         // NODE POINT
         $nodePoint = new \Classes\Utils\AbstractInstance\Point($node->getProperty('x')->get(), $node->getProperty('y')->get(), $node->getProperty('z')->get());
         if (\Classes\Utils\Math\Points::isPointSame($nodePoint, $resPoint)) {
             // ADD CONNECTION
             $resTable->setConnection($node->getUin(), $restraint);
             $isFound = TRUE;
         }
         $i++;
     }
 }
 protected function add($uin, $object)
 {
     $data = '';
     // ID
     $data .= pack('S', $object->getProperty('id')->get());
     // NAME
     $name = '';
     $data .= pack('S', $this->prepareString($object->getProperty('name')->get(), $name));
     $data .= $name;
     // DESCRIPTION
     $description = '';
     $data .= pack('S', $this->prepareString($object->getProperty('description')->get(), $description));
     $data .= $description;
     // MASS MATRIX COEFFICIENTS
     $connection = \Classes\Factory\Model\Model::getMassMatrixTable()->getConnection($uin);
     if (is_null($connection)) {
         // Write count of coefficients = 0
         $data .= pack('S', 0);
     } else {
         // Write count of coefficients
         $data .= pack('S', count($connection->get()));
         // Write coefficients
         foreach ($connection->get() as $loadCaseID => $factor) {
             $data .= pack('S', $loadCaseID);
             $data .= pack('d', $factor);
         }
     }
     return $data;
 }
 function doExecute(\Classes\Controller\Controller\Request $request)
 {
     \Classes\Utils\Timer\Timer::start('COMBINE_DOUBLE_NODES');
     \Classes\Utils\Node\DoubleNodes::combineAll(array(\Classes\Factory\Model\Model::getHashTable()));
     \Classes\Utils\Timer\Timer::stop('COMBINE_DOUBLE_NODES');
     $request->addFeedback(\Classes\Utils\Timer\Timer::show('COMBINE_DOUBLE_NODES'));
     include \Classes\Controller\Util\Utils::createViewName('combineDoubleNodes');
 }
 static function numerateFromOne()
 {
     $members = \Classes\Factory\Model\Model::getMembers();
     $id = 1;
     foreach ($members as $member) {
         $member->setProperty('id', new \Classes\Value\IntValue($id));
         $id++;
     }
 }
 static function numerateFromOne()
 {
     $nodes = \Classes\Factory\Model\Model::getNodes();
     $id = 1;
     foreach ($nodes as $node) {
         $node->setProperty('id', new \Classes\Value\IntValue($id));
         $id++;
     }
 }
 protected function add($uin, $object)
 {
     $data = '';
     // ID
     $id = \Classes\Factory\Model\Model::getNodes()[$uin]->getProperty('id')->get();
     $data .= pack('I', $id);
     // RESTRAINT
     $data .= pack('S', $object->get());
     return $data;
 }
 public static function export($path)
 {
     self::$members = \Classes\Factory\Model\Model::getMembers();
     self::$steelMemberCheckGroups = \Classes\Factory\Model\Model::getSteelMemberCheckGroups();
     // START
     self::$array = array();
     //EXPORT
     self::steelMemberCheckGroupsExport();
     file_put_contents($path, json_encode(self::$array));
 }
 public static function add($object)
 {
     // ADD LOAD CASE
     \Classes\Factory\Model\Model::addInstance($object);
     //GET MASS MATRIX TABLE
     $massTable = \Classes\Factory\Model\Model::getMassMatrixTable();
     $masses = json_decode($object->getProperty('masses')->get(), TRUE);
     if (!empty($masses)) {
         $connection = new \Classes\Factory\Connection\MassMatrixConnection\MassMatrixConnection($masses);
         $massTable->setConnection($object->getUin(), $connection);
     }
 }
 public static function add($object)
 {
     // NODE 1
     $node1 = new \Classes\Instance\Node\Node();
     $node1->setProperty('x', $object->getProperty('x1'));
     $node1->setProperty('y', $object->getProperty('y1'));
     $node1->setProperty('z', $object->getProperty('z1'));
     // NODE 2
     $node2 = new \Classes\Instance\Node\Node();
     $node2->setProperty('x', $object->getProperty('x2'));
     $node2->setProperty('y', $object->getProperty('y2'));
     $node2->setProperty('z', $object->getProperty('z2'));
     // MEMBER
     $member = new \Classes\Instance\Member\Member();
     $member->setProperty('betaAngle', $object->getProperty('betaAngle'));
     $member->setProperty('isDivided', $object->getProperty('isDivided'));
     $member->setProperty('name', $object->getProperty('name'));
     // SECTION
     $sectionString = NULL;
     if (\Classes\Utils\Section\Steel\SectionType::steelProfile($sectionString, $object->getProperty('sectionType')->get(), $object->getProperty('sectionName')->get())) {
         $section = new \Classes\Value\StringValue($sectionString);
         //            var_dump($sectionString);
         $member->setProperty('section', $section);
     }
     // ADD TO MODEL
     \Classes\Factory\Model\Model::addInstance($node1);
     \Classes\Factory\Model\Model::addInstance($node2);
     \Classes\Factory\Model\Model::addInstance($member);
     // PINS
     $pin1 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection($object->getProperty('pin1')->get());
     $pin2 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection($object->getProperty('pin2')->get());
     // ADD TO HASH TABLE
     $hashTable = \Classes\Factory\Model\Model::getHashTable();
     $hashTable->setConnection($node1->getUin(), $member->getUin(), $pin1);
     $hashTable->setConnection($node2->getUin(), $member->getUin(), $pin2);
     // MAKE CHECK GROUP FOR STEEL MEMBER
     $group = new \Classes\Instance\Group\SteelMember\SteelMemberCheckGroup();
     $group->setProperty('steel', $object->getProperty('steel'));
     $group->setProperty('Ry', $object->getProperty('Ry'));
     $group->setProperty('muXZ', $object->getProperty('muXZ'));
     $group->setProperty('muXY', $object->getProperty('muXY'));
     $group->setProperty('gammaC', $object->getProperty('gammaC'));
     $group->setProperty('FC', $object->getProperty('FC'));
     $group->setProperty('name', $object->getProperty('name'));
     // CREATE LISTBOX
     $memberList = new \Classes\Listbox\Listbox(\Classes\Factory\Model\Model::getMemberActionCollection());
     $memberList->add($member->getUin());
     // ADD LISTBOX TO GROUP
     $group->setProperty('listbox', $memberList);
     // ADD GROUP TO MODEL
     \Classes\Factory\Model\Model::addInstance($group);
 }
 protected function add($uin, $object)
 {
     // Load information array
     $loadInfoArray = array();
     // Get information about Instance where Load is connected
     $connectionArray = \Classes\Factory\Model\Model::getLoadTable()->getConnection($uin);
     // COORDINATE SYSTEM
     $coordinateSystem = reset($connectionArray)->get();
     // TARGET UIN
     $instanceTargetUin = key($connectionArray);
     // NODE LOAD
     if ($object instanceof \Classes\Instance\Load\Node\NodeLoad) {
         $id = \Classes\Factory\Model\Model::getNodes()[$instanceTargetUin]->getProperty('id')->get();
         $loadType = 0;
         $loadInfoArray[] = $object->getProperty('value')->get();
     }
     // CONCENTRATED MEMBER LOAD
     if ($object instanceof \Classes\Instance\Load\Member\ConcenratedMemberLoad) {
         $id = \Classes\Factory\Model\Model::getMembers()[$instanceTargetUin]->getProperty('id')->get();
         $loadType = 1;
         $loadInfoArray[] = $object->getProperty('value')->get();
         $loadInfoArray[] = $object->getProperty('position')->get();
     }
     // DISTRIBUTED MEMBER LOAD
     if ($object instanceof \Classes\Instance\Load\Member\DistributedMemberLoad) {
         $id = \Classes\Factory\Model\Model::getMembers()[$instanceTargetUin]->getProperty('id')->get();
         $loadType = 2;
         $loadInfoArray[] = $object->getProperty('value1')->get();
         $loadInfoArray[] = $object->getProperty('position1')->get();
         $loadInfoArray[] = $object->getProperty('value2')->get();
         $loadInfoArray[] = $object->getProperty('position2')->get();
     }
     $data = '';
     // LOAD CASE
     $data .= pack('S', $object->getProperty('loadCase')->get());
     // ID
     $data .= pack('I', $id);
     // LOAD TYPE
     $data .= pack('S', $loadType);
     // COORDINATE SYSTEM
     $data .= pack('S', $coordinateSystem);
     // DIRECTION
     $data .= pack('S', $object->getProperty('direction')->get());
     // LOAD INFORMATION
     $data .= pack('S', count($loadInfoArray));
     foreach ($loadInfoArray as $value) {
         $data .= pack('d', $value);
     }
     return $data;
 }
 /**
  * @covers Classes\Utils\Member\DivideMember::divideMemberByNode
  * @todo   Implement testDivideMemberByNode().
  */
 public function testDivideMemberByNode()
 {
     $result = DivideMember::divideMemberByNode($this->member1Uin, $this->node3Uin);
     $this->assertNotSame($result, FALSE);
     if ($result != FALSE) {
         $this->member2Uin = $result;
     }
     // Get Hash Table
     $hashTable = \Classes\Factory\Model\Model::getHashTable();
     // PINS
     $pin0 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection('000000');
     $pin1 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection('000011');
     $pin2 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection('000111');
     $this->assertNotSame($hashTable->getConnection($this->member1Uin, $this->node1Uin), $pin1);
     $this->assertNotSame($hashTable->getConnection($this->member1Uin, $this->node3Uin), $pin0);
     $this->assertNotSame($hashTable->getConnection($this->member2Uin, $this->node3Uin), $pin0);
     $this->assertNotSame($hashTable->getConnection($this->member2Uin, $this->node2Uin), $pin2);
     \Classes\Factory\Model\Model::servicePrint();
 }
 public function servicePrint()
 {
     // Get members
     $members = \Classes\Factory\Model\Model::getMembers();
     $uin = $this->getUin();
     $name = $this->getProperty('name')->get();
     $steel = $this->getProperty('steel')->get();
     $Ry = $this->getProperty('Ry')->get();
     $gammaC = $this->getProperty('gammaC')->get();
     $muXZ = $this->getProperty('muXZ')->get();
     $muXY = $this->getProperty('muXY')->get();
     $FC = $this->getProperty('FC')->get();
     $list = $this->getProperty('listbox')->get();
     echo $uin . " => *{$name}* {$steel}({$Ry}) |{$gammaC}| {$muXZ}, {$muXY} - {$FC}<br/>";
     foreach ($list as $memberUin) {
         $memberId = $members[$memberUin]->getProperty('id')->get();
         echo " * {$memberUin} - {$memberId} <br/>";
     }
 }
 public static function export($path)
 {
     //        self::$restraints = \Classes\Factory\Model\Model::getRestraintTable()->getTable();
     //        self::$loadCases = \Classes\Factory\Model\Model::getLoadCases();
     //        self::$loads = \Classes\Factory\Model\Model::getLoads();
     //        self::$massMatrixTable = \Classes\Factory\Model\Model::getMassMatrixTable();
     //        self::$loadTable = \Classes\Factory\Model\Model::getLoadTable();
     //
     // GET FILE WRITER
     $fileWriter = BinaryData\File\FileWriterFactory::make();
     // EXPORT
     $fileWriter->export(\Classes\Factory\Model\Model::getNodes());
     $fileWriter->export(\Classes\Factory\Model\Model::getMembers());
     $fileWriter->export(\Classes\Factory\Model\Model::getRestraintTable()->getTable());
     $fileWriter->export(\Classes\Factory\Model\Model::getLoadCases());
     $fileWriter->export(\Classes\Factory\Model\Model::getLoads());
     // WRITE
     file_put_contents($path, $fileWriter->getBody());
 }
 protected function add($uin, $object)
 {
     $data = '';
     // ID
     $data .= pack('I', $object->getProperty('id')->get());
     // NODES
     $objectConnections = \Classes\Factory\Model\Model::getHashTable()->getConnection($uin);
     $nodeUins = array_keys($objectConnections);
     $idNode1 = \Classes\Factory\Model\Model::getNodes()[$nodeUins[0]]->getProperty('id')->get();
     $idNode2 = \Classes\Factory\Model\Model::getNodes()[$nodeUins[1]]->getProperty('id')->get();
     $data .= pack('I', $idNode1);
     $data .= pack('I', $idNode2);
     // PINS
     $pins = array_values($objectConnections);
     $pin1 = 0;
     $pin2 = 0;
     if ($pins[0] instanceof \Classes\Factory\Connection\SixFreedomConnection\PinConnection) {
         $pin1 = $pins[0]->get();
     }
     if ($pins[1] instanceof \Classes\Factory\Connection\SixFreedomConnection\PinConnection) {
         $pin2 = $pins[1]->get();
     }
     $data .= pack('S', $pin1);
     $data .= pack('S', $pin2);
     // BETA ANGLE
     $data .= pack('d', $object->getProperty('betaAngle')->get());
     // SECTION
     $section = '';
     $data .= pack('S', $this->prepareString($object->getProperty('section')->get(), $section));
     $data .= $section;
     // NAME
     $name = '';
     $data .= pack('S', $this->prepareString($object->getProperty('name')->get(), $name));
     $data .= $name;
     return $data;
 }
 public static function add($object)
 {
     // NODE 1
     $node1 = new \Classes\Instance\Node\Node();
     $node1->setProperty('x', $object->getProperty('x1'));
     $node1->setProperty('y', $object->getProperty('y1'));
     $node1->setProperty('z', $object->getProperty('z1'));
     // NODE 2
     $node2 = new \Classes\Instance\Node\Node();
     $node2->setProperty('x', $object->getProperty('x2'));
     $node2->setProperty('y', $object->getProperty('y2'));
     $node2->setProperty('z', $object->getProperty('z2'));
     // MEMBER
     $member = new \Classes\Instance\Member\Member();
     $member->setProperty('betaAngle', $object->getProperty('betaAngle'));
     $member->setProperty('isDivided', $object->getProperty('isDivided'));
     $member->setProperty('name', $object->getProperty('name'));
     // SECTION
     $sectionString = NULL;
     if (\Classes\Utils\Section\Parameter\SectionType::parameterSectionName($sectionString, $object->getProperty('E')->get(), $object->getProperty('nu')->get(), $object->getProperty('density')->get(), $object->getProperty('tmp')->get(), $object->getProperty('sectionType')->get(), $object->getProperty('sectionProperty')->get())) {
         $section = new \Classes\Value\StringValue($sectionString);
         //            var_dump($sectionString);
         $member->setProperty('section', $section);
     }
     // ADD TO MODEL
     \Classes\Factory\Model\Model::addInstance($node1);
     \Classes\Factory\Model\Model::addInstance($node2);
     \Classes\Factory\Model\Model::addInstance($member);
     // PINS
     $pin1 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection($object->getProperty('pin1')->get());
     $pin2 = new \Classes\Factory\Connection\SixFreedomConnection\PinConnection($object->getProperty('pin2')->get());
     // ADD TO HASH TABLE
     $hashTable = \Classes\Factory\Model\Model::getHashTable();
     $hashTable->setConnection($node1->getUin(), $member->getUin(), $pin1);
     $hashTable->setConnection($node2->getUin(), $member->getUin(), $pin2);
 }
 private function memberExport()
 {
     self::$txt[] = "// +++ MEMBERS +++";
     foreach (self::$members as $object) {
         // this->members.push_back(Member(1, "1st element", 1, 2, 32, 63, 90, "STZ RUSSIAN p_wide_h 18 TMP 1.2e-005"));
         $id = $object->getProperty('id')->get();
         $name = '"' . $object->getProperty('name')->get() . '"';
         $betaAngle = $object->getProperty('betaAngle')->get();
         $section = '"' . $object->getProperty('section')->get() . '"';
         //Get NODES ID
         $objectConnections = \Classes\Factory\Model\Model::getHashTable()->getConnection($object->getUin());
         $nodeUins = array_keys($objectConnections);
         $node1 = self::$nodes[$nodeUins[0]]->getProperty('id')->get();
         $node2 = self::$nodes[$nodeUins[1]]->getProperty('id')->get();
         // Get PINS
         $pins = array_values($objectConnections);
         $pin1 = $pin2 = 0;
         if ($pins[0] instanceof \Classes\Factory\Connection\SixFreedomConnection\PinConnection) {
             $pin1 = $pins[0]->get();
         }
         if ($pins[1] instanceof \Classes\Factory\Connection\SixFreedomConnection\PinConnection) {
             $pin2 = $pins[1]->get();
         }
         self::$txt[] = "this->members.push_back(Member({$id}, {$name}, {$node1}, {$node2}, {$pin1}, {$pin2}, {$betaAngle}, {$section}));";
     }
 }
 public static function divideAllMembersByExistingNodes()
 {
     // SORT NODES
     \Classes\Utils\Timer\Timer::start('SORT_NODES');
     \Classes\Factory\Model\Model::sortNodes();
     \Classes\Utils\Timer\Timer::start('SORT_NODES');
     // Get nodes and members
     $nodes = \Classes\Factory\Model\Model::getNodes();
     $hashTable = \Classes\Factory\Model\Model::getHashTable();
     // Array [uin] => [0 - 1st point, 1 - 2nd point]
     $actualMemberUins = array();
     foreach ($nodes as $node) {
         // Get $node coordinates
         $point = \Classes\Utils\AbstractInstance\Point::createFromNode($node);
         $nodeUin = $node->getUin();
         $connections = $hashTable->getConnection($nodeUin);
         //            echo "NODE (" . $node->getProperty('x')->get() . ", " .
         //                            $node->getProperty('y')->get() . ", " .
         //                            $node->getProperty('z')->get() . ")   ";
         //
         //            echo "ACTUAL MEMBERS COUNT = " . count($actualMemberUins) . "<br/>";
         //            echo "CONNECTIONS: " . implode('; ', array_keys($connections)) . "<br/>";
         //Change $actualMemberUins array
         if (count($connections) > 0) {
             foreach ($connections as $uin => $c) {
                 // Here $uin is uin of member connected with node
                 if (isset($actualMemberUins[$uin])) {
                     // If member is already included in $actualMemberUins -> delete it
                     unset($actualMemberUins[$uin]);
                 } else {
                     // If member is NOT included in $actualMemberUins -> add it
                     $keys = array_keys($hashTable->getConnection($uin));
                     $endNumber = array_search($nodeUin, $keys);
                     $actualMemberUins[$uin] = $endNumber;
                 }
             }
         }
         // Divide $actualMemberUins by $node
         foreach ($actualMemberUins as $memberUin => $endNumber) {
             //                var_dump($actualMemberUins);
             // Get coordinates of members' ends
             $memberEndUins = array_keys($hashTable->getConnection($memberUin));
             $node1 = $nodes[$memberEndUins[0]];
             $node2 = $nodes[$memberEndUins[1]];
             $line = \Classes\Utils\AbstractInstance\Line::createFromTwoNodes($node1, $node2);
             // If point is inside line
             if (\Classes\Utils\Math\Points::isPointOnLine($point, $line) == 3) {
                 // Divide member by node
                 $newMemberUin = self::divideMemberByNode($memberUin, $nodeUin);
                 // If intersection found AND member's begin before sweep line
                 if ($newMemberUin != FALSE && $endNumber == 0) {
                     // Delete old member from actual array
                     unset($actualMemberUins[$memberUin]);
                     // Add new member to actual array (member's begin also before sweep line)
                     $actualMemberUins[$newMemberUin] = 0;
                 }
                 // If intersection found AND member's begin after sweep line
                 // it's necessary to do nothing, because divided member is
                 // still located after sweep line
             }
         }
     }
 }
<?php

spl_autoload_extensions(".php");
spl_autoload_register();
$arrayA = array(1, 2, 3, 4, 5, 6, 7);
$arrayB = array(4, 5, 6, 7, 8, 9, 10);
$a = new \Classes\Listbox\Listbox(\Classes\Factory\Model\Model::getMemberActionCollection());
$b = new \Classes\Listbox\Listbox(\Classes\Factory\Model\Model::getMemberActionCollection());
foreach ($arrayA as $e) {
    $a->add($e);
}
foreach ($arrayB as $e) {
    $b->add($e);
}
$actionCollection = \Classes\Factory\Model\Model::getMemberActionCollection();
//CREATE ACTION
$actionCollection->addAction(new \Classes\Listbox\Action\DeleteListboxAction(3));
//PRINT
echo "A: (" . implode(",", $a->get()) . ")<br/>";
echo "B: (" . implode(",", $b->get()) . ")<br/>";
echo "<br/>";
//PRINT
$actionCollection->servicePrint();
echo "<br/>";
//CREATE ACTION
$actionCollection->addAction(new \Classes\Listbox\Action\ReplaceListboxAction(4, array(1, 9, 13, 15)));
//PRINT
echo "A: (" . implode(",", $a->get()) . ")<br/>";
echo "B: (" . implode(",", $b->get()) . ")<br/>";
echo "<br/>";
//CREATE ACTION
 public static function add($object, &$notFoundObjects)
 {
     // get OBJECT
     self::$object = $object;
     // Get NODES, MEMBERS
     self::$nodes = \Classes\Factory\Model\Model::getNodes();
     self::$members = \Classes\Factory\Model\Model::getMembers();
     //Get TABLES
     self::$hashTable = \Classes\Factory\Model\Model::getHashTable();
     self::$loadTable = \Classes\Factory\Model\Model::getLoadTable();
     // Set FOUND to FALSE
     self::$isFound = FALSE;
     self::$loads = array();
     self::$notFoundObject = array();
     //Get Properties
     self::$loadCase = $object->getProperty('loadCase');
     self::$name = $object->getProperty('name');
     $isDirectionCorrect = \Classes\Utils\Load\LoadDirection::get(self::$direction, $object->getProperty('direction')->get());
     if (!$isDirectionCorrect) {
         throw new \Classes\Exception\Factory\Model\Addition\MemberLoadAddition\IncorrectDirectionException('Incorrect Load Direction');
     }
     // Make direction Property
     self::$direction = new \Classes\Value\IntValue(self::$direction);
     self::$x1 = $object->getProperty('x1');
     self::$y1 = $object->getProperty('y1');
     self::$z1 = $object->getProperty('z1');
     self::$value1 = $object->getProperty('value1');
     // Check type of load
     $type = $object->getProperty('type')->get();
     // Load type isn't correct
     if ($type != "C" && $type != "D") {
         throw new \Classes\Exception\Factory\Model\Addition\MemberLoadAddition\IncorrectTypeException('Incorrect Load Type');
     }
     if ($type == "C") {
         // If $object will not be found
         // $object itself will be returned
         self::$notFoundObject = array(self::$object);
         // TRY TO APPLY TO NODE
         self::addNodeConcentratedLoad();
         // TRY TO APPLY TO MEMBER
         if (!self::$isFound) {
             self::addMemberConcentratedLoad();
         }
     }
     if ($type == "D") {
         self::addmemberDistributedLoad();
     }
     foreach (self::$loads as $load) {
         // Set Properties
         $load->setProperty('loadCase', self::$loadCase);
         $load->setProperty('name', self::$name);
         $load->setProperty('direction', self::$direction);
         // Add to model
         \Classes\Factory\Model\Model::addInstance($load);
     }
     // If $object is NOT applied
     if (!self::$isFound) {
         // Return not found objects
         $notFoundObjects = self::$notFoundObject;
         return FALSE;
     }
     return TRUE;
 }
 private static function combineTwoNodes($uinKeep, $uinAttach)
 {
     //        echo "COMBINE TWO NODES KEEP = $uinKeep, ATTACH = $uinAttach<br/>";
     //DELETE NODE
     \Classes\Factory\Model\Model::deleteInstance($uinAttach);
     //CHANGE HASH TABLE
     foreach (self::$hashTables as $table) {
         $table->replaceUin($uinAttach, $uinKeep);
     }
     //        \Classes\Factory\Model\Model::servicePrint();
 }
 private static function setLoadProperties($load)
 {
     // Set Properties
     $load->setProperty('loadCase', self::$loadCase);
     $load->setProperty('name', self::$name);
     $load->setProperty('direction', self::$direction);
     // Add to model
     \Classes\Factory\Model\Model::addInstance($load);
 }