From f08ed2d5896e2a36b31706705d003aab47cf2486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20H=C3=BCbner?= Date: Sun, 28 May 2017 19:30:52 +0200 Subject: [PATCH] Add Model loader functional tests + fix loader --- app/config/config_dev.yml | 1 - app/config/config_test.yml | 11 +- app/config/service/loader.yml | 2 +- src/AppBundle/Entity/Color.php | 8 + src/AppBundle/Entity/LDraw/Model.php | 2 +- src/AppBundle/Service/Loader/BaseLoader.php | 5 +- src/AppBundle/Service/Loader/ModelLoader.php | 125 ++++--- .../Loader/ModelLoader/ModelLoaderTest.php | 174 ++++++++++ .../fixtures/filecontext/parts/30367a.dat | 27 ++ .../fixtures/filecontext}/parts/983.dat | 0 .../fixtures/filecontext/parts/999.dat | 12 + .../fixtures/included/parts/1000d01.dat | 6 + .../fixtures/included/parts/povray.dat | 13 + .../fixtures/librarycontext/parts/30367b.dat | 19 ++ .../fixtures/librarycontext}/parts/3820.dat | 0 .../librarycontext/parts/licensed.dat | 10 + .../fixtures/license/parts/licensed.dat | 10 + .../fixtures/license/parts/unlicensed.dat | 10 + .../fixtures/printed/parts/30367b.dat | 19 ++ .../fixtures/printed/parts/30367bps7.dat | 24 ++ .../fixtures/update/version1/parts/3820.dat | 318 +++++++++++++++++ .../fixtures/update/version1/parts/500.dat | 12 + .../fixtures/update/version1/parts/983.dat | 12 + .../fixtures/update/version2/parts/3820.dat | 12 + .../fixtures/update/version2/parts/3821.dat | 318 +++++++++++++++++ .../fixtures/update/version2/parts/500.dat | 12 + .../fixtures/update/version2/parts/983.dat | 12 + .../fixtures/update2/version1/parts/3820.dat | 318 +++++++++++++++++ .../fixtures/update2/version2/parts/3820.dat | 319 ++++++++++++++++++ 29 files changed, 1751 insertions(+), 60 deletions(-) create mode 100644 tests/Service/Loader/ModelLoader/ModelLoaderTest.php create mode 100644 tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/30367a.dat rename tests/Service/{Stl/StlConvertor/fixtures/ldraw => Loader/ModelLoader/fixtures/filecontext}/parts/983.dat (100%) create mode 100644 tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/999.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/included/parts/1000d01.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/included/parts/povray.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/30367b.dat rename tests/Service/{Stl/StlConvertor/fixtures/ldraw => Loader/ModelLoader/fixtures/librarycontext}/parts/3820.dat (100%) create mode 100644 tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/licensed.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/license/parts/licensed.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/license/parts/unlicensed.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367b.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367bps7.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/3820.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/500.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/983.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3820.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3821.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/500.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/983.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update2/version1/parts/3820.dat create mode 100644 tests/Service/Loader/ModelLoader/fixtures/update2/version2/parts/3820.dat diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml index f81bde2..0bbd60c 100644 --- a/app/config/config_dev.yml +++ b/app/config/config_dev.yml @@ -12,7 +12,6 @@ web_profiler: intercept_redirects: false monolog: - channels: ['loader'] handlers: main: type: stream diff --git a/app/config/config_test.yml b/app/config/config_test.yml index c0afdc7..f0b5325 100644 --- a/app/config/config_test.yml +++ b/app/config/config_test.yml @@ -23,13 +23,14 @@ doctrine: driver: pdo_sqlite path: "%kernel.cache_dir%/test.db" +liip_functional_test: + cache_sqlite_db: true + oneup_flysystem: adapters: - myadapter: + media: local: directory: "%kernel.cache_dir%/filesystem" - filesystems: - myfilesystem: - adapter: myadapter - mount: prefix \ No newline at end of file + media: + adapter: media \ No newline at end of file diff --git a/app/config/service/loader.yml b/app/config/service/loader.yml index 8d04f63..acc1b59 100644 --- a/app/config/service/loader.yml +++ b/app/config/service/loader.yml @@ -12,7 +12,7 @@ services: service.loader.model: class: AppBundle\Service\Loader\ModelLoader - arguments: ['@service.stl.converter', '@app.relation.mapper', '%app.ld_library_download_url%'] + arguments: ['@service.stl.converter', '@app.relation.mapper'] parent: service.loader.base service.loader.relation: diff --git a/src/AppBundle/Entity/Color.php b/src/AppBundle/Entity/Color.php index d3fc356..e1db0ad 100644 --- a/src/AppBundle/Entity/Color.php +++ b/src/AppBundle/Entity/Color.php @@ -74,6 +74,14 @@ class Color return $this->id; } + /** + * @param int $id + */ + public function setId($id) + { + $this->id = $id; + } + /** * Set rgb. * diff --git a/src/AppBundle/Entity/LDraw/Model.php b/src/AppBundle/Entity/LDraw/Model.php index e770b2b..0bd323c 100644 --- a/src/AppBundle/Entity/LDraw/Model.php +++ b/src/AppBundle/Entity/LDraw/Model.php @@ -34,7 +34,7 @@ class Model /** * @var ArrayCollection * - * @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Alias", mappedBy="model", cascade={"persist"}) + * @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Alias", mappedBy="model", cascade={"persist","remove"}) */ private $aliases; diff --git a/src/AppBundle/Service/Loader/BaseLoader.php b/src/AppBundle/Service/Loader/BaseLoader.php index 4227c09..f915516 100644 --- a/src/AppBundle/Service/Loader/BaseLoader.php +++ b/src/AppBundle/Service/Loader/BaseLoader.php @@ -10,6 +10,7 @@ use Monolog\Logger; use Symfony\Bundle\FrameworkBundle\Translation\Translator; use Symfony\Component\Asset\Exception\LogicException; use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Output\NullOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Debug\Exception\ContextErrorException; @@ -44,7 +45,8 @@ abstract class BaseLoader * Loader constructor. * * @param EntityManager $em - * @param Translator $translator + * @param Logger $logger + * @param Translator $formatTransformer */ public function setArguments(EntityManager $em, $logger, $formatTransformer) { @@ -118,7 +120,6 @@ abstract class BaseLoader if (false === file_put_contents($temp, fopen($url, 'r', 0, $ctx))) { throw new WriteErrorException($temp); } - $this->progressBar->finish(); } catch (ContextErrorException $e) { throw new FileNotFoundException($url); } catch (\Exception $e) { diff --git a/src/AppBundle/Service/Loader/ModelLoader.php b/src/AppBundle/Service/Loader/ModelLoader.php index 40f163c..c4466ba 100644 --- a/src/AppBundle/Service/Loader/ModelLoader.php +++ b/src/AppBundle/Service/Loader/ModelLoader.php @@ -10,7 +10,9 @@ use AppBundle\Entity\LDraw\Model; use AppBundle\Entity\LDraw\Subpart; use AppBundle\Exception\ConvertingFailedException; use AppBundle\Exception\FileException; +use AppBundle\Exception\MissingContextException; use AppBundle\Exception\ParseErrorException; +use AppBundle\Repository\LDraw\ModelRepository; use AppBundle\Service\Stl\StlConverterService; use AppBundle\Util\LDModelParser; use AppBundle\Util\RelationMapper; @@ -27,6 +29,11 @@ class ModelLoader extends BaseLoader */ private $ldrawLibraryContext; + /** + * @var Filesystem + */ + private $fileContext; + /** * @var StlConverterService */ @@ -38,13 +45,11 @@ class ModelLoader extends BaseLoader /** @var RelationMapper */ private $relationMapper; - /** @var Finder */ - private $finder; - /** @var string */ private $LDLibraryUrl; - private $rewite = false; + /** @var bool */ + private $rewrite = false; /** * LDrawLoaderService constructor. @@ -52,21 +57,19 @@ class ModelLoader extends BaseLoader * @param StlConverterService $stlConverter * @param RelationMapper $relationMapper */ - public function __construct($stlConverter, $relationMapper, $LDLibraryUrl) + public function __construct($stlConverter, $relationMapper) { $this->stlConverter = $stlConverter; $this->relationMapper = $relationMapper; - $this->LDLibraryUrl = $LDLibraryUrl; $this->ldModelParser = new LDModelParser(); - $this->finder = new Finder(); } /** - * @param bool $rewite + * @param bool $rewrite */ - public function setRewite($rewite) + public function setRewrite($rewrite) { - $this->rewite = $rewite; + $this->rewrite = $rewrite; } /** @@ -83,7 +86,7 @@ class ModelLoader extends BaseLoader } } - public function downloadLibrary() + public function downloadLibrary($url) { $this->writeOutput([ '------------------------------------------------------------------------------', @@ -91,7 +94,7 @@ class ModelLoader extends BaseLoader '------------------------------------------------------------------------------', ]); - $libraryZip = $this->downloadFile($this->LDLibraryUrl); + $libraryZip = $this->downloadFile($url); $temp_dir = tempnam(sys_get_temp_dir(), 'printabrick.'); if (file_exists($temp_dir)) { @@ -112,12 +115,22 @@ class ModelLoader extends BaseLoader return $temp_dir; } + /** + * Load one model into database + * + * @param string $file Absolute filepath of model to load + */ public function loadOne($file) { + if(!$this->ldrawLibraryContext) { + throw new MissingContextException('LDrawLibrary'); + } + $connection = $this->em->getConnection(); try { $connection->beginTransaction(); + $this->getFileContext($file); $this->loadModel($file); $connection->commit(); @@ -127,32 +140,42 @@ class ModelLoader extends BaseLoader } } + + /** + * Load all models from ldraw library context into database + */ public function loadAll() { - $files = $this->finder->in([ - $this->ldrawLibraryContext->getAdapter()->getPathPrefix(), - ])->path('parts/')->name('*.dat')->depth(1)->files(); + if(!$this->ldrawLibraryContext) { + throw new MissingContextException('LDrawLibrary'); + } - $this->initProgressBar($files->count()); + $this->writeOutput([ + '------------------------------------------------------------------------------', + "Loading models from LDraw library: {$this->ldrawLibraryContext->getAdapter()->getPathPrefix()}", + '------------------------------------------------------------------------------', + ]); + + $files = $this->ldrawLibraryContext->listContents('parts', false); + $this->initProgressBar(count($files)); - /** @var SplFileInfo $file */ foreach ($files as $file) { - $connection = $this->em->getConnection(); - $connection->beginTransaction(); + $this->progressBar->setMessage($file['basename']); - try { - $this->progressBar->setMessage($file->getFilename()); + if($file['type'] == 'file' && $file['extension'] == 'dat') { + $connection = $this->em->getConnection(); + $connection->beginTransaction(); - $this->loadModel($file->getRealPath()); - - $connection->commit(); - } catch (\Exception $exception) { - $connection->rollBack(); - $this->logger->error($exception->getMessage()); + try { + $this->loadModel($this->ldrawLibraryContext->getAdapter()->getPathPrefix().$file['path']); + $connection->commit(); + } catch (\Exception $exception) { + $connection->rollBack(); + $this->logger->error($exception->getMessage()); + } + $connection->close(); } - $connection->close(); - $this->progressBar->advance(); } $this->progressBar->finish(); @@ -168,17 +191,16 @@ class ModelLoader extends BaseLoader */ public function loadModel($file) { - $fileContext = $this->getFileContext($file); + /** @var ModelRepository $modelRepository */ + $modelRepository = $this->em->getRepository(Model::class); // Return model from database if rewrite is not enabled - if (!$this->rewite && $model = $this->em->getRepository(Model::class)->findOneByNumber(basename($file, '.dat'))) { + if (!$this->rewrite && $model = $modelRepository->find(basename($file, '.dat'))) { return $model; } - // Parse model file save data to $modelArray try { - $content = file_get_contents($file); - $modelArray = $this->ldModelParser->parse($content); + $modelArray = $this->ldModelParser->parse(file_get_contents($file)); } catch (ParseErrorException $e) { $this->logger->error($e->getMessage(), [$file]); @@ -192,14 +214,17 @@ class ModelLoader extends BaseLoader // Check if model fulfills rules and should be loaded if ($this->isModelIncluded($modelArray)) { // Recursively load model parent (if any) and add model id as alias of parent - if (($parentId = $this->getParentId($modelArray)) && ($parentModelFile = $this->findSubmodelFile($parentId, $fileContext)) !== null) { - $parentModel = $this->loadModel($parentModelFile); + if (($parentId = $this->getParentId($modelArray)) && ($parentModelFile = $this->findSubmodelFile($parentId)) !== null) { + if ($parentModel = $this->loadModel($parentModelFile)) { + // Remove old model if ~moved to + if($this->rewrite && ($old = $modelRepository->find($modelArray['id'])) != null) { + $modelRepository->delete($old); + } - if ($parentModel) { $alias = $this->em->getRepository(Alias::class)->getOrCreate($modelArray['id'], $parentModel); $parentModel->addAlias($alias); - $this->em->getRepository(Model::class)->save($parentModel); + $modelRepository->save($parentModel); } else { $this->logger->info('Model skipped. ', ['number' => $modelArray['id'], 'parent' => $modelArray['parent']]); } @@ -208,14 +233,14 @@ class ModelLoader extends BaseLoader } // Load model - $model = $this->em->getRepository(Model::class)->getOrCreate($modelArray['id']); + $model = $modelRepository->getOrCreate($modelArray['id']); // Recursively load models of subparts if (isset($modelArray['subparts'])) { foreach ($modelArray['subparts'] as $subpartId => $colors) { foreach ($colors as $color => $count) { // Try to find model of subpart - if (($subpartFile = $this->findSubmodelFile($subpartId, $fileContext)) !== null) { + if (($subpartFile = $this->findSubmodelFile($subpartId)) !== null) { $subModel = $this->loadModel($subpartFile); if ($subModel) { $subpart = $this->em->getRepository(Subpart::class)->getOrCreate($model, $subModel, $count, $color); @@ -239,7 +264,8 @@ class ModelLoader extends BaseLoader try { // update model only if newer version if (!$model->getModified() || ($model->getModified() < $modelArray['modified'])) { - $stl = $this->stlConverter->datToStl($file, $this->rewite)->getPath(); + $stl = $this->stlConverter->datToStl($file, $this->rewrite)->getPath(); + $model->setPath($stl); $model @@ -248,7 +274,7 @@ class ModelLoader extends BaseLoader ->setAuthor($this->em->getRepository(Author::class)->getOrCreate($modelArray['author'])) ->setModified($modelArray['modified']); - $this->em->getRepository(Model::class)->save($model); + $modelRepository->save($model); } } catch (ConvertingFailedException $e) { $this->logger->error($e->getMessage()); @@ -297,18 +323,18 @@ class ModelLoader extends BaseLoader * * @return string */ - private function findSubmodelFile($id, $context) + private function findSubmodelFile($id) { - // Replace "\" directory separator used inside ldraw model files with system directoru separator + // Replace "\" directory separator used inside ldraw model files with system directory separator $filename = str_replace('\\', DIRECTORY_SEPARATOR, strtolower($id).'.dat'); // Try to find model in current file's directory - if ($context->has($filename)) { - return $context->getAdapter()->getPathPrefix().$filename; + if ($this->fileContext && $this->fileContext->has($filename)) { + return $this->fileContext->getAdapter()->getPathPrefix().$filename; } - // Try to find model in current LDRAW\PARTS sub-directory elseif ($this->ldrawLibraryContext) { - if ($this->ldrawLibraryContext->has('parts/'.$filename)) { + // Try to find model in current LDRAW\PARTS sub-directory + if ($this->ldrawLibraryContext->has('parts'.DIRECTORY_SEPARATOR.$filename)) { return $this->ldrawLibraryContext->getAdapter()->getPathPrefix().'parts'.DIRECTORY_SEPARATOR.$filename; } // Try to find model in current LDRAW\P sub-directory @@ -331,8 +357,7 @@ class ModelLoader extends BaseLoader { try { $adapter = new Local(dirname($file)); - - return new Filesystem($adapter); + $this->fileContext = new Filesystem($adapter); } catch (Exception $exception) { $this->logger->error($exception->getMessage()); diff --git a/tests/Service/Loader/ModelLoader/ModelLoaderTest.php b/tests/Service/Loader/ModelLoader/ModelLoaderTest.php new file mode 100644 index 0000000..0c4af1e --- /dev/null +++ b/tests/Service/Loader/ModelLoader/ModelLoaderTest.php @@ -0,0 +1,174 @@ +modelRepository = $this->get('repository.ldraw.model'); + + $file = $this->createMock(File::class); + $file->method('getPath')->willReturn('path'); + + $stlConverter = $this->createMock(StlConverterService::class); + $stlConverter->method('datToStl') + ->willReturn($file); + + $relationMapper = $this->createMock(RelationMapper::class); + $relationMapper->method('find') + ->will($this->returnArgument(0)); + + $this->modelLoader = new ModelLoader($stlConverter,$relationMapper,null); + $this->modelLoader->setArguments($this->get('doctrine.orm.entity_manager'),$this->get('monolog.logger.event'),$this->get('app.transformer.format')); + $this->modelLoader->setOutput(new NullOutput()); + $this->setUpDb(); + } + + public function testLoadOne() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/librarycontext/'); + $this->modelLoader->loadOne(__DIR__ . '/fixtures/librarycontext/parts/3820.dat'); + + /** @var Model[] $models */ + $models = $this->get('repository.ldraw.model')->findAll(); + + $this->assertEquals(1, count($models)); + $this->assertEquals(3820, $models[0]->getId()); + $this->assertEquals('path', $models[0]->getPath()); + } + + public function testFileContext() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/librarycontext/'); + $this->modelLoader->loadOne(__DIR__ . '/fixtures/filecontext/parts/999.dat'); + + /** @var Model[] $models */ + $models = $this->get('repository.ldraw.model')->findAll(); + + $this->assertEquals(1, count($models)); + $this->assertEquals(3820, $models[0]->getId()); + $this->assertEquals(2,count($models[0]->getAliases())); + } + + public function testLoadAlias() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/librarycontext/'); + $this->modelLoader->loadOne(__DIR__ . '/fixtures/filecontext/parts/999.dat'); + + /** @var Model[] $models */ + $models = $this->modelRepository->findAll(); + + $this->assertEquals(1, count($models)); + $this->assertEquals(3820, $models[0]->getId()); + $this->assertEquals(2,count($models[0]->getAliases())); + } + + public function testLicense() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/license/'); + $this->modelLoader->loadAll(); + + $models = $this->modelRepository->findAll(); + + $this->assertEquals(1, count($models)); + $this->assertEquals('licensed', $models[0]->getId()); + } + + public function testIsIncluded() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/included/'); + $this->modelLoader->loadAll(); + + $models = $this->modelRepository->findAll(); + $this->assertEmpty($models); + } + + public function testLoadAll() + { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/librarycontext/'); + $this->modelLoader->loadAll(); + + $models = $this->modelRepository->findAll(); + + $this->assertEquals(3, count($models)); + } + + public function testUpdate() + { + // Load original model + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/update/version1/'); + $this->modelLoader->loadAll(); + + $this->assertEquals(1, count($this->modelRepository->findAll())); + $model = $this->modelRepository->findOneByNumber('983'); + $this->assertInstanceOf(Model::class, $model); + $this->assertEquals('3820',$model->getId()); + $this->assertEquals(2, count($model->getAliases())); + + // Load new version + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/update/version2/'); + $this->modelLoader->setRewrite(true); + $this->modelLoader->loadAll(); + + $model = $this->modelRepository->find('3821'); + + $this->assertEquals(1, count($this->modelRepository->findAll())); + $this->assertInstanceOf(Model::class, $model); + $this->assertEquals(3, count($model->getAliases())); + $this->assertEquals('3821', $this->get('repository.ldraw.alias')->find('983')->getModel()->getId()); + $this->assertEquals('3821', $this->get('repository.ldraw.alias')->find('3820')->getModel()->getId()); + $this->assertEquals('3821', $this->get('repository.ldraw.alias')->find('500')->getModel()->getId()); + } + + public function testUpdate2() + { + // Load original model + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/update2/version1/'); + $this->modelLoader->loadAll(); + + // Load new version + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/update2/version2/'); + $this->modelLoader->setRewrite(false); + $this->modelLoader->loadAll(); + + /** @var Model $model */ + $model = $this->modelRepository->find('3820'); + $this->assertEquals(1, count($this->modelRepository->findAll())); + $this->assertEquals(2009,$model->getModified()->format('Y')); + + $this->modelLoader->setRewrite(true); + $this->modelLoader->loadAll(); + $this->assertEquals(2010,$model->getModified()->format('Y')); + } + + public function testLoadOfPrinted() { + $this->modelLoader->setLDrawLibraryContext(__DIR__ . '/fixtures/printed/'); + $this->modelLoader->loadOne(__DIR__ . '/fixtures/printed/parts/30367bps7.dat'); + + $models = $this->modelRepository->findAll(); + + $this->assertEquals(1, count($models)); + $this->assertEquals('30367b', $models[0]->getId()); + } +} \ No newline at end of file diff --git a/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/30367a.dat b/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/30367a.dat new file mode 100644 index 0000000..e891fbe --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/30367a.dat @@ -0,0 +1,27 @@ +0 Cylinder 2 x 2 with Dome Top with Blocked Stud +0 Name: 30367a.dat +0 Author: Steve Bliss [sbliss] +0 !LDRAW_ORG Part UPDATE 2012-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS Star Wars, R2-D2, astromech, droid, robot, minifig, head + +0 !HISTORY 2000-09-30 [PTadmin] Official Update 2000-02 +0 !HISTORY 2007-07-09 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2008-07-07 [PTadmin] Renamed from 553 (2004-11-05) +0 !HISTORY 2009-10-10 [anathema] Rebuilt using torus primitives +0 !HISTORY 2010-12-31 [PTadmin] Official Update 2010-03 +0 !HISTORY 2012-05-15 [MagFors] Moved part of subfile, to use it in 30367b and 30367c +0 !HISTORY 2012-05-15 [MagFors] Renamed from 30367 +0 !HISTORY 2012-12-28 [PTadmin] Official Update 2012-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367as01.dat +0 // outside surface +1 16 0 16 0 8 0 0 0 -10.667 0 0 0 -8 r04o1500.dat +1 16 0 16 0 0 0 -8 0 -10.667 0 -8 0 0 r04o1500.dat +1 16 0 16 0 -8 0 0 0 -10.667 0 0 0 8 r04o1500.dat +1 16 0 16 0 0 0 8 0 -10.667 0 8 0 0 r04o1500.dat +1 16 0 16 0 20 0 0 0 4 0 0 0 20 4-4cyli.dat diff --git a/tests/Service/Stl/StlConvertor/fixtures/ldraw/parts/983.dat b/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/983.dat similarity index 100% rename from tests/Service/Stl/StlConvertor/fixtures/ldraw/parts/983.dat rename to tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/983.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/999.dat b/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/999.dat new file mode 100644 index 0000000..0816d70 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/filecontext/parts/999.dat @@ -0,0 +1,12 @@ +0 ~Moved to 983 +0 Name: 999.dat +0 Author: author +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 983.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/included/parts/1000d01.dat b/tests/Service/Loader/ModelLoader/fixtures/included/parts/1000d01.dat new file mode 100644 index 0000000..096e312 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/included/parts/1000d01.dat @@ -0,0 +1,6 @@ +0 Test Model +0 Name: 1000d01.dat +0 Author: author +0 !LDRAW_ORG Shortcut UPDATE 2014-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + diff --git a/tests/Service/Loader/ModelLoader/fixtures/included/parts/povray.dat b/tests/Service/Loader/ModelLoader/fixtures/included/parts/povray.dat new file mode 100644 index 0000000..f50c8b8 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/included/parts/povray.dat @@ -0,0 +1,13 @@ +0 Pov-RAY test +0 Name: povray.dat +0 Author: author +0 !LDRAW_ORG Part ORIGINAL +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + + 2 24 0 4 0 0 1 0 + 2 24 4 0 0 1 0 0 + 2 24 0 0 4 0 0 1 + 2 24 0 -4 0 0 -1 0 + 2 24 -4 0 0 -1 0 0 + 2 24 0 0 -4 0 0 -1 +0 diff --git a/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/30367b.dat b/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/30367b.dat new file mode 100644 index 0000000..b79a392 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/30367b.dat @@ -0,0 +1,19 @@ +0 Cylinder 2 x 2 with Dome Top with Axle Hole and Blocked Stud +0 Name: 30367b.dat +0 Author: Magnus Forsberg [MagFors] +0 !LDRAW_ORG Part UPDATE 2012-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS Star Wars, R2-D2, astromech, droid, robot, minifig, head + +0 !HISTORY 2012-12-28 [PTadmin] Official Update 2012-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367bs01.dat +0 // outside surface +1 16 0 16 0 8 0 0 0 -10.667 0 0 0 -8 r04o1500.dat +1 16 0 16 0 0 0 -8 0 -10.667 0 -8 0 0 r04o1500.dat +1 16 0 16 0 -8 0 0 0 -10.667 0 0 0 8 r04o1500.dat +1 16 0 16 0 0 0 8 0 -10.667 0 8 0 0 r04o1500.dat +1 16 0 16 0 20 0 0 0 4 0 0 0 20 4-4cyli.dat diff --git a/tests/Service/Stl/StlConvertor/fixtures/ldraw/parts/3820.dat b/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/3820.dat similarity index 100% rename from tests/Service/Stl/StlConvertor/fixtures/ldraw/parts/3820.dat rename to tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/3820.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/licensed.dat b/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/licensed.dat new file mode 100644 index 0000000..610aa81 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/librarycontext/parts/licensed.dat @@ -0,0 +1,10 @@ +0 licensed +0 Name: licensed.dat +0 Author: author +0 !LDRAW_ORG Part UPDATE 2009-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +4 16 -19 32 -10 19 32 -10 19 29 -10 -19 29 -10 +4 16 14.345 2 -10 -14.345 2 -10 -19 29 -10 19 29 -10 +4 16 12 0 -10 -12 0 -10 -14.345 2 -10 14.345 2 -10 +0 \ No newline at end of file diff --git a/tests/Service/Loader/ModelLoader/fixtures/license/parts/licensed.dat b/tests/Service/Loader/ModelLoader/fixtures/license/parts/licensed.dat new file mode 100644 index 0000000..610aa81 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/license/parts/licensed.dat @@ -0,0 +1,10 @@ +0 licensed +0 Name: licensed.dat +0 Author: author +0 !LDRAW_ORG Part UPDATE 2009-01 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +4 16 -19 32 -10 19 32 -10 19 29 -10 -19 29 -10 +4 16 14.345 2 -10 -14.345 2 -10 -19 29 -10 19 29 -10 +4 16 12 0 -10 -12 0 -10 -14.345 2 -10 14.345 2 -10 +0 \ No newline at end of file diff --git a/tests/Service/Loader/ModelLoader/fixtures/license/parts/unlicensed.dat b/tests/Service/Loader/ModelLoader/fixtures/license/parts/unlicensed.dat new file mode 100644 index 0000000..83be30b --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/license/parts/unlicensed.dat @@ -0,0 +1,10 @@ +0 Unlicensed +0 Name: unlicensed.dat +0 Author: author +0 !LDRAW_ORG Part UPDATE 2009-01 +0 !LICENSE Not redistributable : see NonCAreadme.txt + +4 16 -19 32 -10 19 32 -10 19 29 -10 -19 29 -10 +4 16 14.345 2 -10 -14.345 2 -10 -19 29 -10 19 29 -10 +4 16 12 0 -10 -12 0 -10 -14.345 2 -10 14.345 2 -10 +0 \ No newline at end of file diff --git a/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367b.dat b/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367b.dat new file mode 100644 index 0000000..b79a392 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367b.dat @@ -0,0 +1,19 @@ +0 Cylinder 2 x 2 with Dome Top with Axle Hole and Blocked Stud +0 Name: 30367b.dat +0 Author: Magnus Forsberg [MagFors] +0 !LDRAW_ORG Part UPDATE 2012-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS Star Wars, R2-D2, astromech, droid, robot, minifig, head + +0 !HISTORY 2012-12-28 [PTadmin] Official Update 2012-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367bs01.dat +0 // outside surface +1 16 0 16 0 8 0 0 0 -10.667 0 0 0 -8 r04o1500.dat +1 16 0 16 0 0 0 -8 0 -10.667 0 -8 0 0 r04o1500.dat +1 16 0 16 0 -8 0 0 0 -10.667 0 0 0 8 r04o1500.dat +1 16 0 16 0 0 0 8 0 -10.667 0 8 0 0 r04o1500.dat +1 16 0 16 0 20 0 0 0 4 0 0 0 20 4-4cyli.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367bps7.dat b/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367bps7.dat new file mode 100644 index 0000000..762e3db --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/printed/parts/30367bps7.dat @@ -0,0 +1,24 @@ +0 Cylinder 2 x 2 with Dome Top with SW BrGreen/Silver R5 Pattern +0 Name: 30367bps7.dat +0 Author: Daniel Goerner [TK-949] +0 !LDRAW_ORG Part UPDATE 2012-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !KEYWORDS Star Wars, R2-R7, astromech, droid, robot, head, minifig + +0 !HISTORY 2012-12-28 [PTadmin] Official Update 2012-03 + +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367bs01.dat +1 16 0 16 0 20 0 0 0 4 0 0 0 20 4-4cyli.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367ps2s01.dat +1 16 0 0 0 -1 0 0 0 1 0 0 0 1 s\30367ps2s01.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 -1 s\30367ps2s01.dat +1 16 0 0 0 -1 0 0 0 1 0 0 0 -1 s\30367ps2s01.dat +1 16 0 0 0 1 0 0 0 1 0 0 0 1 s\30367ps2s03.dat +1 0x2139716 0 0 0 1 0 0 0 1 0 0 0 1 s\30367ps2s02.dat +1 0x2139716 0 0 0 -1 0 0 0 1 0 0 0 1 s\30367ps2s02.dat +1 0x2139716 0 0 0 1 0 0 0 1 0 0 0 -1 s\30367ps2s02.dat +1 0x2139716 0 0 0 -1 0 0 0 1 0 0 0 -1 s\30367ps2s02.dat +1 0x2139716 0 0 0 1 0 0 0 1 0 0 0 1 s\30367ps2s04.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/3820.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/3820.dat new file mode 100644 index 0000000..29f88bb --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/3820.dat @@ -0,0 +1,318 @@ +0 Minifig Hand +0 Name: 3820.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 !HELP The Hand angle is 14.5 degrees +0 !HELP To rotate the hand to 90 degrees horizontal use the following rotation +0 !HELP matrix: 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 +0 !HELP After the rotation matrix is applied: +0 !HELP The center of the bottom of the hand will be x, y+2.2259, z-9.3739 +0 !HELP The center of the top of the hand will be x, y-9.7741, z-9.3739 +0 !HELP where x, y, and z are the origin coordinates of the part +0 !HELP Example: for the following DAT line: +0 !HELP 1 16 1 1 1 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 3820.dat +0 !HELP The origin of the part is 1,1,1 +0 !HELP The center of the bottom of the hand is 1, 3.2259, -8.3739 + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-11-30 [PTadmin] Official Update 2002-05 +0 !HISTORY 2002-12-31 [PTadmin] Official Update 2002-06 +0 !HISTORY 2007-07-29 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2008-07-07 [DeannaEarley] Removed erroneous BFC CERTIFY entries (2005-08-29 +0 !HISTORY 2008-07-07 [WilliamH] Added conditional lines to underside (2006-08-17) +0 !HISTORY 2009-08-24 [PTadmin] Moved from 983 +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Post + + +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 13 0 4-4cyli.dat +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4disc.dat +0 Hand +1 16 0 4.502 -8.518 -6 0 0 0 -11.6178 -1.5023 0 -3.0046 5.8089 2-4cyli.dat +0 BFC INVERTNEXT +1 16 0 4.502 -8.518 -4 0 0 0 -11.6178 -1.0015 0 -3.0046 3.8726 2-4cyli.dat +1 16 0 4.502 -8.518 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +0 BFC INVERTNEXT +1 16 0 -7.116 -11.522 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +1 16 0 -7.116 -11.522 -4.2426 0 -4.2426 1.0623 -0.9681 -1.0623 -4.1075 -0.2504 4.1075 3-4edge.dat +1 16 0 -7.116 -11.522 -2.8284 0 -2.8284 0.7082 -0.9681 -0.7082 -2.7383 -0.2504 2.7383 3-4edge.dat +1 16 0 4.502 -8.518 -6 0 0 0 -0.9681 -1.5023 0 -0.2504 5.8089 2-4edge.dat +1 16 0 4.502 -8.518 -4 0 0 0 -0.9681 -1.0015 0 -0.2504 3.8726 2-4edge.dat +3 16 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 +3 16 -5.543 -6.5406 -13.7453 -6 -7.1155 -11.5224 -6 4.5023 -8.5179 +4 16 5.767 4.6838 -9.6794 6 4.5023 -8.5179 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 +4 16 -5.543 -6.5406 -13.7453 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 6 4.5023 -8.5179 5.767 4.6838 -9.6794 +2 24 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 +2 24 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 +4 16 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 3.696 -6.7322 -13.0047 4 4.5023 -8.5179 +4 16 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +2 24 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 +2 24 -3.847 4.6472 -9.2773 -3.696 4.6934 -10.0498 +2 24 3.847 4.6472 -9.2773 4 4.5023 -8.5179 +2 24 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +3 16 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 +5 24 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 5.5434 -7.69097 -9.29893 +5 24 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 3.6956 -7.49931 -10.04 +5 24 -6 4.5023 -8.5179 -6 -7.1155 -11.5224 -5.543 -6.5406 -13.7453 -5.5434 -7.69097 -9.29893 +5 24 -4 -7.1155 -11.5224 -4 4.5023 -8.5179 -3.696 -6.7322 -13.0047 -3.6956 -7.49931 -10.04 +3 16 -3.696 -6.7322 -13.0047 -4 4.5023 -8.5179 -4 -7.1155 -11.5224 +4 16 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -4.243 -6.0531 -15.6303 -5.543 -6.5406 -13.7453 +4 16 4.243 -6.0531 -15.6303 4.861 4.3639 -11.9808 5.543 4.635 -10.8551 5.543 -6.5406 -13.7453 +3 16 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -4.243 -6.0531 -15.6303 +3 16 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 4.861 4.3639 -11.9808 +2 24 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 +2 24 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 +2 24 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 +2 24 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 +3 16 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 2.828 4.5244 -11.4332 2.828 -6.4074 -14.2604 +4 16 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 -3.696 -6.7322 -13.0047 -2.828 -6.4074 -14.2604 +4 16 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 3.255 4.6497 -10.7418 2.828 -6.4074 -14.2604 +2 24 2.828 4.5244 -11.4332 3.255 4.6497 -10.7418 +2 24 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +2 24 3.255 4.6497 -10.7418 3.696 4.6934 -10.0498 +2 24 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 +4 16 2 4.3383 -12.0536 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 +4 16 -2.828 -6.4074 -14.2604 -2 -6.2687 -14.7967 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 2 4.3383 -12.0536 2.828 4.5244 -11.4332 +4 16 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2.296 -5.7276 -16.8889 -2.712 -5.797 -16.6207 +4 16 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 2.712 2.7973 -14.3981 2.712 -5.797 -16.6207 +2 24 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 +2 24 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 +4 16 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2.712 -5.797 -16.6207 -3.187 -5.8766 -16.3128 +4 16 2.712 -5.797 -16.6207 2.712 2.7973 -14.3981 3.187 3.2182 -13.9608 3.187 -5.8766 -16.3128 +2 24 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 +2 24 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 +4 16 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -3.187 -5.8766 -16.3128 -3.703 -5.963 -15.9788 +4 16 3.187 -5.8766 -16.3128 3.187 3.2182 -13.9608 3.703 3.5723 -13.5128 3.703 -5.963 -15.9788 +2 24 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 +2 24 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 +4 16 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.703 -5.963 -15.9788 +4 16 3.703 3.5723 -13.5128 4.243 3.8636 -13.0657 4.243 -6.0531 -15.6303 3.703 -5.963 -15.9788 +2 24 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 +2 24 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 +4 16 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +4 16 2.296 -5.7276 -16.8889 2 -5.7129 -16.946 2 2.1756 -14.9059 2.296 2.3041 -14.8117 +2 24 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 +2 24 2.296 2.3041 -14.8117 2 2.1756 -14.9059 +3 16 2 2.1756 -14.9059 2 2.8733 -14.3247 2.296 2.3041 -14.8117 +5 24 2 2.8733 -14.3247 2.296 2.3041 -14.8117 2 2.1756 -14.9059 2.712 2.7973 -14.3981 +3 16 2.296 2.3041 -14.8117 2 2.8733 -14.3247 2.712 2.7973 -14.3981 +5 24 2 2.8733 -14.3247 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 2 3.4727 -13.647 +3 16 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 +5 24 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 3.187 3.2182 -13.9608 +3 16 2.712 2.7973 -14.3981 2 3.4727 -13.647 3.187 3.2182 -13.9608 +5 24 2 3.4727 -13.647 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 2 3.965 -12.8866 +3 16 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 +5 24 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 3.703 3.5723 -13.5128 +3 16 3.187 3.2182 -13.9608 2 3.965 -12.8866 3.703 3.5723 -13.5128 +5 24 2 3.965 -12.8866 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 2.828 4.5244 -11.4332 +3 16 2.828 4.5244 -11.4332 3.703 3.5723 -13.5128 2 3.965 -12.8866 +5 24 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 3.703 3.5723 -13.5128 +3 16 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 +5 24 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 2 3.965 -12.8866 +3 16 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 +5 24 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 +5 24 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 4.861 4.3639 -11.9808 +3 16 4.243 3.8636 -13.0657 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 +5 24 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 3.696 4.6934 -10.0498 +3 16 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 +5 24 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 5.543 4.635 -10.8551 +3 16 4.861 4.3639 -11.9808 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 +5 24 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 3.847 4.6472 -9.2773 +3 16 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 +5 24 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 5.767 4.6838 -9.6794 +3 16 5.543 4.635 -10.8551 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 +5 24 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 5 4.5023 -8.5179 +3 16 5.767 4.6838 -9.6794 3.847 4.6472 -9.2773 5 4.5023 -8.5179 +5 24 3.847 4.6472 -9.2773 5 4.5023 -8.5179 5.767 4.6838 -9.6794 4 4.5023 -8.5179 +3 16 4 4.5023 -8.5179 5 4.5023 -8.5179 3.847 4.6472 -9.2773 +5 24 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 3.847 4.6472 -9.2773 +3 16 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 +5 24 4 4.5023 -8.5179 6 4.5023 -8.5179 5.767 4.6838 -9.6794 5.5434 3.92703 -6.29493 +5 24 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2.712 2.7973 -14.3981 +5 24 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2 3.4727 -13.647 +5 24 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -3.187 3.2182 -13.9608 +5 24 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2 3.965 -12.8866 +5 24 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -3.703 3.5723 -13.5128 +5 24 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -2.828 4.5244 -11.4332 +5 24 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -2 4.3383 -12.0536 -3.703 3.5723 -13.5128 +5 24 -3.703 3.5723 -13.5128 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -2 3.965 -12.8866 +5 24 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.255 4.6497 -10.7418 +5 24 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -4.861 4.3639 -11.9808 +5 24 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -3.696 4.6934 -10.0498 +5 24 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -5.543 4.635 -10.8551 +5 24 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -3.847 4.6472 -9.2773 +5 24 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -5.767 4.6838 -9.6794 +5 24 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 -5 4.5023 -8.5179 +5 24 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 -4 4.5023 -8.5179 +5 24 -5.767 4.6838 -9.6794 -5 4.5023 -8.5179 -6 4.5023 -8.5179 -3.847 4.6472 -9.2773 +5 24 -4 4.5023 -8.5179 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.5434 3.92703 -6.29493 +3 16 -3.703 3.5723 -13.5128 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 +3 16 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 +3 16 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 +3 16 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 +3 16 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.255 4.6497 -10.7418 +3 16 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -3.703 3.5723 -13.5128 +3 16 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 +3 16 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -3.696 4.6934 -10.0498 +3 16 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 +3 16 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -3.847 4.6472 -9.2773 +3 16 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -4 4.5023 -8.5179 +3 16 -5 4.5023 -8.5179 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 +3 16 -5.767 4.6838 -9.6794 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 +3 16 -6 4.5023 -8.5179 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 +4 16 -2.8284 -6.4073 -14.2608 -3.6956 -6.7322 -13.0044 -5.5433 -6.5406 -13.7453 -4.2426 -6.0532 -15.6299 +4 16 -3.6956 -6.7322 -13.0044 -4 -7.1155 -11.5224 -5.9999 -7.1155 -11.5224 -5.5433 -6.5406 -13.7453 +4 16 4 -7.1155 -11.5224 3.6956 -6.7322 -13.0044 5.5433 -6.5406 -13.7453 5.9999 -7.1155 -11.5224 +4 16 3.6956 -6.7322 -13.0044 2.8284 -6.4073 -14.2608 4.2426 -6.0532 -15.6299 5.5433 -6.5406 -13.7453 +5 24 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 6 -7.1155 -11.5224 4.243 -6.0531 -15.6303 +5 24 -5.543 -6.5406 -13.7453 -5.543 4.635 -10.8551 -6 -7.1155 -11.5224 -4.243 -6.0531 -15.6303 +5 24 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -5.543 -6.5406 -13.7453 -2.296 -5.7276 -16.8889 +5 24 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 5.543 -6.5406 -13.7453 2.296 -5.7276 -16.8889 +5 24 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -4.243 -6.0531 -15.6303 -2 -5.7129 -16.946 +5 24 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 4.243 -6.0531 -15.6303 2 -5.7129 -16.946 +4 16 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +4 16 2 -6.2687 -14.7967 2.296 -5.7276 -16.8889 4.243 -6.0531 -15.6303 2.828 -6.4074 -14.2604 +2 24 4.243 -6.0531 -15.6303 2.296 -5.7276 -16.8889 +2 24 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 +2 24 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +2 24 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 +3 16 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 -2.296 -5.7276 -16.8889 +3 16 2.296 -5.7276 -16.8889 2 -6.2687 -14.7967 2 -5.7129 -16.946 +2 24 2 -5.7129 -16.946 2 -6.2687 -14.7967 +2 24 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 +2 24 2 -5.7129 -16.946 2.296 -5.7276 -16.8889 +2 24 -2 -5.7129 -16.946 -2.296 -5.7276 -16.8889 +5 24 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.696 -6.7322 -13.0047 -2 -6.2687 -14.7967 +5 24 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 3.696 -6.7322 -13.0047 2 -6.2687 -14.7967 +5 24 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 4 -7.1155 -11.5224 2.828 -6.4074 -14.2604 +5 24 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -4 -7.1155 -11.5224 -2.828 -6.4074 -14.2604 +4 16 -2 1.6198 -12.7566 -2 -6.2687 -14.7967 -2 -5.7129 -16.946 -2 2.1756 -14.9059 +4 16 2 -5.7129 -16.946 2 -6.2687 -14.7967 2 1.6198 -12.7566 2 2.1756 -14.9059 +3 16 -2.296 2.3041 -14.8117 -2 2.8733 -14.3247 -2 2.1756 -14.9059 +3 16 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2 3.4727 -13.647 +3 16 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2 3.965 -12.8866 +3 16 -2 4.3383 -12.0536 -2 3.965 -12.8866 -2.828 4.5244 -11.4332 +4 16 -2 2.1756 -14.9059 -2 2.8733 -14.3247 -2 3.4727 -13.647 -2 1.6198 -12.7566 +4 16 -2 4.3383 -12.0536 -2 1.6198 -12.7566 -2 3.4727 -13.647 -2 3.965 -12.8866 +4 16 2 3.4727 -13.647 2 2.8733 -14.3247 2 2.1756 -14.9059 2 1.6198 -12.7566 +4 16 2 3.4727 -13.647 2 1.6198 -12.7566 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 2.8733 -14.3247 +2 24 -2 2.8733 -14.3247 -2 3.4727 -13.647 +2 24 -2 3.4727 -13.647 -2 3.965 -12.8866 +2 24 -2 4.3383 -12.0536 -2 3.965 -12.8866 +2 24 2 2.1756 -14.9059 2 2.8733 -14.3247 +2 24 2 2.8733 -14.3247 2 3.4727 -13.647 +2 24 2 3.4727 -13.647 2 3.965 -12.8866 +2 24 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +2 24 -2 4.3383 -12.0536 -2 -6.2687 -14.7967 +2 24 2 2.1756 -14.9059 2 -5.7129 -16.946 +2 24 2 4.3383 -12.0536 2 -6.2687 -14.7967 +0 Cuff +3 16 2.1213 -2.1213 0 1.5546 -2.5 0 2.1213 -2.1213 -1.4641 +5 24 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 2.7717 -1.1481 0 1.5546 -2.5 0 +4 16 2.7717 -1.1481 -4.5817 2.7717 -1.1481 0 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 +3 16 2.6602 -1.3149 -4.5478 2.7717 -1.1481 -4.5817 2.1213 -2.1213 -1.4641 +5 24 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 3 0 0 2.1213 -2.1213 0 +4 16 3 0 -4.4423 3 0 0 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 +5 24 3 0 0 3 0 -4.4423 2.7717 1.1481 0 2.7717 -1.1481 0 +4 16 2.7717 1.1481 -3.9877 2.7717 1.1481 0 3 0 0 3 0 -4.4423 +5 24 2.7717 1.1481 0 2.7717 1.1481 -3.9877 2.1213 2.1213 0 3 0 0 +4 16 2.2962 1.8596 -3.4756 2.2962 1.8596 0 2.7717 1.1481 0 2.7717 1.1481 -3.9877 +4 16 2.1213 2.1213 0 2.2962 1.8596 0 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +5 24 2.1213 2.1213 0 2.1213 2.1213 -3.4995 1.1481 2.7717 0 2.7717 1.1481 0 +4 16 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 2.1213 2.1213 -3.4995 +5 24 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 0 3 0 +4 16 0 3 -2.7094 0 3 0 1.1481 2.7717 0 1.1481 2.7717 -3.0039 +5 24 0 3 -2.7094 0 3 0 1.1481 2.7717 0 -1.1481 2.7717 0 +3 16 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 -2.1213 -2.1213 0 +5 24 -2.1213 -2.1213 0 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 0 -1.5546 -2.5 0 +4 16 -2.1213 -2.1213 0 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -2.1213 -2.1213 -1.4641 +3 16 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +5 24 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -3 0 0 -2.1213 -2.1213 0 +4 16 -2.7717 -1.1481 0 -3 0 0 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +5 24 -3 0 0 -3 0 -4.4423 -2.7717 1.1481 0 -2.7717 -1.1481 0 +4 16 -3 0 0 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +5 24 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -2.1213 2.1213 0 -3 0 0 +4 16 -2.7717 1.1481 0 -2.2962 1.8596 0 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +4 16 -2.2962 1.8596 -3.4756 -2.2962 1.8596 0 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 +5 24 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 -1.1481 2.7717 0 -2.7717 1.1481 0 +4 16 -2.1213 2.1213 0 -1.1481 2.7717 0 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +5 24 -1.1481 2.7717 -3.0039 -1.1481 2.7717 0 -2.1213 2.1213 0 0 3 0 +4 16 -1.1481 2.7717 0 0 3 0 0 3 -2.7094 -1.1481 2.7717 -3.0039 +0 Cuff Intersect Lines +2 24 0 3 -2.7094 -1.1481 2.7717 -3.0039 +2 24 -2.2962 1.8596 -3.4756 -2.1213 2.1213 -3.4995 +2 24 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +2 24 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +2 24 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +2 24 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 +2 24 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +2 24 0 3 -2.7094 1.1481 2.7717 -3.0039 +2 24 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +2 24 2.7717 1.1481 -3.9877 3 0 -4.4423 +2 24 2.2962 1.8596 -3.4756 2.7717 1.1481 -3.9877 +2 24 3 0 -4.4423 2.7717 -1.1481 -4.5817 +2 24 2.7717 -1.1481 -4.5817 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +2 24 1.1481 2.7717 -3.0039 2.1213 2.1213 -3.4995 +2 24 -1.5546 -2.5 0 1.5546 -2.5 0 +0 Cuff Ring +3 16 0 -2.5 0 -0.9567 -2.3098 0 -1.5546 -2.5 0 +3 16 1.5546 -2.5 0 0.9567 -2.3098 0 0 -2.5 0 +4 16 2.5 0 0 2.3098 -0.9567 0 2.7717 -1.148 0 3 0 0 +4 16 2.3098 -0.9567 0 1.7678 -1.7678 0 2.1213 -2.1213 0 2.7717 -1.148 0 +4 16 1.7678 -1.7678 0 0.9567 -2.3098 0 1.5546 -2.5 0 2.1213 -2.1213 0 +4 16 -0.9567 -2.3098 0 -1.7678 -1.7678 0 -2.1213 -2.1213 0 -1.5546 -2.5 0 +4 16 -1.7678 -1.7678 0 -2.3098 -0.9567 0 -2.7717 -1.148 0 -2.1213 -2.1213 0 +4 16 -2.3098 -0.9567 0 -2.5 0 0 -3 0 0 -2.7717 -1.148 0 +4 16 -2.5 0 0 -2.3098 0.9567 0 -2.7717 1.148 0 -3 0 0 +4 16 -2.3098 0.9567 0 -1.7678 1.7677 0 -2.1213 2.1213 0 -2.7717 1.148 0 +4 16 -1.7678 1.7677 0 -0.9567 2.3098 0 -1.148 2.7717 0 -2.1213 2.1213 0 +4 16 -0.9567 2.3098 0 0 2.5 0 0 3 0 -1.148 2.7717 0 +4 16 0 2.5 0 0.9567 2.3098 0 1.148 2.7717 0 0 3 0 +4 16 0.9567 2.3098 0 1.7678 1.7677 0 2.1213 2.1213 0 1.148 2.7717 0 +4 16 1.7678 1.7677 0 2.3098 0.9567 0 2.7717 1.148 0 2.1213 2.1213 0 +4 16 2.3098 0.9567 0 2.5 0 0 3 0 0 2.7717 1.148 0 +2 24 2.1213 -2.1213 0 1.5546 -2.5 0 +2 24 -2.1213 -2.1213 0 -1.5546 -2.5 0 +2 24 3 0 0 2.7717 -1.1481 0 +2 24 2.7717 -1.1481 0 2.1213 -2.1213 0 +2 24 -2.1213 -2.1213 0 -2.7717 -1.1481 0 +2 24 -2.7717 -1.1481 0 -3 0 0 +2 24 -3 0 0 -2.7717 1.1481 0 +2 24 -2.7717 1.1481 0 -2.1213 2.1213 0 +2 24 -2.1213 2.1213 0 -1.1481 2.7717 0 +2 24 -1.1481 2.7717 0 0 3 0 +2 24 0 3 0 1.1481 2.7717 0 +2 24 1.1481 2.7717 0 2.1213 2.1213 0 +2 24 2.1213 2.1213 0 2.7717 1.1481 0 +2 24 2.7717 1.1481 0 3 0 0 +0 Flat part of Cuff +4 16 -1.5546 -2.5 0 -2.1213 -2.1213 -1.4641 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +4 16 0 -2.1213 -1.4641 -2.1213 -2.1213 -1.4641 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +3 16 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +4 16 2.2962 -1.3762 -4.3124 2.1213 -2.1213 -1.4641 0 -2.1213 -1.4641 0 -1.4914 -3.8706 +3 16 2.2962 -1.3762 -4.3124 2.6602 -1.3149 -4.5478 2.1213 -2.1213 -1.4641 +2 24 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +2 24 2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +2 24 2.6602 -1.3149 -4.5478 2.2962 -1.3762 -4.3124 +2 24 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +0 diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/500.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/500.dat new file mode 100644 index 0000000..d00d9d1 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/500.dat @@ -0,0 +1,12 @@ +0 ~Moved to 3820 +0 Name: 500.dat +0 Author: [PTadmin] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 3820.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/983.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/983.dat new file mode 100644 index 0000000..37e0dfe --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version1/parts/983.dat @@ -0,0 +1,12 @@ +0 ~Moved to 3820 +0 Name: 983.dat +0 Author: [PTadmin] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 3820.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3820.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3820.dat new file mode 100644 index 0000000..e8de12f --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3820.dat @@ -0,0 +1,12 @@ +0 ~Moved to 3821 +0 Name: 3820.dat +0 Author: author1 +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 3821.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3821.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3821.dat new file mode 100644 index 0000000..c88b7c6 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/3821.dat @@ -0,0 +1,318 @@ +0 Minifig Hand +0 Name: 3821.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 !HELP The Hand angle is 14.5 degrees +0 !HELP To rotate the hand to 90 degrees horizontal use the following rotation +0 !HELP matrix: 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 +0 !HELP After the rotation matrix is applied: +0 !HELP The center of the bottom of the hand will be x, y+2.2259, z-9.3739 +0 !HELP The center of the top of the hand will be x, y-9.7741, z-9.3739 +0 !HELP where x, y, and z are the origin coordinates of the part +0 !HELP Example: for the following DAT line: +0 !HELP 1 16 1 1 1 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 3820.dat +0 !HELP The origin of the part is 1,1,1 +0 !HELP The center of the bottom of the hand is 1, 3.2259, -8.3739 + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-11-30 [PTadmin] Official Update 2002-05 +0 !HISTORY 2002-12-31 [PTadmin] Official Update 2002-06 +0 !HISTORY 2007-07-29 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2008-07-07 [DeannaEarley] Removed erroneous BFC CERTIFY entries (2005-08-29 +0 !HISTORY 2008-07-07 [WilliamH] Added conditional lines to underside (2006-08-17) +0 !HISTORY 2009-08-24 [PTadmin] Moved from 983 +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Post + + +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 13 0 4-4cyli.dat +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4disc.dat +0 Hand +1 16 0 4.502 -8.518 -6 0 0 0 -11.6178 -1.5023 0 -3.0046 5.8089 2-4cyli.dat +0 BFC INVERTNEXT +1 16 0 4.502 -8.518 -4 0 0 0 -11.6178 -1.0015 0 -3.0046 3.8726 2-4cyli.dat +1 16 0 4.502 -8.518 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +0 BFC INVERTNEXT +1 16 0 -7.116 -11.522 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +1 16 0 -7.116 -11.522 -4.2426 0 -4.2426 1.0623 -0.9681 -1.0623 -4.1075 -0.2504 4.1075 3-4edge.dat +1 16 0 -7.116 -11.522 -2.8284 0 -2.8284 0.7082 -0.9681 -0.7082 -2.7383 -0.2504 2.7383 3-4edge.dat +1 16 0 4.502 -8.518 -6 0 0 0 -0.9681 -1.5023 0 -0.2504 5.8089 2-4edge.dat +1 16 0 4.502 -8.518 -4 0 0 0 -0.9681 -1.0015 0 -0.2504 3.8726 2-4edge.dat +3 16 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 +3 16 -5.543 -6.5406 -13.7453 -6 -7.1155 -11.5224 -6 4.5023 -8.5179 +4 16 5.767 4.6838 -9.6794 6 4.5023 -8.5179 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 +4 16 -5.543 -6.5406 -13.7453 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 6 4.5023 -8.5179 5.767 4.6838 -9.6794 +2 24 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 +2 24 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 +4 16 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 3.696 -6.7322 -13.0047 4 4.5023 -8.5179 +4 16 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +2 24 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 +2 24 -3.847 4.6472 -9.2773 -3.696 4.6934 -10.0498 +2 24 3.847 4.6472 -9.2773 4 4.5023 -8.5179 +2 24 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +3 16 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 +5 24 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 5.5434 -7.69097 -9.29893 +5 24 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 3.6956 -7.49931 -10.04 +5 24 -6 4.5023 -8.5179 -6 -7.1155 -11.5224 -5.543 -6.5406 -13.7453 -5.5434 -7.69097 -9.29893 +5 24 -4 -7.1155 -11.5224 -4 4.5023 -8.5179 -3.696 -6.7322 -13.0047 -3.6956 -7.49931 -10.04 +3 16 -3.696 -6.7322 -13.0047 -4 4.5023 -8.5179 -4 -7.1155 -11.5224 +4 16 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -4.243 -6.0531 -15.6303 -5.543 -6.5406 -13.7453 +4 16 4.243 -6.0531 -15.6303 4.861 4.3639 -11.9808 5.543 4.635 -10.8551 5.543 -6.5406 -13.7453 +3 16 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -4.243 -6.0531 -15.6303 +3 16 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 4.861 4.3639 -11.9808 +2 24 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 +2 24 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 +2 24 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 +2 24 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 +3 16 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 2.828 4.5244 -11.4332 2.828 -6.4074 -14.2604 +4 16 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 -3.696 -6.7322 -13.0047 -2.828 -6.4074 -14.2604 +4 16 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 3.255 4.6497 -10.7418 2.828 -6.4074 -14.2604 +2 24 2.828 4.5244 -11.4332 3.255 4.6497 -10.7418 +2 24 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +2 24 3.255 4.6497 -10.7418 3.696 4.6934 -10.0498 +2 24 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 +4 16 2 4.3383 -12.0536 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 +4 16 -2.828 -6.4074 -14.2604 -2 -6.2687 -14.7967 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 2 4.3383 -12.0536 2.828 4.5244 -11.4332 +4 16 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2.296 -5.7276 -16.8889 -2.712 -5.797 -16.6207 +4 16 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 2.712 2.7973 -14.3981 2.712 -5.797 -16.6207 +2 24 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 +2 24 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 +4 16 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2.712 -5.797 -16.6207 -3.187 -5.8766 -16.3128 +4 16 2.712 -5.797 -16.6207 2.712 2.7973 -14.3981 3.187 3.2182 -13.9608 3.187 -5.8766 -16.3128 +2 24 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 +2 24 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 +4 16 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -3.187 -5.8766 -16.3128 -3.703 -5.963 -15.9788 +4 16 3.187 -5.8766 -16.3128 3.187 3.2182 -13.9608 3.703 3.5723 -13.5128 3.703 -5.963 -15.9788 +2 24 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 +2 24 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 +4 16 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.703 -5.963 -15.9788 +4 16 3.703 3.5723 -13.5128 4.243 3.8636 -13.0657 4.243 -6.0531 -15.6303 3.703 -5.963 -15.9788 +2 24 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 +2 24 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 +4 16 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +4 16 2.296 -5.7276 -16.8889 2 -5.7129 -16.946 2 2.1756 -14.9059 2.296 2.3041 -14.8117 +2 24 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 +2 24 2.296 2.3041 -14.8117 2 2.1756 -14.9059 +3 16 2 2.1756 -14.9059 2 2.8733 -14.3247 2.296 2.3041 -14.8117 +5 24 2 2.8733 -14.3247 2.296 2.3041 -14.8117 2 2.1756 -14.9059 2.712 2.7973 -14.3981 +3 16 2.296 2.3041 -14.8117 2 2.8733 -14.3247 2.712 2.7973 -14.3981 +5 24 2 2.8733 -14.3247 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 2 3.4727 -13.647 +3 16 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 +5 24 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 3.187 3.2182 -13.9608 +3 16 2.712 2.7973 -14.3981 2 3.4727 -13.647 3.187 3.2182 -13.9608 +5 24 2 3.4727 -13.647 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 2 3.965 -12.8866 +3 16 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 +5 24 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 3.703 3.5723 -13.5128 +3 16 3.187 3.2182 -13.9608 2 3.965 -12.8866 3.703 3.5723 -13.5128 +5 24 2 3.965 -12.8866 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 2.828 4.5244 -11.4332 +3 16 2.828 4.5244 -11.4332 3.703 3.5723 -13.5128 2 3.965 -12.8866 +5 24 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 3.703 3.5723 -13.5128 +3 16 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 +5 24 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 2 3.965 -12.8866 +3 16 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 +5 24 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 +5 24 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 4.861 4.3639 -11.9808 +3 16 4.243 3.8636 -13.0657 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 +5 24 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 3.696 4.6934 -10.0498 +3 16 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 +5 24 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 5.543 4.635 -10.8551 +3 16 4.861 4.3639 -11.9808 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 +5 24 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 3.847 4.6472 -9.2773 +3 16 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 +5 24 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 5.767 4.6838 -9.6794 +3 16 5.543 4.635 -10.8551 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 +5 24 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 5 4.5023 -8.5179 +3 16 5.767 4.6838 -9.6794 3.847 4.6472 -9.2773 5 4.5023 -8.5179 +5 24 3.847 4.6472 -9.2773 5 4.5023 -8.5179 5.767 4.6838 -9.6794 4 4.5023 -8.5179 +3 16 4 4.5023 -8.5179 5 4.5023 -8.5179 3.847 4.6472 -9.2773 +5 24 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 3.847 4.6472 -9.2773 +3 16 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 +5 24 4 4.5023 -8.5179 6 4.5023 -8.5179 5.767 4.6838 -9.6794 5.5434 3.92703 -6.29493 +5 24 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2.712 2.7973 -14.3981 +5 24 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2 3.4727 -13.647 +5 24 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -3.187 3.2182 -13.9608 +5 24 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2 3.965 -12.8866 +5 24 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -3.703 3.5723 -13.5128 +5 24 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -2.828 4.5244 -11.4332 +5 24 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -2 4.3383 -12.0536 -3.703 3.5723 -13.5128 +5 24 -3.703 3.5723 -13.5128 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -2 3.965 -12.8866 +5 24 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.255 4.6497 -10.7418 +5 24 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -4.861 4.3639 -11.9808 +5 24 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -3.696 4.6934 -10.0498 +5 24 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -5.543 4.635 -10.8551 +5 24 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -3.847 4.6472 -9.2773 +5 24 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -5.767 4.6838 -9.6794 +5 24 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 -5 4.5023 -8.5179 +5 24 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 -4 4.5023 -8.5179 +5 24 -5.767 4.6838 -9.6794 -5 4.5023 -8.5179 -6 4.5023 -8.5179 -3.847 4.6472 -9.2773 +5 24 -4 4.5023 -8.5179 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.5434 3.92703 -6.29493 +3 16 -3.703 3.5723 -13.5128 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 +3 16 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 +3 16 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 +3 16 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 +3 16 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.255 4.6497 -10.7418 +3 16 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -3.703 3.5723 -13.5128 +3 16 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 +3 16 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -3.696 4.6934 -10.0498 +3 16 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 +3 16 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -3.847 4.6472 -9.2773 +3 16 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -4 4.5023 -8.5179 +3 16 -5 4.5023 -8.5179 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 +3 16 -5.767 4.6838 -9.6794 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 +3 16 -6 4.5023 -8.5179 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 +4 16 -2.8284 -6.4073 -14.2608 -3.6956 -6.7322 -13.0044 -5.5433 -6.5406 -13.7453 -4.2426 -6.0532 -15.6299 +4 16 -3.6956 -6.7322 -13.0044 -4 -7.1155 -11.5224 -5.9999 -7.1155 -11.5224 -5.5433 -6.5406 -13.7453 +4 16 4 -7.1155 -11.5224 3.6956 -6.7322 -13.0044 5.5433 -6.5406 -13.7453 5.9999 -7.1155 -11.5224 +4 16 3.6956 -6.7322 -13.0044 2.8284 -6.4073 -14.2608 4.2426 -6.0532 -15.6299 5.5433 -6.5406 -13.7453 +5 24 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 6 -7.1155 -11.5224 4.243 -6.0531 -15.6303 +5 24 -5.543 -6.5406 -13.7453 -5.543 4.635 -10.8551 -6 -7.1155 -11.5224 -4.243 -6.0531 -15.6303 +5 24 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -5.543 -6.5406 -13.7453 -2.296 -5.7276 -16.8889 +5 24 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 5.543 -6.5406 -13.7453 2.296 -5.7276 -16.8889 +5 24 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -4.243 -6.0531 -15.6303 -2 -5.7129 -16.946 +5 24 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 4.243 -6.0531 -15.6303 2 -5.7129 -16.946 +4 16 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +4 16 2 -6.2687 -14.7967 2.296 -5.7276 -16.8889 4.243 -6.0531 -15.6303 2.828 -6.4074 -14.2604 +2 24 4.243 -6.0531 -15.6303 2.296 -5.7276 -16.8889 +2 24 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 +2 24 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +2 24 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 +3 16 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 -2.296 -5.7276 -16.8889 +3 16 2.296 -5.7276 -16.8889 2 -6.2687 -14.7967 2 -5.7129 -16.946 +2 24 2 -5.7129 -16.946 2 -6.2687 -14.7967 +2 24 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 +2 24 2 -5.7129 -16.946 2.296 -5.7276 -16.8889 +2 24 -2 -5.7129 -16.946 -2.296 -5.7276 -16.8889 +5 24 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.696 -6.7322 -13.0047 -2 -6.2687 -14.7967 +5 24 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 3.696 -6.7322 -13.0047 2 -6.2687 -14.7967 +5 24 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 4 -7.1155 -11.5224 2.828 -6.4074 -14.2604 +5 24 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -4 -7.1155 -11.5224 -2.828 -6.4074 -14.2604 +4 16 -2 1.6198 -12.7566 -2 -6.2687 -14.7967 -2 -5.7129 -16.946 -2 2.1756 -14.9059 +4 16 2 -5.7129 -16.946 2 -6.2687 -14.7967 2 1.6198 -12.7566 2 2.1756 -14.9059 +3 16 -2.296 2.3041 -14.8117 -2 2.8733 -14.3247 -2 2.1756 -14.9059 +3 16 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2 3.4727 -13.647 +3 16 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2 3.965 -12.8866 +3 16 -2 4.3383 -12.0536 -2 3.965 -12.8866 -2.828 4.5244 -11.4332 +4 16 -2 2.1756 -14.9059 -2 2.8733 -14.3247 -2 3.4727 -13.647 -2 1.6198 -12.7566 +4 16 -2 4.3383 -12.0536 -2 1.6198 -12.7566 -2 3.4727 -13.647 -2 3.965 -12.8866 +4 16 2 3.4727 -13.647 2 2.8733 -14.3247 2 2.1756 -14.9059 2 1.6198 -12.7566 +4 16 2 3.4727 -13.647 2 1.6198 -12.7566 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 2.8733 -14.3247 +2 24 -2 2.8733 -14.3247 -2 3.4727 -13.647 +2 24 -2 3.4727 -13.647 -2 3.965 -12.8866 +2 24 -2 4.3383 -12.0536 -2 3.965 -12.8866 +2 24 2 2.1756 -14.9059 2 2.8733 -14.3247 +2 24 2 2.8733 -14.3247 2 3.4727 -13.647 +2 24 2 3.4727 -13.647 2 3.965 -12.8866 +2 24 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +2 24 -2 4.3383 -12.0536 -2 -6.2687 -14.7967 +2 24 2 2.1756 -14.9059 2 -5.7129 -16.946 +2 24 2 4.3383 -12.0536 2 -6.2687 -14.7967 +0 Cuff +3 16 2.1213 -2.1213 0 1.5546 -2.5 0 2.1213 -2.1213 -1.4641 +5 24 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 2.7717 -1.1481 0 1.5546 -2.5 0 +4 16 2.7717 -1.1481 -4.5817 2.7717 -1.1481 0 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 +3 16 2.6602 -1.3149 -4.5478 2.7717 -1.1481 -4.5817 2.1213 -2.1213 -1.4641 +5 24 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 3 0 0 2.1213 -2.1213 0 +4 16 3 0 -4.4423 3 0 0 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 +5 24 3 0 0 3 0 -4.4423 2.7717 1.1481 0 2.7717 -1.1481 0 +4 16 2.7717 1.1481 -3.9877 2.7717 1.1481 0 3 0 0 3 0 -4.4423 +5 24 2.7717 1.1481 0 2.7717 1.1481 -3.9877 2.1213 2.1213 0 3 0 0 +4 16 2.2962 1.8596 -3.4756 2.2962 1.8596 0 2.7717 1.1481 0 2.7717 1.1481 -3.9877 +4 16 2.1213 2.1213 0 2.2962 1.8596 0 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +5 24 2.1213 2.1213 0 2.1213 2.1213 -3.4995 1.1481 2.7717 0 2.7717 1.1481 0 +4 16 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 2.1213 2.1213 -3.4995 +5 24 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 0 3 0 +4 16 0 3 -2.7094 0 3 0 1.1481 2.7717 0 1.1481 2.7717 -3.0039 +5 24 0 3 -2.7094 0 3 0 1.1481 2.7717 0 -1.1481 2.7717 0 +3 16 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 -2.1213 -2.1213 0 +5 24 -2.1213 -2.1213 0 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 0 -1.5546 -2.5 0 +4 16 -2.1213 -2.1213 0 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -2.1213 -2.1213 -1.4641 +3 16 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +5 24 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -3 0 0 -2.1213 -2.1213 0 +4 16 -2.7717 -1.1481 0 -3 0 0 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +5 24 -3 0 0 -3 0 -4.4423 -2.7717 1.1481 0 -2.7717 -1.1481 0 +4 16 -3 0 0 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +5 24 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -2.1213 2.1213 0 -3 0 0 +4 16 -2.7717 1.1481 0 -2.2962 1.8596 0 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +4 16 -2.2962 1.8596 -3.4756 -2.2962 1.8596 0 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 +5 24 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 -1.1481 2.7717 0 -2.7717 1.1481 0 +4 16 -2.1213 2.1213 0 -1.1481 2.7717 0 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +5 24 -1.1481 2.7717 -3.0039 -1.1481 2.7717 0 -2.1213 2.1213 0 0 3 0 +4 16 -1.1481 2.7717 0 0 3 0 0 3 -2.7094 -1.1481 2.7717 -3.0039 +0 Cuff Intersect Lines +2 24 0 3 -2.7094 -1.1481 2.7717 -3.0039 +2 24 -2.2962 1.8596 -3.4756 -2.1213 2.1213 -3.4995 +2 24 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +2 24 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +2 24 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +2 24 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 +2 24 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +2 24 0 3 -2.7094 1.1481 2.7717 -3.0039 +2 24 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +2 24 2.7717 1.1481 -3.9877 3 0 -4.4423 +2 24 2.2962 1.8596 -3.4756 2.7717 1.1481 -3.9877 +2 24 3 0 -4.4423 2.7717 -1.1481 -4.5817 +2 24 2.7717 -1.1481 -4.5817 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +2 24 1.1481 2.7717 -3.0039 2.1213 2.1213 -3.4995 +2 24 -1.5546 -2.5 0 1.5546 -2.5 0 +0 Cuff Ring +3 16 0 -2.5 0 -0.9567 -2.3098 0 -1.5546 -2.5 0 +3 16 1.5546 -2.5 0 0.9567 -2.3098 0 0 -2.5 0 +4 16 2.5 0 0 2.3098 -0.9567 0 2.7717 -1.148 0 3 0 0 +4 16 2.3098 -0.9567 0 1.7678 -1.7678 0 2.1213 -2.1213 0 2.7717 -1.148 0 +4 16 1.7678 -1.7678 0 0.9567 -2.3098 0 1.5546 -2.5 0 2.1213 -2.1213 0 +4 16 -0.9567 -2.3098 0 -1.7678 -1.7678 0 -2.1213 -2.1213 0 -1.5546 -2.5 0 +4 16 -1.7678 -1.7678 0 -2.3098 -0.9567 0 -2.7717 -1.148 0 -2.1213 -2.1213 0 +4 16 -2.3098 -0.9567 0 -2.5 0 0 -3 0 0 -2.7717 -1.148 0 +4 16 -2.5 0 0 -2.3098 0.9567 0 -2.7717 1.148 0 -3 0 0 +4 16 -2.3098 0.9567 0 -1.7678 1.7677 0 -2.1213 2.1213 0 -2.7717 1.148 0 +4 16 -1.7678 1.7677 0 -0.9567 2.3098 0 -1.148 2.7717 0 -2.1213 2.1213 0 +4 16 -0.9567 2.3098 0 0 2.5 0 0 3 0 -1.148 2.7717 0 +4 16 0 2.5 0 0.9567 2.3098 0 1.148 2.7717 0 0 3 0 +4 16 0.9567 2.3098 0 1.7678 1.7677 0 2.1213 2.1213 0 1.148 2.7717 0 +4 16 1.7678 1.7677 0 2.3098 0.9567 0 2.7717 1.148 0 2.1213 2.1213 0 +4 16 2.3098 0.9567 0 2.5 0 0 3 0 0 2.7717 1.148 0 +2 24 2.1213 -2.1213 0 1.5546 -2.5 0 +2 24 -2.1213 -2.1213 0 -1.5546 -2.5 0 +2 24 3 0 0 2.7717 -1.1481 0 +2 24 2.7717 -1.1481 0 2.1213 -2.1213 0 +2 24 -2.1213 -2.1213 0 -2.7717 -1.1481 0 +2 24 -2.7717 -1.1481 0 -3 0 0 +2 24 -3 0 0 -2.7717 1.1481 0 +2 24 -2.7717 1.1481 0 -2.1213 2.1213 0 +2 24 -2.1213 2.1213 0 -1.1481 2.7717 0 +2 24 -1.1481 2.7717 0 0 3 0 +2 24 0 3 0 1.1481 2.7717 0 +2 24 1.1481 2.7717 0 2.1213 2.1213 0 +2 24 2.1213 2.1213 0 2.7717 1.1481 0 +2 24 2.7717 1.1481 0 3 0 0 +0 Flat part of Cuff +4 16 -1.5546 -2.5 0 -2.1213 -2.1213 -1.4641 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +4 16 0 -2.1213 -1.4641 -2.1213 -2.1213 -1.4641 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +3 16 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +4 16 2.2962 -1.3762 -4.3124 2.1213 -2.1213 -1.4641 0 -2.1213 -1.4641 0 -1.4914 -3.8706 +3 16 2.2962 -1.3762 -4.3124 2.6602 -1.3149 -4.5478 2.1213 -2.1213 -1.4641 +2 24 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +2 24 2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +2 24 2.6602 -1.3149 -4.5478 2.2962 -1.3762 -4.3124 +2 24 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +0 diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/500.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/500.dat new file mode 100644 index 0000000..d00d9d1 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/500.dat @@ -0,0 +1,12 @@ +0 ~Moved to 3820 +0 Name: 500.dat +0 Author: [PTadmin] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 3820.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/983.dat b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/983.dat new file mode 100644 index 0000000..4db29c8 --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update/version2/parts/983.dat @@ -0,0 +1,12 @@ +0 ~Moved to 3820 +0 Name: 983.dat +0 Author: author +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 BFC CERTIFY CCW + +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Minifig Hand +1 16 0 0 0 1 0 0 0 1 0 0 0 1 3820.dat diff --git a/tests/Service/Loader/ModelLoader/fixtures/update2/version1/parts/3820.dat b/tests/Service/Loader/ModelLoader/fixtures/update2/version1/parts/3820.dat new file mode 100644 index 0000000..29f88bb --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update2/version1/parts/3820.dat @@ -0,0 +1,318 @@ +0 Minifig Hand +0 Name: 3820.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG Part UPDATE 2009-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 !HELP The Hand angle is 14.5 degrees +0 !HELP To rotate the hand to 90 degrees horizontal use the following rotation +0 !HELP matrix: 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 +0 !HELP After the rotation matrix is applied: +0 !HELP The center of the bottom of the hand will be x, y+2.2259, z-9.3739 +0 !HELP The center of the top of the hand will be x, y-9.7741, z-9.3739 +0 !HELP where x, y, and z are the origin coordinates of the part +0 !HELP Example: for the following DAT line: +0 !HELP 1 16 1 1 1 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 3820.dat +0 !HELP The origin of the part is 1,1,1 +0 !HELP The center of the bottom of the hand is 1, 3.2259, -8.3739 + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-11-30 [PTadmin] Official Update 2002-05 +0 !HISTORY 2002-12-31 [PTadmin] Official Update 2002-06 +0 !HISTORY 2007-07-29 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2008-07-07 [DeannaEarley] Removed erroneous BFC CERTIFY entries (2005-08-29 +0 !HISTORY 2008-07-07 [WilliamH] Added conditional lines to underside (2006-08-17) +0 !HISTORY 2009-08-24 [PTadmin] Moved from 983 +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 + +0 // Post + + +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 13 0 4-4cyli.dat +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4disc.dat +0 Hand +1 16 0 4.502 -8.518 -6 0 0 0 -11.6178 -1.5023 0 -3.0046 5.8089 2-4cyli.dat +0 BFC INVERTNEXT +1 16 0 4.502 -8.518 -4 0 0 0 -11.6178 -1.0015 0 -3.0046 3.8726 2-4cyli.dat +1 16 0 4.502 -8.518 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +0 BFC INVERTNEXT +1 16 0 -7.116 -11.522 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +1 16 0 -7.116 -11.522 -4.2426 0 -4.2426 1.0623 -0.9681 -1.0623 -4.1075 -0.2504 4.1075 3-4edge.dat +1 16 0 -7.116 -11.522 -2.8284 0 -2.8284 0.7082 -0.9681 -0.7082 -2.7383 -0.2504 2.7383 3-4edge.dat +1 16 0 4.502 -8.518 -6 0 0 0 -0.9681 -1.5023 0 -0.2504 5.8089 2-4edge.dat +1 16 0 4.502 -8.518 -4 0 0 0 -0.9681 -1.0015 0 -0.2504 3.8726 2-4edge.dat +3 16 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 +3 16 -5.543 -6.5406 -13.7453 -6 -7.1155 -11.5224 -6 4.5023 -8.5179 +4 16 5.767 4.6838 -9.6794 6 4.5023 -8.5179 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 +4 16 -5.543 -6.5406 -13.7453 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 6 4.5023 -8.5179 5.767 4.6838 -9.6794 +2 24 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 +2 24 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 +4 16 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 3.696 -6.7322 -13.0047 4 4.5023 -8.5179 +4 16 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +2 24 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 +2 24 -3.847 4.6472 -9.2773 -3.696 4.6934 -10.0498 +2 24 3.847 4.6472 -9.2773 4 4.5023 -8.5179 +2 24 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +3 16 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 +5 24 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 5.5434 -7.69097 -9.29893 +5 24 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 3.6956 -7.49931 -10.04 +5 24 -6 4.5023 -8.5179 -6 -7.1155 -11.5224 -5.543 -6.5406 -13.7453 -5.5434 -7.69097 -9.29893 +5 24 -4 -7.1155 -11.5224 -4 4.5023 -8.5179 -3.696 -6.7322 -13.0047 -3.6956 -7.49931 -10.04 +3 16 -3.696 -6.7322 -13.0047 -4 4.5023 -8.5179 -4 -7.1155 -11.5224 +4 16 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -4.243 -6.0531 -15.6303 -5.543 -6.5406 -13.7453 +4 16 4.243 -6.0531 -15.6303 4.861 4.3639 -11.9808 5.543 4.635 -10.8551 5.543 -6.5406 -13.7453 +3 16 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -4.243 -6.0531 -15.6303 +3 16 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 4.861 4.3639 -11.9808 +2 24 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 +2 24 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 +2 24 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 +2 24 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 +3 16 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 2.828 4.5244 -11.4332 2.828 -6.4074 -14.2604 +4 16 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 -3.696 -6.7322 -13.0047 -2.828 -6.4074 -14.2604 +4 16 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 3.255 4.6497 -10.7418 2.828 -6.4074 -14.2604 +2 24 2.828 4.5244 -11.4332 3.255 4.6497 -10.7418 +2 24 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +2 24 3.255 4.6497 -10.7418 3.696 4.6934 -10.0498 +2 24 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 +4 16 2 4.3383 -12.0536 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 +4 16 -2.828 -6.4074 -14.2604 -2 -6.2687 -14.7967 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 2 4.3383 -12.0536 2.828 4.5244 -11.4332 +4 16 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2.296 -5.7276 -16.8889 -2.712 -5.797 -16.6207 +4 16 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 2.712 2.7973 -14.3981 2.712 -5.797 -16.6207 +2 24 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 +2 24 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 +4 16 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2.712 -5.797 -16.6207 -3.187 -5.8766 -16.3128 +4 16 2.712 -5.797 -16.6207 2.712 2.7973 -14.3981 3.187 3.2182 -13.9608 3.187 -5.8766 -16.3128 +2 24 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 +2 24 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 +4 16 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -3.187 -5.8766 -16.3128 -3.703 -5.963 -15.9788 +4 16 3.187 -5.8766 -16.3128 3.187 3.2182 -13.9608 3.703 3.5723 -13.5128 3.703 -5.963 -15.9788 +2 24 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 +2 24 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 +4 16 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.703 -5.963 -15.9788 +4 16 3.703 3.5723 -13.5128 4.243 3.8636 -13.0657 4.243 -6.0531 -15.6303 3.703 -5.963 -15.9788 +2 24 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 +2 24 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 +4 16 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +4 16 2.296 -5.7276 -16.8889 2 -5.7129 -16.946 2 2.1756 -14.9059 2.296 2.3041 -14.8117 +2 24 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 +2 24 2.296 2.3041 -14.8117 2 2.1756 -14.9059 +3 16 2 2.1756 -14.9059 2 2.8733 -14.3247 2.296 2.3041 -14.8117 +5 24 2 2.8733 -14.3247 2.296 2.3041 -14.8117 2 2.1756 -14.9059 2.712 2.7973 -14.3981 +3 16 2.296 2.3041 -14.8117 2 2.8733 -14.3247 2.712 2.7973 -14.3981 +5 24 2 2.8733 -14.3247 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 2 3.4727 -13.647 +3 16 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 +5 24 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 3.187 3.2182 -13.9608 +3 16 2.712 2.7973 -14.3981 2 3.4727 -13.647 3.187 3.2182 -13.9608 +5 24 2 3.4727 -13.647 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 2 3.965 -12.8866 +3 16 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 +5 24 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 3.703 3.5723 -13.5128 +3 16 3.187 3.2182 -13.9608 2 3.965 -12.8866 3.703 3.5723 -13.5128 +5 24 2 3.965 -12.8866 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 2.828 4.5244 -11.4332 +3 16 2.828 4.5244 -11.4332 3.703 3.5723 -13.5128 2 3.965 -12.8866 +5 24 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 3.703 3.5723 -13.5128 +3 16 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 +5 24 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 2 3.965 -12.8866 +3 16 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 +5 24 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 +5 24 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 4.861 4.3639 -11.9808 +3 16 4.243 3.8636 -13.0657 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 +5 24 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 3.696 4.6934 -10.0498 +3 16 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 +5 24 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 5.543 4.635 -10.8551 +3 16 4.861 4.3639 -11.9808 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 +5 24 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 3.847 4.6472 -9.2773 +3 16 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 +5 24 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 5.767 4.6838 -9.6794 +3 16 5.543 4.635 -10.8551 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 +5 24 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 5 4.5023 -8.5179 +3 16 5.767 4.6838 -9.6794 3.847 4.6472 -9.2773 5 4.5023 -8.5179 +5 24 3.847 4.6472 -9.2773 5 4.5023 -8.5179 5.767 4.6838 -9.6794 4 4.5023 -8.5179 +3 16 4 4.5023 -8.5179 5 4.5023 -8.5179 3.847 4.6472 -9.2773 +5 24 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 3.847 4.6472 -9.2773 +3 16 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 +5 24 4 4.5023 -8.5179 6 4.5023 -8.5179 5.767 4.6838 -9.6794 5.5434 3.92703 -6.29493 +5 24 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2.712 2.7973 -14.3981 +5 24 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2 3.4727 -13.647 +5 24 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -3.187 3.2182 -13.9608 +5 24 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2 3.965 -12.8866 +5 24 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -3.703 3.5723 -13.5128 +5 24 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -2.828 4.5244 -11.4332 +5 24 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -2 4.3383 -12.0536 -3.703 3.5723 -13.5128 +5 24 -3.703 3.5723 -13.5128 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -2 3.965 -12.8866 +5 24 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.255 4.6497 -10.7418 +5 24 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -4.861 4.3639 -11.9808 +5 24 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -3.696 4.6934 -10.0498 +5 24 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -5.543 4.635 -10.8551 +5 24 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -3.847 4.6472 -9.2773 +5 24 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -5.767 4.6838 -9.6794 +5 24 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 -5 4.5023 -8.5179 +5 24 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 -4 4.5023 -8.5179 +5 24 -5.767 4.6838 -9.6794 -5 4.5023 -8.5179 -6 4.5023 -8.5179 -3.847 4.6472 -9.2773 +5 24 -4 4.5023 -8.5179 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.5434 3.92703 -6.29493 +3 16 -3.703 3.5723 -13.5128 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 +3 16 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 +3 16 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 +3 16 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 +3 16 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.255 4.6497 -10.7418 +3 16 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -3.703 3.5723 -13.5128 +3 16 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 +3 16 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -3.696 4.6934 -10.0498 +3 16 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 +3 16 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -3.847 4.6472 -9.2773 +3 16 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -4 4.5023 -8.5179 +3 16 -5 4.5023 -8.5179 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 +3 16 -5.767 4.6838 -9.6794 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 +3 16 -6 4.5023 -8.5179 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 +4 16 -2.8284 -6.4073 -14.2608 -3.6956 -6.7322 -13.0044 -5.5433 -6.5406 -13.7453 -4.2426 -6.0532 -15.6299 +4 16 -3.6956 -6.7322 -13.0044 -4 -7.1155 -11.5224 -5.9999 -7.1155 -11.5224 -5.5433 -6.5406 -13.7453 +4 16 4 -7.1155 -11.5224 3.6956 -6.7322 -13.0044 5.5433 -6.5406 -13.7453 5.9999 -7.1155 -11.5224 +4 16 3.6956 -6.7322 -13.0044 2.8284 -6.4073 -14.2608 4.2426 -6.0532 -15.6299 5.5433 -6.5406 -13.7453 +5 24 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 6 -7.1155 -11.5224 4.243 -6.0531 -15.6303 +5 24 -5.543 -6.5406 -13.7453 -5.543 4.635 -10.8551 -6 -7.1155 -11.5224 -4.243 -6.0531 -15.6303 +5 24 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -5.543 -6.5406 -13.7453 -2.296 -5.7276 -16.8889 +5 24 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 5.543 -6.5406 -13.7453 2.296 -5.7276 -16.8889 +5 24 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -4.243 -6.0531 -15.6303 -2 -5.7129 -16.946 +5 24 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 4.243 -6.0531 -15.6303 2 -5.7129 -16.946 +4 16 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +4 16 2 -6.2687 -14.7967 2.296 -5.7276 -16.8889 4.243 -6.0531 -15.6303 2.828 -6.4074 -14.2604 +2 24 4.243 -6.0531 -15.6303 2.296 -5.7276 -16.8889 +2 24 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 +2 24 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +2 24 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 +3 16 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 -2.296 -5.7276 -16.8889 +3 16 2.296 -5.7276 -16.8889 2 -6.2687 -14.7967 2 -5.7129 -16.946 +2 24 2 -5.7129 -16.946 2 -6.2687 -14.7967 +2 24 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 +2 24 2 -5.7129 -16.946 2.296 -5.7276 -16.8889 +2 24 -2 -5.7129 -16.946 -2.296 -5.7276 -16.8889 +5 24 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.696 -6.7322 -13.0047 -2 -6.2687 -14.7967 +5 24 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 3.696 -6.7322 -13.0047 2 -6.2687 -14.7967 +5 24 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 4 -7.1155 -11.5224 2.828 -6.4074 -14.2604 +5 24 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -4 -7.1155 -11.5224 -2.828 -6.4074 -14.2604 +4 16 -2 1.6198 -12.7566 -2 -6.2687 -14.7967 -2 -5.7129 -16.946 -2 2.1756 -14.9059 +4 16 2 -5.7129 -16.946 2 -6.2687 -14.7967 2 1.6198 -12.7566 2 2.1756 -14.9059 +3 16 -2.296 2.3041 -14.8117 -2 2.8733 -14.3247 -2 2.1756 -14.9059 +3 16 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2 3.4727 -13.647 +3 16 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2 3.965 -12.8866 +3 16 -2 4.3383 -12.0536 -2 3.965 -12.8866 -2.828 4.5244 -11.4332 +4 16 -2 2.1756 -14.9059 -2 2.8733 -14.3247 -2 3.4727 -13.647 -2 1.6198 -12.7566 +4 16 -2 4.3383 -12.0536 -2 1.6198 -12.7566 -2 3.4727 -13.647 -2 3.965 -12.8866 +4 16 2 3.4727 -13.647 2 2.8733 -14.3247 2 2.1756 -14.9059 2 1.6198 -12.7566 +4 16 2 3.4727 -13.647 2 1.6198 -12.7566 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 2.8733 -14.3247 +2 24 -2 2.8733 -14.3247 -2 3.4727 -13.647 +2 24 -2 3.4727 -13.647 -2 3.965 -12.8866 +2 24 -2 4.3383 -12.0536 -2 3.965 -12.8866 +2 24 2 2.1756 -14.9059 2 2.8733 -14.3247 +2 24 2 2.8733 -14.3247 2 3.4727 -13.647 +2 24 2 3.4727 -13.647 2 3.965 -12.8866 +2 24 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +2 24 -2 4.3383 -12.0536 -2 -6.2687 -14.7967 +2 24 2 2.1756 -14.9059 2 -5.7129 -16.946 +2 24 2 4.3383 -12.0536 2 -6.2687 -14.7967 +0 Cuff +3 16 2.1213 -2.1213 0 1.5546 -2.5 0 2.1213 -2.1213 -1.4641 +5 24 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 2.7717 -1.1481 0 1.5546 -2.5 0 +4 16 2.7717 -1.1481 -4.5817 2.7717 -1.1481 0 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 +3 16 2.6602 -1.3149 -4.5478 2.7717 -1.1481 -4.5817 2.1213 -2.1213 -1.4641 +5 24 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 3 0 0 2.1213 -2.1213 0 +4 16 3 0 -4.4423 3 0 0 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 +5 24 3 0 0 3 0 -4.4423 2.7717 1.1481 0 2.7717 -1.1481 0 +4 16 2.7717 1.1481 -3.9877 2.7717 1.1481 0 3 0 0 3 0 -4.4423 +5 24 2.7717 1.1481 0 2.7717 1.1481 -3.9877 2.1213 2.1213 0 3 0 0 +4 16 2.2962 1.8596 -3.4756 2.2962 1.8596 0 2.7717 1.1481 0 2.7717 1.1481 -3.9877 +4 16 2.1213 2.1213 0 2.2962 1.8596 0 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +5 24 2.1213 2.1213 0 2.1213 2.1213 -3.4995 1.1481 2.7717 0 2.7717 1.1481 0 +4 16 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 2.1213 2.1213 -3.4995 +5 24 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 0 3 0 +4 16 0 3 -2.7094 0 3 0 1.1481 2.7717 0 1.1481 2.7717 -3.0039 +5 24 0 3 -2.7094 0 3 0 1.1481 2.7717 0 -1.1481 2.7717 0 +3 16 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 -2.1213 -2.1213 0 +5 24 -2.1213 -2.1213 0 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 0 -1.5546 -2.5 0 +4 16 -2.1213 -2.1213 0 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -2.1213 -2.1213 -1.4641 +3 16 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +5 24 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -3 0 0 -2.1213 -2.1213 0 +4 16 -2.7717 -1.1481 0 -3 0 0 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +5 24 -3 0 0 -3 0 -4.4423 -2.7717 1.1481 0 -2.7717 -1.1481 0 +4 16 -3 0 0 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +5 24 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -2.1213 2.1213 0 -3 0 0 +4 16 -2.7717 1.1481 0 -2.2962 1.8596 0 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +4 16 -2.2962 1.8596 -3.4756 -2.2962 1.8596 0 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 +5 24 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 -1.1481 2.7717 0 -2.7717 1.1481 0 +4 16 -2.1213 2.1213 0 -1.1481 2.7717 0 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +5 24 -1.1481 2.7717 -3.0039 -1.1481 2.7717 0 -2.1213 2.1213 0 0 3 0 +4 16 -1.1481 2.7717 0 0 3 0 0 3 -2.7094 -1.1481 2.7717 -3.0039 +0 Cuff Intersect Lines +2 24 0 3 -2.7094 -1.1481 2.7717 -3.0039 +2 24 -2.2962 1.8596 -3.4756 -2.1213 2.1213 -3.4995 +2 24 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +2 24 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +2 24 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +2 24 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 +2 24 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +2 24 0 3 -2.7094 1.1481 2.7717 -3.0039 +2 24 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +2 24 2.7717 1.1481 -3.9877 3 0 -4.4423 +2 24 2.2962 1.8596 -3.4756 2.7717 1.1481 -3.9877 +2 24 3 0 -4.4423 2.7717 -1.1481 -4.5817 +2 24 2.7717 -1.1481 -4.5817 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +2 24 1.1481 2.7717 -3.0039 2.1213 2.1213 -3.4995 +2 24 -1.5546 -2.5 0 1.5546 -2.5 0 +0 Cuff Ring +3 16 0 -2.5 0 -0.9567 -2.3098 0 -1.5546 -2.5 0 +3 16 1.5546 -2.5 0 0.9567 -2.3098 0 0 -2.5 0 +4 16 2.5 0 0 2.3098 -0.9567 0 2.7717 -1.148 0 3 0 0 +4 16 2.3098 -0.9567 0 1.7678 -1.7678 0 2.1213 -2.1213 0 2.7717 -1.148 0 +4 16 1.7678 -1.7678 0 0.9567 -2.3098 0 1.5546 -2.5 0 2.1213 -2.1213 0 +4 16 -0.9567 -2.3098 0 -1.7678 -1.7678 0 -2.1213 -2.1213 0 -1.5546 -2.5 0 +4 16 -1.7678 -1.7678 0 -2.3098 -0.9567 0 -2.7717 -1.148 0 -2.1213 -2.1213 0 +4 16 -2.3098 -0.9567 0 -2.5 0 0 -3 0 0 -2.7717 -1.148 0 +4 16 -2.5 0 0 -2.3098 0.9567 0 -2.7717 1.148 0 -3 0 0 +4 16 -2.3098 0.9567 0 -1.7678 1.7677 0 -2.1213 2.1213 0 -2.7717 1.148 0 +4 16 -1.7678 1.7677 0 -0.9567 2.3098 0 -1.148 2.7717 0 -2.1213 2.1213 0 +4 16 -0.9567 2.3098 0 0 2.5 0 0 3 0 -1.148 2.7717 0 +4 16 0 2.5 0 0.9567 2.3098 0 1.148 2.7717 0 0 3 0 +4 16 0.9567 2.3098 0 1.7678 1.7677 0 2.1213 2.1213 0 1.148 2.7717 0 +4 16 1.7678 1.7677 0 2.3098 0.9567 0 2.7717 1.148 0 2.1213 2.1213 0 +4 16 2.3098 0.9567 0 2.5 0 0 3 0 0 2.7717 1.148 0 +2 24 2.1213 -2.1213 0 1.5546 -2.5 0 +2 24 -2.1213 -2.1213 0 -1.5546 -2.5 0 +2 24 3 0 0 2.7717 -1.1481 0 +2 24 2.7717 -1.1481 0 2.1213 -2.1213 0 +2 24 -2.1213 -2.1213 0 -2.7717 -1.1481 0 +2 24 -2.7717 -1.1481 0 -3 0 0 +2 24 -3 0 0 -2.7717 1.1481 0 +2 24 -2.7717 1.1481 0 -2.1213 2.1213 0 +2 24 -2.1213 2.1213 0 -1.1481 2.7717 0 +2 24 -1.1481 2.7717 0 0 3 0 +2 24 0 3 0 1.1481 2.7717 0 +2 24 1.1481 2.7717 0 2.1213 2.1213 0 +2 24 2.1213 2.1213 0 2.7717 1.1481 0 +2 24 2.7717 1.1481 0 3 0 0 +0 Flat part of Cuff +4 16 -1.5546 -2.5 0 -2.1213 -2.1213 -1.4641 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +4 16 0 -2.1213 -1.4641 -2.1213 -2.1213 -1.4641 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +3 16 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +4 16 2.2962 -1.3762 -4.3124 2.1213 -2.1213 -1.4641 0 -2.1213 -1.4641 0 -1.4914 -3.8706 +3 16 2.2962 -1.3762 -4.3124 2.6602 -1.3149 -4.5478 2.1213 -2.1213 -1.4641 +2 24 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +2 24 2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +2 24 2.6602 -1.3149 -4.5478 2.2962 -1.3762 -4.3124 +2 24 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +0 diff --git a/tests/Service/Loader/ModelLoader/fixtures/update2/version2/parts/3820.dat b/tests/Service/Loader/ModelLoader/fixtures/update2/version2/parts/3820.dat new file mode 100644 index 0000000..327c93a --- /dev/null +++ b/tests/Service/Loader/ModelLoader/fixtures/update2/version2/parts/3820.dat @@ -0,0 +1,319 @@ +0 Minifig Hand 2 +0 Name: 3820.dat +0 Author: Orion Pobursky [OrionP] +0 !LDRAW_ORG Part UPDATE 2010-03 +0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt + +0 !HELP The Hand angle is 14.5 degrees +0 !HELP To rotate the hand to 90 degrees horizontal use the following rotation +0 !HELP matrix: 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 +0 !HELP After the rotation matrix is applied: +0 !HELP The center of the bottom of the hand will be x, y+2.2259, z-9.3739 +0 !HELP The center of the top of the hand will be x, y-9.7741, z-9.3739 +0 !HELP where x, y, and z are the origin coordinates of the part +0 !HELP Example: for the following DAT line: +0 !HELP 1 16 1 1 1 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 3820.dat +0 !HELP The origin of the part is 1,1,1 +0 !HELP The center of the bottom of the hand is 1, 3.2259, -8.3739 + +0 BFC CERTIFY CCW + +0 !HISTORY 2002-11-30 [PTadmin] Official Update 2002-05 +0 !HISTORY 2002-12-31 [PTadmin] Official Update 2002-06 +0 !HISTORY 2007-07-29 [PTadmin] Header formatted for Contributor Agreement +0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01 +0 !HISTORY 2008-07-07 [DeannaEarley] Removed erroneous BFC CERTIFY entries (2005-08-29 +0 !HISTORY 2008-07-07 [WilliamH] Added conditional lines to underside (2006-08-17) +0 !HISTORY 2009-08-24 [PTadmin] Moved from 983 +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03 +0 !HISTORY 2009-12-29 [PTadmin] Official Update 2010-03 + +0 // Post + + +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 13 0 4-4cyli.dat +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +1 16 0 0 0 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat +0 BFC INVERTNEXT +1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4disc.dat +0 Hand +1 16 0 4.502 -8.518 -6 0 0 0 -11.6178 -1.5023 0 -3.0046 5.8089 2-4cyli.dat +0 BFC INVERTNEXT +1 16 0 4.502 -8.518 -4 0 0 0 -11.6178 -1.0015 0 -3.0046 3.8726 2-4cyli.dat +1 16 0 4.502 -8.518 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +0 BFC INVERTNEXT +1 16 0 -7.116 -11.522 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat +1 16 0 -7.116 -11.522 -4.2426 0 -4.2426 1.0623 -0.9681 -1.0623 -4.1075 -0.2504 4.1075 3-4edge.dat +1 16 0 -7.116 -11.522 -2.8284 0 -2.8284 0.7082 -0.9681 -0.7082 -2.7383 -0.2504 2.7383 3-4edge.dat +1 16 0 4.502 -8.518 -6 0 0 0 -0.9681 -1.5023 0 -0.2504 5.8089 2-4edge.dat +1 16 0 4.502 -8.518 -4 0 0 0 -0.9681 -1.0015 0 -0.2504 3.8726 2-4edge.dat +3 16 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 +3 16 -5.543 -6.5406 -13.7453 -6 -7.1155 -11.5224 -6 4.5023 -8.5179 +4 16 5.767 4.6838 -9.6794 6 4.5023 -8.5179 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 +4 16 -5.543 -6.5406 -13.7453 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 6 4.5023 -8.5179 5.767 4.6838 -9.6794 +2 24 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 +2 24 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 +2 24 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 +4 16 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 3.696 -6.7322 -13.0047 4 4.5023 -8.5179 +4 16 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +2 24 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 +2 24 -3.847 4.6472 -9.2773 -3.696 4.6934 -10.0498 +2 24 3.847 4.6472 -9.2773 4 4.5023 -8.5179 +2 24 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179 +3 16 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 +5 24 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 5.5434 -7.69097 -9.29893 +5 24 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 3.6956 -7.49931 -10.04 +5 24 -6 4.5023 -8.5179 -6 -7.1155 -11.5224 -5.543 -6.5406 -13.7453 -5.5434 -7.69097 -9.29893 +5 24 -4 -7.1155 -11.5224 -4 4.5023 -8.5179 -3.696 -6.7322 -13.0047 -3.6956 -7.49931 -10.04 +3 16 -3.696 -6.7322 -13.0047 -4 4.5023 -8.5179 -4 -7.1155 -11.5224 +4 16 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -4.243 -6.0531 -15.6303 -5.543 -6.5406 -13.7453 +4 16 4.243 -6.0531 -15.6303 4.861 4.3639 -11.9808 5.543 4.635 -10.8551 5.543 -6.5406 -13.7453 +3 16 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -4.243 -6.0531 -15.6303 +3 16 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 4.861 4.3639 -11.9808 +2 24 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 +2 24 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 +2 24 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 +2 24 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 +3 16 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 2.828 4.5244 -11.4332 2.828 -6.4074 -14.2604 +4 16 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 -3.696 -6.7322 -13.0047 -2.828 -6.4074 -14.2604 +4 16 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 3.255 4.6497 -10.7418 2.828 -6.4074 -14.2604 +2 24 2.828 4.5244 -11.4332 3.255 4.6497 -10.7418 +2 24 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418 +2 24 3.255 4.6497 -10.7418 3.696 4.6934 -10.0498 +2 24 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 +4 16 2 4.3383 -12.0536 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 +4 16 -2.828 -6.4074 -14.2604 -2 -6.2687 -14.7967 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332 +2 24 2 4.3383 -12.0536 2.828 4.5244 -11.4332 +4 16 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2.296 -5.7276 -16.8889 -2.712 -5.797 -16.6207 +4 16 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 2.712 2.7973 -14.3981 2.712 -5.797 -16.6207 +2 24 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 +2 24 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 +4 16 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2.712 -5.797 -16.6207 -3.187 -5.8766 -16.3128 +4 16 2.712 -5.797 -16.6207 2.712 2.7973 -14.3981 3.187 3.2182 -13.9608 3.187 -5.8766 -16.3128 +2 24 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 +2 24 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 +4 16 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -3.187 -5.8766 -16.3128 -3.703 -5.963 -15.9788 +4 16 3.187 -5.8766 -16.3128 3.187 3.2182 -13.9608 3.703 3.5723 -13.5128 3.703 -5.963 -15.9788 +2 24 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 +2 24 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 +4 16 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.703 -5.963 -15.9788 +4 16 3.703 3.5723 -13.5128 4.243 3.8636 -13.0657 4.243 -6.0531 -15.6303 3.703 -5.963 -15.9788 +2 24 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 +2 24 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 +4 16 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +4 16 2.296 -5.7276 -16.8889 2 -5.7129 -16.946 2 2.1756 -14.9059 2.296 2.3041 -14.8117 +2 24 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 +2 24 2.296 2.3041 -14.8117 2 2.1756 -14.9059 +3 16 2 2.1756 -14.9059 2 2.8733 -14.3247 2.296 2.3041 -14.8117 +5 24 2 2.8733 -14.3247 2.296 2.3041 -14.8117 2 2.1756 -14.9059 2.712 2.7973 -14.3981 +3 16 2.296 2.3041 -14.8117 2 2.8733 -14.3247 2.712 2.7973 -14.3981 +5 24 2 2.8733 -14.3247 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 2 3.4727 -13.647 +3 16 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 +5 24 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 3.187 3.2182 -13.9608 +3 16 2.712 2.7973 -14.3981 2 3.4727 -13.647 3.187 3.2182 -13.9608 +5 24 2 3.4727 -13.647 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 2 3.965 -12.8866 +3 16 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 +5 24 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 3.703 3.5723 -13.5128 +3 16 3.187 3.2182 -13.9608 2 3.965 -12.8866 3.703 3.5723 -13.5128 +5 24 2 3.965 -12.8866 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 2.828 4.5244 -11.4332 +3 16 2.828 4.5244 -11.4332 3.703 3.5723 -13.5128 2 3.965 -12.8866 +5 24 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 3.703 3.5723 -13.5128 +3 16 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 +5 24 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 2 3.965 -12.8866 +3 16 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 +5 24 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 3.255 4.6497 -10.7418 +3 16 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 +5 24 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 4.861 4.3639 -11.9808 +3 16 4.243 3.8636 -13.0657 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 +5 24 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 3.696 4.6934 -10.0498 +3 16 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 +5 24 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 5.543 4.635 -10.8551 +3 16 4.861 4.3639 -11.9808 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 +5 24 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 3.847 4.6472 -9.2773 +3 16 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 +5 24 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 5.767 4.6838 -9.6794 +3 16 5.543 4.635 -10.8551 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 +5 24 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 5 4.5023 -8.5179 +3 16 5.767 4.6838 -9.6794 3.847 4.6472 -9.2773 5 4.5023 -8.5179 +5 24 3.847 4.6472 -9.2773 5 4.5023 -8.5179 5.767 4.6838 -9.6794 4 4.5023 -8.5179 +3 16 4 4.5023 -8.5179 5 4.5023 -8.5179 3.847 4.6472 -9.2773 +5 24 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 3.847 4.6472 -9.2773 +3 16 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 +5 24 4 4.5023 -8.5179 6 4.5023 -8.5179 5.767 4.6838 -9.6794 5.5434 3.92703 -6.29493 +5 24 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2.712 2.7973 -14.3981 +5 24 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2 3.4727 -13.647 +5 24 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -3.187 3.2182 -13.9608 +5 24 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2 3.965 -12.8866 +5 24 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -3.703 3.5723 -13.5128 +5 24 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -2.828 4.5244 -11.4332 +5 24 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -2 4.3383 -12.0536 -3.703 3.5723 -13.5128 +5 24 -3.703 3.5723 -13.5128 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -2 3.965 -12.8866 +5 24 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.255 4.6497 -10.7418 +5 24 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -4.861 4.3639 -11.9808 +5 24 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -3.696 4.6934 -10.0498 +5 24 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -5.543 4.635 -10.8551 +5 24 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -3.847 4.6472 -9.2773 +5 24 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -5.767 4.6838 -9.6794 +5 24 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 -5 4.5023 -8.5179 +5 24 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 -4 4.5023 -8.5179 +5 24 -5.767 4.6838 -9.6794 -5 4.5023 -8.5179 -6 4.5023 -8.5179 -3.847 4.6472 -9.2773 +5 24 -4 4.5023 -8.5179 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.5434 3.92703 -6.29493 +3 16 -3.703 3.5723 -13.5128 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 +3 16 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 +3 16 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 +3 16 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 +3 16 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.255 4.6497 -10.7418 +3 16 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -3.703 3.5723 -13.5128 +3 16 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 +3 16 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -3.696 4.6934 -10.0498 +3 16 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 +3 16 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -3.847 4.6472 -9.2773 +3 16 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -4 4.5023 -8.5179 +3 16 -5 4.5023 -8.5179 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 +3 16 -5.767 4.6838 -9.6794 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 +3 16 -6 4.5023 -8.5179 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 +4 16 -2.8284 -6.4073 -14.2608 -3.6956 -6.7322 -13.0044 -5.5433 -6.5406 -13.7453 -4.2426 -6.0532 -15.6299 +4 16 -3.6956 -6.7322 -13.0044 -4 -7.1155 -11.5224 -5.9999 -7.1155 -11.5224 -5.5433 -6.5406 -13.7453 +4 16 4 -7.1155 -11.5224 3.6956 -6.7322 -13.0044 5.5433 -6.5406 -13.7453 5.9999 -7.1155 -11.5224 +4 16 3.6956 -6.7322 -13.0044 2.8284 -6.4073 -14.2608 4.2426 -6.0532 -15.6299 5.5433 -6.5406 -13.7453 +5 24 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 6 -7.1155 -11.5224 4.243 -6.0531 -15.6303 +5 24 -5.543 -6.5406 -13.7453 -5.543 4.635 -10.8551 -6 -7.1155 -11.5224 -4.243 -6.0531 -15.6303 +5 24 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -5.543 -6.5406 -13.7453 -2.296 -5.7276 -16.8889 +5 24 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 5.543 -6.5406 -13.7453 2.296 -5.7276 -16.8889 +5 24 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -4.243 -6.0531 -15.6303 -2 -5.7129 -16.946 +5 24 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 4.243 -6.0531 -15.6303 2 -5.7129 -16.946 +4 16 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +4 16 2 -6.2687 -14.7967 2.296 -5.7276 -16.8889 4.243 -6.0531 -15.6303 2.828 -6.4074 -14.2604 +2 24 4.243 -6.0531 -15.6303 2.296 -5.7276 -16.8889 +2 24 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 +2 24 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604 +2 24 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 +3 16 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 -2.296 -5.7276 -16.8889 +3 16 2.296 -5.7276 -16.8889 2 -6.2687 -14.7967 2 -5.7129 -16.946 +2 24 2 -5.7129 -16.946 2 -6.2687 -14.7967 +2 24 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 +2 24 2 -5.7129 -16.946 2.296 -5.7276 -16.8889 +2 24 -2 -5.7129 -16.946 -2.296 -5.7276 -16.8889 +5 24 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.696 -6.7322 -13.0047 -2 -6.2687 -14.7967 +5 24 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 3.696 -6.7322 -13.0047 2 -6.2687 -14.7967 +5 24 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 4 -7.1155 -11.5224 2.828 -6.4074 -14.2604 +5 24 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -4 -7.1155 -11.5224 -2.828 -6.4074 -14.2604 +4 16 -2 1.6198 -12.7566 -2 -6.2687 -14.7967 -2 -5.7129 -16.946 -2 2.1756 -14.9059 +4 16 2 -5.7129 -16.946 2 -6.2687 -14.7967 2 1.6198 -12.7566 2 2.1756 -14.9059 +3 16 -2.296 2.3041 -14.8117 -2 2.8733 -14.3247 -2 2.1756 -14.9059 +3 16 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2 3.4727 -13.647 +3 16 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2 3.965 -12.8866 +3 16 -2 4.3383 -12.0536 -2 3.965 -12.8866 -2.828 4.5244 -11.4332 +4 16 -2 2.1756 -14.9059 -2 2.8733 -14.3247 -2 3.4727 -13.647 -2 1.6198 -12.7566 +4 16 -2 4.3383 -12.0536 -2 1.6198 -12.7566 -2 3.4727 -13.647 -2 3.965 -12.8866 +4 16 2 3.4727 -13.647 2 2.8733 -14.3247 2 2.1756 -14.9059 2 1.6198 -12.7566 +4 16 2 3.4727 -13.647 2 1.6198 -12.7566 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 2.8733 -14.3247 +2 24 -2 2.8733 -14.3247 -2 3.4727 -13.647 +2 24 -2 3.4727 -13.647 -2 3.965 -12.8866 +2 24 -2 4.3383 -12.0536 -2 3.965 -12.8866 +2 24 2 2.1756 -14.9059 2 2.8733 -14.3247 +2 24 2 2.8733 -14.3247 2 3.4727 -13.647 +2 24 2 3.4727 -13.647 2 3.965 -12.8866 +2 24 2 4.3383 -12.0536 2 3.965 -12.8866 +2 24 -2 2.1756 -14.9059 -2 -5.7129 -16.946 +2 24 -2 4.3383 -12.0536 -2 -6.2687 -14.7967 +2 24 2 2.1756 -14.9059 2 -5.7129 -16.946 +2 24 2 4.3383 -12.0536 2 -6.2687 -14.7967 +0 Cuff +3 16 2.1213 -2.1213 0 1.5546 -2.5 0 2.1213 -2.1213 -1.4641 +5 24 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 2.7717 -1.1481 0 1.5546 -2.5 0 +4 16 2.7717 -1.1481 -4.5817 2.7717 -1.1481 0 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 +3 16 2.6602 -1.3149 -4.5478 2.7717 -1.1481 -4.5817 2.1213 -2.1213 -1.4641 +5 24 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 3 0 0 2.1213 -2.1213 0 +4 16 3 0 -4.4423 3 0 0 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 +5 24 3 0 0 3 0 -4.4423 2.7717 1.1481 0 2.7717 -1.1481 0 +4 16 2.7717 1.1481 -3.9877 2.7717 1.1481 0 3 0 0 3 0 -4.4423 +5 24 2.7717 1.1481 0 2.7717 1.1481 -3.9877 2.1213 2.1213 0 3 0 0 +4 16 2.2962 1.8596 -3.4756 2.2962 1.8596 0 2.7717 1.1481 0 2.7717 1.1481 -3.9877 +4 16 2.1213 2.1213 0 2.2962 1.8596 0 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +5 24 2.1213 2.1213 0 2.1213 2.1213 -3.4995 1.1481 2.7717 0 2.7717 1.1481 0 +4 16 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 2.1213 2.1213 -3.4995 +5 24 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 0 3 0 +4 16 0 3 -2.7094 0 3 0 1.1481 2.7717 0 1.1481 2.7717 -3.0039 +5 24 0 3 -2.7094 0 3 0 1.1481 2.7717 0 -1.1481 2.7717 0 +3 16 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 -2.1213 -2.1213 0 +5 24 -2.1213 -2.1213 0 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 0 -1.5546 -2.5 0 +4 16 -2.1213 -2.1213 0 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -2.1213 -2.1213 -1.4641 +3 16 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +5 24 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -3 0 0 -2.1213 -2.1213 0 +4 16 -2.7717 -1.1481 0 -3 0 0 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +5 24 -3 0 0 -3 0 -4.4423 -2.7717 1.1481 0 -2.7717 -1.1481 0 +4 16 -3 0 0 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +5 24 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -2.1213 2.1213 0 -3 0 0 +4 16 -2.7717 1.1481 0 -2.2962 1.8596 0 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +4 16 -2.2962 1.8596 -3.4756 -2.2962 1.8596 0 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 +5 24 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 -1.1481 2.7717 0 -2.7717 1.1481 0 +4 16 -2.1213 2.1213 0 -1.1481 2.7717 0 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +5 24 -1.1481 2.7717 -3.0039 -1.1481 2.7717 0 -2.1213 2.1213 0 0 3 0 +4 16 -1.1481 2.7717 0 0 3 0 0 3 -2.7094 -1.1481 2.7717 -3.0039 +0 Cuff Intersect Lines +2 24 0 3 -2.7094 -1.1481 2.7717 -3.0039 +2 24 -2.2962 1.8596 -3.4756 -2.1213 2.1213 -3.4995 +2 24 -2.7717 1.1481 -3.9877 -3 0 -4.4423 +2 24 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877 +2 24 -3 0 -4.4423 -2.7717 -1.1481 -4.5817 +2 24 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 +2 24 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 +2 24 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995 +2 24 0 3 -2.7094 1.1481 2.7717 -3.0039 +2 24 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995 +2 24 2.7717 1.1481 -3.9877 3 0 -4.4423 +2 24 2.2962 1.8596 -3.4756 2.7717 1.1481 -3.9877 +2 24 3 0 -4.4423 2.7717 -1.1481 -4.5817 +2 24 2.7717 -1.1481 -4.5817 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 2.6602 -1.3149 -4.5478 +2 24 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +2 24 1.1481 2.7717 -3.0039 2.1213 2.1213 -3.4995 +2 24 -1.5546 -2.5 0 1.5546 -2.5 0 +0 Cuff Ring +3 16 0 -2.5 0 -0.9567 -2.3098 0 -1.5546 -2.5 0 +3 16 1.5546 -2.5 0 0.9567 -2.3098 0 0 -2.5 0 +4 16 2.5 0 0 2.3098 -0.9567 0 2.7717 -1.148 0 3 0 0 +4 16 2.3098 -0.9567 0 1.7678 -1.7678 0 2.1213 -2.1213 0 2.7717 -1.148 0 +4 16 1.7678 -1.7678 0 0.9567 -2.3098 0 1.5546 -2.5 0 2.1213 -2.1213 0 +4 16 -0.9567 -2.3098 0 -1.7678 -1.7678 0 -2.1213 -2.1213 0 -1.5546 -2.5 0 +4 16 -1.7678 -1.7678 0 -2.3098 -0.9567 0 -2.7717 -1.148 0 -2.1213 -2.1213 0 +4 16 -2.3098 -0.9567 0 -2.5 0 0 -3 0 0 -2.7717 -1.148 0 +4 16 -2.5 0 0 -2.3098 0.9567 0 -2.7717 1.148 0 -3 0 0 +4 16 -2.3098 0.9567 0 -1.7678 1.7677 0 -2.1213 2.1213 0 -2.7717 1.148 0 +4 16 -1.7678 1.7677 0 -0.9567 2.3098 0 -1.148 2.7717 0 -2.1213 2.1213 0 +4 16 -0.9567 2.3098 0 0 2.5 0 0 3 0 -1.148 2.7717 0 +4 16 0 2.5 0 0.9567 2.3098 0 1.148 2.7717 0 0 3 0 +4 16 0.9567 2.3098 0 1.7678 1.7677 0 2.1213 2.1213 0 1.148 2.7717 0 +4 16 1.7678 1.7677 0 2.3098 0.9567 0 2.7717 1.148 0 2.1213 2.1213 0 +4 16 2.3098 0.9567 0 2.5 0 0 3 0 0 2.7717 1.148 0 +2 24 2.1213 -2.1213 0 1.5546 -2.5 0 +2 24 -2.1213 -2.1213 0 -1.5546 -2.5 0 +2 24 3 0 0 2.7717 -1.1481 0 +2 24 2.7717 -1.1481 0 2.1213 -2.1213 0 +2 24 -2.1213 -2.1213 0 -2.7717 -1.1481 0 +2 24 -2.7717 -1.1481 0 -3 0 0 +2 24 -3 0 0 -2.7717 1.1481 0 +2 24 -2.7717 1.1481 0 -2.1213 2.1213 0 +2 24 -2.1213 2.1213 0 -1.1481 2.7717 0 +2 24 -1.1481 2.7717 0 0 3 0 +2 24 0 3 0 1.1481 2.7717 0 +2 24 1.1481 2.7717 0 2.1213 2.1213 0 +2 24 2.1213 2.1213 0 2.7717 1.1481 0 +2 24 2.7717 1.1481 0 3 0 0 +0 Flat part of Cuff +4 16 -1.5546 -2.5 0 -2.1213 -2.1213 -1.4641 2.1213 -2.1213 -1.4641 1.5546 -2.5 0 +4 16 0 -2.1213 -1.4641 -2.1213 -2.1213 -1.4641 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +3 16 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +4 16 2.2962 -1.3762 -4.3124 2.1213 -2.1213 -1.4641 0 -2.1213 -1.4641 0 -1.4914 -3.8706 +3 16 2.2962 -1.3762 -4.3124 2.6602 -1.3149 -4.5478 2.1213 -2.1213 -1.4641 +2 24 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124 +2 24 2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +2 24 2.6602 -1.3149 -4.5478 2.2962 -1.3762 -4.3124 +2 24 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706 +0