public static function add($objects) { //Prepare arrays self::$commonMemberLoadArray = array(); self::$notFoundObjects = array(); //Get TABLES self::$hashTable = \Classes\Factory\Model\Model::getHashTable(); self::$loadTable = \Classes\Factory\Model\Model::getLoadTable(); self::$commonMemberLoadTable = new \Classes\Factory\Model\Table\LoadTable(); self::$emptyConnection = new \Classes\Factory\Connection\LoadConnection\GlobalCoordinateSystem(); // Distribute objects to arrays foreach ($objects as $object) { self::prepareObject($object); } // DELETE DOUBLE NODES $tableArray = array(self::$hashTable, self::$commonMemberLoadTable); \Classes\Utils\Node\DoubleNodes::combineAll($tableArray); // SORT NODES \Classes\Factory\Model\Model::sortNodes(); // Get NODES, MEMBERS self::$nodes = \Classes\Factory\Model\Model::getNodes(); self::$members = \Classes\Factory\Model\Model::getMembers(); // Find destination for all Common Member Loads self::distribute(); // Return all not found loads $notFoundObjects = array(); foreach (self::$notFoundObjects as $uin) { $notFoundObjects[] = self::$commonMemberLoadArray[$uin]; } return $notFoundObjects; }
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'); }
include 'Classes/PHPExcel/IOFactory.php'; set_time_limit(36000); \Classes\Factory\Model\Model::$coordinateTolerance = 0.01; \Classes\Utils\Math\Constant::$epsilon = 0.01; try { // UPLOAD STEEL MEMBERS Classes\Utils\Timer\Timer::start('STEEL_MEMBER_UPLOAD'); $uploadFactory = new \Classes\Factory\Import\Instance\InstanceUploaderFromExcel(); $steelMemberArray = $uploadFactory->upload('./Source/Excel/Small_Model/Members.xlsx', new \Classes\Instance\Member\SteelMember()); foreach ($steelMemberArray as &$object) { Classes\Factory\Model\Addition\SteelMemberAddition::add($object); } Classes\Utils\Timer\Timer::stop('STEEL_MEMBER_UPLOAD'); // DELETE DOUBLE NODES \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'); // DIVIDE MEMBERS BY NODES \Classes\Utils\Timer\Timer::start('DIVIDE_ALL_MEMBERS'); \Classes\Utils\Member\DivideMember::divideAllMembersByExistingNodes(); \Classes\Utils\Timer\Timer::stop('DIVIDE_ALL_MEMBERS'); // UPLOAD LOAD CASES Classes\Utils\Timer\Timer::start('LOAD_CASES_UPLOAD'); $loadCaseArray = $uploadFactory->upload('./Source/Excel/Small_Model/Load Cases.xlsx', new \Classes\Instance\LoadCase\LoadCase()); foreach ($loadCaseArray as $object) { Classes\Factory\Model\Addition\LoadCaseAddition::add($object); } Classes\Utils\Timer\Timer::stop('LOAD_CASES_UPLOAD'); // UPLOAD LOADS Classes\Utils\Timer\Timer::start('LOADS_UPLOAD'); $memberLoadArray = $uploadFactory->upload('./Source/Excel/Small_Model/Loads.xlsx', new \Classes\Instance\Load\Member\CommonMemberLoad());