Thread: [brlcad-commits] SF.net SVN: brlcad:[35826] brlcad/trunk/src/tclscripts/lib/Ged.tcl
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <bo...@us...> - 2009-09-02 19:06:17
|
Revision: 35826 http://brlcad.svn.sourceforge.net/brlcad/?rev=35826&view=rev Author: bob1961 Date: 2009-09-02 19:06:08 +0000 (Wed, 02 Sep 2009) Log Message: ----------- Add method for pngwf. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-09-02 18:56:55 UTC (rev 35825) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-09-02 19:06:08 UTC (rev 35826) @@ -303,6 +303,7 @@ method pane_pmat {_pane args} method pane_pmodel2view {_pane args} method pane_png {_pane args} + method pane_pngwf {_pane args} method pane_pov {_pane args} method pane_preview {_pane args} method pane_protate_mode {_pane args} @@ -355,6 +356,7 @@ method pmat {args} method pmodel2view {args} method png {args} + method pngwf {args} method pov {args} method prcolor {args} method prefix {args} @@ -1574,6 +1576,10 @@ eval $mGed png $itk_component($_pane) $args } +::itcl::body cadwidgets::Ged::pane_pngwf {_pane args} { + eval $mGed pngwf $itk_component($_pane) $args +} + ::itcl::body cadwidgets::Ged::pane_pov {_pane args} { eval $mGed pov $itk_component($_pane) $args } @@ -1803,6 +1809,10 @@ eval $mGed png $itk_component($itk_option(-pane)) $args } +::itcl::body cadwidgets::Ged::pngwf {args} { + eval $mGed pngwf $itk_component($itk_option(-pane)) $args +} + ::itcl::body cadwidgets::Ged::pov {args} { eval $mGed pov $itk_component($itk_option(-pane)) $args } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-10-29 15:05:18
|
Revision: 36323 http://brlcad.svn.sourceforge.net/brlcad/?rev=36323&view=rev Author: bob1961 Date: 2009-10-29 15:05:12 +0000 (Thu, 29 Oct 2009) Log Message: ----------- Added the following methods: ged_get_color, refresh_on, refresh_off, add_mouse_ray_callback, delete_mouse_ray_callback, center_ray and pane_mouse_ray. Converted ged_vdraw_color and ged_rgb_color to class methods as opposed to instance methods. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-10-29 14:50:45 UTC (rev 36322) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-10-29 15:05:12 UTC (rev 36323) @@ -378,6 +378,8 @@ method red {args} method refresh {args} method refresh_all {args} + method refresh_off {} + method refresh_on {} method regdef {args} method regions {args} method report {args} @@ -487,14 +489,25 @@ method init_view_rotate {} method init_view_scale {} method init_view_translate {} - method mouse_ray {_pane _x _y} + method center_ray {{_pflag 0}} + method mouse_ray {_x _y {_pflag 0}} + method pane_mouse_ray {_pane _x _y {_pflag 0}} method pane {args} method shoot_ray {_start _op _target _prep _no_bool _onehit} + method add_mouse_ray_callback {_callback} + method delete_mouse_ray_callback {_callback} #XXX Still needs to be resolved method set_outputHandler {args} method fb_active {args} + +# method get_ged_color {_color} +# method get_rgb_color {_color} +# method get_vdraw_color {_color} + proc get_ged_color {_color} + proc get_rgb_color {_color} + proc get_vdraw_color {_color} } protected { @@ -506,8 +519,6 @@ variable mMeasuringStickColorVDraw ffff00 variable mMouseRayCallbacks "" - method get_rgb_color {_color} - method get_vdraw_color {_color} method multi_pane {args} method new_view {args} method toggle_multi_pane {} @@ -1905,6 +1916,14 @@ eval $mGed refresh_all $args } +::itcl::body cadwidgets::Ged::refresh_off {} { + eval $mGed refresh_on 0 +} + +::itcl::body cadwidgets::Ged::refresh_on {} { + eval $mGed refresh_on 1 +} + ::itcl::body cadwidgets::Ged::regdef {args} { eval $mGed regdef $args } @@ -2387,10 +2406,10 @@ } ::itcl::body cadwidgets::Ged::init_comp_pick {} { - bind $itk_component(ur) <1> "[::itcl::code $this mouse_ray ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this mouse_ray ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this mouse_ray ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this mouse_ray lr %x %y]; break" + bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_ray ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_ray lr %x %y]; break" bind $itk_component(ur) <ButtonRelease-1> "" bind $itk_component(ul) <ButtonRelease-1> "" @@ -2538,7 +2557,18 @@ bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end lr]; break" } -::itcl::body cadwidgets::Ged::mouse_ray {_pane _x _y} { +::itcl::body cadwidgets::Ged::center_ray {{_pflag 0}} { + set wsize [$mGed view_win_size $itk_component($itk_option(-pane))] + set x [expr {[lindex $wsize 0] * 0.5}] + set y [expr {[lindex $wsize 1] * 0.5}] + mouse_ray $x $y $_pflag +} + +::itcl::body cadwidgets::Ged::mouse_ray {_x _y {_pflag 0}} { + pane_mouse_ray $itk_option(-pane) $_x $_y $_pflag +} + +::itcl::body cadwidgets::Ged::pane_mouse_ray {_pane _x _y {_pflag 0}} { set target [$mGed screen2model $itk_component($_pane) $_x $_y] set view [$mGed screen2view $itk_component($_pane) $_x $_y] @@ -2549,6 +2579,10 @@ set partitions [shoot_ray $start "at" $target 1 1 0] set partition [lindex $partitions 0] + if {$_pflag} { + return $partitions + } + # mMouseRayCallbacks is not currently active if {[llength $mMouseRayCallbacks] == 0} { if {$partition == {}} { @@ -2697,20 +2731,50 @@ return [ray shootray $_start $_op $_target] } +::itcl::body cadwidgets::Ged::add_mouse_ray_callback {_callback} { + lappend mMouseRayCallbacks $_callback +} -############################### Commands that still need to be resolved ############################### -::itcl::body cadwidgets::Ged::set_outputHandler {args} { - eval set_output_script $args +::itcl::body cadwidgets::Ged::delete_mouse_ray_callback {_callback} { + set i [lsearch $mMouseRayCallbacks $_callback] + if {$i != -1} { + set mMouseRayCallbacks [lreplace $mMouseRayCallbacks $i $i] + } } -::itcl::body cadwidgets::Ged::fb_active {args} { - eval set_fb_mode $args +::itcl::body cadwidgets::Ged::get_ged_color {_color} { + switch -- $_color { + "Grey" { + return "64/64/64" + } + "Black" { + return "0/0/0" + } + "Blue" { + return "0/0/255" + } + "Cyan" { + return "0/255/255" + } + "Green" { + return "0/255/0" + } + "Magenta" { + return "255/0/255" + } + "Red" { + return "255/0/0" + } + "Yellow" { + return "255/255/0" + } + "White" - + default { + return "255/255/255" + } + } } - - -############################### Protected Methods ############################### - ::itcl::body cadwidgets::Ged::get_rgb_color {_color} { switch -- $_color { "Grey" { @@ -2777,6 +2841,20 @@ } } + + +############################### Commands that still need to be resolved ############################### +::itcl::body cadwidgets::Ged::set_outputHandler {args} { + eval set_output_script $args +} + +::itcl::body cadwidgets::Ged::fb_active {args} { + eval set_fb_mode $args +} + + +############################### Protected Methods ############################### + ::itcl::body cadwidgets::Ged::multi_pane {args} { # get multi_pane if {$args == ""} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eri...@us...> - 2009-11-03 19:00:32
|
Revision: 36390 http://brlcad.svn.sourceforge.net/brlcad/?rev=36390&view=rev Author: erikgreenwald Date: 2009-11-03 19:00:24 +0000 (Tue, 03 Nov 2009) Log Message: ----------- update help for marching cubes Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-03 18:59:10 UTC (rev 36389) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-03 19:00:24 UTC (rev 36390) @@ -3022,7 +3022,7 @@ $help add expand {{expression} {globs expression against database objects}} $help add eye {{mx my mz} {set eye point to given model coordinates}} $help add eye_pos {{mx my mz} {set eye position to given model coordinates}} - $help add facetize {{[-n] [-t] [-T] new_obj old_obj [old_obj2 old_obj3 ...]} {create a new bot object by facetizing the specified objects}} + $help add facetize {{[-m] [-n] [-t] [-T] new_obj old_obj [old_obj2 old_obj3 ...]} {create a new bot object by facetizing the specified objects}} $help add form {{objType} {returns form of objType}} $help add fracture {{} {}} $help add g {{groupname <objects>} {group objects}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-11-13 18:34:33
|
Revision: 36481 http://brlcad.svn.sourceforge.net/brlcad/?rev=36481&view=rev Author: bob1961 Date: 2009-11-13 18:11:02 +0000 (Fri, 13 Nov 2009) Log Message: ----------- Added a new method: clear_mouse_ray_callback_list. Also, now catching call to shoot_ray. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-13 18:06:40 UTC (rev 36480) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-13 18:11:02 UTC (rev 36481) @@ -496,6 +496,7 @@ method shoot_ray {_start _op _target _prep _no_bool _onehit} method add_mouse_ray_callback {_callback} + method clear_mouse_ray_callback_list {} method delete_mouse_ray_callback {_callback} #XXX Still needs to be resolved @@ -2585,7 +2586,11 @@ set vZ [expr {[lindex $bounds 4] / -2048.0}] set start [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] - set partitions [shoot_ray $start "at" $target 1 1 0] + + if {[catch {shoot_ray $start "at" $target 1 1 0} partitions]} { + return $partitions + } + set partition [lindex $partitions 0] if {$_pflag} { @@ -2741,9 +2746,18 @@ } ::itcl::body cadwidgets::Ged::add_mouse_ray_callback {_callback} { - lappend mMouseRayCallbacks $_callback + set i [lsearch $mMouseRayCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mMouseRayCallbacks $_callback + } } +::itcl::body cadwidgets::Ged::clear_mouse_ray_callback_list {} { + set mMouseRayCallbacks {} +} + ::itcl::body cadwidgets::Ged::delete_mouse_ray_callback {_callback} { set i [lsearch $mMouseRayCallbacks $_callback] if {$i != -1} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-11-24 17:17:51
|
Revision: 36612 http://brlcad.svn.sourceforge.net/brlcad/?rev=36612&view=rev Author: bob1961 Date: 2009-11-24 17:17:41 +0000 (Tue, 24 Nov 2009) Log Message: ----------- Added data_axes and lastMouseRayPos methods. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-24 17:10:16 UTC (rev 36611) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-11-24 17:17:41 UTC (rev 36612) @@ -147,6 +147,7 @@ method copymat {args} method cp {args} method cpi {args} + method data_axes {args} method dbconcat {args} method dbfind {args} method dbip {args} @@ -201,6 +202,7 @@ method killrefs {args} method killtree {args} method l {args} + method lastMouseRayPos {} method light {args} method light_all {args} method list_views {args} @@ -520,6 +522,7 @@ variable mMeasuringStickColorVDraw ffff00 variable mMouseRayCallbacks "" variable mRefreshOn 1 + variable mLastMouseRayPos "" method multi_pane {args} method new_view {args} @@ -958,6 +961,13 @@ eval $mGed cpi $args } +::itcl::body cadwidgets::Ged::data_axes {args} { + eval $mGed data_axes $itk_component(ur) $args + eval $mGed data_axes $itk_component(ul) $args + eval $mGed data_axes $itk_component(ll) $args + eval $mGed data_axes $itk_component(lr) $args +} + ::itcl::body cadwidgets::Ged::dbconcat {args} { eval $mGed dbconcat $args } @@ -1085,6 +1095,10 @@ eval $mGed get_eyemodel $itk_component($itk_option(-pane)) $args } +::itcl::body cadwidgets::Ged::lastMouseRayPos {} { + return $mLastMouseRayPos +} + ::itcl::body cadwidgets::Ged::get_type {args} { eval $mGed get_type $args } @@ -2579,6 +2593,8 @@ } ::itcl::body cadwidgets::Ged::pane_mouse_ray {_pane _x _y {_pflag 0}} { + set mLastMouseRayPos "$_x $_y" + set target [$mGed screen2model $itk_component($_pane) $_x $_y] set view [$mGed screen2view $itk_component($_pane) $_x $_y] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-01-11 20:16:53
|
Revision: 37222 http://brlcad.svn.sourceforge.net/brlcad/?rev=37222&view=rev Author: bob1961 Date: 2010-01-11 20:16:44 +0000 (Mon, 11 Jan 2010) Log Message: ----------- Added support for data_arrows, data_axes, data_lines and data_labels. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-01-11 20:08:04 UTC (rev 37221) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-01-11 20:16:44 UTC (rev 37222) @@ -147,7 +147,12 @@ method copymat {args} method cp {args} method cpi {args} + method data_arrows {args} method data_axes {args} + method data_labels {args} + method data_lines {args} + method data_move {args} + method data_pick {args} method dbconcat {args} method dbfind {args} method dbip {args} @@ -415,6 +420,10 @@ method ptranslate_mode {args} method scale_mode {args} method screen2view {args} + method sdata_arrows {args} + method sdata_axes {args} + method sdata_labels {args} + method sdata_lines {args} method search {args} method set_coord {args} method set_fb_mode {args} @@ -474,10 +483,17 @@ method ? {} method apropos {key} + method begin_data_arrow {_pane _x _y} + method begin_data_line {_pane _x _y} + method begin_data_move {_pane _x _y} method begin_view_measure {_pane _x _y} method default_views {} + method end_data_arrow {_pane} + method end_data_line {_pane} + method end_data_move {_pane} method end_view_measure {_pane} method getUserCmds {} + method handle_data_move {_pane _dtype _dindex _x _y} method handle_view_measure {_pane _x _y} method handle_view_rotate_end {_pane} method handle_view_scale_end {_pane} @@ -485,6 +501,11 @@ method help {args} method history_callback {args} method init_comp_pick {} + method init_data_arrow {} + method init_data_label {} + method init_data_line {} + method init_data_move {} + method init_data_pick {} method init_view_bindings {{_type default}} method init_view_center {} method init_view_measure {} @@ -493,21 +514,61 @@ method init_view_translate {} method center_ray {{_pflag 0}} method mouse_ray {_x _y {_pflag 0}} + method pane_mouse_3dpoint {_pane _x _y {_vflag 1}} + method pane_mouse_data_label {_pane _x _y} + method pane_mouse_data_pick {_pane _x _y} method pane_mouse_ray {_pane _x _y {_pflag 0}} method pane {args} method shoot_ray {_start _op _target _prep _no_bool _onehit} + method add_begin_data_arrow_callback {_callback} + method clear_begin_data_arrow_callback_list {} + method delete_begin_data_arrow_callback {_callback} + + method add_end_data_arrow_callback {_callback} + method clear_end_data_arrow_callback_list {} + method delete_end_data_arrow_callback {_callback} + + method add_begin_data_line_callback {_callback} + method clear_begin_data_line_callback_list {} + method delete_begin_data_line_callback {_callback} + + method add_end_data_line_callback {_callback} + method clear_end_data_line_callback_list {} + method delete_end_data_line_callback {_callback} + + method add_begin_data_move_callback {_callback} + method clear_begin_data_move_callback_list {} + method delete_begin_data_move_callback {_callback} + + method add_end_data_move_callback {_callback} + method clear_end_data_move_callback_list {} + method delete_end_data_move_callback {_callback} + + method add_mouse_data_callback {_callback} + method clear_mouse_data_callback_list {} + method delete_mouse_data_callback {_callback} + method add_mouse_ray_callback {_callback} method clear_mouse_ray_callback_list {} method delete_mouse_ray_callback {_callback} + + method add_data_label_callback {_callback} + method clear_data_label_callback_list {} + method delete_data_label_callback {_callback} + + method add_data_move_callback {_callback} + method clear_data_move_callback_list {} + method delete_data_move_callback {_callback} + + method add_view_measure_callback {_callback} + method clear_view_measure_callback_list {} + method delete_view_measure_callback {_callback} #XXX Still needs to be resolved method set_outputHandler {args} method fb_active {args} -# method get_ged_color {_color} -# method get_rgb_color {_color} -# method get_vdraw_color {_color} proc get_ged_color {_color} proc get_rgb_color {_color} proc get_vdraw_color {_color} @@ -520,10 +581,26 @@ variable mMeasureEnd variable mMeasureStart variable mMeasuringStickColorVDraw ffff00 - variable mMouseRayCallbacks "" variable mRefreshOn 1 + variable mLastDataType "" + variable mLastDataIndex "" variable mLastMouseRayPos "" + variable mLastMousePos "" + variable mBegin3DPoint "" + variable mEnd3DPoint "" + variable mBeginDataArrowCallbacks "" + variable mBeginDataLineCallbacks "" + variable mBeginDataMoveCallbacks "" + variable mDataLabelCallbacks "" + variable mDataMoveCallbacks "" + variable mEndDataArrowCallbacks "" + variable mEndDataLineCallbacks "" + variable mEndDataMoveCallbacks "" + variable mMouseDataCallbacks "" + variable mMouseRayCallbacks "" + variable mViewMeasureCallbacks "" + method multi_pane {args} method new_view {args} method toggle_multi_pane {} @@ -961,13 +1038,62 @@ eval $mGed cpi $args } +::itcl::body cadwidgets::Ged::data_arrows {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed data_arrows $itk_component($itk_option(-pane)) $args] + } + + eval $mGed data_arrows $itk_component(ur) $args + eval $mGed data_arrows $itk_component(ul) $args + eval $mGed data_arrows $itk_component(ll) $args + eval $mGed data_arrows $itk_component(lr) $args +} + ::itcl::body cadwidgets::Ged::data_axes {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed data_axes $itk_component($itk_option(-pane)) $args] + } + eval $mGed data_axes $itk_component(ur) $args eval $mGed data_axes $itk_component(ul) $args eval $mGed data_axes $itk_component(ll) $args eval $mGed data_axes $itk_component(lr) $args } +::itcl::body cadwidgets::Ged::data_labels {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed data_labels $itk_component($itk_option(-pane)) $args] + } + + eval $mGed data_labels $itk_component(ur) $args + eval $mGed data_labels $itk_component(ul) $args + eval $mGed data_labels $itk_component(ll) $args + eval $mGed data_labels $itk_component(lr) $args +} + +::itcl::body cadwidgets::Ged::data_lines {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed data_lines $itk_component($itk_option(-pane)) $args] + } + + eval $mGed data_lines $itk_component(ur) $args + eval $mGed data_lines $itk_component(ul) $args + eval $mGed data_lines $itk_component(ll) $args + eval $mGed data_lines $itk_component(lr) $args +} + +::itcl::body cadwidgets::Ged::data_move {args} { + eval $mGed data_move $itk_component($itk_option(-pane)) $args +} + +::itcl::body cadwidgets::Ged::data_pick {args} { + eval $mGed data_pick $itk_component($itk_option(-pane)) $args +} + ::itcl::body cadwidgets::Ged::dbconcat {args} { eval $mGed dbconcat $args } @@ -2080,6 +2206,54 @@ eval $mGed scale_mode $itk_component($itk_option(-pane)) $args } +::itcl::body cadwidgets::Ged::sdata_arrows {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed sdata_arrows $itk_component($itk_option(-pane)) $args] + } + + eval $mGed sdata_arrows $itk_component(ur) $args + eval $mGed sdata_arrows $itk_component(ul) $args + eval $mGed sdata_arrows $itk_component(ll) $args + eval $mGed sdata_arrows $itk_component(lr) $args +} + +::itcl::body cadwidgets::Ged::sdata_axes {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed sdata_axes $itk_component($itk_option(-pane)) $args] + } + + eval $mGed sdata_axes $itk_component(ur) $args + eval $mGed sdata_axes $itk_component(ul) $args + eval $mGed sdata_axes $itk_component(ll) $args + eval $mGed sdata_axes $itk_component(lr) $args +} + +::itcl::body cadwidgets::Ged::sdata_labels {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed sdata_labels $itk_component($itk_option(-pane)) $args] + } + + eval $mGed sdata_labels $itk_component(ur) $args + eval $mGed sdata_labels $itk_component(ul) $args + eval $mGed sdata_labels $itk_component(ll) $args + eval $mGed sdata_labels $itk_component(lr) $args +} + +::itcl::body cadwidgets::Ged::sdata_lines {args} { + set len [llength $args] + if {$len < 2} { + return [eval $mGed sdata_lines $itk_component($itk_option(-pane)) $args] + } + + eval $mGed sdata_lines $itk_component(ur) $args + eval $mGed sdata_lines $itk_component(ul) $args + eval $mGed sdata_lines $itk_component(ll) $args + eval $mGed sdata_lines $itk_component(lr) $args +} + ::itcl::body cadwidgets::Ged::search {args} { eval $mGed search $args } @@ -2328,7 +2502,75 @@ return [eval $help apropos $args] } +# Create a new arrow with both points the same. +# Go into data move mode for this arrow and it's second point. +# +::itcl::body cadwidgets::Ged::begin_data_arrow {_pane _x _y} { + set mLastMousePos "$_x $_y" + set point [pane_mouse_3dpoint $_pane $_x $_y] + + if {$point == ""} { + return + } + + foreach callback $mBeginDataArrowCallbacks { + catch {$callback $point} + } + + #XXX Temporarily depend on callbacks to create the arrow + set points [$mGed data_arrows $itk_component($_pane) points] + set dindex [llength $points] + incr dindex -1 + + # start receiving motion events + bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_data_move $_pane data_arrows $dindex %x %y]; break" +} + +::itcl::body cadwidgets::Ged::begin_data_line {_pane _x _y} { + set mLastMousePos "$_x $_y" + set point [pane_mouse_3dpoint $_pane $_x $_y] + + if {$point == ""} { + return + } + + foreach callback $mBeginDataLineCallbacks { + catch {$callback $point} + } + + #XXX Temporarily depend on callbacks to create the line + set points [$mGed data_lines $itk_component($_pane) points] + set dindex [llength $points] + incr dindex -1 + + # start receiving motion events + bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_data_move $_pane data_lines $dindex %x %y]; break" +} + +::itcl::body cadwidgets::Ged::begin_data_move {_pane _x _y} { + set mLastMousePos "$_x $_y" + set data [$mGed data_pick $itk_component($_pane) $_x $_y] + set mLastDataType "" + + if {$data == ""} { + return + } + + foreach callback $mBeginDataMoveCallbacks { + catch {$callback $point} + } + + set mLastDataType [lindex $data 0] + set mLastDataIndex [lindex $data 1] + + # start receiving motion events + bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_data_move $_pane $mLastDataType $mLastDataIndex %x %y]; break" +} + ::itcl::body cadwidgets::Ged::begin_view_measure {_pane _x _y} { + set mLastMousePos "$_x $_y" + set mBegin3DPoint [pane_mouse_3dpoint $_pane $_x $_y] + if {$itk_option(-measuringStickMode) == 0} { # Draw on the front face of the viewing cube set view [$mGed screen2view $itk_component($_pane) $_x $_y] @@ -2353,24 +2595,161 @@ $mGed aet $itk_component(lr) 90 0 0 } +::itcl::body cadwidgets::Ged::end_data_arrow {_pane} { + $mGed idle_mode $itk_component($_pane) + + if {$mLastMousePos == ""} { + return + } + + refresh_off + $mGed data_arrows $itk_component($_pane) draw 0 + set point [eval pane_mouse_3dpoint $_pane $mLastMousePos] + $mGed data_arrows $itk_component($_pane) draw 1 + set mLastMousePos "" + + # replace last point + set points [$mGed data_arrows $itk_component($_pane) points] + set points [lreplace $points end end $point] + $mGed data_arrows $itk_component($_pane) points $points + + foreach callback $mEndDataArrowCallbacks { + catch {$callback $point} + } + + refresh_on + refresh_all +} + +::itcl::body cadwidgets::Ged::end_data_line {_pane} { + $mGed idle_mode $itk_component($_pane) + + if {$mLastMousePos == ""} { + return + } + + refresh_off + $mGed data_lines $itk_component($_pane) draw 0 + set point [eval pane_mouse_3dpoint $_pane $mLastMousePos] + $mGed data_lines $itk_component($_pane) draw 1 + set mLastMousePos "" + + # replace last point + set points [$mGed data_lines $itk_component($_pane) points] + set points [lreplace $points end end $point] + $mGed data_lines $itk_component($_pane) points $points + + foreach callback $mEndDataLineCallbacks { + catch {$callback $point} + } + + refresh_on + refresh_all +} + +::itcl::body cadwidgets::Ged::end_data_move {_pane} { + $mGed idle_mode $itk_component($_pane) + + if {$mLastMousePos == "" || $mLastDataType == ""} { + return + } + + refresh_off + $mGed $mLastDataType $itk_component($_pane) draw 0 + set point [eval pane_mouse_3dpoint $_pane $mLastMousePos 0] + $mGed $mLastDataType $itk_component($_pane) draw 1 + set mLastMousePos "" + + # Replace the mLastDataIndex point with this point + if {$point != ""} { + if {$mLastDataType == "data_labels" || $mLastDataType == "sdata_labels"} { + set labels [$mGed $mLastDataType $itk_component($_pane) labels] + set label [lindex $labels $mLastDataIndex] + set label [lreplace $label 1 1 $point] + set labels [lreplace $labels $mLastDataIndex $mLastDataIndex $label] + $mGed $mLastDataType $itk_component($_pane) labels $labels + } else { + + set points [$mGed $mLastDataType $itk_component($_pane) points] + set points [lreplace $points $mLastDataIndex $mLastDataIndex $point] + $mGed $mLastDataType $itk_component($_pane) points $points + } + } + + foreach callback $mEndDataMoveCallbacks { + catch {$callback $mLastDataType} + } + refresh_on + refresh_all +} + ::itcl::body cadwidgets::Ged::end_view_measure {_pane} { $mGed idle_mode $itk_component($_pane) + if {$mLastMousePos == ""} { + return + } + + refresh_off + catch {$mGed vdraw vlist delete $MEASURING_STICK} $mGed erase _VDRW$MEASURING_STICK - set diff [vsub2 $mMeasureEnd $mMeasureStart] + set mEnd3DPoint [eval pane_mouse_3dpoint $_pane $mLastMousePos] + set mLastMousePos "" + +# Use this for 2D +# set diff [vsub2 $mMeasureEnd $mMeasureStart] + + set diff [vsub2 $mEnd3DPoint $mBegin3DPoint] set delta [expr {[magnitude $diff] * [$mGed base2local $itk_component($_pane)]}] - tk_messageBox -title "Measured Distance" \ - -icon info \ - -message "Measured distance: $delta [$mGed units]" + + set mstring "Measured distance: $delta [$mGed units -s]" + + if {[llength $mViewMeasureCallbacks] == 0} { + tk_messageBox -title "Measured Distance" \ + -icon info \ + -message $mstring + } else { + foreach callback $mViewMeasureCallbacks { + catch {$callback $mstring} + } + } + + refresh_on + refresh_all } ::itcl::body cadwidgets::Ged::getUserCmds {} { return [$help getCmds] } +::itcl::body cadwidgets::Ged::handle_data_move {_pane _dtype _dindex _x _y} { + refresh_off + set mLastMousePos "$_x $_y" + $mGed data_move $itk_component($_pane) $_dtype $_dindex $_x $_y + + if {$_dtype == "data_labels" || $_dtype == "sdata_labels"} { + set labels [$mGed $_dtype $itk_component($_pane) labels] + + $mGed $_dtype $itk_component(ur) labels $labels + $mGed $_dtype $itk_component(ul) labels $labels + $mGed $_dtype $itk_component(ll) labels $labels + $mGed $_dtype $itk_component(lr) labels $labels + } else { + set points [$mGed $_dtype $itk_component($_pane) points] + + $mGed $_dtype $itk_component(ur) points $points + $mGed $_dtype $itk_component(ul) points $points + $mGed $_dtype $itk_component(ll) points $points + $mGed $_dtype $itk_component(lr) points $points + } + refresh_on + refresh_all +} + ::itcl::body cadwidgets::Ged::handle_view_measure {_pane _x _y} { + set mLastMousePos "$_x $_y" catch {$mGed vdraw vlist delete $MEASURING_STICK} if {$itk_option(-measuringStickMode) == 0} { @@ -2441,6 +2820,66 @@ bind $itk_component(lr) <ButtonRelease-1> "" } +::itcl::body cadwidgets::Ged::init_data_arrow {} { + bind $itk_component(ur) <1> "[::itcl::code $this begin_data_arrow ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this begin_data_arrow ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this begin_data_arrow ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this begin_data_arrow lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ur]; break" + bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ul]; break" + bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ll]; break" + bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_arrow lr]; break" +} + +::itcl::body cadwidgets::Ged::init_data_label {} { + bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_data_label ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_data_label ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_data_label ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_data_label lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-1> "" + bind $itk_component(ul) <ButtonRelease-1> "" + bind $itk_component(ll) <ButtonRelease-1> "" + bind $itk_component(lr) <ButtonRelease-1> "" +} + +::itcl::body cadwidgets::Ged::init_data_line {} { + bind $itk_component(ur) <1> "[::itcl::code $this begin_data_line ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this begin_data_line ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this begin_data_line ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this begin_data_line lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_line ur]; break" + bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_line ul]; break" + bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_line ll]; break" + bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_line lr]; break" +} + +::itcl::body cadwidgets::Ged::init_data_move {} { + bind $itk_component(ur) <1> "[::itcl::code $this begin_data_move ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this begin_data_move ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this begin_data_move ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this begin_data_move lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_move ur]; break" + bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_move ul]; break" + bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_move ll]; break" + bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_move lr]; break" +} + +::itcl::body cadwidgets::Ged::init_data_pick {} { + bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_data_pick ur %x %y]; break" + bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_data_pick ul %x %y]; break" + bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_data_pick ll %x %y]; break" + bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_data_pick lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-1> "" + bind $itk_component(ul) <ButtonRelease-1> "" + bind $itk_component(ll) <ButtonRelease-1> "" + bind $itk_component(lr) <ButtonRelease-1> "" +} + ::itcl::body cadwidgets::Ged::init_view_bindings {{_type default}} { switch -- $_type { brlcad { @@ -2592,6 +3031,89 @@ pane_mouse_ray $itk_option(-pane) $_x $_y $_pflag } +## pane_mouse_3dpoint +# +# First, try to pick a data point. +# If that fails, try to pick a point on an object. +# Lastly, if all else fails, pick a point on the view plane. +# +::itcl::body cadwidgets::Ged::pane_mouse_3dpoint {_pane _x _y {_vflag 1}} { + set pdata [$mGed data_pick $itk_component($_pane) $_x $_y] + + if {$pdata == ""} { + set partitions [pane_mouse_ray $_pane $_x $_y 1] + + if {$partitions == ""} { + if {!$_vflag} { + return + } + + refresh_off + set saved_center [$mGed center $itk_component($_pane)] + eval $mGed vslew $itk_component($_pane) $mLastMouseRayPos + set point [vscale [$mGed center $itk_component($_pane)] [$mGed local2base $itk_component($_pane)]] + $mGed center $itk_component($_pane) $saved_center + refresh_on + } else { + set partition [lindex $partitions 0] + + if {[catch {bu_get_value_by_keyword in $partition} in]} { + putString "Partition does not contain an \"in\"" + putString "$in" + return + } + + if {[catch {bu_get_value_by_keyword point $in} point]} { + putString "Partition does not contain an \"in\" point" + putString "$point" + return + } + } + } else { + set dtype [lindex $pdata 0] + set dindex [lindex $pdata 1] + + if {$dtype == "data_labels"} { + set labels [$mGed $dtype $itk_component($_pane) labels] + set label [lindex $labels $dindex] + set point [lindex $label 1] + } else { + set points [$mGed $dtype $itk_component($_pane) points] + set point [lindex $points $dindex] + } + } + + return $point +} + +::itcl::body cadwidgets::Ged::pane_mouse_data_label {_pane _x _y} { + set mLastMousePos "$_x $_y" + set point [pane_mouse_3dpoint $_pane $_x $_y] + + if {$point == ""} { + return + } + + #XXX Temporarily depend on callbacks to create the label + # should prompt the user for a label via the callback, then create + + foreach callback $mDataLabelCallbacks { + catch {$callback $point} + } +} + +::itcl::body cadwidgets::Ged::pane_mouse_data_pick {_pane _x _y} { + set pdata [$mGed data_pick $itk_component($_pane) $_x $_y] + + if {[llength $mMouseDataCallbacks] == 0} { + tk_messageBox -message "pdata - $pdata" + } else { + foreach callback $mMouseDataCallbacks { + catch {$callback $pdata} msg + } + } +} + ::itcl::body cadwidgets::Ged::pane_mouse_ray {_pane _x _y {_pflag 0}} { set mLastMouseRayPos "$_x $_y" @@ -2650,6 +3172,10 @@ if {!$itk_option(-multi_pane)} { # nothing to do if {$mPrivPane == $itk_option(-pane)} { + if {$itk_option(-paneCallback) != ""} { + catch {eval $itk_option(-paneCallback) $args} + } + return } @@ -2753,14 +3279,143 @@ } ::itcl::body cadwidgets::Ged::shoot_ray {_start _op _target _prep _no_bool _onehit} { - eval $mGed rt_gettrees ray -i -u [$mGed who] - ray prep $_prep - ray no_bool $_no_bool - ray onehit $_onehit + SetWaitCursor $this - return [ray shootray $_start $_op $_target] + set result "" + catch { + eval $mGed rt_gettrees ray -i -u [$mGed who] + ray prep $_prep + ray no_bool $_no_bool + ray onehit $_onehit + + set result [ray shootray $_start $_op $_target] + } + + SetNormalCursor $this + + return $result } +::itcl::body cadwidgets::Ged::add_begin_data_arrow_callback {_callback} { + set i [lsearch $mBeginDataArrowCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mBeginDataArrowCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_begin_data_arrow_callback_list {} { + set mBeginDataArrowCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_begin_data_arrow_callback {_callback} { + set i [lsearch $mBeginDataArrowCallbacks $_callback] + if {$i != -1} { + set mBeginDataArrowCallbacks [lreplace $mBeginDataArrowCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_end_data_arrow_callback {_callback} { + set i [lsearch $mEndDataArrowCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mEndDataArrowCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_end_data_arrow_callback_list {} { + set mEndDataArrowCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_end_data_arrow_callback {_callback} { + set i [lsearch $mEndDataArrowCallbacks $_callback] + if {$i != -1} { + set mEndDataArrowCallbacks [lreplace $mEndDataArrowCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_begin_data_line_callback {_callback} { + set i [lsearch $mBeginDataLineCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mBeginDataLineCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_begin_data_line_callback_list {} { + set mBeginDataLineCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_begin_data_line_callback {_callback} { + set i [lsearch $mBeginDataLineCallbacks $_callback] + if {$i != -1} { + set mBeginDataLineCallbacks [lreplace $mBeginDataLineCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_end_data_line_callback {_callback} { + set i [lsearch $mEndDataLineCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mEndDataLineCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_end_data_line_callback_list {} { + set mEndDataLineCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_end_data_line_callback {_callback} { + set i [lsearch $mEndDataLineCallbacks $_callback] + if {$i != -1} { + set mEndDataLineCallbacks [lreplace $mEndDataLineCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_begin_data_move_callback {_callback} { + set i [lsearch $mBeginDataMoveCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mBeginDataMoveCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_begin_data_move_callback_list {} { + set mBeginDataMoveCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_begin_data_move_callback {_callback} { + set i [lsearch $mBeginDataMoveCallbacks $_callback] + if {$i != -1} { + set mBeginDataMoveCallbacks [lreplace $mBeginDataMoveCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_end_data_move_callback {_callback} { + set i [lsearch $mEndDataMoveCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mEndDataMoveCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_end_data_move_callback_list {} { + set mEndDataMoveCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_end_data_move_callback {_callback} { + set i [lsearch $mEndDataMoveCallbacks $_callback] + if {$i != -1} { + set mEndDataMoveCallbacks [lreplace $mEndDataMoveCallbacks $i $i] + } +} + ::itcl::body cadwidgets::Ged::add_mouse_ray_callback {_callback} { set i [lsearch $mMouseRayCallbacks $_callback] @@ -2781,6 +3436,86 @@ } } +::itcl::body cadwidgets::Ged::add_mouse_data_callback {_callback} { + set i [lsearch $mMouseDataCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mMouseDataCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_mouse_data_callback_list {} { + set mMouseDataCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_mouse_data_callback {_callback} { + set i [lsearch $mMouseDataCallbacks $_callback] + if {$i != -1} { + set mMouseDataCallbacks [lreplace $mMouseDataCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_data_label_callback {_callback} { + set i [lsearch $mDataLabelCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mDataLabelCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_data_label_callback_list {} { + set mDataLabelCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_data_label_callback {_callback} { + set i [lsearch $mDataLabelCallbacks $_callback] + if {$i != -1} { + set mDataLabelCallbacks [lreplace $mDataLabelCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_data_move_callback {_callback} { + set i [lsearch $mDataMoveCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mDataMoveCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_data_move_callback_list {} { + set mDataMoveCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_data_move_callback {_callback} { + set i [lsearch $mDataMoveCallbacks $_callback] + if {$i != -1} { + set mDataMoveCallbacks [lreplace $mDataMoveCallbacks $i $i] + } +} + +::itcl::body cadwidgets::Ged::add_view_measure_callback {_callback} { + set i [lsearch $mViewMeasureCallbacks $_callback] + + # Add if not already in list + if {$i == -1} { + lappend mViewMeasureCallbacks $_callback + } +} + +::itcl::body cadwidgets::Ged::clear_view_measure_callback_list {} { + set mViewMeasureCallbacks {} +} + +::itcl::body cadwidgets::Ged::delete_view_measure_callback {_callback} { + set i [lsearch $mViewMeasureCallbacks $_callback] + if {$i != -1} { + set mViewMeasureCallbacks [lreplace $mViewMeasureCallbacks $i $i] + } +} + ::itcl::body cadwidgets::Ged::get_ged_color {_color} { switch -- $_color { "Grey" { @@ -3206,6 +3941,16 @@ $help add ypr {{yaw pitch roll} {set the view orientation given the yaw, pitch and roll}} $help add zap {{} {clear screen}} $help add zoom {{sf} {zoom view by specified scale factor}} + $help add data_arrows {{} {}} + $help add data_axes {{} {}} + $help add data_labels {{} {}} + $help add data_lines {{} {}} + $help add data_move {{} {}} + $help add data_pick {{} {}} + $help add sdata_arrows {{} {}} + $help add sdata_axes {{} {}} + $help add sdata_labels {{} {}} + $help add sdata_lines {{} {}} } # Local Variables: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-01-29 22:57:29
|
Revision: 37500 http://brlcad.svn.sourceforge.net/brlcad/?rev=37500&view=rev Author: bob1961 Date: 2010-01-29 22:57:23 +0000 (Fri, 29 Jan 2010) Log Message: ----------- Added a method for dbot_dump. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-01-29 22:56:25 UTC (rev 37499) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-01-29 22:57:23 UTC (rev 37500) @@ -156,6 +156,7 @@ method dbconcat {args} method dbfind {args} method dbip {args} + method dbot_dump {args} method decompose {args} method delay {args} method dir2ae {args} @@ -1106,6 +1107,10 @@ eval $mGed dbip $args } +::itcl::body cadwidgets::Ged::dbot_dump {args} { + eval $mGed dbot_dump $args +} + ::itcl::body cadwidgets::Ged::decompose {args} { eval $mGed decompose $args } @@ -3129,14 +3134,14 @@ return $partitions } - set partition [lindex $partitions 0] - if {$_pflag} { return $partitions } # mMouseRayCallbacks is not currently active if {[llength $mMouseRayCallbacks] == 0} { + set partition [lindex $partitions 0] + if {$partition == {}} { tk_messageBox -message "Nothing hit" } else { @@ -3777,6 +3782,7 @@ $help add dbconcat {{file [prefix]} {concatenate 'file' onto end of present database. Run 'dup file' first.}} $help add dbfind {{[-s] <objects>} {find all references to objects}} $help add dbip {{} {get dbip}} + $help add dbot_dump {{[-b] [-m directory] [-o file] [-t dxf|obj|sat|stl] [-u units] \n} {dump the displayed bots}} $help add decompose {{nmg_solid [prefix]} {decompose nmg_solid into maximally connected shells}} $help add delay {{sec usec} {delay processing for the specified amount of time}} $help add dir2ae {{az el} {returns a direction vector given the azimuth and elevation}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-10 21:11:02
|
Revision: 37991 http://brlcad.svn.sourceforge.net/brlcad/?rev=37991&view=rev Author: bob1961 Date: 2010-03-10 21:10:50 +0000 (Wed, 10 Mar 2010) Log Message: ----------- Added the snap_view, pane_snap_view and pane_screen2view methods. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-10 21:05:29 UTC (rev 37990) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-10 21:10:50 UTC (rev 37991) @@ -342,11 +342,13 @@ method pane_saveview {_pane args} method pane_sca {_pane args} method pane_scale_mode {_pane args} + method pane_screen2view {args} method pane_set_coord {_pane args} method pane_set_fb_mode {_pane args} method pane_setview {_pane args} method pane_size {_pane args} method pane_slew {_pane args} + method pane_snap_view {_pane args} method pane_tra {_pane args} method pane_translate_mode {_pane args} method pane_v2m_point {_pane args} @@ -441,6 +443,7 @@ method showmats {args} method size {args} method slew {args} + method snap_view {args} method solids {args} method solids_on_ray {args} method summary {args} @@ -1253,7 +1256,10 @@ } ::itcl::body cadwidgets::Ged::grid {args} { - eval $mGed grid $itk_component($itk_option(-pane)) $args + eval $mGed grid $itk_component(ur) $args + eval $mGed grid $itk_component(ul) $args + eval $mGed grid $itk_component(ll) $args + eval $mGed grid $itk_component(lr) $args } ::itcl::body cadwidgets::Ged::hide {args} { @@ -1866,6 +1872,10 @@ eval $mGed scale_mode $itk_component($_pane) $args } +::itcl::body cadwidgets::Ged::pane_screen2view {_pane args} { + eval $mGed screen2view $itk_component($_pane) $args +} + ::itcl::body cadwidgets::Ged::pane_set_coord {_pane args} { eval $mGed set_coord $itk_component($_pane) $args } @@ -1886,6 +1896,10 @@ eval $mGed slew $itk_component($_pane) $args } +::itcl::body cadwidgets::Ged::pane_snap_view {_pane args} { + eval $mGed snap_view $itk_component($_pane) $args +} + ::itcl::body cadwidgets::Ged::pane_tra {_pane args} { eval $mGed tra $itk_component($_pane) $args } @@ -2330,6 +2344,10 @@ eval $mGed slew $itk_component($itk_option(-pane)) $args } +::itcl::body cadwidgets::Ged::snap_view {args} { + eval $mGed snap_view $itk_component($itk_option(-pane)) $args +} + ::itcl::body cadwidgets::Ged::solids {args} { eval $mGed solids $args } @@ -3926,6 +3944,7 @@ $help add showmats {{path} {show xform matrices along path}} $help add size {{vsize} {set/get the view size}} $help add slew {{"x y"} {slew the view}} + $help add snap_view {{vx vy} {snap the view to grid}} $help add solids {{file object(s)} {returns an ascii summary of solids}} $help add summary {{[s r g]} {count/list solid/reg/groups}} $help add sync {{} {sync the in memory database to disk}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-12 15:10:53
|
Revision: 38016 http://brlcad.svn.sourceforge.net/brlcad/?rev=38016&view=rev Author: bob1961 Date: 2010-03-12 15:10:47 +0000 (Fri, 12 Mar 2010) Log Message: ----------- Added rgb_to_tk proc to cadwidgets::Ged. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-12 08:16:30 UTC (rev 38015) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-12 15:10:47 UTC (rev 38016) @@ -578,6 +578,7 @@ proc get_ged_color {_color} proc get_rgb_color {_color} proc get_vdraw_color {_color} + proc rgb_to_tk {_r _g _b} } protected { @@ -3648,8 +3649,12 @@ } } +::itcl::body cadwidgets::Ged::rgb_to_tk {_r _g _b} { + return [format \#%.2x%.2x%.2x $_r $_g $_b] +} + ############################### Commands that still need to be resolved ############################### ::itcl::body cadwidgets::Ged::set_outputHandler {args} { eval set_output_script $args This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-15 18:44:46
|
Revision: 38057 http://brlcad.svn.sourceforge.net/brlcad/?rev=38057&view=rev Author: bob1961 Date: 2010-03-15 18:44:39 +0000 (Mon, 15 Mar 2010) Log Message: ----------- Added the -adcEnable option. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-15 14:42:16 UTC (rev 38056) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-15 18:44:39 UTC (rev 38057) @@ -80,6 +80,7 @@ itk_option define -viewAxesSize viewAxesSize AxesSize 0.2 itk_option define -viewAxesTripleColor viewAxesTripleColor AxesTripleColor 1 + itk_option define -adcEnable adcEnable AdcEnable 0 itk_option define -centerDotColor centerDotColor CenterDotColor Yellow itk_option define -centerDotEnable centerDotEnable CenterDotEnable 1 itk_option define -gridEnable gridEnable GridEnable 0 @@ -717,6 +718,10 @@ eval faceplate center_dot draw [get_rgb_color $itk_option(-centerDotEnable)] } +::itcl::configbody cadwidgets::Ged::adcEnable { + adc draw $itk_option(-adcEnable) +} + ::itcl::configbody cadwidgets::Ged::gridEnable { grid draw $itk_option(-gridEnable) } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-16 18:03:25
|
Revision: 38078 http://brlcad.svn.sourceforge.net/brlcad/?rev=38078&view=rev Author: bob1961 Date: 2010-03-16 18:03:17 +0000 (Tue, 16 Mar 2010) Log Message: ----------- Added the rt_end_callback method to cawidgets::Ged. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-16 18:02:31 UTC (rev 38077) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-16 18:03:17 UTC (rev 38078) @@ -409,6 +409,7 @@ method rotate_mode {args} method rrt {args} method rt {args} + method rt_end_callback {args} method rt_gettrees {args} method rtabort {args} method rtarea {args} @@ -2173,6 +2174,10 @@ eval $mGed rt $itk_component($itk_option(-pane)) $args } +::itcl::body cadwidgets::Ged::rt_end_callback {args} { + eval $mGed rt_end_callback $args +} + ::itcl::body cadwidgets::Ged::rt_gettrees {args} { eval $mGed rt_gettrees $args } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-18 13:55:33
|
Revision: 38096 http://brlcad.svn.sourceforge.net/brlcad/?rev=38096&view=rev Author: bob1961 Date: 2010-03-18 13:55:27 +0000 (Thu, 18 Mar 2010) Log Message: ----------- Added a button parameter to several methods. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-17 23:32:01 UTC (rev 38095) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-18 13:55:27 UTC (rev 38096) @@ -508,18 +508,18 @@ method handle_view_translate_end {_pane} method help {args} method history_callback {args} - method init_comp_pick {} - method init_data_arrow {} - method init_data_label {} - method init_data_line {} - method init_data_move {} - method init_data_pick {} + method init_comp_pick {{_button 1}} + method init_data_arrow {{_button 1}} + method init_data_label {{_button 1}} + method init_data_line {{_button 1}} + method init_data_move {{_button 1}} + method init_data_pick {{_button 1}} method init_view_bindings {{_type default}} - method init_view_center {} - method init_view_measure {} - method init_view_rotate {} - method init_view_scale {} - method init_view_translate {} + method init_view_center {{_button 1}} + method init_view_measure {{_button 1}} + method init_view_rotate {{_button 1}} + method init_view_scale {{_button 1}} + method init_view_translate {{_button 1}} method center_ray {{_pflag 0}} method mouse_ray {_x _y {_pflag 0}} method pane_mouse_3dpoint {_pane _x _y {_vflag 1}} @@ -2852,76 +2852,76 @@ return $mHistoryCallback } -::itcl::body cadwidgets::Ged::init_comp_pick {} { - bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_ray ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_ray lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_comp_pick {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_ray ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_ray lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "" - bind $itk_component(ul) <ButtonRelease-1> "" - bind $itk_component(ll) <ButtonRelease-1> "" - bind $itk_component(lr) <ButtonRelease-1> "" + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" } -::itcl::body cadwidgets::Ged::init_data_arrow {} { - bind $itk_component(ur) <1> "[::itcl::code $this begin_data_arrow ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this begin_data_arrow ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this begin_data_arrow ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this begin_data_arrow lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_data_arrow {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_arrow ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_arrow ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_arrow ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_arrow lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_arrow ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_arrow lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow lr]; break" } -::itcl::body cadwidgets::Ged::init_data_label {} { - bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_data_label ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_data_label ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_data_label ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_data_label lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_data_label {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_label ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_label ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_label ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_data_label lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "" - bind $itk_component(ul) <ButtonRelease-1> "" - bind $itk_component(ll) <ButtonRelease-1> "" - bind $itk_component(lr) <ButtonRelease-1> "" + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" } -::itcl::body cadwidgets::Ged::init_data_line {} { - bind $itk_component(ur) <1> "[::itcl::code $this begin_data_line ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this begin_data_line ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this begin_data_line ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this begin_data_line lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_data_line {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_line ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_line ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_line ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_line lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_line ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_line ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_line ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_line lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_line lr]; break" } -::itcl::body cadwidgets::Ged::init_data_move {} { - bind $itk_component(ur) <1> "[::itcl::code $this begin_data_move ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this begin_data_move ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this begin_data_move ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this begin_data_move lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_data_move {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_move ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_move ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_move ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_move lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_data_move ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_data_move ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_data_move ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_data_move lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_move lr]; break" } -::itcl::body cadwidgets::Ged::init_data_pick {} { - bind $itk_component(ur) <1> "[::itcl::code $this pane_mouse_data_pick ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this pane_mouse_data_pick ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this pane_mouse_data_pick ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this pane_mouse_data_pick lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_data_pick {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_pick ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_pick ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_pick ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_data_pick lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "" - bind $itk_component(ul) <ButtonRelease-1> "" - bind $itk_component(ll) <ButtonRelease-1> "" - bind $itk_component(lr) <ButtonRelease-1> "" + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" } ::itcl::body cadwidgets::Ged::init_view_bindings {{_type default}} { @@ -3004,64 +3004,64 @@ } } -::itcl::body cadwidgets::Ged::init_view_center {} { - bind $itk_component(ur) <1> "$mGed vslew $itk_component(ur) %x %y; break" - bind $itk_component(ul) <1> "$mGed vslew $itk_component(ul) %x %y; break" - bind $itk_component(ll) <1> "$mGed vslew $itk_component(ll) %x %y; break" - bind $itk_component(lr) <1> "$mGed vslew $itk_component(lr) %x %y; break" +::itcl::body cadwidgets::Ged::init_view_center {{_button 1}} { + bind $itk_component(ur) <$_button> "$mGed vslew $itk_component(ur) %x %y; break" + bind $itk_component(ul) <$_button> "$mGed vslew $itk_component(ul) %x %y; break" + bind $itk_component(ll) <$_button> "$mGed vslew $itk_component(ll) %x %y; break" + bind $itk_component(lr) <$_button> "$mGed vslew $itk_component(lr) %x %y; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end lr]; break" } -::itcl::body cadwidgets::Ged::init_view_measure {} { - bind $itk_component(ur) <1> "[::itcl::code $this begin_view_measure ur %x %y]; break" - bind $itk_component(ul) <1> "[::itcl::code $this begin_view_measure ul %x %y]; break" - bind $itk_component(ll) <1> "[::itcl::code $this begin_view_measure ll %x %y]; break" - bind $itk_component(lr) <1> "[::itcl::code $this begin_view_measure lr %x %y]; break" +::itcl::body cadwidgets::Ged::init_view_measure {{_button 1}} { + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_view_measure ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this begin_view_measure ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this begin_view_measure ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this begin_view_measure lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this end_view_measure ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this end_view_measure ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this end_view_measure ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this end_view_measure lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure lr]; break" } -::itcl::body cadwidgets::Ged::init_view_rotate {} { - bind $itk_component(ur) <1> "$mGed rotate_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <1> "$mGed rotate_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <1> "$mGed rotate_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <1> "$mGed rotate_mode $itk_component(lr) %x %y; break" +::itcl::body cadwidgets::Ged::init_view_rotate {{_button 1}} { + bind $itk_component(ur) <$_button> "$mGed rotate_mode $itk_component(ur) %x %y; break" + bind $itk_component(ul) <$_button> "$mGed rotate_mode $itk_component(ul) %x %y; break" + bind $itk_component(ll) <$_button> "$mGed rotate_mode $itk_component(ll) %x %y; break" + bind $itk_component(lr) <$_button> "$mGed rotate_mode $itk_component(lr) %x %y; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this handle_view_rotate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this handle_view_rotate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this handle_view_rotate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this handle_view_rotate_end lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end lr]; break" } -::itcl::body cadwidgets::Ged::init_view_scale {} { - bind $itk_component(ur) <1> "$mGed scale_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <1> "$mGed scale_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <1> "$mGed scale_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <1> "$mGed scale_mode $itk_component(lr) %x %y; break" +::itcl::body cadwidgets::Ged::init_view_scale {{_button 1}} { + bind $itk_component(ur) <$_button> "$mGed scale_mode $itk_component(ur) %x %y; break" + bind $itk_component(ul) <$_button> "$mGed scale_mode $itk_component(ul) %x %y; break" + bind $itk_component(ll) <$_button> "$mGed scale_mode $itk_component(ll) %x %y; break" + bind $itk_component(lr) <$_button> "$mGed scale_mode $itk_component(lr) %x %y; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this handle_view_scale_end ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this handle_view_scale_end ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this handle_view_scale_end ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this handle_view_scale_end lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end lr]; break" } -::itcl::body cadwidgets::Ged::init_view_translate {} { - bind $itk_component(ur) <1> "$mGed translate_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <1> "$mGed translate_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <1> "$mGed translate_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <1> "$mGed translate_mode $itk_component(lr) %x %y; break" +::itcl::body cadwidgets::Ged::init_view_translate {{_button 1}} { + bind $itk_component(ur) <$_button> "$mGed translate_mode $itk_component(ur) %x %y; break" + bind $itk_component(ul) <$_button> "$mGed translate_mode $itk_component(ul) %x %y; break" + bind $itk_component(ll) <$_button> "$mGed translate_mode $itk_component(ll) %x %y; break" + bind $itk_component(lr) <$_button> "$mGed translate_mode $itk_component(lr) %x %y; break" - bind $itk_component(ur) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-1> "[::itcl::code $this handle_view_translate_end lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ur]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ul]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ll]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end lr]; break" } ::itcl::body cadwidgets::Ged::center_ray {{_pflag 0}} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-18 15:21:24
|
Revision: 38097 http://brlcad.svn.sourceforge.net/brlcad/?rev=38097&view=rev Author: bob1961 Date: 2010-03-18 15:21:18 +0000 (Thu, 18 Mar 2010) Log Message: ----------- Added the init_button_no_op method. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-18 13:55:27 UTC (rev 38096) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-18 15:21:18 UTC (rev 38097) @@ -508,6 +508,7 @@ method handle_view_translate_end {_pane} method help {args} method history_callback {args} + method init_button_no_op {{_button 1}} method init_comp_pick {{_button 1}} method init_data_arrow {{_button 1}} method init_data_label {{_button 1}} @@ -2852,6 +2853,17 @@ return $mHistoryCallback } +::itcl::body cadwidgets::Ged::init_button_no_op {{_button 1}} { + bind $itk_component(ur) <$_button> "" + bind $itk_component(ul) <$_button> "" + bind $itk_component(ll) <$_button> "" + bind $itk_component(lr) <$_button> "" + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" +} + ::itcl::body cadwidgets::Ged::init_comp_pick {{_button 1}} { bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-18 22:14:02
|
Revision: 38106 http://brlcad.svn.sourceforge.net/brlcad/?rev=38106&view=rev Author: bob1961 Date: 2010-03-18 22:13:48 +0000 (Thu, 18 Mar 2010) Log Message: ----------- Added code for using the measuring tool for measuring angles. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-18 21:03:08 UTC (rev 38105) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-18 22:13:48 UTC (rev 38106) @@ -499,7 +499,8 @@ method end_data_arrow {_pane} method end_data_line {_pane} method end_data_move {_pane} - method end_view_measure {_pane} + method end_view_measure {_pane {_part2_button 2}} + method end_view_measure_part2 {_button _pane _x _y} method getUserCmds {} method handle_data_move {_pane _dtype _dindex _x _y} method handle_view_measure {_pane _x _y} @@ -517,7 +518,8 @@ method init_data_pick {{_button 1}} method init_view_bindings {{_type default}} method init_view_center {{_button 1}} - method init_view_measure {{_button 1}} + method init_view_measure {{_button 1} {_part2_button 2}} + method init_view_measure_part2 {_button} method init_view_rotate {{_button 1}} method init_view_scale {{_button 1}} method init_view_translate {{_button 1}} @@ -590,7 +592,10 @@ variable mHistoryCallback "" variable mMeasureEnd variable mMeasureStart - variable mMeasuringStickColorVDraw ffff00 + variable mMeasuringStickColorVDraw2D ff00ff + variable mMeasuringStickColorVDraw3D ffff00 + variable mMeasuringStick3D 1 + variable mMeasuringStick3DCurrent 1 variable mRefreshOn 1 variable mLastDataType "" variable mLastDataIndex "" @@ -598,6 +603,7 @@ variable mLastMousePos "" variable mBegin3DPoint "" variable mEnd3DPoint "" + variable mMeasureLineActive 0 variable mBeginDataArrowCallbacks "" variable mBeginDataLineCallbacks "" @@ -611,6 +617,8 @@ variable mMouseRayCallbacks "" variable mViewMeasureCallbacks "" + method init_button_no_op_prot {{_button 1}} + method measure_line_erase {} method multi_pane {args} method new_view {args} method toggle_multi_pane {} @@ -2613,24 +2621,31 @@ } ::itcl::body cadwidgets::Ged::begin_view_measure {_pane _x _y} { + measure_line_erase + set mLastMousePos "$_x $_y" set mBegin3DPoint [pane_mouse_3dpoint $_pane $_x $_y] + set mMeasuringStick3D $mMeasuringStick3DCurrent - if {$itk_option(-measuringStickMode) == 0} { - # Draw on the front face of the viewing cube - set view [$mGed screen2view $itk_component($_pane) $_x $_y] - set bounds [$mGed bounds $itk_component($_pane)] - set vZ [expr {[lindex $bounds 4] / -2048.0}] - set mMeasureStart [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + if {1} { + set mMeasureStart $mBegin3DPoint } else { - # Draw on the center of the viewing cube (i.e. view Z is 0) - set mMeasureStart [$mGed screen2model $itk_component($_pane) $_x $_y] + if {$itk_option(-measuringStickMode) == 0} { + # Draw on the front face of the viewing cube + set view [$mGed screen2view $itk_component($_pane) $_x $_y] + set bounds [$mGed bounds $itk_component($_pane)] + set vZ [expr {[lindex $bounds 4] / -2048.0}] + set mMeasureStart [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + } else { + # Draw on the center of the viewing cube (i.e. view Z is 0) + set mMeasureStart [$mGed screen2model $itk_component($_pane) $_x $_y] + } } # start receiving motion events bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_view_measure $_pane %x %y]; break" - set mMeasuringStickColorVDraw [get_vdraw_color $itk_option(-measuringStickColor)] + set mMeasuringStickColorVDraw3D [get_vdraw_color $itk_option(-measuringStickColor)] } ::itcl::body cadwidgets::Ged::default_views {} { @@ -2728,7 +2743,7 @@ refresh_all } -::itcl::body cadwidgets::Ged::end_view_measure {_pane} { +::itcl::body cadwidgets::Ged::end_view_measure {_pane {_part2_button 2}} { $mGed idle_mode $itk_component($_pane) if {$mLastMousePos == ""} { @@ -2737,20 +2752,23 @@ refresh_off - catch {$mGed vdraw vlist delete $MEASURING_STICK} - $mGed erase _VDRW$MEASURING_STICK - set mEnd3DPoint [eval pane_mouse_3dpoint $_pane $mLastMousePos] set mLastMousePos "" -# Use this for 2D -# set diff [vsub2 $mMeasureEnd $mMeasureStart] - set diff [vsub2 $mEnd3DPoint $mBegin3DPoint] set delta [expr {[magnitude $diff] * [$mGed base2local $itk_component($_pane)]}] - set mstring "Measured distance: $delta [$mGed units -s]" + if {[expr {abs($delta) > 0.0001}]} { + set mMeasureLineActive 1 + init_view_measure_part2 $_part2_button + } else { + refresh_on +# refresh_all + return + } + set mstring "Measured Distance: $delta [$mGed units -s]" + if {[llength $mViewMeasureCallbacks] == 0} { tk_messageBox -title "Measured Distance" \ -icon info \ @@ -2765,6 +2783,63 @@ refresh_all } +::itcl::body cadwidgets::Ged::end_view_measure_part2 {_button _pane _x _y} { + if {$mMeasuringStick3D} { + set mMeasuringStick3D $mMeasuringStick3DCurrent + } + + set last_pt [pane_mouse_3dpoint $_pane $_x $_y] + + if {1} { + set pt $last_pt + } else { + if {$itk_option(-measuringStickMode) == 0} { + # Draw on the front face of the viewing cube + set view [$mGed screen2view $itk_component($_pane) $_x $_y] + set bounds [$mGed bounds $itk_component($_pane)] + set vZ [expr {[lindex $bounds 4] / -2048.0}] + set pt [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + } else { + # Draw on the center of the viewing cube (i.e. view Z is 0) + set pt [$mGed screen2model $itk_component($_pane) $_x $_y] + } + } + + if {[vnear_zero [vsub2 $last_pt $mEnd3DPoint] 0.0001]} { + return + } + + set move 0 + set draw 1 + $mGed vdraw open $MEASURING_STICK + if {$mMeasuringStick3D && $mMeasuringStick3DCurrent} { + $mGed vdraw params color $mMeasuringStickColorVDraw3D + } else { + $mGed vdraw params color $mMeasuringStickColorVDraw2D + } + eval $mGed vdraw write next $draw $pt + $mGed vdraw send + + set A [vunitize [vsub2 $mBegin3DPoint $mEnd3DPoint]] + set B [vunitize [vsub2 $last_pt $mEnd3DPoint]] + set cos [vdot $A $B] + set angle [format "%.2f" [expr {acos($cos) * (180.0 / 3.141592653589793)}]] + + set mstring "Measured Angle: $angle" + + if {[llength $mViewMeasureCallbacks] == 0} { + tk_messageBox -title "Measured Angle" \ + -icon info \ + -message $mstring + } else { + foreach callback $mViewMeasureCallbacks { + catch {$callback $mstring} + } + } + + init_button_no_op_prot $_button +} + ::itcl::body cadwidgets::Ged::getUserCmds {} { return [$help getCmds] } @@ -2797,21 +2872,29 @@ set mLastMousePos "$_x $_y" catch {$mGed vdraw vlist delete $MEASURING_STICK} - if {$itk_option(-measuringStickMode) == 0} { - # Draw on the front face of the viewing cube - set view [$mGed screen2view $itk_component($_pane) $_x $_y] - set bounds [$mGed bounds $itk_component($_pane)] - set vZ [expr {[lindex $bounds 4] / -2048.0}] - set mMeasureEnd [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + if {1} { + set mMeasureEnd [pane_mouse_3dpoint $_pane $_x $_y] } else { - # Draw on the center of the viewing cube (i.e. view Z is 0) - set mMeasureEnd [$mGed screen2model $itk_component($_pane) $_x $_y] + if {$itk_option(-measuringStickMode) == 0} { + # Draw on the front face of the viewing cube + set view [$mGed screen2view $itk_component($_pane) $_x $_y] + set bounds [$mGed bounds $itk_component($_pane)] + set vZ [expr {[lindex $bounds 4] / -2048.0}] + set mMeasureEnd [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + } else { + # Draw on the center of the viewing cube (i.e. view Z is 0) + set mMeasureEnd [$mGed screen2model $itk_component($_pane) $_x $_y] + } } set move 0 set draw 1 $mGed vdraw open $MEASURING_STICK - $mGed vdraw params color $mMeasuringStickColorVDraw + if {$mMeasuringStick3D && $mMeasuringStick3DCurrent} { + $mGed vdraw params color $mMeasuringStickColorVDraw3D + } else { + $mGed vdraw params color $mMeasuringStickColorVDraw2D + } eval $mGed vdraw write next $move $mMeasureStart eval $mGed vdraw write next $draw $mMeasureEnd $mGed vdraw send @@ -2854,17 +2937,13 @@ } ::itcl::body cadwidgets::Ged::init_button_no_op {{_button 1}} { - bind $itk_component(ur) <$_button> "" - bind $itk_component(ul) <$_button> "" - bind $itk_component(ll) <$_button> "" - bind $itk_component(lr) <$_button> "" - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + measure_line_erase + init_button_no_op_prot $_button } ::itcl::body cadwidgets::Ged::init_comp_pick {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_ray ll %x %y]; break" @@ -2877,6 +2956,8 @@ } ::itcl::body cadwidgets::Ged::init_data_arrow {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_arrow ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_arrow ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_arrow ll %x %y]; break" @@ -2889,6 +2970,8 @@ } ::itcl::body cadwidgets::Ged::init_data_label {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_label ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_label ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_label ll %x %y]; break" @@ -2901,6 +2984,8 @@ } ::itcl::body cadwidgets::Ged::init_data_line {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_line ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_line ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_line ll %x %y]; break" @@ -2913,6 +2998,8 @@ } ::itcl::body cadwidgets::Ged::init_data_move {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_move ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_move ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_move ll %x %y]; break" @@ -2925,6 +3012,8 @@ } ::itcl::body cadwidgets::Ged::init_data_pick {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_pick ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_pick ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_pick ll %x %y]; break" @@ -3017,6 +3106,8 @@ } ::itcl::body cadwidgets::Ged::init_view_center {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "$mGed vslew $itk_component(ur) %x %y; break" bind $itk_component(ul) <$_button> "$mGed vslew $itk_component(ul) %x %y; break" bind $itk_component(ll) <$_button> "$mGed vslew $itk_component(ll) %x %y; break" @@ -3028,19 +3119,35 @@ bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end lr]; break" } -::itcl::body cadwidgets::Ged::init_view_measure {{_button 1}} { +::itcl::body cadwidgets::Ged::init_view_measure {{_button 1} {_part2_button 2}} { + measure_line_erase + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_view_measure ur %x %y]; break" bind $itk_component(ul) <$_button> "[::itcl::code $this begin_view_measure ul %x %y]; break" bind $itk_component(ll) <$_button> "[::itcl::code $this begin_view_measure ll %x %y]; break" bind $itk_component(lr) <$_button> "[::itcl::code $this begin_view_measure lr %x %y]; break" - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure lr]; break" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ur $_part2_button]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ul $_part2_button]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure ll $_part2_button]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure lr $_part2_button]; break" } +::itcl::body cadwidgets::Ged::init_view_measure_part2 {_button} { + bind $itk_component(ur) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ur %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ul %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ll %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this end_view_measure_part2 $_button lr %x %y]; break" + + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" +} + ::itcl::body cadwidgets::Ged::init_view_rotate {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "$mGed rotate_mode $itk_component(ur) %x %y; break" bind $itk_component(ul) <$_button> "$mGed rotate_mode $itk_component(ul) %x %y; break" bind $itk_component(ll) <$_button> "$mGed rotate_mode $itk_component(ll) %x %y; break" @@ -3053,6 +3160,8 @@ } ::itcl::body cadwidgets::Ged::init_view_scale {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "$mGed scale_mode $itk_component(ur) %x %y; break" bind $itk_component(ul) <$_button> "$mGed scale_mode $itk_component(ul) %x %y; break" bind $itk_component(ll) <$_button> "$mGed scale_mode $itk_component(ll) %x %y; break" @@ -3065,6 +3174,8 @@ } ::itcl::body cadwidgets::Ged::init_view_translate {{_button 1}} { + measure_line_erase + bind $itk_component(ur) <$_button> "$mGed translate_mode $itk_component(ur) %x %y; break" bind $itk_component(ul) <$_button> "$mGed translate_mode $itk_component(ul) %x %y; break" bind $itk_component(ll) <$_button> "$mGed translate_mode $itk_component(ll) %x %y; break" @@ -3094,6 +3205,7 @@ # Lastly, if all else fails, pick a point on the view plane. # ::itcl::body cadwidgets::Ged::pane_mouse_3dpoint {_pane _x _y {_vflag 1}} { + set mMeasuringStick3DCurrent 1 set pdata [$mGed data_pick $itk_component($_pane) $_x $_y] if {$pdata == ""} { @@ -3104,6 +3216,8 @@ return } + set mMeasuringStick3DCurrent 0 + refresh_off set saved_center [$mGed center $itk_component($_pane)] eval $mGed vslew $itk_component($_pane) $mLastMouseRayPos @@ -3114,12 +3228,14 @@ set partition [lindex $partitions 0] if {[catch {bu_get_value_by_keyword in $partition} in]} { + set mMeasuringStick3DCurrent 0 putString "Partition does not contain an \"in\"" putString "$in" return } if {[catch {bu_get_value_by_keyword point $in} point]} { + set mMeasuringStick3DCurrent 0 putString "Partition does not contain an \"in\" point" putString "$point" return @@ -3689,6 +3805,25 @@ ############################### Protected Methods ############################### +::itcl::body cadwidgets::Ged::init_button_no_op_prot {{_button 1}} { + bind $itk_component(ur) <$_button> "" + bind $itk_component(ul) <$_button> "" + bind $itk_component(ll) <$_button> "" + bind $itk_component(lr) <$_button> "" + bind $itk_component(ur) <ButtonRelease-$_button> "" + bind $itk_component(ul) <ButtonRelease-$_button> "" + bind $itk_component(ll) <ButtonRelease-$_button> "" + bind $itk_component(lr) <ButtonRelease-$_button> "" +} + +::itcl::body cadwidgets::Ged::measure_line_erase {} { + if {$mMeasureLineActive} { + catch {$mGed vdraw vlist delete $MEASURING_STICK} + catch {$mGed erase _VDRW$MEASURING_STICK} + set mMeasureLineActive 0 + } +} + ::itcl::body cadwidgets::Ged::multi_pane {args} { # get multi_pane if {$args == ""} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-22 18:45:57
|
Revision: 38116 http://brlcad.svn.sourceforge.net/brlcad/?rev=38116&view=rev Author: bob1961 Date: 2010-03-22 18:45:50 +0000 (Mon, 22 Mar 2010) Log Message: ----------- Added code to allow the user to interactively drag the second leg of the measurement lines. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-22 18:06:35 UTC (rev 38115) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-22 18:45:50 UTC (rev 38116) @@ -495,15 +495,17 @@ method begin_data_line {_pane _x _y} method begin_data_move {_pane _x _y} method begin_view_measure {_pane _x _y} + method begin_view_measure_part2 {_pane _button _x _y} method default_views {} method end_data_arrow {_pane} method end_data_line {_pane} method end_data_move {_pane} method end_view_measure {_pane {_part2_button 2}} - method end_view_measure_part2 {_button _pane _x _y} + method end_view_measure_part2 {_pane _button} method getUserCmds {} method handle_data_move {_pane _dtype _dindex _x _y} method handle_view_measure {_pane _x _y} + method handle_view_measure_part2 {_pane _x _y} method handle_view_rotate_end {_pane} method handle_view_scale_end {_pane} method handle_view_translate_end {_pane} @@ -590,8 +592,6 @@ variable mGed "" variable mSharedGed 0 variable mHistoryCallback "" - variable mMeasureEnd - variable mMeasureStart variable mMeasuringStickColorVDraw2D ff00ff variable mMeasuringStickColorVDraw3D ffff00 variable mMeasuringStick3D 1 @@ -602,6 +602,7 @@ variable mLastMouseRayPos "" variable mLastMousePos "" variable mBegin3DPoint "" + variable mMiddle3DPoint "" variable mEnd3DPoint "" variable mMeasureLineActive 0 @@ -2623,31 +2624,41 @@ ::itcl::body cadwidgets::Ged::begin_view_measure {_pane _x _y} { measure_line_erase - set mLastMousePos "$_x $_y" set mBegin3DPoint [pane_mouse_3dpoint $_pane $_x $_y] + set mMiddle3DPoint $mBegin3DPoint set mMeasuringStick3D $mMeasuringStick3DCurrent - if {1} { - set mMeasureStart $mBegin3DPoint - } else { - if {$itk_option(-measuringStickMode) == 0} { - # Draw on the front face of the viewing cube - set view [$mGed screen2view $itk_component($_pane) $_x $_y] - set bounds [$mGed bounds $itk_component($_pane)] - set vZ [expr {[lindex $bounds 4] / -2048.0}] - set mMeasureStart [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] - } else { - # Draw on the center of the viewing cube (i.e. view Z is 0) - set mMeasureStart [$mGed screen2model $itk_component($_pane) $_x $_y] - } - } - # start receiving motion events bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_view_measure $_pane %x %y]; break" set mMeasuringStickColorVDraw3D [get_vdraw_color $itk_option(-measuringStickColor)] } +::itcl::body cadwidgets::Ged::begin_view_measure_part2 {_pane _button _x _y} { + if {$mMeasuringStick3D} { + set mMeasuringStick3D $mMeasuringStick3DCurrent + } + + set mEnd3DPoint [pane_mouse_3dpoint $_pane $_x $_y] + set pt $mEnd3DPoint + + if {[vnear_zero [vsub2 $mEnd3DPoint $mMiddle3DPoint] 0.0001]} { + return + } + + $mGed vdraw open $MEASURING_STICK + if {$mMeasuringStick3D && $mMeasuringStick3DCurrent} { + $mGed vdraw params color $mMeasuringStickColorVDraw3D + } else { + $mGed vdraw params color $mMeasuringStickColorVDraw2D + } + eval $mGed vdraw write next 1 $pt + $mGed vdraw send + + # start receiving motion events + bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_view_measure_part2 $_pane %x %y]; break" +} + ::itcl::body cadwidgets::Ged::default_views {} { $mGed aet $itk_component(ul) 0 90 0 $mGed aet $itk_component(ur) 35 25 0 @@ -2746,16 +2757,9 @@ ::itcl::body cadwidgets::Ged::end_view_measure {_pane {_part2_button 2}} { $mGed idle_mode $itk_component($_pane) - if {$mLastMousePos == ""} { - return - } - refresh_off - set mEnd3DPoint [eval pane_mouse_3dpoint $_pane $mLastMousePos] - set mLastMousePos "" - - set diff [vsub2 $mEnd3DPoint $mBegin3DPoint] + set diff [vsub2 $mMiddle3DPoint $mBegin3DPoint] set delta [expr {[magnitude $diff] * [$mGed base2local $itk_component($_pane)]}] if {[expr {abs($delta) > 0.0001}]} { @@ -2763,7 +2767,6 @@ init_view_measure_part2 $_part2_button } else { refresh_on -# refresh_all return } @@ -2783,45 +2786,11 @@ refresh_all } -::itcl::body cadwidgets::Ged::end_view_measure_part2 {_button _pane _x _y} { - if {$mMeasuringStick3D} { - set mMeasuringStick3D $mMeasuringStick3DCurrent - } +::itcl::body cadwidgets::Ged::end_view_measure_part2 {_pane _button} { + $mGed idle_mode $itk_component($_pane) - set last_pt [pane_mouse_3dpoint $_pane $_x $_y] - - if {1} { - set pt $last_pt - } else { - if {$itk_option(-measuringStickMode) == 0} { - # Draw on the front face of the viewing cube - set view [$mGed screen2view $itk_component($_pane) $_x $_y] - set bounds [$mGed bounds $itk_component($_pane)] - set vZ [expr {[lindex $bounds 4] / -2048.0}] - set pt [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] - } else { - # Draw on the center of the viewing cube (i.e. view Z is 0) - set pt [$mGed screen2model $itk_component($_pane) $_x $_y] - } - } - - if {[vnear_zero [vsub2 $last_pt $mEnd3DPoint] 0.0001]} { - return - } - - set move 0 - set draw 1 - $mGed vdraw open $MEASURING_STICK - if {$mMeasuringStick3D && $mMeasuringStick3DCurrent} { - $mGed vdraw params color $mMeasuringStickColorVDraw3D - } else { - $mGed vdraw params color $mMeasuringStickColorVDraw2D - } - eval $mGed vdraw write next $draw $pt - $mGed vdraw send - - set A [vunitize [vsub2 $mBegin3DPoint $mEnd3DPoint]] - set B [vunitize [vsub2 $last_pt $mEnd3DPoint]] + set A [vunitize [vsub2 $mBegin3DPoint $mMiddle3DPoint]] + set B [vunitize [vsub2 $mEnd3DPoint $mMiddle3DPoint]] set cos [vdot $A $B] set angle [format "%.2f" [expr {acos($cos) * (180.0 / 3.141592653589793)}]] @@ -2869,23 +2838,9 @@ } ::itcl::body cadwidgets::Ged::handle_view_measure {_pane _x _y} { - set mLastMousePos "$_x $_y" catch {$mGed vdraw vlist delete $MEASURING_STICK} - if {1} { - set mMeasureEnd [pane_mouse_3dpoint $_pane $_x $_y] - } else { - if {$itk_option(-measuringStickMode) == 0} { - # Draw on the front face of the viewing cube - set view [$mGed screen2view $itk_component($_pane) $_x $_y] - set bounds [$mGed bounds $itk_component($_pane)] - set vZ [expr {[lindex $bounds 4] / -2048.0}] - set mMeasureEnd [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] - } else { - # Draw on the center of the viewing cube (i.e. view Z is 0) - set mMeasureEnd [$mGed screen2model $itk_component($_pane) $_x $_y] - } - } + set mMiddle3DPoint [pane_mouse_3dpoint $_pane $_x $_y] set move 0 set draw 1 @@ -2895,11 +2850,27 @@ } else { $mGed vdraw params color $mMeasuringStickColorVDraw2D } - eval $mGed vdraw write next $move $mMeasureStart - eval $mGed vdraw write next $draw $mMeasureEnd + eval $mGed vdraw write next $move $mBegin3DPoint + eval $mGed vdraw write next $draw $mMiddle3DPoint $mGed vdraw send } +::itcl::body cadwidgets::Ged::handle_view_measure_part2 {_pane _x _y} { + set mEnd3DPoint [pane_mouse_3dpoint $_pane $_x $_y] + + $mGed vdraw open $MEASURING_STICK + if {$mMeasuringStick3D && $mMeasuringStick3DCurrent} { + $mGed vdraw params color $mMeasuringStickColorVDraw3D + } else { + $mGed vdraw params color $mMeasuringStickColorVDraw2D + } + + # Replace the end point + $mGed vdraw delete 2 + eval $mGed vdraw write next 1 $mEnd3DPoint + $mGed vdraw send +} + ::itcl::body cadwidgets::Ged::handle_view_rotate_end {_pane} { $mGed idle_mode $itk_component($_pane) @@ -3134,15 +3105,15 @@ } ::itcl::body cadwidgets::Ged::init_view_measure_part2 {_button} { - bind $itk_component(ur) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this end_view_measure_part2 $_button ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this end_view_measure_part2 $_button lr %x %y]; break" + bind $itk_component(ur) <$_button> "[::itcl::code $this begin_view_measure_part2 ur $_button %x %y]; break" + bind $itk_component(ul) <$_button> "[::itcl::code $this begin_view_measure_part2 ul $_button %x %y]; break" + bind $itk_component(ll) <$_button> "[::itcl::code $this begin_view_measure_part2 ll $_button %x %y]; break" + bind $itk_component(lr) <$_button> "[::itcl::code $this begin_view_measure_part2 lr $_button %x %y]; break" - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ur $_button]; break" + bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ul $_button]; break" + bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ll $_button]; break" + bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 lr $_button]; break" } ::itcl::body cadwidgets::Ged::init_view_rotate {{_button 1}} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-03-23 11:38:01
|
Revision: 38122 http://brlcad.svn.sourceforge.net/brlcad/?rev=38122&view=rev Author: bob1961 Date: 2010-03-23 11:37:49 +0000 (Tue, 23 Mar 2010) Log Message: ----------- Spit out the length of both legs. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-23 11:28:07 UTC (rev 38121) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-03-23 11:37:49 UTC (rev 38122) @@ -2770,7 +2770,7 @@ return } - set mstring "Measured Distance: $delta [$mGed units -s]" + set mstring "Measured Distance (Leg 1): $delta [$mGed units -s]" if {[llength $mViewMeasureCallbacks] == 0} { tk_messageBox -title "Measured Distance" \ @@ -2783,27 +2783,38 @@ } refresh_on - refresh_all +# refresh_all } ::itcl::body cadwidgets::Ged::end_view_measure_part2 {_pane _button} { $mGed idle_mode $itk_component($_pane) + # Calculate length of leg 2 + set diff [vsub2 $mEnd3DPoint $mMiddle3DPoint] + set delta [expr {[magnitude $diff] * [$mGed base2local $itk_component($_pane)]}] + set A [vunitize [vsub2 $mBegin3DPoint $mMiddle3DPoint]] set B [vunitize [vsub2 $mEnd3DPoint $mMiddle3DPoint]] set cos [vdot $A $B] set angle [format "%.2f" [expr {acos($cos) * (180.0 / 3.141592653589793)}]] - set mstring "Measured Angle: $angle" - if {[llength $mViewMeasureCallbacks] == 0} { + set mstring "Measured Distance (Leg 2): $delta [$mGed units -s]\nMeasured Angle: $angle" tk_messageBox -title "Measured Angle" \ -icon info \ -message $mstring } else { + # For some reason, having a newline in the string causes the geometry window to flash ???? + # So, split the string into two pieces. + set mstring "Measured Distance (Leg 2): $delta [$mGed units -s]" foreach callback $mViewMeasureCallbacks { catch {$callback $mstring} } + + set mstring "Measured Angle: $angle" + foreach callback $mViewMeasureCallbacks { + catch {$callback $mstring} + } } init_button_no_op_prot $_button This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-05-04 22:14:29
|
Revision: 38968 http://brlcad.svn.sourceforge.net/brlcad/?rev=38968&view=rev Author: bob1961 Date: 2010-05-04 22:14:22 +0000 (Tue, 04 May 2010) Log Message: ----------- Minor cleanup. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-04 22:09:50 UTC (rev 38967) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-04 22:14:22 UTC (rev 38968) @@ -702,10 +702,9 @@ # initialize the views default_views - pack $itk_component(ul) -fill both -expand yes - pack $itk_component(ur) -fill both -expand yes - pack $itk_component(ll) -fill both -expand yes - pack $itk_component(lr) -fill both -expand yes + foreach dm {ur ul ll lr} { + pack $itk_component($dm) -fill both -expand yes + } pack $itk_component(upw) -fill both -expand yes pack $itk_component(lpw) -fill both -expand yes @@ -917,10 +916,9 @@ } ::itcl::body cadwidgets::Ged::autoview_all {args} { - eval $mGed autoview $itk_component(ur) $args - eval $mGed autoview $itk_component(ul) $args - eval $mGed autoview $itk_component(ll) $args - eval $mGed autoview $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed autoview $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::base2local {} { @@ -940,10 +938,9 @@ } ::itcl::body cadwidgets::Ged::bg_all {args} { - eval $mGed bg $itk_component(ur) $args - eval $mGed bg $itk_component(ul) $args - eval $mGed bg $itk_component(ll) $args - eval $mGed bg $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed bg $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::blast {args} { @@ -1003,10 +1000,9 @@ } ::itcl::body cadwidgets::Ged::bounds_all {args} { - eval $mGed bounds $itk_component(ur) $args - eval $mGed bounds $itk_component(ul) $args - eval $mGed bounds $itk_component(ll) $args - eval $mGed bounds $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed bounds $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::c {args} { @@ -1074,11 +1070,10 @@ if {$len < 2} { return [eval $mGed data_arrows $itk_component($itk_option(-pane)) $args] } - - eval $mGed data_arrows $itk_component(ur) $args - eval $mGed data_arrows $itk_component(ul) $args - eval $mGed data_arrows $itk_component(ll) $args - eval $mGed data_arrows $itk_component(lr) $args + + foreach dm {ur ul ll lr} { + eval $mGed data_arrows $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::data_axes {args} { @@ -1087,10 +1082,9 @@ return [eval $mGed data_axes $itk_component($itk_option(-pane)) $args] } - eval $mGed data_axes $itk_component(ur) $args - eval $mGed data_axes $itk_component(ul) $args - eval $mGed data_axes $itk_component(ll) $args - eval $mGed data_axes $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed data_axes $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::data_labels {args} { @@ -1099,10 +1093,9 @@ return [eval $mGed data_labels $itk_component($itk_option(-pane)) $args] } - eval $mGed data_labels $itk_component(ur) $args - eval $mGed data_labels $itk_component(ul) $args - eval $mGed data_labels $itk_component(ll) $args - eval $mGed data_labels $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed data_labels $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::data_lines {args} { @@ -1111,10 +1104,9 @@ return [eval $mGed data_lines $itk_component($itk_option(-pane)) $args] } - eval $mGed data_lines $itk_component(ur) $args - eval $mGed data_lines $itk_component(ul) $args - eval $mGed data_lines $itk_component(ll) $args - eval $mGed data_lines $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed data_lines $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::data_move {args} { @@ -1218,10 +1210,9 @@ } ::itcl::body cadwidgets::Ged::faceplate {args} { - eval $mGed faceplate $itk_component(ur) $args - eval $mGed faceplate $itk_component(ul) $args - eval $mGed faceplate $itk_component(ll) $args - eval $mGed faceplate $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed faceplate $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::facetize {args} { @@ -1273,10 +1264,9 @@ } ::itcl::body cadwidgets::Ged::grid {args} { - eval $mGed grid $itk_component(ur) $args - eval $mGed grid $itk_component(ul) $args - eval $mGed grid $itk_component(ll) $args - eval $mGed grid $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed grid $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::hide {args} { @@ -1360,10 +1350,9 @@ } ::itcl::body cadwidgets::Ged::light_all {args} { - eval $mGed light $itk_component(ur) $args - eval $mGed light $itk_component(ul) $args - eval $mGed light $itk_component(ll) $args - eval $mGed light $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed light $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::list_views {args} { @@ -1439,10 +1428,9 @@ } ::itcl::body cadwidgets::Ged::model_axes {args} { - eval $mGed model_axes $itk_component(ur) $args - eval $mGed model_axes $itk_component(ul) $args - eval $mGed model_axes $itk_component(ll) $args - eval $mGed model_axes $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed model_axes $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::more_args_callback {args} { @@ -2262,10 +2250,9 @@ return [eval $mGed sdata_arrows $itk_component($itk_option(-pane)) $args] } - eval $mGed sdata_arrows $itk_component(ur) $args - eval $mGed sdata_arrows $itk_component(ul) $args - eval $mGed sdata_arrows $itk_component(ll) $args - eval $mGed sdata_arrows $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed sdata_arrows $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::sdata_axes {args} { @@ -2274,10 +2261,9 @@ return [eval $mGed sdata_axes $itk_component($itk_option(-pane)) $args] } - eval $mGed sdata_axes $itk_component(ur) $args - eval $mGed sdata_axes $itk_component(ul) $args - eval $mGed sdata_axes $itk_component(ll) $args - eval $mGed sdata_axes $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed sdata_axes $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::sdata_labels {args} { @@ -2286,10 +2272,9 @@ return [eval $mGed sdata_labels $itk_component($itk_option(-pane)) $args] } - eval $mGed sdata_labels $itk_component(ur) $args - eval $mGed sdata_labels $itk_component(ul) $args - eval $mGed sdata_labels $itk_component(ll) $args - eval $mGed sdata_labels $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed sdata_labels $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::sdata_lines {args} { @@ -2298,10 +2283,9 @@ return [eval $mGed sdata_lines $itk_component($itk_option(-pane)) $args] } - eval $mGed sdata_lines $itk_component(ur) $args - eval $mGed sdata_lines $itk_component(ul) $args - eval $mGed sdata_lines $itk_component(ll) $args - eval $mGed sdata_lines $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed sdata_lines $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::search {args} { @@ -2418,10 +2402,9 @@ } ::itcl::body cadwidgets::Ged::transparency_all {args} { - eval $mGed transparency $itk_component(ur) $args - eval $mGed transparency $itk_component(ul) $args - eval $mGed transparency $itk_component(ll) $args - eval $mGed transparency $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed transparency $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::tree {args} { @@ -2457,10 +2440,9 @@ } ::itcl::body cadwidgets::Ged::view_axes {args} { - eval $mGed view_axes $itk_component(ur) $args - eval $mGed view_axes $itk_component(ul) $args - eval $mGed view_axes $itk_component(ll) $args - eval $mGed view_axes $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed view_axes $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::viewdir {args} { @@ -2524,10 +2506,9 @@ } ::itcl::body cadwidgets::Ged::zbuffer_all {args} { - eval $mGed zbuffer $itk_component(ur) $args - eval $mGed zbuffer $itk_component(ul) $args - eval $mGed zbuffer $itk_component(ll) $args - eval $mGed zbuffer $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed zbuffer $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::zclip {args} { @@ -2535,10 +2516,9 @@ } ::itcl::body cadwidgets::Ged::zclip_all {args} { - eval $mGed zclip $itk_component(ur) $args - eval $mGed zclip $itk_component(ul) $args - eval $mGed zclip $itk_component(ll) $args - eval $mGed zclip $itk_component(lr) $args + foreach dm {ur ul ll lr} { + eval $mGed zclip $itk_component($dm) $args + } } ::itcl::body cadwidgets::Ged::zoom {args} { @@ -2860,17 +2840,15 @@ if {$_dtype == "data_labels" || $_dtype == "sdata_labels"} { set labels [$mGed $_dtype $itk_component($_pane) labels] - $mGed $_dtype $itk_component(ur) labels $labels - $mGed $_dtype $itk_component(ul) labels $labels - $mGed $_dtype $itk_component(ll) labels $labels - $mGed $_dtype $itk_component(lr) labels $labels + foreach dm {ur ul ll lr} { + $mGed $_dtype $itk_component($dm) labels $labels + } } else { set points [$mGed $_dtype $itk_component($_pane) points] - $mGed $_dtype $itk_component(ur) points $points - $mGed $_dtype $itk_component(ul) points $points - $mGed $_dtype $itk_component(ll) points $points - $mGed $_dtype $itk_component(lr) points $points + foreach dm {ur ul ll lr} { + $mGed $_dtype $itk_component($dm) points $points + } } refresh_on refresh_all @@ -2954,85 +2932,55 @@ ::itcl::body cadwidgets::Ged::init_comp_pick {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_ray ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_ray ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_ray ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_ray lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this pane_mouse_ray $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "" + } } ::itcl::body cadwidgets::Ged::init_data_arrow {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_arrow ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_arrow ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_arrow ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_arrow lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this begin_data_arrow $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this end_data_arrow $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_data_label {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_label ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_label ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_label ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_data_label lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this pane_mouse_data_label $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "" + } } ::itcl::body cadwidgets::Ged::init_data_line {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_line ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_line ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_line ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_line lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_line ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_line lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this begin_data_line $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this end_data_line $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_data_move {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this begin_data_move ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this begin_data_move ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this begin_data_move ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this begin_data_move lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_data_move ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_data_move lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this begin_data_move $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this end_data_move $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_data_pick {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "[::itcl::code $this pane_mouse_data_pick ur %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this pane_mouse_data_pick ul %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this pane_mouse_data_pick ll %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this pane_mouse_data_pick lr %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this pane_mouse_data_pick $dm %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "" + } } ::itcl::body cadwidgets::Ged::init_view_bindings {{_type default}} { @@ -3047,67 +2995,10 @@ $mGed init_view_bindings $itk_component($pane) set win $itk_component($pane) - # Turn off mouse bindings + # Turn off a few mouse bindings bind $win <1> {} bind $win <2> {} bind $win <3> {} - if {0} { - bind $win <ButtonRelease-1> {} - - # Turn off rotate mode - bind $win <Control-ButtonPress-1> {} - bind $win <Control-ButtonPress-2> {} - bind $win <Control-ButtonPress-3> {} - - # Turn off translate mode - bind $win <Shift-ButtonPress-1> {} - bind $win <Shift-ButtonPress-2> {} - bind $win <Shift-ButtonPress-3> {} - - # Turn off scale mode - bind $win <Control-Shift-ButtonPress-1> {} - bind $win <Control-Shift-ButtonPress-2> {} - bind $win <Control-Shift-ButtonPress-3> {} - - # Turn off constrained rotate mode - bind $win <c><Control-ButtonPress-1> {} - bind $win <c><Control-ButtonPress-2> {} - bind $win <c><Control-ButtonPress-3> {} - - # Turn off constrained translate mode - bind $win <C><ButtonPress-1> {} - bind $win <C><ButtonPress-2> {} - bind $win <C><ButtonPress-3> {} - - # Turn off key bindings - bind $win 3 {} - bind $win 4 {} - bind $win f {} - bind $win R {} - bind $win r {} - bind $win l {} - bind $win t {} - bind $win b {} - bind $win m {} - bind $win T {} - bind $win v {} - bind $win <F2> {} - bind $win <F3> {} - bind $win <F4> {} - bind $win <F5> {} - bind $win <F10> {} - - # overrides - bind $win <Shift-ButtonPress-1> "$mGed rotate_mode $win %x %y; break" - bind $win <Shift-ButtonPress-2> "$mGed scale_mode $win %x %y; break" - bind $win <Shift-ButtonPress-3> "$mGed translate_mode $win %x %y; break" - bind $win <Control-Shift-ButtonPress-3> "$mGed vslew $win %x %y; break" - - bind $win <Shift-ButtonRelease-1> "[::itcl::code $this handle_view_rotate_end $pane]; break" - bind $win <Shift-ButtonRelease-2> "[::itcl::code $this handle_view_scale_end $pane]; break" - bind $win <Shift-ButtonRelease-3> "[::itcl::code $this handle_view_translate_end $pane]; break" - bind $win <Control-Shift-ButtonRelease-3> "[::itcl::code $this handle_view_translate_end $pane]; break" - } } } } @@ -3116,15 +3007,10 @@ ::itcl::body cadwidgets::Ged::init_view_center {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "$mGed vslew $itk_component(ur) %x %y; break" - bind $itk_component(ul) <$_button> "$mGed vslew $itk_component(ul) %x %y; break" - bind $itk_component(ll) <$_button> "$mGed vslew $itk_component(ll) %x %y; break" - bind $itk_component(lr) <$_button> "$mGed vslew $itk_component(lr) %x %y; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "$mGed vslew $itk_component($dm) %x %y; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_view_measure {{_part1_button 1} {_part2_button 2}} { @@ -3136,57 +3022,37 @@ } ::itcl::body cadwidgets::Ged::init_view_measure_part2 {_button} { - bind $itk_component(ur) <$_button> "[::itcl::code $this begin_view_measure_part2 ur $_button %x %y]; break" - bind $itk_component(ul) <$_button> "[::itcl::code $this begin_view_measure_part2 ul $_button %x %y]; break" - bind $itk_component(ll) <$_button> "[::itcl::code $this begin_view_measure_part2 ll $_button %x %y]; break" - bind $itk_component(lr) <$_button> "[::itcl::code $this begin_view_measure_part2 lr $_button %x %y]; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ur $_button]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ul $_button]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 ll $_button]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 lr $_button]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "[::itcl::code $this begin_view_measure_part2 $dm $_button %x %y]; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this end_view_measure_part2 $dm $_button]; break" + } } ::itcl::body cadwidgets::Ged::init_view_rotate {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "$mGed rotate_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <$_button> "$mGed rotate_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <$_button> "$mGed rotate_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <$_button> "$mGed rotate_mode $itk_component(lr) %x %y; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "$mGed rotate_mode $itk_component($dm) %x %y; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this handle_view_rotate_end $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_view_scale {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "$mGed scale_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <$_button> "$mGed scale_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <$_button> "$mGed scale_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <$_button> "$mGed scale_mode $itk_component(lr) %x %y; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "$mGed scale_mode $itk_component($dm) %x %y; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this handle_view_scale_end $dm]; break" + } } ::itcl::body cadwidgets::Ged::init_view_translate {{_button 1}} { measure_line_erase - bind $itk_component(ur) <$_button> "$mGed translate_mode $itk_component(ur) %x %y; break" - bind $itk_component(ul) <$_button> "$mGed translate_mode $itk_component(ul) %x %y; break" - bind $itk_component(ll) <$_button> "$mGed translate_mode $itk_component(ll) %x %y; break" - bind $itk_component(lr) <$_button> "$mGed translate_mode $itk_component(lr) %x %y; break" - - bind $itk_component(ur) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ur]; break" - bind $itk_component(ul) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ul]; break" - bind $itk_component(ll) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end ll]; break" - bind $itk_component(lr) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end lr]; break" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "$mGed translate_mode $itk_component($dm) %x %y; break" + bind $itk_component($dm) <ButtonRelease-$_button> "[::itcl::code $this handle_view_translate_end $dm]; break" + } } ::itcl::body cadwidgets::Ged::center_ray {{_pflag 0}} { @@ -3808,14 +3674,10 @@ ############################### Protected Methods ############################### ::itcl::body cadwidgets::Ged::init_button_no_op_prot {{_button 1}} { - bind $itk_component(ur) <$_button> "" - bind $itk_component(ul) <$_button> "" - bind $itk_component(ll) <$_button> "" - bind $itk_component(lr) <$_button> "" - bind $itk_component(ur) <ButtonRelease-$_button> "" - bind $itk_component(ul) <ButtonRelease-$_button> "" - bind $itk_component(ll) <ButtonRelease-$_button> "" - bind $itk_component(lr) <ButtonRelease-$_button> "" + foreach dm {ur ul ll lr} { + bind $itk_component($dm) <$_button> "" + bind $itk_component($dm) <ButtonRelease-$_button> "" + } } ::itcl::body cadwidgets::Ged::measure_line_erase {} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-05-12 17:28:34
|
Revision: 39142 http://brlcad.svn.sourceforge.net/brlcad/?rev=39142&view=rev Author: bob1961 Date: 2010-05-12 17:28:26 +0000 (Wed, 12 May 2010) Log Message: ----------- Tweak the faceplate command to return possible results. Fixed a typo in the -centerDotEnable option. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-12 17:28:02 UTC (rev 39141) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-12 17:28:26 UTC (rev 39142) @@ -725,7 +725,7 @@ ############################### Configuration Options ############################### ::itcl::configbody cadwidgets::Ged::centerDotEnable { - eval faceplate center_dot draw [get_rgb_color $itk_option(-centerDotEnable)] + eval faceplate center_dot draw $itk_option(-centerDotEnable) } ::itcl::configbody cadwidgets::Ged::adcEnable { @@ -1211,8 +1211,10 @@ ::itcl::body cadwidgets::Ged::faceplate {args} { foreach dm {ur ul ll lr} { - eval $mGed faceplate $itk_component($dm) $args + set ret [eval $mGed faceplate $itk_component($dm) $args] } + + return $ret } ::itcl::body cadwidgets::Ged::facetize {args} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-05-13 20:38:34
|
Revision: 39190 http://brlcad.svn.sourceforge.net/brlcad/?rev=39190&view=rev Author: bob1961 Date: 2010-05-13 20:38:28 +0000 (Thu, 13 May 2010) Log Message: ----------- Added an alias for opendb. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-13 20:19:06 UTC (rev 39189) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-05-13 20:38:28 UTC (rev 39190) @@ -259,6 +259,7 @@ method nmg_simplify {args} method ocenter {args} method open {args} + method opendb {args} method orient {args} method orotate {args} method orotate_mode {args} @@ -1541,6 +1542,10 @@ set $mGedFile [eval $mGed open $args] } +::itcl::body cadwidgets::Ged::opendb {args} { + set $mGedFile [eval $mGed open $args] +} + ::itcl::body cadwidgets::Ged::orient {args} { eval $mGed orient $itk_component($itk_option(-pane)) $args } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-06-22 19:33:15
|
Revision: 39656 http://brlcad.svn.sourceforge.net/brlcad/?rev=39656&view=rev Author: bob1961 Date: 2010-06-22 19:33:05 +0000 (Tue, 22 Jun 2010) Log Message: ----------- Added a method for combmem. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-06-22 19:31:04 UTC (rev 39655) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-06-22 19:33:05 UTC (rev 39656) @@ -143,6 +143,7 @@ method color {args} method comb {args} method comb_color {args} + method combmem {args} method configure_win {args} method constrain_rmode {args} method constrain_tmode {args} @@ -1038,6 +1039,10 @@ eval $mGed comb_color $args } +::itcl::body cadwidgets::Ged::combmem {args} { + eval $mGed combmem $args +} + ::itcl::body cadwidgets::Ged::configure_win {args} { eval $mGed configure $args } @@ -3840,6 +3845,7 @@ $help add color {{low high r g b str} {make color entry}} $help add comb {{comb_name <operation solid>} {create or extend combination w/booleans}} $help add comb_color {{comb R G B} {set combination's color}} + $help add combmem {{comb_name <op name az el tw tx ty tz sa sx sy sz ...>} {set/get comb members}} $help add copyeval {{new_solid path_to_old_solid} {copy an 'evaluated' path solid}} $help add copymat {{a/b c/d} {copy matrix from one combination's arc to another's}} $help add cp {{from to} {copy [duplicate] object}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-09-20 21:46:45
|
Revision: 40626 http://brlcad.svn.sourceforge.net/brlcad/?rev=40626&view=rev Author: bob1961 Date: 2010-09-20 21:46:39 +0000 (Mon, 20 Sep 2010) Log Message: ----------- Added the pane_win_name method to cadwidgets::Ged. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-20 21:45:45 UTC (rev 40625) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-20 21:46:39 UTC (rev 40626) @@ -369,6 +369,7 @@ method pane_zbuffer {_pane args} method pane_zclip {_pane args} method pane_zoom {_pane args} + method pane_win_name {_pane} method pane_win_size {_pane args} method pathlist {args} method paths {args} @@ -2001,6 +2002,10 @@ eval $mGed zoom $itk_component($_pane) $args } +::itcl::body cadwidgets::Ged::pane_win_name {_pane} { + return $itk_component($_pane) +} + ::itcl::body cadwidgets::Ged::pane_win_size {_pane args} { set nargs [llength $args] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-09-24 13:50:50
|
Revision: 40668 http://brlcad.svn.sourceforge.net/brlcad/?rev=40668&view=rev Author: bob1961 Date: 2010-09-24 13:50:44 +0000 (Fri, 24 Sep 2010) Log Message: ----------- Added the handle_expose method to cadwidgets::Ged. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-24 13:49:46 UTC (rev 40667) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-24 13:50:44 UTC (rev 40668) @@ -194,6 +194,7 @@ method glob {args} method gqa {args} method grid {args} + method handle_expose {args} method hide {args} method how {args} method human {args} @@ -1296,6 +1297,10 @@ } } +::itcl::body cadwidgets::Ged::handle_expose {args} { + eval $mGed handle_expose $args +} + ::itcl::body cadwidgets::Ged::hide {args} { eval $mGed hide $args } @@ -3707,6 +3712,9 @@ "Black" { return "0 0 0" } + "Navy" { + return "0 0 50" + } "Blue" { return "0 0 255" } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-09-27 19:13:59
|
Revision: 40711 http://brlcad.svn.sourceforge.net/brlcad/?rev=40711&view=rev Author: bob1961 Date: 2010-09-27 19:13:53 +0000 (Mon, 27 Sep 2010) Log Message: ----------- Modify Ged::pane_mouse_ray and Ged::pane_mouse_3dpoint to honor snap-to-grid if it's on. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-27 18:55:34 UTC (rev 40710) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-27 19:13:53 UTC (rev 40711) @@ -617,6 +617,7 @@ variable mLastDataType "" variable mLastDataIndex "" variable mLastMouseRayPos "" + variable mLastMouseRayTarget "" variable mLastMousePos "" variable mBegin3DPoint "" variable mMiddle3DPoint "" @@ -2777,6 +2778,7 @@ return } + set mLastMouseRayTarget "" refresh_off $mGed $mLastDataType $itk_component($_pane) draw 0 set point [eval pane_mouse_3dpoint $_pane $mLastMousePos 0] @@ -3175,18 +3177,13 @@ set partitions [pane_mouse_ray $_pane $_x $_y 1] if {$partitions == ""} { + set point $mLastMouseRayTarget + if {!$_vflag} { - return + return $point } set mMeasuringStick3DCurrent 0 - - refresh_off - set saved_center [$mGed center $itk_component($_pane)] - eval $mGed vslew $itk_component($_pane) $mLastMouseRayPos - set point [vscale [$mGed center $itk_component($_pane)] [$mGed local2base $itk_component($_pane)]] - $mGed center $itk_component($_pane) $saved_center - refresh_on } else { set partition [lindex $partitions 0] @@ -3252,15 +3249,15 @@ ::itcl::body cadwidgets::Ged::pane_mouse_ray {_pane _x _y {_pflag 0}} { set mLastMouseRayPos "$_x $_y" - set target [$mGed screen2model $itk_component($_pane) $_x $_y] set view [$mGed screen2view $itk_component($_pane) $_x $_y] + set view [$mGed snap_view $itk_component($_pane) [lindex $view 0] [lindex $view 1]] set bounds [$mGed bounds $itk_component($_pane)] set vZ [expr {[lindex $bounds 4] / -2048.0}] set start [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] $vZ] + set mLastMouseRayTarget [$mGed v2m_point $itk_component($_pane) [lindex $view 0] [lindex $view 1] 0] - - if {[catch {shoot_ray $start "at" $target 1 1 0} partitions]} { + if {[catch {shoot_ray $start "at" $mLastMouseRayTarget 1 1 0} partitions]} { return $partitions } @@ -3280,7 +3277,7 @@ } } else { foreach callback $mMouseRayCallbacks { - catch {$callback $start $target $partitions} + catch {$callback $start $mLastMouseRayTarget $partitions} } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-09-29 16:21:22
|
Revision: 40835 http://brlcad.svn.sourceforge.net/brlcad/?rev=40835&view=rev Author: bob1961 Date: 2010-09-29 16:21:15 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Add support for Navy to Ged::get_ged_color and Ged::get_vdraw_color. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-29 15:39:43 UTC (rev 40834) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-09-29 16:21:15 UTC (rev 40835) @@ -3676,6 +3676,9 @@ "Black" { return "0/0/0" } + "Navy" { + return "0/0/50" + } "Blue" { return "0/0/255" } @@ -3745,6 +3748,9 @@ "Black" { return "000000" } + "Navy" { + return "000032" + } "Blue" { return "0000ff" } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2010-10-26 20:05:12
|
Revision: 41142 http://brlcad.svn.sourceforge.net/brlcad/?rev=41142&view=rev Author: bob1961 Date: 2010-10-26 19:22:03 +0000 (Tue, 26 Oct 2010) Log Message: ----------- Modified Ged::begin_data_arrow and Ged::begin_data_line to validate dindex before using. Modified Paths: -------------- brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-10-26 19:14:16 UTC (rev 41141) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2010-10-26 19:22:03 UTC (rev 41142) @@ -2625,6 +2625,10 @@ set dindex [llength $points] incr dindex -1 + if {$dindex < 0} { + return + } + # start receiving motion events bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_data_move $_pane data_arrows $dindex %x %y]; break" } @@ -2646,6 +2650,10 @@ set dindex [llength $points] incr dindex -1 + if {$dindex < 0} { + return + } + # start receiving motion events bind $itk_component($_pane) <Motion> "[::itcl::code $this handle_data_move $_pane data_lines $dindex %x %y]; break" } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |