proc NewAddTool {modelo PathToModel PathToStick lado EntryPoint InitPoint Orientacion Escala} { switch -exact -- $modelo { "Pincers" { vtkToolGPincers $lado # puts [string last " " $PathToModel] if {[string last " " $PathToModel] == "-1"} { $lado SetPathToModel $PathToModel set InitializeFunction InitializeTool3DSFile } else { set Pinza1 [string range $PathToModel 0 [expr [string last " " $PathToModel] -1]] #$lado SetPathToPinza1 "\"[string range $PathToModel 0 [string last " " $PathToModel]]\"" $lado SetPathToPinza1 $Pinza1 set Pinza2 [string range $PathToModel [expr [string last " " $PathToModel] +1] [expr [string length $PathToModel] -1]] #set Pinza2 "c:/poly2.vtk" $lado SetPathToPinza2 $Pinza2 #$lado SetPathToPinza2 "\"[string range $PathToModel [expr [string last " " $PathToModel] +1] [expr [string length $PathToModel] -1]]\"" set InitializeFunction InitializeToolVTKFile } # puts "PathToModel = $PathToModel" $lado SetPathToStick $PathToStick # puts $PathToStick $lado SetRadius $Escala # puts $Escala $lado SetInitPoint [lindex $InitPoint 0] [lindex $InitPoint 1] [lindex $InitPoint 2] # puts "[lindex $InitPoint 0] [lindex $InitPoint 1] [lindex $InitPoint 2]" $lado SetEntryPoint [lindex $EntryPoint 0] [lindex $EntryPoint 1] [lindex $EntryPoint 2] # puts "[lindex $EntryPoint 0] [lindex $EntryPoint 1] [lindex $EntryPoint 2]" $lado SetOrientation [lindex $Orientacion 0] [lindex $Orientacion 1] [lindex $Orientacion 2] [lindex $Orientacion 3] # puts "[lindex $Orientacion 0] [lindex $Orientacion 1] [lindex $Orientacion 2] [lindex $Orientacion 3]" $lado SetRenderWindow renWin $lado $InitializeFunction } "Scissors" { vtkToolScissors $lado $lado SetPathToModel $PathToModel $lado SetPathToStick $PathToStick $lado SetRadius $Escala $lado SetInitPoint [lindex $InitPoint 0] [lindex $InitPoint 1] [lindex $InitPoint 2] $lado SetEntryPoint [lindex $EntryPoint 0] [lindex $EntryPoint 1] [lindex $EntryPoint 2] $lado SetOrientation [lindex $Orientacion 0] [lindex $Orientacion 1] [lindex $Orientacion 2] [lindex $Orientacion 3] $lado SetRenderWindow renWin $lado InitializeTool } "Hook" { } } Herramientas InsertarHerramienta $lado vtkCubeSource cubo$lado cubo$lado SetXLength 0.5 cubo$lado SetYLength 0.5 cubo$lado SetZLength 1.0 vtkPolyDataMapper cubomapper$lado cubomapper$lado SetInput [cubo$lado GetOutput] vtkActor cuboAct$lado cuboAct$lado SetMapper cubomapper$lado cuboAct$lado SetPosition [lindex $EntryPoint 0] [lindex $EntryPoint 1] [lindex $EntryPoint 2] [cuboAct$lado GetProperty] SetColor 0.4 0.5 0.7 ren1 AddActor cuboAct$lado return $lado } #proc CalculaAngulo {before after} { # set catetoa [expr $afterX - $beforeX] # set catetob [expr $afterY - $beforeY] # set catetoc [expr $afterZ - $beforeZ] #set angulo [expr acos(expr # return $angulo #}