[Bf-extensions-cvs] [d20975b] master: *added: write pov console to a log read by Blender console *fix: area_illumination syntax updated to fix bug in area lights *fix:sphere sweep was buggy (bezier curve would'nt export) *several curves in one blender object can now export Thanks Lanuhum *fix:hair with no material slot would'nt export *fixemodifier like subsurf or mirror over curves wouldn't export, now trying to convert to mesh *fix:meshes with 0 vertices wrote a bad file, now create a dummy 0 radius sphere *fix: export visible layer only was broken
Maurice Raybaud
noreply at git.blender.org
Tue Aug 23 19:39:27 CEST 2016
Commit: d20975b80900f4e2a13d792274b989cf5cc4880f
Author: Maurice Raybaud
Date: Tue Aug 23 19:39:13 2016 +0200
Branches: master
https://developer.blender.org/rBAd20975b80900f4e2a13d792274b989cf5cc4880f
*added: write pov console to a log read by Blender console
*fix: area_illumination syntax updated to fix bug in area lights
*fix:sphere sweep was buggy (bezier curve would'nt export)
*several curves in one blender object can now export Thanks Lanuhum
*fix:hair with no material slot would'nt export
*fixemodifier like subsurf or mirror over curves wouldn't export, now trying to convert to mesh
*fix:meshes with 0 vertices wrote a bad file, now create a dummy 0 radius sphere
*fix: export visible layer only was broken
===================================================================
M render_povray/primitives.py
M render_povray/render.py
M render_povray/shading.py
===================================================================
diff --git a/render_povray/primitives.py b/render_povray/primitives.py
index 27010ba..dcb920d 100644
--- a/render_povray/primitives.py
+++ b/render_povray/primitives.py
@@ -52,7 +52,7 @@ class POVRAY_OT_lathe_add(bpy.types.Operator):
ob.name = ob.data.name = "PovLathe"
ob.pov.object_as='LATHE'
bpy.ops.object.mode_set(mode='EDIT')
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
bpy.ops.transform.rotate(value=-pi/2, axis=(0, 0, 1))
bpy.ops.object.mode_set(mode='OBJECT')
@@ -228,7 +228,7 @@ class POVRAY_OT_superellipsoid_add(bpy.types.Operator):
def execute(self,context):
pov_superellipsoid_define(context, self, None)
- self.report({'WARNING'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
+ self.report({'INFO'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
return {'FINISHED'}
@@ -423,7 +423,7 @@ class POVRAY_OT_supertorus_add(bpy.types.Operator):
def execute(self, context):
pov_supertorus_define(context, self, None)
- self.report({'WARNING'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
+ self.report({'INFO'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
return {'FINISHED'}
class POVRAY_OT_supertorus_update(bpy.types.Operator):
@@ -577,7 +577,7 @@ class POVRAY_OT_plane_add(bpy.types.Operator):
ob = context.object
ob.name = ob.data.name = 'PovInfinitePlane'
bpy.ops.object.mode_set(mode="EDIT")
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
bpy.ops.mesh.hide(unselected=False)
bpy.ops.object.mode_set(mode="OBJECT")
@@ -598,7 +598,7 @@ class POVRAY_OT_box_add(bpy.types.Operator):
ob = context.object
ob.name = ob.data.name = 'PovBox'
bpy.ops.object.mode_set(mode="EDIT")
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
bpy.ops.mesh.hide(unselected=False)
bpy.ops.object.mode_set(mode="OBJECT")
@@ -677,7 +677,7 @@ class POVRAY_OT_cylinder_add(bpy.types.Operator):
else:
LOC = props.imported_cyl_loc
LOC_CAP = props.imported_cyl_loc_cap
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
pov_cylinder_define(context, self, None, self.R, LOC, LOC_CAP)
@@ -778,7 +778,7 @@ class POVRAY_OT_sphere_add(bpy.types.Operator):
else:
LOC = props.imported_loc
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
pov_sphere_define(context, self, None, LOC)
@@ -791,7 +791,7 @@ class POVRAY_OT_sphere_add(bpy.types.Operator):
# bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=4, radius=ob.pov.sphere_radius, layers=layers)
# ob = context.object
# bpy.ops.object.mode_set(mode="EDIT")
- # self.report({'WARNING'}, "This native POV-Ray primitive "
+ # self.report({'INFO'}, "This native POV-Ray primitive "
# "won't have any vertex to show in edit mode")
# bpy.ops.mesh.hide(unselected=False)
# bpy.ops.object.mode_set(mode="OBJECT")
@@ -910,7 +910,7 @@ class POVRAY_OT_cone_add(bpy.types.Operator):
def execute(self, context):
pov_cone_define(context, self, None)
- self.report({'WARNING'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
+ self.report({'INFO'}, "This native POV-Ray primitive won't have any vertex to show in edit mode")
return {'FINISHED'}
@@ -952,7 +952,7 @@ class POVRAY_OT_isosurface_box_add(bpy.types.Operator):
bpy.ops.mesh.primitive_cube_add(layers = layers)
ob = context.object
bpy.ops.object.mode_set(mode="EDIT")
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
bpy.ops.mesh.hide(unselected=False)
bpy.ops.object.mode_set(mode="OBJECT")
@@ -974,7 +974,7 @@ class POVRAY_OT_isosurface_sphere_add(bpy.types.Operator):
bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=4,layers=layers)
ob = context.object
bpy.ops.object.mode_set(mode="EDIT")
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
bpy.ops.mesh.hide(unselected=False)
bpy.ops.object.mode_set(mode="OBJECT")
@@ -1203,7 +1203,7 @@ class POVRAY_OT_torus_add(bpy.types.Operator):
mas = props.mas
mis = props.mis
pov_torus_define(context, self, None)
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
return {'FINISHED'}
@@ -1373,7 +1373,7 @@ class POVRAY_OT_parametric_add(bpy.types.Operator):
z_eq = props.z_eq
pov_parametric_define(context, self, None)
- self.report({'WARNING'}, "This native POV-Ray primitive "
+ self.report({'INFO'}, "This native POV-Ray primitive "
"won't have any vertex to show in edit mode")
return {'FINISHED'}
@@ -1480,6 +1480,8 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
verts = []
faces = []
materials = []
+ blendMats = [] ##############
+ povMats = [] ##############
colors = []
matNames = []
lenverts = None
@@ -1494,6 +1496,7 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
cylinder_search = False
sphere_search = False
cone_search = False
+ tex_search = False ##################
cache = []
matrixes = {}
writematrix = False
@@ -1716,8 +1719,16 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
z=(i*3)+2
verts.append((float(cache[x]),float(cache[y]),float(cache[z])))
cache = []
+ #if word == 'face_indices':
+ #faces_search = True
+ if word == 'texture_list': ########
+ tex_search = True #######
+ if tex_search: #########
+ if word not in {'texture_list','texture','{','}','face_indices'} and word.isdigit() == False: ##############
+ povMats.append(word) #################
if word == 'face_indices':
- faces_search = True
+ tex_search = False ################
+ faces_search = True
if faces_search:
cache.append(word)
if word == '}':
@@ -1751,9 +1762,32 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
m2=i*6+5
materials.append((int(cache[m0]),int(cache[m1]),int(cache[m2])))
faces.append((int(cache[v0]),int(cache[v1]),int(cache[v2])))
- mesh = pov_define_mesh(None, verts, [], faces, name, hide_geometry=False)
- ob_base = object_utils.object_data_add(context, mesh, operator=None)
- ob = ob_base.object
+ #mesh = pov_define_mesh(None, verts, [], faces, name, hide_geometry=False)
+ #ob_base = object_utils.object_data_add(context, mesh, operator=None)
+ #ob = ob_base.object
+
+ me = bpy.data.meshes.new(name) ########
+ ob = bpy.data.objects.new(name, me) ##########
+ bpy.context.scene.objects.link(ob) #########
+ me.from_pydata(verts, [], faces) ############
+
+ for mat in bpy.data.materials: ##############
+ blendMats.append(mat.name) #############
+ for mName in povMats: #####################
+ if mName not in blendMats: ###########
+ povMat = bpy.data.materials.new(mName) #################
+ mat_search(cache)
+ ob.data.materials.append(bpy.data.materials[mName]) ###################
+ if materials: ##################
+ for i,val in enumerate(materials): ####################
+ try: ###################
+ ob.data.polygons[i].material_index = val ####################
+ except TypeError: ###################
+ ob.data.polygons[i].material_index = int(val[0]) ##################
+
+ blendMats = [
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list