plugin simpleobject Triangulator
name:"Triangulator"
classID:#(0x7c4631da, 0x3cb16b6b)
category:"Cheese3000 Primitives"
(
	parameters params rollout:params
	(
		obj type:#node ui:obj
		Amount type:#integer ui:iters default:1
		Chamfer_amount type:#worldunits ui:spn1 default:100
		Weld_threshold type:#worldunits ui:spn2 default:1
	)
	rollout params "Parameters" width:160 height:120
	(
		fn pickfilter obj = superClassOf obj == GeometryClass
		pickButton obj "Object" pos:[8,8] width:144 height:32 autodisplay:true filter:pickfilter
		spinner iters "Iterations: " pos:[16,48] width:136 height:16 type:#integer range:[0,9999,1]
		spinner spn1 "Chamfer: " pos:[16,72] width:136 height:16 type:#worldunits range:[0,99999,100]
		spinner spn2 "Weld: " pos:[16,96] width:136 height:16 type:#worldunits range:[0,99999,1]
	)
	rollout rollout2 "About" width:160 height:136 rolledup:true
	(
		label lbl1 "------------Triangulator--------------" pos:[0,8] width:160 height:16
		label lbl2 "Written by cheese3000" pos:[24,24] width:120 height:16
		label lbl3 "Divides objects up by" pos:[32,48] width:104 height:16
		label lbl4 "chamfering, and then welding" pos:[8,64] width:144 height:16
		label lbl5 "all vertices." pos:[53,80] width:56 height:16
		label lbl6 "Please visit" pos:[8,104] width:56 height:16
		HyperLink lbl7 "Scriptspot" pos:[66,104] width:54 height:14 color:(color 0 0 255) hovercolor:(color 255 255 255) address:"http://www.scriptspot.com/3ds-max/scripts/Object-Triangulator"
		label lbl8 "for any" pos:[118,104] width:40 height:16
		label lbl9 "feedback or suggestions" pos:[20,120] width:120 height:16
	)
	on buildmesh do
	(
		if obj==undefined then
		(
			wObj=box()
			wObj.height=25
			wObj.length=25
			wObj.width=25
			setmesh mesh wObj.mesh
			delete wObj
			for i=1 to amount do
			(
				meshop.chamferVerts mesh (#{1..(meshop.getNumVerts mesh)} as array) Chamfer_amount
				meshop.weldVertsByThreshold mesh (#{1..(meshop.getNumVerts mesh)} as array) Weld_threshold
			)
		)
		else
		(
			if (classof obj)==Targetobject then
			(
				wObj=box()
				wObj.height=25
				wObj.length=25
				wObj.width=25
				setmesh mesh wObj.mesh
				delete wObj
				for i=1 to amount do
				(
					meshop.chamferVerts mesh (#{1..(meshop.getNumVerts mesh)} as array) Chamfer_amount
					meshop.weldVertsByThreshold mesh (#{1..(meshop.getNumVerts mesh)} as array) Weld_threshold
				)
			)
			else
			(
				setmesh mesh Obj.mesh
				for i=1 to amount do
				(
					meshop.chamferVerts mesh (#{1..(meshop.getNumVerts mesh)} as array) Chamfer_amount
					meshop.weldVertsByThreshold mesh (#{1..(meshop.getNumVerts mesh)} as array) Weld_threshold
				)
			)
		)
	)
	tool create
	(
		on mousePoint click do
		case click of
		(
			1: (nodeTM.translation = gridPoint; #stop)
		)
	)
)