Skip to content
Snippets Groups Projects
ms3d_spec.py 66.5 KiB
Newer Older
  • Learn to ignore specific revisions
  •                 self.joint_ex[i].write(raw_io)
    
                Ms3dIo.write_dword(raw_io, self.sub_version_model_extra)
                self.model_ex_object.write(raw_io)
    
            except Exception:
                type, value, traceback = exc_info()
                print("Ms3dModel.write - exception in optional try block"
                        "\n  type: '{0}'\n  value: '{1}'".format(
                        type, value, traceback))
                pass
    
            else:
                pass
    
            return
    
    
        def is_valid(self):
            valid = True
            result = []
    
            format1 = "\n  number of {0}: {1}"
            format2 = " limit exceeded! (limit is {0})"
    
            result.append("MS3D statistics:")
            result.append(format1.format("vertices ........",
                    self.number_vertices))
            if (self.number_vertices > Ms3dSpec.MAX_VERTICES):
                result.append(format2.format(Ms3dSpec.MAX_VERTICES))
                valid &= False
    
            result.append(format1.format("triangles .......",
                    self.number_triangles))
            if (self.number_triangles > Ms3dSpec.MAX_TRIANGLES):
                result.append(format2.format(Ms3dSpec.MAX_TRIANGLES))
                valid &= False
    
            result.append(format1.format("groups ..........",
                    self.number_groups))
            if (self.number_groups > Ms3dSpec.MAX_GROUPS):
                result.append(format2.format(Ms3dSpec.MAX_GROUPS))
                valid &= False
    
            result.append(format1.format("materials .......",
                    self.number_materials))
            if (self.number_materials > Ms3dSpec.MAX_MATERIALS):
                result.append(format2.format(Ms3dSpec.MAX_MATERIALS))
                valid &= False
    
            result.append(format1.format("joints ..........",
                    self.number_joints))
            if (self.number_joints > Ms3dSpec.MAX_JOINTS):
                result.append(format2.format(Ms3dSpec.MAX_JOINTS))
                valid &= False
    
            result.append(format1.format("model comments ..",
                    self.has_model_comment))
            result.append(format1.format("group comments ..",
                    self.number_group_comments))
            result.append(format1.format("material comments",
                    self.number_material_comments))
            result.append(format1.format("joint comments ..",
                    self.number_joint_comments))
    
            #if (not valid):
            #    result.append("\n\nthe data may be corrupted.")
    
            return (valid, ("".join(result)))
    
    
    ###############################################################################
    #234567890123456789012345678901234567890123456789012345678901234567890123456789
    #--------1---------2---------3---------4---------5---------6---------7---------
    # ##### END OF FILE #####