Move 'render auto tile size' addon to main repo.
[blender-addons-contrib.git] / add_mesh_rocks / utils.py
1 # ##### BEGIN GPL LICENSE BLOCK #####
2 #
3 #  The Blender Rock Creation tool is for rapid generation of mesh rocks.
4 #  Copyright (C) 2011  Paul Marshall
5 #
6 #  This program is free software: you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation, either version 3 of the License, or
9 #  (at your option) any later version.
10 #
11 #  This program is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 #
19 # ##### END GPL LICENSE BLOCK #####
20
21 # <pep8 compliant>
22
23
24 # Converts a formated string to a float tuple:
25 #   IN - '(0.5, 0.2)' -> CONVERT -> OUT - (0.5, 0.2)
26 def toTuple(stringIn):
27     sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ')
28     fTemp = []
29     for i in sTemp:
30         fTemp.append(float(i))
31     return tuple(fTemp)
32
33
34 # Converts a formated string to a float tuple:
35 #   IN - '[0.5, 0.2]' -> CONVERT -> OUT - [0.5, 0.2]
36 def toList(stringIn):
37     sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ')
38     fTemp = []
39     for i in sTemp:
40         fTemp.append(float(i))
41     return fTemp
42
43
44 # Converts each item of a list into a float:
45 def toFloats(inList):
46     outList = []
47     for i in inList:
48         outList.append(float(i))
49     return outList
50
51
52 # Converts each item of a list into an integer:
53 def toInts(inList):
54     outList = []
55     for i in inList:
56         outList.append(int(i))
57     return outList
58
59
60 # Sets all faces smooth.  Done this way since I can't
61 # find a simple way without using bpy.ops:
62 def smooth(mesh):
63     import bmesh
64     bm = bmesh.new()
65     bm.from_mesh(mesh)
66     for f in bm.faces:
67         f.smooth = True
68     bm.to_mesh(mesh)
69     return mesh