Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeta-androcto <meta.androcto1@gmail.com>2017-01-30 01:27:30 +0300
committermeta-androcto <meta.androcto1@gmail.com>2017-01-30 01:27:30 +0300
commit7faf5784ea3be9a16c65f7c3fba133e7fdf68616 (patch)
tree3f9fa46afdfc2748e885fdcfccc3617fe9778394 /render_povray
parent6f40579d5bd29e235b8aa372297de5eabf23aab7 (diff)
Povray: Update for MauritiusRay
Diffstat (limited to 'render_povray')
-rw-r--r--render_povray/primitives.py55
1 files changed, 44 insertions, 11 deletions
diff --git a/render_povray/primitives.py b/render_povray/primitives.py
index f053f29f..1a9eea8a 100644
--- a/render_povray/primitives.py
+++ b/render_povray/primitives.py
@@ -1526,8 +1526,36 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
#filepov = bpy.path.abspath(self.filepath) #was used for single files
def mat_search(cache):
- r,g,b,t = float(cache[-5]),float(cache[-4]),float(cache[-3]),float(cache[-2])
- color = (r,g,b,t)
+ r = g = b = 0.5
+ f = t = 0
+ color = None
+
+ for item, value in enumerate(cache):
+
+ if value == 'texture':
+ pass
+
+ if value == 'pigment':
+
+ if cache[item+2] in {'rgb','srgb'}:
+ pass
+
+ elif cache[item+2] in {'rgbf','srgbf'}:
+ pass
+
+ elif cache[item+2] in {'rgbt','srgbt'}:
+ try:
+ r,g,b,t = float(cache[item+3]),float(cache[item+4]),float(cache[item+5]),float(cache[item+6])
+ except:
+ r = g = b = t = float(cache[item+2])
+ color = (r,g,b,t)
+
+ elif cache[item+2] in {'rgbft','srgbft'}:
+ pass
+
+ else:
+ pass
+
if colors == [] or (colors != [] and color not in colors):
colors.append(color)
name = ob.name+"_mat"
@@ -1538,10 +1566,10 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
if mat.alpha != 1:
mat.use_transparency=True
ob.data.materials.append(mat)
- print (colors)
+
else:
- for i in range(len(colors)):
- if color == colors[i]:
+ for i, value in enumerate(colors):
+ if color == value:
ob.data.materials.append(bpy.data.materials[matNames[i]])
for file in self.files:
print ("Importing file: "+ file.name)
@@ -1694,21 +1722,26 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
if sphere_search:
cache.append(word)
if cache[-1] == '}':
+ x = y = z = r = 0
try:
x = float(cache[2])
y = float(cache[3])
z = float(cache[4])
r = float(cache[5])
- bpy.ops.pov.addsphere(R=r, imported_loc=(x, y, z))
- ob = context.object
- ob.location = (x,y,z)
- #ob.scale = (r,r,r)
- mat_search(cache)
+
except (ValueError):
pass
+ except:
+ x = y = z = float(cache[2])
+ r = float(cache[3])
+ bpy.ops.pov.addsphere(R=r, imported_loc=(x, y, z))
+ ob = context.object
+ ob.location = (x,y,z)
+ ob.scale = (r,r,r)
+ mat_search(cache)
cache = []
sphere_search = False
- ##################End Primitives Import##################
+##################End Primitives Import##################
if word == '#declare':
name_search = True
if name_search: