scanalyze.tcl
上传用户:kellyonhid
上传日期:2013-10-12
资源大小:932k
文件大小:6k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. #!scanalyze
  2. # import all helper functions
  3. # order is only semi-important because mostly these files contain
  4. # only procs that aren't executed until after all of them are sourced
  5. catch {source $env(HOME)/.scanalyzehooks}
  6. source $env(SCANALYZE_DIR)/tcl_util.tcl
  7. source $env(SCANALYZE_DIR)/scanalyze_util.tcl
  8. source $env(SCANALYZE_DIR)/wrappers.tcl
  9. source $env(SCANALYZE_DIR)/preferences.tcl
  10. source $env(SCANALYZE_DIR)/file.tcl
  11. source $env(SCANALYZE_DIR)/registration.tcl
  12. source $env(SCANALYZE_DIR)/globalreg.tcl
  13. source $env(SCANALYZE_DIR)/res_ctrl.tcl
  14. source $env(SCANALYZE_DIR)/analyze.tcl
  15. source $env(SCANALYZE_DIR)/clip.tcl
  16. source $env(SCANALYZE_DIR)/windows.tcl
  17. source $env(SCANALYZE_DIR)/build_ui.tcl
  18. source $env(SCANALYZE_DIR)/interactors.tcl
  19. source $env(SCANALYZE_DIR)/modelmaker.tcl
  20. source $env(SCANALYZE_DIR)/auto_a.tcl
  21. source $env(SCANALYZE_DIR)/xform.tcl
  22. source $env(SCANALYZE_DIR)/imagealign.tcl
  23. source $env(SCANALYZE_DIR)/colorvis.tcl
  24. source $env(SCANALYZE_DIR)/working_volume.tcl
  25. source $env(SCANALYZE_DIR)/visgroups.tcl
  26. source $env(SCANALYZE_DIR)/sweeps.tcl
  27. source $env(SCANALYZE_DIR)/zoom.tcl
  28. source $env(SCANALYZE_DIR)/help.tcl
  29. source $env(SCANALYZE_DIR)/organize.tcl
  30. source $env(SCANALYZE_DIR)/alignmentbrowser.tcl
  31. source $env(SCANALYZE_DIR)/chooseDir.tcl
  32. source $env(SCANALYZE_DIR)/vripUI.tcl
  33. source $env(SCANALYZE_DIR)/group.tcl
  34. # give initial values to variables that need to be declared
  35. set theMesh ""
  36. set uniqueInt 1
  37. set rotCenterVisible 0
  38. set rotCenterOnTop 0
  39. set drawResolution "default"
  40. set oldMover invalid
  41. set oldMesh ""
  42. set thePolygonMode fill
  43. set theBackfaceMode lit
  44. set theShadeModel smooth
  45. set theLightingMode 1
  46. set theShinyMode 1
  47. set theCullMode 1
  48. set theEmissiveMode 0
  49. set theFlipNormalMode 0
  50. set isDoubleBuffer 1
  51. set isOrthographic 0
  52. set theColorMode gray
  53. set styleAntiAlias 0
  54. set styleShadows 0
  55. set styleDispList 0
  56. set styleBbox 1
  57. set styleAAsamps 8
  58. set enabledWhenMeshSelected ""
  59. set clipEnabled 0
  60. set globalRegMethod horn
  61. set dragRegMethod horn
  62. set correspRegColorPoints 1
  63. set meshCount 0
  64. set polyCount 0
  65. set visPolyCount 0
  66. set noRedraw 0
  67. set rotationConstraint none
  68. set saveICPForGlobal 1
  69. set transparentSelection 0
  70. set _idlecallbacks() ""
  71. set theCoR_save() auto
  72. set highQualHideBbox 1
  73. set pfcrData data_zbuffer
  74. # set up bindings for variables
  75. traceUIVariables
  76. # create visible UI
  77. buildScanalyzeUI
  78. # also set preferences:
  79. # persistant vars that have their own UI (ie, in menus)
  80. prefs_AutoPersistVar manipRender(Points) 1
  81. prefs_AutoPersistVar manipRender(TinyPoints) 0
  82. prefs_AutoPersistVar manipRender(Unlit) 0
  83. prefs_AutoPersistVar manipRender(Lores) 0
  84. prefs_AutoPersistVar manipRender(SkipDisplayList) 1
  85. prefs_AutoPersistVar manipRender(Thresh) 0
  86. prefs_AutoPersistVar meshControlsSort(1) Name
  87. prefs_AutoPersistVar meshControlsSort(2) Name
  88. prefs_AutoPersistVar meshControlsSort(3) Name
  89. prefs_AutoPersistVar meshControlsSort(4) Name
  90. prefs_AutoPersistVar meshControlsSort(5) Name
  91. prefs_AutoPersistVar meshControlsSort(mode) dictionary
  92. prefs_AutoPersistVar styleTStrip 1
  93. prefs_AutoPersistVar selectResIncludesInvisible 0
  94. prefs_AutoPersistVar icpRegListsVisOnly 1
  95. # things that go in Preferences dialog
  96. prefs_AutoPrefsVar styleBbox "Show bounding box for manipulee" 
  97.     bool 1 { plv_drawstyle -bbox [globalset styleBbox]; redraw 1 }
  98. prefs_AutoPrefsVar styleAutoClearSel "Clear selection when trackball moves"
  99.     bool 1
  100. prefs_AutoPrefsVar exitConfirmation "Confirm exit" 
  101.     {{always Always} {dirty "If meshes have changed"} {never Never}} always
  102. prefs_AutoPrefsVar exitSaveXforms "Save all scan xforms before exit" 
  103.     bool 0
  104. prefs_AutoPrefsVar theUnitScale "Mesh units are measured in" 
  105.     {{1 Millimeters} {1000 Meters}} 1
  106. prefs_AutoPrefsVar selectionFollowsVisibility 
  107.     "Selected mesh follows visibility" 
  108.     bool 1
  109. prefs_AutoPrefsVar autoCenterCamera 
  110.     "Reset viewer position when adding scan to scene" 
  111.     bool 1
  112. prefs_AutoPrefsVar warn64bit 
  113.     "Warn when running 32bit version on 64bit machine" bool 1
  114. prefs_AutoPrefsVar meshWriteStrips 
  115.     "Write mesh triangles as strips" 
  116.     {{always Always} {never Never} {asviewed "If view is stripped"}} 
  117.     always
  118. prefs_AutoPrefsVar stylePointSize 
  119.     "Point size for point renderings" 
  120.     {{1 1} {2 2} {3 3} {4 4} {5 5}} 3
  121. prefs_AutoPrefsVar subsamplePreserveHoles 
  122.     "Subsampling behavior" 
  123.     {{holes "Holes always grow"} {conf "Calculate confidence"}
  124. {filter "Average"} {fast "Fast"}} fast
  125. prefs_AutoPrefsVar spinningAllowed 
  126.     "Allow spinning" 
  127.     bool 1
  128. prefs_AutoPrefsVar showScanHilites 
  129.     "Hilite bounding box for" 
  130.     {{always "All scans"} {visible "Visible scans"} {never "No scans"}} 
  131.     visible
  132. prefs_AutoPrefsVar regColorTransitive 
  133.     "Registration-status color includes transitive connections" bool 0
  134. prefs_AutoPrefsVar allowProxiesWithGR 
  135.     "Allow proxy creation when loading *.gr files" bool 0
  136. prefs_AutoPrefsVar writeGRsRaw 
  137.     "Write CyberScan *.gr files as raw" bool 0
  138. #prefs_AutoPrefsVar wantRedrawStatus 
  139. #    "Show render status" 
  140. #    {{0 "None"} {1 "A little"} {2 "A lot"}} 2
  141. prefs_AutoPrefsVar removeStepedges 
  142.     "Remove stepedges while triangulating meshes" bool 1
  143. # more defaults
  144. set theMover viewer
  145. set slowPolyCount 1000000
  146. hiliteRotationMode
  147. selectScan ""
  148. manipulateScan ""
  149. plv_material -confscale 1
  150. plv_drawstyle -cull $theCullMode
  151. setShininess 1
  152. set theUnitScale 1
  153. # cd is a dangerous command, because things that were loaded from a
  154. # relative path won't be able to save themselves
  155. overrideCdCommand
  156. # also dangerous is even running the 32-bit version these days, given the
  157. # data sizes we're working with, so if this machine supports better, the
  158. # user's probably making a mistake
  159. if {$warn64bit == 1} checkOSversion
  160. # done!  lift off...