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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2006-07-03 07:27:46 +0400
committerCampbell Barton <ideasman42@gmail.com>2006-07-03 07:27:46 +0400
commit8a10a773453bef0ce5c4e2eee40b09ef8f5aacb6 (patch)
treebad6bbbd0be3a39118323239ca71f2e59a6958d8 /release
parente70610ab1eb83b1e6c549f2646ebf7cd2cc9937d (diff)
remove this mesh cleaning function, have alredy added a new Mesh based one (as opposed to NMesh).
Diffstat (limited to 'release')
-rw-r--r--release/scripts/clean_mesh.py213
1 files changed, 0 insertions, 213 deletions
diff --git a/release/scripts/clean_mesh.py b/release/scripts/clean_mesh.py
deleted file mode 100644
index d7e20daa27f..00000000000
--- a/release/scripts/clean_mesh.py
+++ /dev/null
@@ -1,213 +0,0 @@
-#!BPY
-
-"""
-Name: 'Clean Mesh'
-Blender: 234
-Group: 'Mesh'
-Tooltip: 'Clean unused data from all selected meshes'
-"""
-
-__author__ = "Campbell Barton"
-__url__ = ("blender", "elysiun")
-__version__ = "1.1 04/25/04"
-
-__bpydoc__ = """\
-This script cleans specific data from all selected meshes.
-
-Usage:
-
-Select the meshes to be cleaned and run this script. A pop-up will ask
-you what you want to remove:
-
-- Free standing vertices;<br>
-- Edges that are not part of any face;<br>
-- Edges below a threshold length;<br>
-- Faces below a threshold area;<br>
-- All of the above.
-
-After choosing one of the above alternatives, if your choice requires a
-threshold value you'll be prompted with a number pop-up to set it.
-"""
-
-
-# $Id$
-#
-# --------------------------------------------------------------------------
-# Mesh Cleaner 1.0 By Campbell Barton (AKA Ideasman)
-# --------------------------------------------------------------------------
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# ***** END GPL LICENCE BLOCK *****
-# --------------------------------------------------------------------------
-
-
-# Made by Ideasman/Campbell 2004/04/25 - ideasman@linuxmail.org
-
-import Blender
-from Blender import *
-from math import sqrt
-
-time1 = Blender.sys.time()
-
-VRemNum = ERemNum = FRemNum = 0 # Remember for statistics
-
-
-#================#
-# Math functions #
-#================#
-def compare(f1, f2, limit):
- if f1 + limit > f2 and f1 - limit < f2:
- return 1
- return 0
-
-def measure(v1, v2):
- return Mathutils.Vector([v1[0]-v2[0], v1[1] - v2[1], v1[2] - v2[2]]).length
-
-def triArea2D(v1, v2, v3):
- e1 = measure(v1, v2)
- e2 = measure(v2, v3)
- e3 = measure(v3, v1)
- p = e1+e2+e3
- return 0.25 * sqrt(p*(p-2*e1)*(p-2*e2)*(p-2*e3))
-
-
-#=============================#
-# Blender functions/shortcuts #
-#=============================#
-def error(str):
- Draw.PupMenu('ERROR%t|'+str)
-
-def getLimit(text):
- return Draw.PupFloatInput(text, 0.001, 0.0, 1.0, 0.1, 3)
-
-def faceArea(f):
- if len(f.v) == 4:
- return triArea2D(f.v[0].co, f.v[1].co, f.v[2].co) + triArea2D(f.v[0].co, f.v[2].co, f.v[3].co)
- elif len(f.v) == 3:
- return triArea2D(f.v[0].co, f.v[1].co, f.v[2].co)
-
-
-
-#================#
-# Mesh functions #
-#================#
-def delFreeVert(mesh):
- global VRemNum
- usedList = eval('[' + ('False,' * len(mesh.verts) )+ ']')
- # Now tag verts that areused
- for f in mesh.faces:
- for v in f.v:
- usedList[mesh.verts.index(v)] = True
- vIdx = 0
- for bool in usedList:
- if bool == False:
- mesh.verts.pop(vIdx)
- vIdx -= 1
- VRemNum += 1
- vIdx += 1
- mesh.update()
-
-
-def delEdge(mesh):
- global ERemNum
- fIdx = 0
- while fIdx < len(mesh.faces):
- if len(mesh.faces[fIdx].v) == 2:
- mesh.faces.pop(fIdx)
- ERemNum += 1
- fIdx -= 1
- fIdx +=1
- mesh.update()
-
-def delEdgeLen(mesh, limit):
- global ERemNum
- fIdx = 0
- while fIdx < len(mesh.faces):
- if len(mesh.faces[fIdx].v) == 2:
- if measure(mesh.faces[fIdx].v[0].co, mesh.faces[fIdx].v[1].co) <= limit:
- mesh.faces(fIdx)
- ERemNum += 1
- fIdx -= 1
- fIdx +=1
- mesh.update()
-
-def delFaceArea(mesh, limit):
- global FRemNum
- fIdx = 0
- while fIdx < len(mesh.faces):
- if len(mesh.faces[fIdx].v) > 2:
- if faceArea(mesh.faces[fIdx]) <= limit:
- mesh.faces.pop(fIdx)
- FRemNum += 1
- fIdx -= 1
- fIdx +=1
- mesh.update()
-
-
-#====================#
-# Make a mesh list #
-#====================#
-
-is_editmode = Window.EditMode()
-if is_editmode: Window.EditMode(0)
-
-meshList = []
-if len(Object.GetSelected()) > 0:
- for ob in Object.GetSelected():
- if ob.getType() == 'Mesh':
- meshList.append(ob.getData())
-
-
-#====================================#
-# Popup menu to select the functions #
-#====================================#
-if len(meshList) == 0:
- error('no meshes in selection')
-else:
- method = Draw.PupMenu(\
- 'Clean Mesh, Remove...%t|\
- Verts: free standing|\
- Edges: not in a face|\
- Edges: below a length|\
- Faces: below an area|%l|\
- All of the above|')
-
- if method >= 3:
- limit = getLimit('threshold: ')
-
- if method != -1:
- for mesh in meshList:
- if method == 1:
- delFreeVert(mesh)
- elif method == 2:
- delEdge(mesh)
- elif method == 3:
- delEdgeLen(mesh, limit)
- elif method == 4:
- delFaceArea(mesh, limit)
- elif method == 6: # All of them
- delFaceArea(mesh, limit)
- delEdge(mesh)
- delFreeVert(mesh)
-
- mesh.update(0)
- Redraw()
-print 'mesh cleanup time',Blender.sys.time() - time1
-if is_editmode: Window.EditMode(1)
-
-if method != -1:
- Draw.PupMenu('Removed from ' + str(len(meshList)) +' Mesh(es)%t|' + 'Verts:' + str(VRemNum) + ' Edges:' + str(ERemNum) + ' Faces:' + str(FRemNum))