1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-29 10:10:25 -07:00

Fix LDraw entities persistence annotation

This commit is contained in:
David Hübner 2017-04-10 16:53:12 +02:00
parent 36a4e0e73d
commit 04a2754425
4 changed files with 32 additions and 8 deletions

View File

@ -18,7 +18,7 @@ class Alias
/** /**
* @var Model * @var Model
* *
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Model", inversedBy="aliases", cascade={"persist"}) * @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Model", inversedBy="aliases")
*/ */
private $model; private $model;

View File

@ -5,6 +5,7 @@ namespace AppBundle\Entity\LDraw;
use AppBundle\Entity\Traits\NumberTrait; use AppBundle\Entity\Traits\NumberTrait;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** /**
@ -41,7 +42,7 @@ class Model
/** /**
* @var ArrayCollection * @var ArrayCollection
* *
* @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Subpart", mappedBy="parent") * @ORM\OneToMany(targetEntity="AppBundle\Entity\LDraw\Subpart", mappedBy="parent", cascade={"persist"})
*/ */
private $subparts; private $subparts;
@ -269,6 +270,21 @@ class Model
return $this; return $this;
} }
/**
* @param Subpart $subpart
*
* @return $this
*/
public function addSubpart($subpart)
{
if (!$this->subparts->contains($subpart)) {
$this->subparts->add($subpart);
}
return $this;
}
/** /**
* @return ArrayCollection * @return ArrayCollection
*/ */

View File

@ -16,7 +16,7 @@ class Subpart
* @var Model * @var Model
* *
* @ORM\Id * @ORM\Id
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Model", inversedBy="subparts", cascade={"persist"}) * @ORM\ManyToOne(targetEntity="AppBundle\Entity\LDraw\Model", inversedBy="subparts")
*/ */
private $parent; private $parent;

View File

@ -26,6 +26,8 @@ class LDViewService
*/ */
private $ldrawLibraryFilesystem; private $ldrawLibraryFilesystem;
private $rewrite = false;
/** /**
* LDViewService constructor. * LDViewService constructor.
* *
@ -64,7 +66,7 @@ class LDViewService
$newFile = 'ldraw'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.basename($file,'.dat').'.stl'; $newFile = 'ldraw'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.basename($file,'.dat').'.stl';
if (!file_exists($newFile)) { if (!file_exists($newFile) || $this->rewrite) {
$this->runLDView([ $this->runLDView([
$file, $file,
'-LDrawDir='.$this->ldrawLibraryFilesystem->getAdapter()->getPathPrefix(), '-LDrawDir='.$this->ldrawLibraryFilesystem->getAdapter()->getPathPrefix(),
@ -73,6 +75,8 @@ class LDViewService
'-ExportsDir='.$this->mediaFilesystem->getAdapter()->getPathPrefix().'ldraw'.DIRECTORY_SEPARATOR.'models', '-ExportsDir='.$this->mediaFilesystem->getAdapter()->getPathPrefix().'ldraw'.DIRECTORY_SEPARATOR.'models',
]); ]);
// Check if file created successfully // Check if file created successfully
if (!$this->mediaFilesystem->has($newFile)) { if (!$this->mediaFilesystem->has($newFile)) {
throw new LogicException($newFile.': new file not found'); //TODO throw new LogicException($newFile.': new file not found'); //TODO
@ -98,18 +102,22 @@ class LDViewService
$newFile = 'ldraw'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.basename($file,'.dat').'.png'; $newFile = 'ldraw'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.basename($file,'.dat').'.png';
if (!$this->mediaFilesystem->has($newFile)) { if (!$this->mediaFilesystem->has($newFile) || $this->rewrite) {
$this->runLDView([ $this->runLDView([
$file, $file,
'-LDrawDir='.$this->ldrawLibraryFilesystem->getAdapter()->getPathPrefix(), '-LDrawDir='.$this->ldrawLibraryFilesystem->getAdapter()->getPathPrefix(),
'-AutoCrop=0', '-AutoCrop=0',
'-SaveAlpha=1', '-SaveAlpha=0',
'-BackgroundColor3=0xFFFFFF', '-BackgroundColor3=0xFFFFFF',
'-DefaultColor3=0x136FC3', '-DefaultColor3=0x136FC3',
'-SnapshotSuffix=.png', '-SnapshotSuffix=.png',
'-HiResPrimitives=1', '-HiResPrimitives=1',
'-CurveQuality=10', '-UseQualityStuds=1',
'-DefaultLatLong=40,35', '-UseQualityLighting=1',
'-SaveHeight=600',
'-SaveWidth=800',
'-CurveQuality=12',
'-DefaultLatLong=45,40',
'-SaveDir='.$this->mediaFilesystem->getAdapter()->getPathPrefix().'ldraw'.DIRECTORY_SEPARATOR.'images', '-SaveDir='.$this->mediaFilesystem->getAdapter()->getPathPrefix().'ldraw'.DIRECTORY_SEPARATOR.'images',
'-SaveSnapshots=1', '-SaveSnapshots=1',
]); ]);