X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fmesh.py;h=8009191f080a045468c36908cee738a988e562e4;hb=3bc34893905a2df622894aadcb6669f27f186772;hp=6b0e6805a7dfe3d88ab1cf44bcce08d391a28dc8;hpb=68cb1241d18f2e1d4d1bb3322edc694e2ea267df;p=libs%2Fgl.git diff --git a/blender/io_mspgl/mesh.py b/blender/io_mspgl/mesh.py index 6b0e6805..8009191f 100644 --- a/blender/io_mspgl/mesh.py +++ b/blender/io_mspgl/mesh.py @@ -159,6 +159,7 @@ class Mesh: self.smoothing = mesh.smoothing self.use_uv = mesh.use_uv self.tangent_uvtex = mesh.tangent_uvtex + self.use_strips = mesh.use_strips self.vertex_groups = mesh.vertex_groups # Clone basic data @@ -206,7 +207,7 @@ class Mesh: edge_map = {e.key: e for e in self.edges} for f in self.faces: if len(f.vertices)>4: - raise ValueError("Ngons are not supported") + raise ValueError("Unsupported face on mesh {}: N-gon".format(self.name)) f.vertices = [self.vertices[i] for i in f.vertices] for v in f.vertices: @@ -251,10 +252,10 @@ class Mesh: def splice(self, other): if len(self.uv_layers)!=len(other.uv_layers): - raise ValueError("Meshes have incompatible UV layers") + raise ValueError("Meshes {} and {} have incompatible UV layers".format(self.name, other.name)) for i, u in enumerate(self.uv_layers): if u.name!=other.uv_layers[i].name: - raise ValueError("Meshes have incompatible UV layers") + raise ValueError("Meshes {} and {} have incompatible UV layers".format(self.name, other.name)) # Merge materials and form a lookup from source material indices to the # merged material list @@ -417,7 +418,7 @@ class Mesh: def apply_material_atlas(self, material_atlas): for m in self.materials: if m.name not in material_atlas.material_names: - raise Exception("Material atlas is not compatible with Mesh") + raise Exception("Material atlas {} is not compatible with Mesh {}".format(material_atlas.name, self.name)) if self.use_uv=='NONE': return @@ -479,7 +480,7 @@ class Mesh: progress.pop_task() prog_step = 2 else: - raise Exception("Tangent UV layer not found") + raise Exception("Invalid configuration on mesh {}: No tangent UV layer".format(self.name)) # Split by the remaining UV layers for i, u in enumerate(self.uv_layers): @@ -794,9 +795,9 @@ class Mesh: e.key = make_edge_key(e.vertices[0].index, e.vertices[1].index) -def create_mesh_from_object(context, obj, progress, *, material_atlas=None): +def create_mesh_from_object(context, obj, material_atlas, progress): if obj.type!="MESH": - raise Exception("Object is not a mesh") + raise Exception("Object {} is not a mesh".format(obj.name)) progress.push_task("Preparing mesh", 0.0, 0.2)