Povray: Update for MauritiusRay

This commit is contained in:
Brendon Murphy 2017-01-30 09:27:30 +11:00
parent 6f40579d5b
commit 7faf5784ea
1 changed files with 44 additions and 11 deletions

View File

@ -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: