chiark / gitweb /
Add back the ultimaker platform, and made the platform mesh simpler.
[cura.git] / Cura / slice / cura_sf / fabmetheus_utilities / geometry / solids / union.py
1 """
2 Boolean geometry union of solids.
3
4 """
5
6
7 from __future__ import absolute_import
8
9 from fabmetheus_utilities.geometry.geometry_utilities import evaluate
10 from fabmetheus_utilities.geometry.solids import difference
11 from fabmetheus_utilities.geometry.solids import group
12
13
14 __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
15 __credits__ = 'Nophead <http://hydraraptor.blogspot.com/>\nArt of Illusion <http://www.artofillusion.org/>'
16 __date__ = '$Date: 2008/21/04 $'
17 __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
18
19
20 def convertElementNode(elementNode, geometryOutput):
21         'Convert the xml element to a union xml element.'
22         group.convertContainerElementNode(elementNode, geometryOutput, Union())
23
24 def getNewDerivation(elementNode):
25         'Get new derivation.'
26         return evaluate.EmptyObject(elementNode)
27
28 def processElementNode(elementNode):
29         'Process the xml element.'
30         evaluate.processArchivable(Union, elementNode)
31
32
33 class Union(difference.Difference):
34         'A difference object.'
35         def getLoopsFromObjectLoopsList(self, importRadius, visibleObjectLoopsList):
36                 'Get loops from visible object loops list.'
37                 return self.getUnion(importRadius, visibleObjectLoopsList)