Thread: [brlcad-commits] SF.net SVN: brlcad:[34183] brlcad/trunk/src (Page 3)
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <bo...@us...> - 2009-04-07 17:02:27
|
Revision: 34183 http://brlcad.svn.sourceforge.net/brlcad/?rev=34183&view=rev Author: bob1961 Date: 2009-04-07 17:02:00 +0000 (Tue, 07 Apr 2009) Log Message: ----------- Modified Archer to use the ttk widgets. Modified Paths: -------------- brlcad/trunk/src/archer/archer brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb8EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl brlcad/trunk/src/tclscripts/archer/CombEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EpaEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EtoEditFrame.tcl brlcad/trunk/src/tclscripts/archer/ExtrudeEditFrame.tcl brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl brlcad/trunk/src/tclscripts/archer/GripEditFrame.tcl brlcad/trunk/src/tclscripts/archer/HalfEditFrame.tcl brlcad/trunk/src/tclscripts/archer/PartEditFrame.tcl brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/ShaderEdit.tcl brlcad/trunk/src/tclscripts/archer/TgcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/TorusEditFrame.tcl brlcad/trunk/src/tclscripts/archer/images/Themes/Crystal/wizard.png brlcad/trunk/src/tclscripts/archer/images/Themes/Crystal_Large/wizard.png brlcad/trunk/src/tclscripts/archer/images/Themes/Windows/wizard.png brlcad/trunk/src/tclscripts/lib/RtControl.tcl Modified: brlcad/trunk/src/archer/archer =================================================================== --- brlcad/trunk/src/archer/archer 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/archer/archer 2009-04-07 17:02:00 UTC (rev 34183) @@ -58,6 +58,9 @@ #\ exec $WISH $0 $@ +# Set ttk theme +::ttk::style theme use clam + # normalize ARCHER_HOME if {[info exists env(ARCHER_HOME)]} { set dir [file normalize $env(ARCHER_HOME)] Modified: brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl 2009-04-07 17:02:00 UTC (rev 34183) @@ -91,269 +91,155 @@ ::itcl::body Arb4EditFrame::buildUpperPanel {} { set parent [$this childsite upper] itk_component add arb4Type { - ::label $parent.arb4type \ + ::ttk::label $parent.arb4type \ -text "Arb4:" \ -anchor e - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb4Name { - ::label $parent.arb4name \ + ::ttk::label $parent.arb4name \ -textvariable [::itcl::scope itk_option(-geometryObject)] \ -anchor w - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # Create header labels itk_component add arb4XL { - ::label $parent.arb4XL \ + ::ttk::label $parent.arb4XL \ -text "X" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb4YL { - ::label $parent.arb4YL \ + ::ttk::label $parent.arb4YL \ -text "Y" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb4ZL { - ::label $parent.arb4ZL \ + ::ttk::label $parent.arb4ZL \ -text "Z" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # create widgets for vertices itk_component add arb4V1L { - ::radiobutton $parent.arb4V1L \ + ::ttk::label $parent.arb4V1L \ -text "V1:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 1 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb4V1L) configure \ - -disabledforeground [$itk_component(arb4V1L) cget -foreground] \ - -selectcolor [$itk_component(arb4V1L) cget -background] + } {} itk_component add arb4V1xE { - ::entry $parent.arb4V1xE \ + ::ttk::entry $parent.arb4V1xE \ -textvariable [::itcl::scope mV1x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V1yE { - ::entry $parent.arb4V1yE \ + ::ttk::entry $parent.arb4V1yE \ -textvariable [::itcl::scope mV1y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V1zE { - ::entry $parent.arb4V1zE \ + ::ttk::entry $parent.arb4V1zE \ -textvariable [::itcl::scope mV1z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V1UnitsL { - ::label $parent.arb4V1UnitsL \ + ::ttk::label $parent.arb4V1UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb4V2L { - ::radiobutton $parent.arb4V2L \ + ::ttk::label $parent.arb4V2L \ -text "V2:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 2 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb4V2L) configure \ - -disabledforeground [$itk_component(arb4V2L) cget -foreground] \ - -selectcolor [$itk_component(arb4V2L) cget -background] + } {} itk_component add arb4V2xE { - ::entry $parent.arb4V2xE \ + ::ttk::entry $parent.arb4V2xE \ -textvariable [::itcl::scope mV2x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V2yE { - ::entry $parent.arb4V2yE \ + ::ttk::entry $parent.arb4V2yE \ -textvariable [::itcl::scope mV2y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V2zE { - ::entry $parent.arb4V2zE \ + ::ttk::entry $parent.arb4V2zE \ -textvariable [::itcl::scope mV2z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V2UnitsL { - ::label $parent.arb4V2UnitsL \ + ::ttk::label $parent.arb4V2UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb4V3L { - ::radiobutton $parent.arb4V3L \ + ::ttk::label $parent.arb4V3L \ -text "V3:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 3 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb4V3L) configure \ - -disabledforeground [$itk_component(arb4V3L) cget -foreground] \ - -selectcolor [$itk_component(arb4V3L) cget -background] + } {} itk_component add arb4V3xE { - ::entry $parent.arb4V3xE \ + ::ttk::entry $parent.arb4V3xE \ -textvariable [::itcl::scope mV3x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V3yE { - ::entry $parent.arb4V3yE \ + ::ttk::entry $parent.arb4V3yE \ -textvariable [::itcl::scope mV3y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V3zE { - ::entry $parent.arb4V3zE \ + ::ttk::entry $parent.arb4V3zE \ -textvariable [::itcl::scope mV3z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V3UnitsL { - ::label $parent.arb4V3UnitsL \ + ::ttk::label $parent.arb4V3UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb4V4L { - ::radiobutton $parent.arb4V4L \ + ::ttk::label $parent.arb4V4L \ -text "V4:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 4 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb4V4L) configure \ - -disabledforeground [$itk_component(arb4V4L) cget -foreground] \ - -selectcolor [$itk_component(arb4V4L) cget -background] + } {} itk_component add arb4V4xE { - ::entry $parent.arb4V4xE \ + ::ttk::entry $parent.arb4V4xE \ -textvariable [::itcl::scope mV5x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V4yE { - ::entry $parent.arb4V4yE \ + ::ttk::entry $parent.arb4V4yE \ -textvariable [::itcl::scope mV5y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V4zE { - ::entry $parent.arb4V4zE \ + ::ttk::entry $parent.arb4V4zE \ -textvariable [::itcl::scope mV5z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb4V4UnitsL { - ::label $parent.arb4V4UnitsL \ + ::ttk::label $parent.arb4V4UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} set row 0 grid $itk_component(arb4Type) \ @@ -496,7 +382,7 @@ ::itcl::body Arb4EditFrame::buildMoveEdgePanel {parent} { foreach point {1 2 3 4} { itk_component add movePoint$point { - ::radiobutton $parent.me$point \ + ::ttk::radiobutton $parent.me$point \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst movePoint$point]] \ -text "Move point $point" \ @@ -512,7 +398,7 @@ ::itcl::body Arb4EditFrame::buildMoveFacePanel {parent} { foreach face {123 124 234 134} { itk_component add moveFace$face { - ::radiobutton $parent.mf$face \ + ::ttk::radiobutton $parent.mf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveFace$face]] \ -text "Move face $face" \ @@ -528,7 +414,7 @@ ::itcl::body Arb4EditFrame::buildRotateFacePanel {parent} { foreach face {123 124 234 134} { itk_component add rotateFace$face { - ::radiobutton $parent.rf$face \ + ::ttk::radiobutton $parent.rf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst rotateFace$face]] \ -text "Rotate face $face" \ Modified: brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl 2009-04-07 17:02:00 UTC (rev 34183) @@ -98,326 +98,186 @@ ::itcl::body Arb5EditFrame::buildUpperPanel {} { set parent [$this childsite upper] itk_component add arb5Type { - ::label $parent.arb5type \ + ::ttk::label $parent.arb5type \ -text "Arb5:" \ -anchor e - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb5Name { - ::label $parent.arb5name \ + ::ttk::label $parent.arb5name \ -textvariable [::itcl::scope itk_option(-geometryObject)] \ -anchor w - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # Create header labels itk_component add arb5XL { - ::label $parent.arb5XL \ + ::ttk::label $parent.arb5XL \ -text "X" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb5YL { - ::label $parent.arb5YL \ + ::ttk::label $parent.arb5YL \ -text "Y" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb5ZL { - ::label $parent.arb5ZL \ + ::ttk::label $parent.arb5ZL \ -text "Z" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # create widgets for vertices itk_component add arb5V1L { - ::radiobutton $parent.arb5V1L \ + ::ttk::label $parent.arb5V1L \ -text "V1:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 1 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb5V1L) configure \ - -disabledforeground [$itk_component(arb5V1L) cget -foreground] \ - -selectcolor [$itk_component(arb5V1L) cget -background] + } {} itk_component add arb5V1xE { - ::entry $parent.arb5V1xE \ + ::ttk::entry $parent.arb5V1xE \ -textvariable [::itcl::scope mV1x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V1yE { - ::entry $parent.arb5V1yE \ + ::ttk::entry $parent.arb5V1yE \ -textvariable [::itcl::scope mV1y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V1zE { - ::entry $parent.arb5V1zE \ + ::ttk::entry $parent.arb5V1zE \ -textvariable [::itcl::scope mV1z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V1UnitsL { - ::label $parent.arb5V1UnitsL \ + ::ttk::label $parent.arb5V1UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb5V2L { - ::radiobutton $parent.arb5V2L \ + ::ttk::label $parent.arb5V2L \ -text "V2:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 2 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb5V2L) configure \ - -disabledforeground [$itk_component(arb5V2L) cget -foreground] \ - -selectcolor [$itk_component(arb5V2L) cget -background] + } {} itk_component add arb5V2xE { - ::entry $parent.arb5V2xE \ + ::ttk::entry $parent.arb5V2xE \ -textvariable [::itcl::scope mV2x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V2yE { - ::entry $parent.arb5V2yE \ + ::ttk::entry $parent.arb5V2yE \ -textvariable [::itcl::scope mV2y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V2zE { - ::entry $parent.arb5V2zE \ + ::ttk::entry $parent.arb5V2zE \ -textvariable [::itcl::scope mV2z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V2UnitsL { - ::label $parent.arb5V2UnitsL \ + ::ttk::label $parent.arb5V2UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb5V3L { - ::radiobutton $parent.arb5V3L \ + ::ttk::label $parent.arb5V3L \ -text "V3:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 3 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb5V3L) configure \ - -disabledforeground [$itk_component(arb5V3L) cget -foreground] \ - -selectcolor [$itk_component(arb5V3L) cget -background] + } {} itk_component add arb5V3xE { - ::entry $parent.arb5V3xE \ + ::ttk::entry $parent.arb5V3xE \ -textvariable [::itcl::scope mV3x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V3yE { - ::entry $parent.arb5V3yE \ + ::ttk::entry $parent.arb5V3yE \ -textvariable [::itcl::scope mV3y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V3zE { - ::entry $parent.arb5V3zE \ + ::ttk::entry $parent.arb5V3zE \ -textvariable [::itcl::scope mV3z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V3UnitsL { - ::label $parent.arb5V3UnitsL \ + ::ttk::label $parent.arb5V3UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb5V4L { - ::radiobutton $parent.arb5V4L \ + ::ttk::label $parent.arb5V4L \ -text "V4:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 4 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb5V4L) configure \ - -disabledforeground [$itk_component(arb5V4L) cget -foreground] \ - -selectcolor [$itk_component(arb5V4L) cget -background] + } {} itk_component add arb5V4xE { - ::entry $parent.arb5V4xE \ + ::ttk::entry $parent.arb5V4xE \ -textvariable [::itcl::scope mV4x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V4yE { - ::entry $parent.arb5V4yE \ + ::ttk::entry $parent.arb5V4yE \ -textvariable [::itcl::scope mV4y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V4zE { - ::entry $parent.arb5V4zE \ + ::ttk::entry $parent.arb5V4zE \ -textvariable [::itcl::scope mV4z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V4UnitsL { - ::label $parent.arb5V4UnitsL \ + ::ttk::label $parent.arb5V4UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb5V5L { - ::radiobutton $parent.arb5V5L \ + ::ttk::label $parent.arb5V5L \ -text "V5:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 5 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb5V5L) configure \ - -disabledforeground [$itk_component(arb5V5L) cget -foreground] \ - -selectcolor [$itk_component(arb5V5L) cget -background] + } {} itk_component add arb5V5xE { - ::entry $parent.arb5V5xE \ + ::ttk::entry $parent.arb5V5xE \ -textvariable [::itcl::scope mV5x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V5yE { - ::entry $parent.arb5V5yE \ + ::ttk::entry $parent.arb5V5yE \ -textvariable [::itcl::scope mV5y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V5zE { - ::entry $parent.arb5V5zE \ + ::ttk::entry $parent.arb5V5zE \ -textvariable [::itcl::scope mV5z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb5V5UnitsL { - ::label $parent.arb5V5UnitsL \ + ::ttk::label $parent.arb5V5UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} set row 0 grid $itk_component(arb5Type) \ @@ -589,7 +449,7 @@ ::itcl::body Arb5EditFrame::buildMoveEdgePanel {parent} { foreach edge {12 23 34 14 15 25 35 45} { itk_component add moveEdge$edge { - ::radiobutton $parent.me$edge \ + ::ttk::radiobutton $parent.me$edge \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveEdge$edge]] \ -text "Move edge $edge" \ @@ -603,7 +463,7 @@ foreach point {5} { itk_component add movePoint$point { - ::radiobutton $parent.me$point \ + ::ttk::radiobutton $parent.me$point \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst movePoint$point]] \ -text "Move point $point" \ @@ -619,7 +479,7 @@ ::itcl::body Arb5EditFrame::buildMoveFacePanel {parent} { foreach face {1234 125 235 345 145} { itk_component add moveFace$face { - ::radiobutton $parent.mf$face \ + ::ttk::radiobutton $parent.mf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveFace$face]] \ -text "Move face $face" \ @@ -635,7 +495,7 @@ ::itcl::body Arb5EditFrame::buildRotateFacePanel {parent} { foreach face {1234 125 235 345 145} { itk_component add rotateFace$face { - ::radiobutton $parent.rf$face \ + ::ttk::radiobutton $parent.rf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst rotateFace$face]] \ -text "Rotate face $face" \ Modified: brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl 2009-04-07 17:02:00 UTC (rev 34183) @@ -99,383 +99,217 @@ ::itcl::body Arb6EditFrame::buildUpperPanel {} { set parent [$this childsite upper] itk_component add arb6Type { - ::label $parent.arb6type \ + ::ttk::label $parent.arb6type \ -text "Arb6:" \ -anchor e - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb6Name { - ::label $parent.arb6name \ + ::ttk::label $parent.arb6name \ -textvariable [::itcl::scope itk_option(-geometryObject)] \ -anchor w - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # Create header labels itk_component add arb6XL { - ::label $parent.arb6XL \ + ::ttk::label $parent.arb6XL \ -text "X" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb6YL { - ::label $parent.arb6YL \ + ::ttk::label $parent.arb6YL \ -text "Y" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb6ZL { - ::label $parent.arb6ZL \ + ::ttk::label $parent.arb6ZL \ -text "Z" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # create widgets for vertices itk_component add arb6V1L { - ::radiobutton $parent.arb6V1L \ + ::ttk::label $parent.arb6V1L \ -text "V1:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 1 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V1L) configure \ - -disabledforeground [$itk_component(arb6V1L) cget -foreground] \ - -selectcolor [$itk_component(arb6V1L) cget -background] + } {} itk_component add arb6V1xE { - ::entry $parent.arb6V1xE \ + ::ttk::entry $parent.arb6V1xE \ -textvariable [::itcl::scope mV1x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V1yE { - ::entry $parent.arb6V1yE \ + ::ttk::entry $parent.arb6V1yE \ -textvariable [::itcl::scope mV1y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V1zE { - ::entry $parent.arb6V1zE \ + ::ttk::entry $parent.arb6V1zE \ -textvariable [::itcl::scope mV1z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V1UnitsL { - ::label $parent.arb6V1UnitsL \ + ::ttk::label $parent.arb6V1UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb6V2L { - ::radiobutton $parent.arb6V2L \ + ::ttk::label $parent.arb6V2L \ -text "V2:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 2 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V2L) configure \ - -disabledforeground [$itk_component(arb6V2L) cget -foreground] \ - -selectcolor [$itk_component(arb6V2L) cget -background] + } {} itk_component add arb6V2xE { - ::entry $parent.arb6V2xE \ + ::ttk::entry $parent.arb6V2xE \ -textvariable [::itcl::scope mV2x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V2yE { - ::entry $parent.arb6V2yE \ + ::ttk::entry $parent.arb6V2yE \ -textvariable [::itcl::scope mV2y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V2zE { - ::entry $parent.arb6V2zE \ + ::ttk::entry $parent.arb6V2zE \ -textvariable [::itcl::scope mV2z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V2UnitsL { - ::label $parent.arb6V2UnitsL \ + ::ttk::label $parent.arb6V2UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb6V3L { - ::radiobutton $parent.arb6V3L \ + ::ttk::label $parent.arb6V3L \ -text "V3:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 3 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V3L) configure \ - -disabledforeground [$itk_component(arb6V3L) cget -foreground] \ - -selectcolor [$itk_component(arb6V3L) cget -background] + } {} itk_component add arb6V3xE { - ::entry $parent.arb6V3xE \ + ::ttk::entry $parent.arb6V3xE \ -textvariable [::itcl::scope mV3x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V3yE { - ::entry $parent.arb6V3yE \ + ::ttk::entry $parent.arb6V3yE \ -textvariable [::itcl::scope mV3y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V3zE { - ::entry $parent.arb6V3zE \ + ::ttk::entry $parent.arb6V3zE \ -textvariable [::itcl::scope mV3z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V3UnitsL { - ::label $parent.arb6V3UnitsL \ + ::ttk::label $parent.arb6V3UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb6V4L { - ::radiobutton $parent.arb6V4L \ + ::ttk::label $parent.arb6V4L \ -text "V4:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 4 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V4L) configure \ - -disabledforeground [$itk_component(arb6V4L) cget -foreground] \ - -selectcolor [$itk_component(arb6V4L) cget -background] + } {} itk_component add arb6V4xE { - ::entry $parent.arb6V4xE \ + ::ttk::entry $parent.arb6V4xE \ -textvariable [::itcl::scope mV4x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V4yE { - ::entry $parent.arb6V4yE \ + ::ttk::entry $parent.arb6V4yE \ -textvariable [::itcl::scope mV4y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V4zE { - ::entry $parent.arb6V4zE \ + ::ttk::entry $parent.arb6V4zE \ -textvariable [::itcl::scope mV4z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V4UnitsL { - ::label $parent.arb6V4UnitsL \ + ::ttk::label $parent.arb6V4UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb6V5L { - ::radiobutton $parent.arb6V5L \ + ::ttk::label $parent.arb6V5L \ -text "V5:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 5 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V5L) configure \ - -disabledforeground [$itk_component(arb6V5L) cget -foreground] \ - -selectcolor [$itk_component(arb6V5L) cget -background] + } {} itk_component add arb6V5xE { - ::entry $parent.arb6V5xE \ + ::ttk::entry $parent.arb6V5xE \ -textvariable [::itcl::scope mV5x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V5yE { - ::entry $parent.arb6V5yE \ + ::ttk::entry $parent.arb6V5yE \ -textvariable [::itcl::scope mV5y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V5zE { - ::entry $parent.arb6V5zE \ + ::ttk::entry $parent.arb6V5zE \ -textvariable [::itcl::scope mV5z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V5UnitsL { - ::label $parent.arb6V5UnitsL \ + ::ttk::label $parent.arb6V5UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb6V6L { - ::radiobutton $parent.arb6V6L \ + ::ttk::label $parent.arb6V6L \ -text "V6:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 6 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb6V6L) configure \ - -disabledforeground [$itk_component(arb6V6L) cget -foreground] \ - -selectcolor [$itk_component(arb6V6L) cget -background] + } {} itk_component add arb6V6xE { - ::entry $parent.arb6V6xE \ + ::ttk::entry $parent.arb6V6xE \ -textvariable [::itcl::scope mV7x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V6yE { - ::entry $parent.arb6V6yE \ + ::ttk::entry $parent.arb6V6yE \ -textvariable [::itcl::scope mV7y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V6zE { - ::entry $parent.arb6V6zE \ + ::ttk::entry $parent.arb6V6zE \ -textvariable [::itcl::scope mV7z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb6V6UnitsL { - ::label $parent.arb6V6UnitsL \ + ::ttk::label $parent.arb6V6UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} set row 0 grid $itk_component(arb6Type) \ @@ -676,7 +510,7 @@ ::itcl::body Arb6EditFrame::buildMoveEdgePanel {parent} { foreach edge {12 23 34 14 15 25 36 46} { itk_component add moveEdge$edge { - ::radiobutton $parent.me$edge \ + ::ttk::radiobutton $parent.me$edge \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveEdge$edge]] \ -text "Move edge $edge" \ @@ -690,7 +524,7 @@ foreach point {5 6} { itk_component add movePoint$point { - ::radiobutton $parent.me$point \ + ::ttk::radiobutton $parent.me$point \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst movePoint$point]] \ -text "Move point $point" \ @@ -706,7 +540,7 @@ ::itcl::body Arb6EditFrame::buildMoveFacePanel {parent} { foreach face {1234 2365 1564 125 346} { itk_component add moveFace$face { - ::radiobutton $parent.mf$face \ + ::ttk::radiobutton $parent.mf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveFace$face]] \ -text "Move face $face" \ @@ -722,7 +556,7 @@ ::itcl::body Arb6EditFrame::buildRotateFacePanel {parent} { foreach face {1234 2365 1564 125 346} { itk_component add rotateFace$face { - ::radiobutton $parent.rf$face \ + ::ttk::radiobutton $parent.rf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst rotateFace$face]] \ -text "Rotate face $face" \ Modified: brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl 2009-04-07 17:02:00 UTC (rev 34183) @@ -99,440 +99,248 @@ ::itcl::body Arb7EditFrame::buildUpperPanel {} { set parent [$this childsite upper] itk_component add arb7Type { - ::label $parent.arb7type \ + ::ttk::label $parent.arb7type \ -text "Arb7:" \ -anchor e - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb7Name { - ::label $parent.arb7name \ + ::ttk::label $parent.arb7name \ -textvariable [::itcl::scope itk_option(-geometryObject)] \ -anchor w - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # Create header labels itk_component add arb7XL { - ::label $parent.arb7XL \ + ::ttk::label $parent.arb7XL \ -text "X" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb7YL { - ::label $parent.arb7YL \ + ::ttk::label $parent.arb7YL \ -text "Y" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb7ZL { - ::label $parent.arb7ZL \ + ::ttk::label $parent.arb7ZL \ -text "Z" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # create widgets for vertices itk_component add arb7V1L { - ::radiobutton $parent.arb7V1L \ + ::ttk::label $parent.arb7V1L \ -text "V1:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 1 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V1L) configure \ - -disabledforeground [$itk_component(arb7V1L) cget -foreground] \ - -selectcolor [$itk_component(arb7V1L) cget -background] + } {} itk_component add arb7V1xE { - ::entry $parent.arb7V1xE \ + ::ttk::entry $parent.arb7V1xE \ -textvariable [::itcl::scope mV1x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V1yE { - ::entry $parent.arb7V1yE \ + ::ttk::entry $parent.arb7V1yE \ -textvariable [::itcl::scope mV1y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V1zE { - ::entry $parent.arb7V1zE \ + ::ttk::entry $parent.arb7V1zE \ -textvariable [::itcl::scope mV1z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V1UnitsL { - ::label $parent.arb7V1UnitsL \ + ::ttk::label $parent.arb7V1UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V2L { - ::radiobutton $parent.arb7V2L \ + ::ttk::label $parent.arb7V2L \ -text "V2:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 2 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V2L) configure \ - -disabledforeground [$itk_component(arb7V2L) cget -foreground] \ - -selectcolor [$itk_component(arb7V2L) cget -background] + } {} itk_component add arb7V2xE { - ::entry $parent.arb7V2xE \ + ::ttk::entry $parent.arb7V2xE \ -textvariable [::itcl::scope mV2x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V2yE { - ::entry $parent.arb7V2yE \ + ::ttk::entry $parent.arb7V2yE \ -textvariable [::itcl::scope mV2y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V2zE { - ::entry $parent.arb7V2zE \ + ::ttk::entry $parent.arb7V2zE \ -textvariable [::itcl::scope mV2z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V2UnitsL { - ::label $parent.arb7V2UnitsL \ + ::ttk::label $parent.arb7V2UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V3L { - ::radiobutton $parent.arb7V3L \ + ::ttk::label $parent.arb7V3L \ -text "V3:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 3 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V3L) configure \ - -disabledforeground [$itk_component(arb7V3L) cget -foreground] \ - -selectcolor [$itk_component(arb7V3L) cget -background] + } {} itk_component add arb7V3xE { - ::entry $parent.arb7V3xE \ + ::ttk::entry $parent.arb7V3xE \ -textvariable [::itcl::scope mV3x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V3yE { - ::entry $parent.arb7V3yE \ + ::ttk::entry $parent.arb7V3yE \ -textvariable [::itcl::scope mV3y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V3zE { - ::entry $parent.arb7V3zE \ + ::ttk::entry $parent.arb7V3zE \ -textvariable [::itcl::scope mV3z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V3UnitsL { - ::label $parent.arb7V3UnitsL \ + ::ttk::label $parent.arb7V3UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V4L { - ::radiobutton $parent.arb7V4L \ + ::ttk::label $parent.arb7V4L \ -text "V4:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 4 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V4L) configure \ - -disabledforeground [$itk_component(arb7V4L) cget -foreground] \ - -selectcolor [$itk_component(arb7V4L) cget -background] + } {} itk_component add arb7V4xE { - ::entry $parent.arb7V4xE \ + ::ttk::entry $parent.arb7V4xE \ -textvariable [::itcl::scope mV4x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V4yE { - ::entry $parent.arb7V4yE \ + ::ttk::entry $parent.arb7V4yE \ -textvariable [::itcl::scope mV4y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V4zE { - ::entry $parent.arb7V4zE \ + ::ttk::entry $parent.arb7V4zE \ -textvariable [::itcl::scope mV4z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V4UnitsL { - ::label $parent.arb7V4UnitsL \ + ::ttk::label $parent.arb7V4UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V5L { - ::radiobutton $parent.arb7V5L \ + ::ttk::label $parent.arb7V5L \ -text "V5:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 5 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V5L) configure \ - -disabledforeground [$itk_component(arb7V5L) cget -foreground] \ - -selectcolor [$itk_component(arb7V5L) cget -background] + } {} itk_component add arb7V5xE { - ::entry $parent.arb7V5xE \ + ::ttk::entry $parent.arb7V5xE \ -textvariable [::itcl::scope mV5x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V5yE { - ::entry $parent.arb7V5yE \ + ::ttk::entry $parent.arb7V5yE \ -textvariable [::itcl::scope mV5y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V5zE { - ::entry $parent.arb7V5zE \ + ::ttk::entry $parent.arb7V5zE \ -textvariable [::itcl::scope mV5z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V5UnitsL { - ::label $parent.arb7V5UnitsL \ + ::ttk::label $parent.arb7V5UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V6L { - ::radiobutton $parent.arb7V6L \ + ::ttk::label $parent.arb7V6L \ -text "V6:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 6 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V6L) configure \ - -disabledforeground [$itk_component(arb7V6L) cget -foreground] \ - -selectcolor [$itk_component(arb7V6L) cget -background] + } {} itk_component add arb7V6xE { - ::entry $parent.arb7V6xE \ + ::ttk::entry $parent.arb7V6xE \ -textvariable [::itcl::scope mV6x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V6yE { - ::entry $parent.arb7V6yE \ + ::ttk::entry $parent.arb7V6yE \ -textvariable [::itcl::scope mV6y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V6zE { - ::entry $parent.arb7V6zE \ + ::ttk::entry $parent.arb7V6zE \ -textvariable [::itcl::scope mV6z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V6UnitsL { - ::label $parent.arb7V6UnitsL \ + ::ttk::label $parent.arb7V6UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb7V7L { - ::radiobutton $parent.arb7V7L \ + ::ttk::label $parent.arb7V7L \ -text "V7:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 7 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb7V7L) configure \ - -disabledforeground [$itk_component(arb7V7L) cget -foreground] \ - -selectcolor [$itk_component(arb7V7L) cget -background] + } {} itk_component add arb7V7xE { - ::entry $parent.arb7V7xE \ + ::ttk::entry $parent.arb7V7xE \ -textvariable [::itcl::scope mV7x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V7yE { - ::entry $parent.arb7V7yE \ + ::ttk::entry $parent.arb7V7yE \ -textvariable [::itcl::scope mV7y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V7zE { - ::entry $parent.arb7V7zE \ + ::ttk::entry $parent.arb7V7zE \ -textvariable [::itcl::scope mV7z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb7V7UnitsL { - ::label $parent.arb7V7UnitsL \ + ::ttk::label $parent.arb7V7UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} set row 0 grid $itk_component(arb7Type) \ @@ -762,7 +570,7 @@ ::itcl::body Arb7EditFrame::buildMoveEdgePanel {parent} { foreach edge {12 23 34 14 15 26 56 67 37 57 45} { itk_component add moveEdge$edge { - ::radiobutton $parent.me$edge \ + ::ttk::radiobutton $parent.me$edge \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveEdge$edge]] \ -text "Move edge $edge" \ @@ -776,7 +584,7 @@ foreach point {5} { itk_component add movePoint$point { - ::radiobutton $parent.me$point \ + ::ttk::radiobutton $parent.me$point \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst movePoint$point]] \ -text "Move point $point" \ @@ -792,7 +600,7 @@ ::itcl::body Arb7EditFrame::buildMoveFacePanel {parent} { foreach face {1234 2376} { itk_component add moveFace$face { - ::radiobutton $parent.mf$face \ + ::ttk::radiobutton $parent.mf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst moveFace$face]] \ -text "Move face $face" \ @@ -808,7 +616,7 @@ ::itcl::body Arb7EditFrame::buildRotateFacePanel {parent} { foreach face {1234 567 145 2376 1265 4375} { itk_component add rotateFace$face { - ::radiobutton $parent.rf$face \ + ::ttk::radiobutton $parent.rf$face \ -variable [::itcl::scope mEditMode] \ -value [subst $[subst rotateFace$face]] \ -text "Rotate face $face" \ Modified: brlcad/trunk/src/tclscripts/archer/Arb8EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb8EditFrame.tcl 2009-04-07 11:04:49 UTC (rev 34182) +++ brlcad/trunk/src/tclscripts/archer/Arb8EditFrame.tcl 2009-04-07 17:02:00 UTC (rev 34183) @@ -136,497 +136,279 @@ ::itcl::body Arb8EditFrame::buildUpperPanel {} { set parent [$this childsite upper] itk_component add arb8Type { - ::label $parent.arb8type \ + ::ttk::label $parent.arb8type \ -text "Arb8:" \ -anchor e - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb8Name { - ::label $parent.arb8name \ + ::ttk::label $parent.arb8name \ -textvariable [::itcl::scope itk_option(-geometryObject)] \ -anchor w - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # Create header labels itk_component add arb8XL { - ::label $parent.arb8XL \ + ::ttk::label $parent.arb8XL \ -text "X" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb8YL { - ::label $parent.arb8YL \ + ::ttk::label $parent.arb8YL \ -text "Y" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} itk_component add arb8ZL { - ::label $parent.arb8ZL \ + ::ttk::label $parent.arb8ZL \ -text "Z" - } { - rename -font -boldLabelFont boldLabelFont Font - } + } {} # create widgets for vertices itk_component add arb8V1L { - ::radiobutton $parent.arb8V1L \ + ::ttk::label $parent.arb8V1L \ -text "V1:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 1 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb8V1L) configure \ - -disabledforeground [$itk_component(arb8V1L) cget -foreground] \ - -selectcolor [$itk_component(arb8V1L) cget -background] + } {} itk_component add arb8V1xE { - ::entry $parent.arb8V1xE \ + ::ttk::entry $parent.arb8V1xE \ -textvariable [::itcl::scope mV1x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb8V1yE { - ::entry $parent.arb8V1yE \ + ::ttk::entry $parent.arb8V1yE \ -textvariable [::itcl::scope mV1y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb8V1zE { - ::entry $parent.arb8V1zE \ + ::ttk::entry $parent.arb8V1zE \ -textvariable [::itcl::scope mV1z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb8V1UnitsL { - ::label $parent.arb8V1UnitsL \ + ::ttk::label $parent.arb8V1UnitsL \ -textvariable [::itcl::scope itk_option(-units)] \ -anchor e - } { - rename -font -labelFont labelFont Font - } + } {} itk_component add arb8V2L { - ::radiobutton $parent.arb8V2L \ + ::ttk::label $parent.arb8V2L \ -text "V2:" \ - -indicatoron 0 \ - -variable [::itcl::scope mVIndex] \ - -value 2 \ - -relief flat \ - -overrelief raised \ - -offrelief flat \ - -borderwidth 1 \ - -padx 0 \ - -highlightthickness 0 \ - -state disabled \ -anchor e - } { - rename -font -labelFont labelFont Font - } - $itk_component(arb8V2L) configure \ - -disabledforeground [$itk_component(arb8V2L) cget -foreground] \ - -selectcolor [$itk_component(arb8V1L) cget -background] + } {} itk_component add arb8V2xE { - ::entry $parent.arb8V2xE \ + ::ttk::entry $parent.arb8V2xE \ -textvariable [::itcl::scope mV2x] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb8V2yE { - ::entry $parent.arb8V2yE \ + ::ttk::entry $parent.arb8V2yE \ -textvariable [::itcl::scope mV2y] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDouble %P} - } { - rename -font -entryFont entryFont Font - } + } {} itk_component add arb8V2zE { - ::entry $parent.arb8V2zE \ + ::ttk::entry $parent.arb8V2zE \ -textvariable [::itcl::scope mV2z] \ -state disabled \ - -disabledforeground black \ -validate key \ -validatecommand {GeometryEditFrame::validateDoub... [truncated message content] |
From: <ind...@us...> - 2009-04-15 14:15:04
|
Revision: 34223 http://brlcad.svn.sourceforge.net/brlcad/?rev=34223&view=rev Author: indianlarry Date: 2009-04-15 14:14:55 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Fixed memory issues CAD team was having with 'asc2g' on new Tcl based ASCII format. There were a couple of issues, first memory wasn't being freed correctly from Tcl list object so took Bob's advice and changed usage in rt_bot_adjust(), second 'asc2g' was using Tcl_EvalFile() which buffers entire file into memory again causing issues with some large Pro-E conversions. Changed 'asc2g.c' to load ASCII file in manageable size chunks and send through Tcl_Eval() instead. Modified Paths: -------------- brlcad/trunk/src/conv/asc2g.c brlcad/trunk/src/librt/primitives/bot/bot.c Modified: brlcad/trunk/src/conv/asc2g.c =================================================================== --- brlcad/trunk/src/conv/asc2g.c 2009-04-15 12:44:15 UTC (rev 34222) +++ brlcad/trunk/src/conv/asc2g.c 2009-04-15 14:14:55 UTC (rev 34223) @@ -45,7 +45,7 @@ /* maximum input line buffer size */ #define BUFSIZE (16*1024) - +#define SIZE (128*1024*1024) #define TYPE_LEN 200 #define NAME_LEN 200 @@ -68,6 +68,7 @@ static char *slave_name = "safe_interp"; static char *db_name = "_db"; +static int linecnt = 0; static char usage[] = "\ Usage: asc2g file.asc file.g\n\ Convert an ASCII BRL-CAD database to binary form\n\ @@ -1598,8 +1599,91 @@ */ mk_arbn(ofp, name, neqn, eqn); } +/** + * E N D S W I T H + * + * This routine checks the last character in the string to see if it matches the + * specified character. Used by getline() to check for an escaped return. + * + */ +int +endswith(char *line, char ch) +{ + if ( *(line+strlen(line)-1) == ch ) { + return 1; + } + return 0; +} +/** + * B R A C E C N T + * + * This routine counts the number of open braces and is used to determine whether a Tcl + * command is complete. + * + */ +int +bracecnt(char *line) +{ + char *start; + int cnt = 0; + start = line; + while(*start != '\0') { + if (*start == '{') { + cnt++; + } else if (*start == '}') { + cnt--; + } + start++; + } + return cnt; +} +/** + * G E T L I N E + * + * This routine reads the next block of Tcl commands. This block is expected to be a Tcl + * command script and will be fed to an interpreter using Tcl_Eval(). Any escaped returns + * or open braces are parsed through and concatenated ensuring Tcl commands are complete. + * + * SIZE is used as the approximate blocking size allowing to grow past this to close the + * command line. + */ +int +getline(register struct bu_vls *line, register FILE *fp) +{ + int ret = 0; + struct bu_vls tmp; + int bcnt = 0; + int escapedcr = 0; + bu_vls_init(&tmp); + + if ((ret=bu_vls_gets(line, fp)) >= 0) { + linecnt++; + escapedcr = endswith(bu_vls_addr(line),'\\'); + bcnt = bracecnt(bu_vls_addr(line)); + while ( (ret >= 0) && ((bu_vls_strlen(line) < SIZE) || (escapedcr) || ( bcnt != 0 )) ) { + linecnt++; + if (escapedcr) { + bu_vls_trunc(line, bu_vls_strlen(line)-1); + } + if ((ret=bu_vls_gets(&tmp, fp)) > 0) { + escapedcr = endswith(bu_vls_addr(&tmp),'\\'); + bcnt = bcnt + bracecnt(bu_vls_addr(&tmp)); + bu_vls_putc(line, '\n'); + bu_vls_strcat(line,bu_vls_addr(&tmp)); + bu_vls_trunc(&tmp,0); + } else { + escapedcr = 0; + } + } + ret = bu_vls_strlen(line); + } + bu_vls_free(&tmp); + + return ret; +} + /** * M A I N */ @@ -1607,6 +1691,9 @@ main(int argc, char *argv[]) { char c1[3]; + struct bu_vls str_title; + struct bu_vls str_put; + struct bu_vls line; bu_debug = BU_DEBUG_COREDUMP; @@ -1626,22 +1713,31 @@ rt_init_resource(&rt_uniresource, 0, NULL); - if (bu_fgets(c1, 6, ifp) == NULL) { + bu_vls_init(&line); + bu_vls_extend( &line, SIZE); + bu_vls_init(&str_title); + bu_vls_strcpy( &str_title, "title"); + bu_vls_init(&str_put); + bu_vls_strcpy( &str_put, "put "); + + if (bu_vls_gets(&line, ifp) < 0) { fclose(ifp); ifp = NULL; wdb_close(ofp); ofp = NULL; bu_exit(1, "Unexpected EOF\n"); } /* new style ascii database */ - if (!strncmp(c1, "title", 5) || !strncmp(c1, "put ", 4)) { + if (!bu_vls_strncmp( &line, &str_title, 5) || !bu_vls_strncmp( &line, &str_put, 4)) { Tcl_Interp *interp; Tcl_Interp *safe_interp; /* this is a Tcl script */ - /* No longer need ifp */ - fclose(ifp); ifp = NULL; + rewind(ifp); + bu_vls_trunc( &line, 0); + /* No longer need ifp + fclose(ifp); ifp = NULL; */ BU_LIST_INIT(&rt_g.rtg_headwdb.l); @@ -1672,18 +1768,28 @@ Tcl_CreateAlias(safe_interp, "dbfind", interp, db_name, ac, av); } - if (Tcl_EvalFile(safe_interp, argv[1]) != TCL_OK) { - bu_log("Failed to process input file (%s)!\n", argv[1]); - bu_log("%s\n", Tcl_GetStringResult(safe_interp)); - Tcl_Exit(1); - } + while ((getline(&line,ifp)) >= 0) + { + if (Tcl_Eval(safe_interp, (const char *)bu_vls_addr(&line)) != TCL_OK) { + bu_log("Failed to process input file (%s)!\n", argv[1]); + bu_log("%s\n", Tcl_GetStringResult(safe_interp)); + Tcl_Exit(1); + } + bu_vls_trunc(&line,0); + } /* free up our resources */ mk_write_color_table(ofp); wdb_close(ofp); ofp = NULL; + bu_vls_free(&line); + bu_vls_free(&str_title); + bu_vls_free(&str_put); Tcl_Exit(0); } else { + bu_vls_free(&line); + bu_vls_free(&str_title); + bu_vls_free(&str_put); rewind(ifp); } Modified: brlcad/trunk/src/librt/primitives/bot/bot.c =================================================================== --- brlcad/trunk/src/librt/primitives/bot/bot.c 2009-04-15 12:44:15 UTC (rev 34222) +++ brlcad/trunk/src/librt/primitives/bot/bot.c 2009-04-15 14:14:55 UTC (rev 34223) @@ -1878,7 +1878,7 @@ rt_bot_adjust(struct bu_vls *log, struct rt_db_internal *intern, int argc, char **argv) { struct rt_bot_internal *bot; - Tcl_Obj *obj, *list, **obj_array; + Tcl_Obj *obj, **obj_array; int len; int i; @@ -1889,8 +1889,6 @@ while ( argc >= 2 ) { obj = Tcl_NewStringObj( argv[1], -1 ); - list = Tcl_NewListObj( 0, NULL ); - Tcl_ListObjAppendList( brlcad_interp, list, obj ); if ( !strncmp( argv[0], "fm", 2 ) ) { @@ -1906,7 +1904,7 @@ if ( i < 0 || i >= bot->num_faces ) { bu_vls_printf(log, "Face number out of range"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } @@ -1931,7 +1929,7 @@ new_num = atoi( Tcl_GetStringFromObj( obj, NULL ) ); if ( new_num < 0 ) { bu_vls_printf(log, "Number of normals may not be less than 0"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } @@ -1968,10 +1966,10 @@ if ( argv[0][2] == '\0' ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); if ( len != bot->num_faces || len <= 0 ) { bu_vls_printf(log, "Must provide normals for all faces!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } if ( bot->face_normals ) @@ -1984,21 +1982,21 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of face_normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->face_normals[i*3] = atoi( f_str ); f_str = bu_next_token( f_str ); if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of face_normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->face_normals[i*3+1] = atoi( f_str ); f_str = bu_next_token( f_str ); if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of face_normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->face_normals[i*3+2] = atoi( f_str ); @@ -2011,17 +2009,17 @@ if ( i < 0 || i >= bot->num_faces ) { bu_vls_printf(log, "face_normal number out of range!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } - f_str = Tcl_GetStringFromObj( list, NULL ); + f_str = Tcl_GetStringFromObj( obj, NULL ); while ( isspace( *f_str ) ) f_str++; bot->face_normals[i*3] = atoi( f_str ); f_str = bu_next_token( f_str ); if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->face_normals[i*3+1] = atoi( f_str ); @@ -2029,7 +2027,7 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->face_normals[i*3+2] = atoi( f_str ); @@ -2041,11 +2039,11 @@ if ( argv[0][1] == '\0' ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); if ( len <= 0 ) { bu_vls_printf(log, "Must provide at least one normal!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->num_normals = len; @@ -2059,7 +2057,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->normals[i*3] = atof( v_str ); @@ -2067,7 +2065,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->normals[i*3+1] = atof( v_str ); @@ -2075,11 +2073,10 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of normals"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->normals[i*3+2] = atof( v_str ); - Tcl_DecrRefCount( obj_array[i] ); } bot->bot_flags |= RT_BOT_HAS_SURFACE_NORMALS; } else { @@ -2087,10 +2084,10 @@ if ( i < 0 || i >= bot->num_normals ) { bu_vls_printf(log, "normal number out of range!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } - v_str = Tcl_GetStringFromObj( list, NULL ); + v_str = Tcl_GetStringFromObj( obj, NULL ); while ( isspace( *v_str ) ) v_str++; bot->normals[i*3] = atof( v_str ); @@ -2098,7 +2095,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete normal"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->normals[i*3+1] = atof( v_str ); @@ -2106,7 +2103,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete normal"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->normals[i*3+2] = atof( v_str ); @@ -2118,11 +2115,11 @@ if ( argv[0][1] == '\0' ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); if ( len <= 0 ) { bu_vls_printf(log, "Must provide at least one vertex!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->num_vertices = len; @@ -2136,7 +2133,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of vertices"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->vertices[i*3] = atof( v_str ); @@ -2144,7 +2141,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of vertices"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->vertices[i*3+1] = atof( v_str ); @@ -2152,11 +2149,10 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete list of vertices"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->vertices[i*3+2] = atof( v_str ); - Tcl_DecrRefCount( obj_array[i] ); } } else @@ -2165,10 +2161,10 @@ if ( i < 0 || i >= bot->num_vertices ) { bu_vls_printf(log, "vertex number out of range!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } - v_str = Tcl_GetStringFromObj( list, NULL ); + v_str = Tcl_GetStringFromObj( obj, NULL ); while ( isspace( *v_str ) ) v_str++; bot->vertices[i*3] = atof( v_str ); @@ -2176,7 +2172,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->vertices[i*3+1] = atof( v_str ); @@ -2184,7 +2180,7 @@ if ( *v_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->vertices[i*3+2] = atof( v_str ); @@ -2196,11 +2192,11 @@ if ( argv[0][1] == '\0' ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); if ( len <= 0 ) { bu_vls_printf(log, "Must provide at least one face!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->num_faces = len; @@ -2232,7 +2228,7 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of faces"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->faces[i*3] = atoi( f_str ); @@ -2240,7 +2236,7 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of faces"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->faces[i*3+1] = atoi( f_str ); @@ -2248,7 +2244,7 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete list of faces"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->faces[i*3+2] = atoi( f_str ); @@ -2260,17 +2256,17 @@ if ( i < 0 || i >= bot->num_faces ) { bu_vls_printf(log, "face number out of range!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } - f_str = Tcl_GetStringFromObj( list, NULL ); + f_str = Tcl_GetStringFromObj( obj, NULL ); while ( isspace( *f_str ) ) f_str++; bot->faces[i*3] = atoi( f_str ); f_str = bu_next_token( f_str ); if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->faces[i*3+1] = atoi( f_str ); @@ -2278,7 +2274,7 @@ if ( *f_str == '\0' ) { bu_vls_printf(log, "incomplete vertex"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->faces[i*3+2] = atoi( f_str ); @@ -2290,17 +2286,17 @@ if ( argv[0][1] == '\0' ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); if ( len <= 0 ) { bu_vls_printf(log, "Must provide at least one thickness!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } if ( len > bot->num_faces ) { bu_vls_printf(log, "Too many thicknesses (there are not that many faces)!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } if ( !bot->thickness ) { @@ -2310,7 +2306,6 @@ for ( i=0; i<len; i++ ) { bot->thickness[i] = atof( Tcl_GetStringFromObj( obj_array[i], NULL ) ); - Tcl_DecrRefCount( obj_array[i] ); } } else @@ -2319,14 +2314,14 @@ if ( i < 0 || i >= bot->num_faces ) { bu_vls_printf(log, "face number out of range!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } if ( !bot->thickness ) { bot->thickness = (fastf_t *)bu_calloc( bot->num_faces, sizeof( fastf_t ), "bot->thickness" ); } - t_str = Tcl_GetStringFromObj( list, NULL ); + t_str = Tcl_GetStringFromObj( obj, NULL ); bot->thickness[i] = atof( t_str ); } } @@ -2334,7 +2329,7 @@ { char *m_str; - m_str = Tcl_GetStringFromObj( list, NULL ); + m_str = Tcl_GetStringFromObj( obj, NULL ); if ( isdigit( *m_str ) ) { int mode; @@ -2343,7 +2338,7 @@ if ( mode < RT_BOT_SURFACE || mode > RT_BOT_PLATE_NOCOS ) { bu_vls_printf(log, "unrecognized mode!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->mode = mode; @@ -2361,7 +2356,7 @@ else { bu_vls_printf(log, "unrecognized mode!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } } @@ -2370,7 +2365,7 @@ { char *o_str; - o_str = Tcl_GetStringFromObj( list, NULL ); + o_str = Tcl_GetStringFromObj( obj, NULL ); if ( isdigit( *o_str ) ) { int orientation; @@ -2379,7 +2374,7 @@ if ( orientation < RT_BOT_UNORIENTED || orientation > RT_BOT_CW ) { bu_vls_printf(log, "unrecognized orientation!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } bot->orientation = orientation; @@ -2395,14 +2390,14 @@ else { bu_vls_printf(log, "unrecognized orientation!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } } } else if ( !strcmp( argv[0], "flags" ) ) { - (void)Tcl_ListObjGetElements( brlcad_interp, list, &len, &obj_array ); + (void)Tcl_ListObjGetElements( brlcad_interp, obj, &len, &obj_array ); bot->bot_flags = 0; for ( i=0; i<len; i++ ) { char *str; @@ -2416,13 +2411,13 @@ bot->bot_flags |= RT_BOT_USE_FLOATS; } else { bu_vls_printf(log, "unrecognized flag (must be \"has_normals\", \"use_normals\", or \"use_floats\"!!!"); - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); return( BRLCAD_ERROR ); } } } - Tcl_DecrRefCount( list ); + Tcl_DecrRefCount( obj ); argc -= 2; argv += 2; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-16 20:05:47
|
Revision: 34241 http://brlcad.svn.sourceforge.net/brlcad/?rev=34241&view=rev Author: bob1961 Date: 2009-04-16 20:05:23 +0000 (Thu, 16 Apr 2009) Log Message: ----------- Updates related to Archer's view-only mode. Modified Paths: -------------- brlcad/trunk/src/archer/archer brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl Modified: brlcad/trunk/src/archer/archer =================================================================== --- brlcad/trunk/src/archer/archer 2009-04-16 14:31:11 UTC (rev 34240) +++ brlcad/trunk/src/archer/archer 2009-04-16 20:05:23 UTC (rev 34241) @@ -69,13 +69,13 @@ } set env(ARCHER_HOME) $dir -# Decide on a parent class for Archer -#namespace eval Archer { -# if {1} { +# Decide on a parent class for ArcherCore +#namespace eval ArcherCore { +# if {0} { # set parentClass itk::Toplevel # set inheritFromToplevel 1 # } else { -# set parentClass TabWindow +# set parentClass itk::Widget # set inheritFromToplevel 0 # } #} Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-04-16 14:31:11 UTC (rev 34240) +++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-04-16 20:05:23 UTC (rev 34241) @@ -846,14 +846,14 @@ buildGroundPlane showGroundPlane - - # refresh tree contents - refreshTree 0 } else { applyPreferences doLighting } + # refresh tree contents + refreshTree 0 + if {$mBindingMode == 0} { set mDefaultBindingMode $ROTATE_MODE beginViewRotate @@ -1046,11 +1046,16 @@ ArcherCore::initDefaultBindings $_comp - if {!$mViewOnly} { - foreach dname {ul ur ll lr} { - set dm [$_comp component $dname] - set win [$dm component dm] + foreach dname {ul ur ll lr} { + set dm [$_comp component $dname] + set win [$dm component dm] + if {$mViewOnly} { + bind $win <Control-ButtonPress-1> \ + "[::itcl::code $this launchDisplayMenuBegin $dm [$itk_component(canvas_menu) component view-menu] %X %Y]; break" + bind $win <3> \ + "[::itcl::code $this launchDisplayMenuBegin $dm [$itk_component(canvas_menu) component view-menu] %X %Y]; break" + } else { if {$ArcherCore::inheritFromToplevel} { bind $win <Control-ButtonPress-1> \ "[::itcl::code $this launchDisplayMenuBegin $dm $itk_component(displaymenu) %X %Y]; break" @@ -2144,7 +2149,7 @@ ::itcl::body Archer::buildToplevelMenubar {} { itk_component add menubar { - menu $itk_interior.menubar \ + ::menu $itk_interior.menubar \ -tearoff 0 } { keep -background @@ -2183,7 +2188,7 @@ -command [::itcl::code $this Close] itk_component add displaymenu { - menu $itk_component(menubar).displaymenu \ + ::menu $itk_component(menubar).displaymenu \ -tearoff 0 } { keep -background @@ -2202,7 +2207,7 @@ -state disabled itk_component add backgroundmenu { - menu $itk_component(displaymenu).backgroundmenu \ + ::menu $itk_component(displaymenu).backgroundmenu \ -tearoff 0 } { keep -background @@ -2228,7 +2233,7 @@ -state normal itk_component add stdviewsmenu { - menu $itk_component(displaymenu).stdviewsmenu \ + ::menu $itk_component(displaymenu).stdviewsmenu \ -tearoff 0 } { keep -background @@ -2275,14 +2280,14 @@ updateUtilityMenu itk_component add raytracemenu { - menu $itk_component(menubar).raytracemenu \ + ::menu $itk_component(menubar).raytracemenu \ -tearoff 0 } { keep -background } itk_component add rtmenu { - menu $itk_component(raytracemenu).rtmenu \ + ::menu $itk_component(raytracemenu).rtmenu \ -tearoff 0 } { keep -background @@ -2298,7 +2303,7 @@ -command [::itcl::code $this launchRtApp rt window] itk_component add rtcheckmenu { - menu $itk_component(raytracemenu).rtcheckmenu \ + ::menu $itk_component(raytracemenu).rtcheckmenu \ -tearoff 0 } { keep -background @@ -2317,7 +2322,7 @@ -command [::itcl::code $this launchRtApp rtcheck 512] itk_component add rtedgemenu { - menu $itk_component(raytracemenu).rtedgemenu \ + ::menu $itk_component(raytracemenu).rtedgemenu \ -tearoff 0 } { keep -background @@ -2351,7 +2356,7 @@ -state disabled itk_component add helpmenu { - menu $itk_component(menubar).helpmenu \ + ::menu $itk_component(menubar).helpmenu \ -tearoff 0 } { # rename -font -menuFont menuFont MenuFont @@ -3472,9 +3477,6 @@ updateVPaneFractions } - set itk_option(-primaryToolbar) 1 - doPrimaryToolbar - if {$ArcherCore::inheritFromToplevel == 0} { pack forget $itk_component(menubar) ::itcl::delete object $itk_component(menubar) Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-04-16 14:31:11 UTC (rev 34240) +++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-04-16 20:05:23 UTC (rev 34241) @@ -39,12 +39,9 @@ namespace eval ArcherCore { set cursorWaitCount 0 - if {1} { + if {![info exists parentClass]} { set parentClass itk::Toplevel set inheritFromToplevel 1 - } else { - set parentClass itk::Widget - set inheritFromToplevel 0 } } @@ -53,9 +50,6 @@ itk_option define -quitcmd quitCmd Command {} itk_option define -master master Master "." - itk_option define -primaryToolbar primaryToolbar PrimaryToolbar 1 - itk_option define -viewToolbar viewToolbar ViewToolbar 1 - itk_option define -statusbar statusbar Statusbar 1 constructor {{_viewOnly 0} {_noCopy 0} args} {} destructor {} @@ -484,11 +478,6 @@ method primaryToolbarAdd {_type _name {args ""}} method primaryToolbarRemove {_index} - # private window commands - method doPrimaryToolbar {} - method doViewToolbar {} - method doStatusBar {} - # tree commands method alterTreeNodeChildren {node option value} method toggleTreePath {_path} @@ -603,7 +592,6 @@ if {[llength $args] == 1} { set args [lindex $args 0] - } set mDisplayType [dm_bestXType $env(DISPLAY)] @@ -684,8 +672,8 @@ } else { $itk_component(vpane) add geomView $itk_component(vpane) paneconfigure geomView \ - -margin 0 - $itk_component(vpane) hide hierarchyView + -margin 0 \ + -minimum 0 } # frame for all geometry canvas's @@ -696,42 +684,16 @@ -relief sunken } {} -# if {!$mViewOnly} - if {0} { - itk_component add tree_expand { - ::button $itk_component(canvasF).tree_expand - } {} - $itk_component(tree_expand) configure \ - -relief flat \ - -image [image create photo -file \ - [file join $mImgDir Themes $mTheme "pane_blank.png"]] \ - -state disabled \ - -command [::itcl::code $this toggleTreeView "open"] \ - -background $LABEL_BACKGROUND_COLOR - - itk_component add canvas_menu { - ::iwidgets::menubar $itk_component(canvasF).canvas_menu \ - -helpvariable [::itcl::scope mStatusStr] \ - -font $mFontText \ - -activeborderwidth 2 \ - -borderwidth 0 \ - -activebackground $SystemHighlight \ - -activeforeground $SystemHighlightText \ - } { - keep -background - } - } else { - itk_component add canvas_menu { - ::iwidgets::menubar $itk_component(canvasF).canvas_menu \ - -helpvariable [::itcl::scope mStatusStr] \ - -font $mFontText \ - -activeborderwidth 2 \ - -borderwidth 0 \ - -activebackground $SystemHighlight \ - -activeforeground $SystemHighlightText \ - } { - keep -background - } + itk_component add canvas_menu { + ::iwidgets::menubar $itk_component(canvasF).canvas_menu \ + -helpvariable [::itcl::scope mStatusStr] \ + -font $mFontText \ + -activeborderwidth 2 \ + -borderwidth 0 \ + -activebackground $SystemHighlight \ + -activeforeground $SystemHighlightText + } { + keep -background } buildCanvasMenubar @@ -825,6 +787,7 @@ pack $itk_component(east) -side right -fill y if {!$mViewOnly} { pack $itk_component(advancedTabs) -fill both -expand yes + pack $itk_component(statusF) -before $itk_component(south) -side bottom -fill x } pack $itk_component(tree) -fill both -expand yes pack $itk_component(hpane) -fill both -expand yes @@ -893,41 +856,10 @@ # ------------------------------------------------------------ # OPTIONS # ------------------------------------------------------------ -::itcl::configbody ArcherCore::primaryToolbar { - if {!$mViewOnly} { - if {$itk_option(-primaryToolbar)} { - pack $itk_component(primaryToolbar) \ - -before $itk_component(north) \ - -side top \ - -fill x \ - -pady 2 - } else { - pack forget $itk_component(primaryToolbar) - } - } -} -::itcl::configbody ArcherCore::viewToolbar { - return - if {!$mViewOnly} { - if {$itk_option(-viewToolbar)} { - pack $itk_component(viewToolbar) -expand yes -fill both - } else { - pack forget $itk_component(viewToolbar) - } - } -} -::itcl::configbody ArcherCore::statusbar { - if {!$mViewOnly} { - if {$itk_option(-statusbar)} { - pack $itk_component(statusF) -before $itk_component(south) -side bottom -fill x - } else { - pack forget $itk_component(statusF) - } - } -} + ::itcl::body ArcherCore::handleMoreArgs {args} { eval $itk_component(cmd) print_more_args_prompt $args return [$itk_component(cmd) get_more_args] @@ -1237,7 +1169,7 @@ # RT Control Panel itk_component add rtcntrl { - RtControl $itk_interior.rtcp -mged $itk_component(ged) + RtControl $itk_interior.rtcp -mged $itk_component(ged) -tearoff 0 } { usual } @@ -1270,8 +1202,7 @@ # Other bindings for mged #bind $itk_component(ged) <Enter> {focus %W} -# if {!$mViewOnly} - if {0} { + if {$mViewOnly} { $itk_component(canvas_menu) menuconfigure .raytrace.rt \ -state normal $itk_component(canvas_menu) menuconfigure .raytrace.rt.fivetwelve \ @@ -1300,25 +1231,23 @@ -state normal $itk_component(canvas_menu) menuconfigure .raytrace.nirt \ -state normal - } - if {0} { - $itk_component(canvas_menu) menuconfigure .view.front \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.rear \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.port \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.starboard \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.top \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.bottom \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.35,25 \ - -state normal - $itk_component(canvas_menu) menuconfigure .view.45,45 \ - -state normal + $itk_component(canvas_menu) menuconfigure .view.front \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.rear \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.port \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.starboard \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.top \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.bottom \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.35,25 \ + -state normal + $itk_component(canvas_menu) menuconfigure .view.45,45 \ + -state normal } bind $itk_component(canvasF) <Configure> [::itcl::code $this updateRtControl] @@ -1439,17 +1368,7 @@ # ------------------------------------------------------------ # WINDOW COMMANDS # ------------------------------------------------------------ -::itcl::body ArcherCore::doPrimaryToolbar {} { - configure -primaryToolbar $itk_option(-primaryToolbar) -} -::itcl::body ArcherCore::doViewToolbar {} { -} - -::itcl::body ArcherCore::doStatusBar {} { - configure -statusbar $itk_option(-statusbar) -} - ::itcl::body ArcherCore::dockArea {{position "south"}} { switch -- $position { "north" - @@ -1657,6 +1576,20 @@ $itk_component(primaryToolbar) itemconfigure measure -state disabled eval pack configure [pack slaves $itk_component(primaryToolbar)] -padx 2 + + if {$mViewOnly} { + grid $itk_component(primaryToolbar) \ + -row 0 \ + -column 0 \ + -in $itk_component(canvasF) \ + -sticky e + } else { + pack $itk_component(primaryToolbar) \ + -before $itk_component(north) \ + -side top \ + -fill x \ + -pady 2 + } } ::itcl::body ArcherCore::beginViewRotate {} { @@ -3204,7 +3137,7 @@ ::itcl::body ArcherCore::launchRtApp {app size} { global tcl_platform - if {![info exists itk_component(ged)] || $mViewOnly} { + if {![info exists itk_component(ged)]} { return } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-04-18 20:36:23
|
Revision: 34244 http://brlcad.svn.sourceforge.net/brlcad/?rev=34244&view=rev Author: brlcad Date: 2009-04-18 20:36:20 +0000 (Sat, 18 Apr 2009) Log Message: ----------- remove all references and instances of the old deprecated RT_HIT_NORM() macro, instead using the new RT_HIT_NORMAL() macro. Modified Paths: -------------- brlcad/trunk/src/gtools/g_lint.c brlcad/trunk/src/irprep/all_sf.c brlcad/trunk/src/irprep/firpass.c brlcad/trunk/src/irprep/secpass.c brlcad/trunk/src/irprep/shapefact.c brlcad/trunk/src/librt/bundle.c brlcad/trunk/src/librt/fortray.c brlcad/trunk/src/librt/librt.3 brlcad/trunk/src/librt/primitives/ars/ars.c brlcad/trunk/src/librt/shoot.c brlcad/trunk/src/librt/vshoot.c Modified: brlcad/trunk/src/gtools/g_lint.c =================================================================== --- brlcad/trunk/src/gtools/g_lint.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/gtools/g_lint.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -491,10 +491,10 @@ for (pp = ph -> pt_forw; pp != ph; pp = pp -> pt_forw) { BU_CKMAG(pp, PT_MAGIC, "partition structure"); - RT_HIT_NORM(pp -> pt_inhit, pp -> pt_inseg -> seg_stp, - &ap -> a_ray); - RT_HIT_NORM(pp -> pt_outhit, pp -> pt_outseg -> seg_stp, - &ap -> a_ray); + RT_HIT_NORMAL(NULL, pp -> pt_inhit, pp -> pt_inseg -> seg_stp, + &ap -> a_ray, 0); + RT_HIT_NORMAL(NULL, pp -> pt_outhit, pp -> pt_outseg -> seg_stp, + &ap -> a_ray, 0); } /* @@ -758,8 +758,8 @@ tolerance = cp -> glc_tol; /* Compute entry and exit points, and the vector between them */ - RT_HIT_NORM(pp -> pt_inhit, pp -> pt_inseg -> seg_stp, &ap -> a_ray); - RT_HIT_NORM(pp -> pt_outhit, pp -> pt_outseg -> seg_stp, &ap -> a_ray); + RT_HIT_NORMAL(NULL, pp -> pt_inhit, pp -> pt_inseg -> seg_stp, &ap -> a_ray, 0); + RT_HIT_NORMAL(NULL, pp -> pt_outhit, pp -> pt_outseg -> seg_stp, &ap -> a_ray, 0); VSUB2(delta, pp -> pt_inhit -> hit_point, pp -> pt_outhit -> hit_point); if ((mag_del = MAGNITUDE(delta)) > tolerance) { Modified: brlcad/trunk/src/irprep/all_sf.c =================================================================== --- brlcad/trunk/src/irprep/all_sf.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/irprep/all_sf.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -575,14 +575,8 @@ /* Find the leave point of the first region. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } - lvpt[X] = hitp->hit_point[X]; + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + lvpt[Y] = hitp->hit_point[Y]; lvpt[Z] = hitp->hit_point[Z]; @@ -601,13 +595,8 @@ /* Find the enter point for the second region. */ hitp = pp->pt_inhit; stp = pp->pt_inseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_inflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_inflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_inflip); + entpt[X] = hitp->hit_point[X]; entpt[Y] = hitp->hit_point[Y]; entpt[Z] = hitp->hit_point[Z]; @@ -643,13 +632,8 @@ /* Find leaving point. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + lvpt[X] = hitp->hit_point[X]; lvpt[Y] = hitp->hit_point[Y]; lvpt[Z] = hitp->hit_point[Z]; Modified: brlcad/trunk/src/irprep/firpass.c =================================================================== --- brlcad/trunk/src/irprep/firpass.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/irprep/firpass.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -2371,13 +2371,7 @@ */ hitp=pp->pt_inhit; stp=pp->pt_inseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_inflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_inflip=0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_inflip); /* Find front surface area of region. */ costheta1 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] @@ -2626,13 +2620,7 @@ */ hitp=pp->pt_outhit; stp=pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_inflip=0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); /* Find back surface area of regions. */ costheta1 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] Modified: brlcad/trunk/src/irprep/secpass.c =================================================================== --- brlcad/trunk/src/irprep/secpass.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/irprep/secpass.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -1196,7 +1196,7 @@ /* Find hit point of entering ray. */ hitp = pp->pt_inhit; stp = pp->pt_inseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_inflip); enterpt[X] = hitp->hit_point[X]; enterpt[Y] = hitp->hit_point[Y]; enterpt[Z] = hitp->hit_point[Z]; @@ -1296,7 +1296,8 @@ /* Find hit point of leaving ray. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + leavept[X] = hitp->hit_point[X]; leavept[Y] = hitp->hit_point[Y]; leavept[Z] = hitp->hit_point[Z]; Modified: brlcad/trunk/src/irprep/shapefact.c =================================================================== --- brlcad/trunk/src/irprep/shapefact.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/irprep/shapefact.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -815,13 +815,8 @@ /* Find leaving point. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + iprev = icur; iair = 0; /* A region was just hit. */ } /* END # 3H */ @@ -882,13 +877,8 @@ /* Find leave point. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + iprev = icur; iair = 0; /* Hit a region. */ } /* END # 6H */ @@ -917,13 +907,8 @@ /* Find leaving point. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + iprev = icur; iair = 0; /* Hit a region. */ } /* END # 8H */ @@ -957,13 +942,8 @@ /* Find leaving point. */ hitp = pp->pt_outhit; stp = pp->pt_outseg->seg_stp; - RT_HIT_NORM(hitp, stp, &(ap_p->a_ray)); - /* Flip normal if needed. */ - if (pp->pt_outflip) - { - VREVERSE(hitp->hit_normal, hitp->hit_normal); - pp->pt_outflip = 0; - } + RT_HIT_NORMAL(hitp->hit_normal, hitp, stp, &(ap_p->a_ray), pp->pt_outflip); + iprev = icur; iair = 0; /* Hit region. */ } /* END # 11H */ Modified: brlcad/trunk/src/librt/bundle.c =================================================================== --- brlcad/trunk/src/librt/bundle.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/bundle.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -476,7 +476,7 @@ * elements of pt_inhit and pt_outhit have been computed yet. * To compute both hit_point and hit_normal, use the * - * RT_HIT_NORM( hitp, stp, rayp ) + * RT_HIT_NORMAL(NULL, hitp, stp, rayp, 0) * * macro. To compute just hit_point, use * Modified: brlcad/trunk/src/librt/fortray.c =================================================================== --- brlcad/trunk/src/librt/fortray.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/fortray.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -277,7 +277,7 @@ * * In order to save storage, and copying time, frshot() saved only the * minimum amount of data required. Here, the hit and xray structures - * are reconstructed, suitable for passing to RT_HIT_NORM. + * are reconstructed, suitable for passing to RT_HIT_NORMAL. */ void BU_FORTRAN(frnorm, FRNORM)(double *normal, /* output only */ Modified: brlcad/trunk/src/librt/librt.3 =================================================================== --- brlcad/trunk/src/librt/librt.3 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/librt.3 2009-04-18 20:36:20 UTC (rev 34244) @@ -270,13 +270,13 @@ elements, they are not computed by .IR rt_shootray . If these are needed, they can be filled in by using the -.I RT_HIT_NORM\^ +.I RT_HIT_NORMAL\^ macro; if surface curvature information is needed, it can be obtained by using the .I RT_CURVE\^ macro after -.IR RT_HIT_NORM ; +.IR RT_HIT_NORMAL ; if only the .I hit_point is needed, @@ -390,18 +390,11 @@ for( pp = PartHeadp\->pt_forw; pp != PartHeadp; pp = pp\->pt_forw ) { /* Fill in all inhit info, but just the exit location for outhit. */ - RT_HIT_NORM( pp\->pt_inhit, pp\->pt_inseg\->seg_stp, &ap\->a_ray ); + RT_HIT_NORMAL(pp\->pt_inhit\->hit_normal, pp\->pt_inhit, pp\->pt_inseg\->seg_stp, &ap\->a_ray, pp\->pt_inflip); RT_CURVE( &incurv, pp\->pt_inhit, pp\->pt_inseg\->seg_stp ); VJOIN1( pp\->pt_outhit\->hit_point, ap\->a_ray.r_pt, pp\->pt_outhit\->hit_dist, ap\->a_ray.r_dir ); - /* Check for flipped normal and fix (if you intend to use it). */ - if( pp\->pt_inflip ) { - VREVERSE( pp\->pt_inhit\->hit_normal, - pp\->pt_inhit\->hit_normal ); - pp\->pt_inflip = 0; - } - /* Do something based on information in partition structure * such as output a shotline component data record. */ Modified: brlcad/trunk/src/librt/primitives/ars/ars.c =================================================================== --- brlcad/trunk/src/librt/primitives/ars/ars.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/primitives/ars/ars.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -748,27 +748,26 @@ register int i, j; if ( nhits ) - RT_HIT_NORM( &hits[0], stp, 0 ) + RT_HIT_NORMAL(NULL, &hits[0], stp, 0, 0); - for ( i=0; i<nhits-1; i++ ) - { - fastf_t dist; + for ( i=0; i<nhits-1; i++ ) { + fastf_t dist; - RT_HIT_NORM( &hits[i+1], stp, 0 ) - dist = hits[i].hit_dist - hits[i+1].hit_dist; - if ( NEAR_ZERO( dist, ap->a_rt_i->rti_tol.dist ) && - VDOT( hits[i].hit_normal, rp->r_dir ) * - VDOT( hits[i+1].hit_normal, rp->r_dir) > 0) - { - for ( j=i; j<nhits-1; j++ ) - hits[j] = hits[j+1]; - nhits--; - i--; - } - } + RT_HIT_NORMAL(NULL, &hits[i+1], stp, 0, 0); + dist = hits[i].hit_dist - hits[i+1].hit_dist; + if ( NEAR_ZERO( dist, ap->a_rt_i->rti_tol.dist ) && + VDOT( hits[i].hit_normal, rp->r_dir ) * + VDOT( hits[i+1].hit_normal, rp->r_dir) > 0) + { + for ( j=i; j<nhits-1; j++ ) + hits[j] = hits[j+1]; + nhits--; + i--; + } + } } - if ( nhits&1 ) { + if (nhits&1) { register int i; /* * If this condition exists, it is almost certainly due to Modified: brlcad/trunk/src/librt/shoot.c =================================================================== --- brlcad/trunk/src/librt/shoot.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/shoot.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -1539,7 +1539,7 @@ * pt_inhit and pt_outhit have been computed yet. To compute both * hit_point and hit_normal, use the * - * RT_HIT_NORM( hitp, stp, rayp ) + * RT_HIT_NORMAL(NULL, hitp, stp, rayp, 0); * * macro. To compute just hit_point, use * Modified: brlcad/trunk/src/librt/vshoot.c =================================================================== --- brlcad/trunk/src/librt/vshoot.c 2009-04-18 18:02:38 UTC (rev 34243) +++ brlcad/trunk/src/librt/vshoot.c 2009-04-18 20:36:20 UTC (rev 34244) @@ -267,7 +267,7 @@ * pt_inhit and pt_outhit have been computed yet. To compute both * hit_point and hit_normal, use the * - * RT_HIT_NORM( hitp, stp, rayp ) + * RT_HIT_NORMAL(NULL, hitp, stp, rayp, 0); * * macro. To compute just hit_point, use * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-04-19 17:31:21
|
Revision: 34247 http://brlcad.svn.sourceforge.net/brlcad/?rev=34247&view=rev Author: brlcad Date: 2009-04-19 17:31:16 +0000 (Sun, 19 Apr 2009) Log Message: ----------- push the unitize of the mirror dir up into librt Modified Paths: -------------- brlcad/trunk/src/libged/mirror.c brlcad/trunk/src/librt/primitives/mirror.c Modified: brlcad/trunk/src/libged/mirror.c =================================================================== --- brlcad/trunk/src/libged/mirror.c 2009-04-19 15:20:10 UTC (rev 34246) +++ brlcad/trunk/src/libged/mirror.c 2009-04-19 17:31:16 UTC (rev 34247) @@ -33,7 +33,7 @@ point_t mirror_origin = {0.0, 0.0, 0.0}; vect_t mirror_dir = {1.0, 0.0, 0.0}; fastf_t mirror_pt = 0.0; - static const char *usage = "[-h] [-d dir] [-o origin] [-p scalar_pt] [-x] [-y] [-z] old new"; + static const char *usage = "[-h] [-d dir] [-o origin] [-p distance] [-x] [-y] [-z] old new"; int early_out = 0; @@ -115,8 +115,6 @@ } /* mirror the object */ - VUNITIZE(mirror_dir); - if (rt_mirror(gedp->ged_wdbp->dbip, argv[bu_optind], argv[bu_optind+1], Modified: brlcad/trunk/src/librt/primitives/mirror.c =================================================================== --- brlcad/trunk/src/librt/primitives/mirror.c 2009-04-19 15:20:10 UTC (rev 34246) +++ brlcad/trunk/src/librt/primitives/mirror.c 2009-04-19 17:31:16 UTC (rev 34247) @@ -68,6 +68,8 @@ static fastf_t tol_dist_sq = 0.005 * 0.005; static point_t origin = {0.0, 0.0, 0.0}; + VUNITIZE(mirror_dir); + if (!NEAR_ZERO(MAGSQ(mirror_dir) - 1.0, tol_dist_sq)) { bu_log("rt_mirror: mirror_dir is invalid!\n"); return DIR_NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-04-20 00:27:15
|
Revision: 34259 http://brlcad.svn.sourceforge.net/brlcad/?rev=34259&view=rev Author: brlcad Date: 2009-04-20 00:27:05 +0000 (Mon, 20 Apr 2009) Log Message: ----------- this is wrong -- librt should ONLY work with base units. libged or application responsibility to be aware of units and convert accordingly. push it up into ged_mirror(). Modified Paths: -------------- brlcad/trunk/src/libged/mirror.c brlcad/trunk/src/librt/primitives/mirror.c Modified: brlcad/trunk/src/libged/mirror.c =================================================================== --- brlcad/trunk/src/libged/mirror.c 2009-04-19 23:18:02 UTC (rev 34258) +++ brlcad/trunk/src/libged/mirror.c 2009-04-20 00:27:05 UTC (rev 34259) @@ -136,6 +136,8 @@ bu_vls_printf(&gedp->ged_result_str, "ERROR: Unable to load solid [%s]\n", argv[bu_optind]); return BRLCAD_ERROR; } + + mirror_pt *= gedp->ged_wdbp->dbip->dbi_local2base; /* mirror the object */ ip = rt_mirror(gedp->ged_wdbp->dbip, Modified: brlcad/trunk/src/librt/primitives/mirror.c =================================================================== --- brlcad/trunk/src/librt/primitives/mirror.c 2009-04-19 23:18:02 UTC (rev 34258) +++ brlcad/trunk/src/librt/primitives/mirror.c 2009-04-20 00:27:05 UTC (rev 34259) @@ -79,7 +79,6 @@ /* FIXME: not the best, but consistent until v6 */ id = ip->idb_type; - mirror_pt *= dbip->dbi_local2base; MAT_IDN(mirmat); /* Build mirror transform matrix, for those who need it. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-04-28 15:26:27
|
Revision: 34339 http://brlcad.svn.sourceforge.net/brlcad/?rev=34339&view=rev Author: brlcad Date: 2009-04-28 15:26:24 +0000 (Tue, 28 Apr 2009) Log Message: ----------- a veritable buffet of ifree() changes to make sure the primitives have the right signature (with a resource pointer) and that calls are all made through the functab. Modified Paths: -------------- brlcad/trunk/src/librt/primitives/ebm/ebm.c brlcad/trunk/src/librt/primitives/grip/grip.c brlcad/trunk/src/librt/primitives/half/half.c brlcad/trunk/src/librt/primitives/hf/hf.c brlcad/trunk/src/librt/primitives/hyp/hyp.c brlcad/trunk/src/librt/primitives/metaball/metaball.c brlcad/trunk/src/librt/primitives/nmg/nmg.c brlcad/trunk/src/librt/primitives/part/part.c brlcad/trunk/src/librt/primitives/pipe/pipe.c brlcad/trunk/src/librt/primitives/pnts/pnts.c brlcad/trunk/src/librt/primitives/poly/poly.c brlcad/trunk/src/librt/primitives/revolve/revolve.c brlcad/trunk/src/librt/primitives/rhc/rhc.c brlcad/trunk/src/librt/primitives/rpc/rpc.c brlcad/trunk/src/librt/primitives/submodel/submodel.c brlcad/trunk/src/librt/primitives/superell/superell.c brlcad/trunk/src/librt/primitives/tgc/tgc.c brlcad/trunk/src/librt/primitives/tor/tor.c brlcad/trunk/src/librt/primitives/vol/vol.c brlcad/trunk/src/librt/primitives/xxx/xxx.c brlcad/trunk/src/mged/red.c brlcad/trunk/src/mged/utility1.c Modified: brlcad/trunk/src/librt/primitives/ebm/ebm.c =================================================================== --- brlcad/trunk/src/librt/primitives/ebm/ebm.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/ebm/ebm.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -848,11 +848,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_ebm_ifree(struct rt_db_internal *ip) +rt_ebm_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_ebm_internal *eip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + eip = (struct rt_ebm_internal *)ip->idb_ptr; RT_EBM_CK_MAGIC(eip); Modified: brlcad/trunk/src/librt/primitives/grip/grip.c =================================================================== --- brlcad/trunk/src/librt/primitives/grip/grip.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/grip/grip.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -479,9 +479,14 @@ * solid. */ void -rt_grp_ifree(struct rt_db_internal *ip) +rt_grp_ifree(struct rt_db_internal *ip, struct resource *resp) { RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + bu_free( ip->idb_ptr, "grip ifree" ); ip->idb_ptr = GENPTR_NULL; } Modified: brlcad/trunk/src/librt/primitives/half/half.c =================================================================== --- brlcad/trunk/src/librt/primitives/half/half.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/half/half.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -739,9 +739,14 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_hlf_ifree(struct rt_db_internal *ip) +rt_hlf_ifree(struct rt_db_internal *ip, struct resource *resp) { RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + bu_free( ip->idb_ptr, "hlf ifree" ); ip->idb_ptr = GENPTR_NULL; } Modified: brlcad/trunk/src/librt/primitives/hf/hf.c =================================================================== --- brlcad/trunk/src/librt/primitives/hf/hf.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/hf/hf.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -2181,10 +2181,14 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void - rt_hf_ifree(struct rt_db_internal *ip) + rt_hf_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_hf_internal *xip; + if (!resp) { + resp = &rt_uniresource; + } + RT_CK_DB_INTERNAL(ip); xip = (struct rt_hf_internal *)ip->idb_ptr; RT_HF_CK_MAGIC(xip); Modified: brlcad/trunk/src/librt/primitives/hyp/hyp.c =================================================================== --- brlcad/trunk/src/librt/primitives/hyp/hyp.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/hyp/hyp.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1363,11 +1363,16 @@ * solid. */ void -rt_hyp_ifree(struct rt_db_internal *ip) +rt_hyp_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_hyp_internal *hyp_ip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + hyp_ip = (struct rt_hyp_internal *)ip->idb_ptr; RT_HYP_CK_MAGIC(hyp_ip); hyp_ip->hyp_magic = 0; /* sanity */ Modified: brlcad/trunk/src/librt/primitives/metaball/metaball.c =================================================================== --- brlcad/trunk/src/librt/primitives/metaball/metaball.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/metaball/metaball.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -646,12 +646,17 @@ * This only effects the in-memory copy. */ void -rt_metaball_ifree(struct rt_db_internal *ip) +rt_metaball_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_metaball_internal *metaball; register struct wdb_metaballpt *mbpt; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + metaball = (struct rt_metaball_internal*)ip->idb_ptr; RT_METABALL_CK_MAGIC(metaball); Modified: brlcad/trunk/src/librt/primitives/nmg/nmg.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/nmg/nmg.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -2719,10 +2719,14 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_nmg_ifree(struct rt_db_internal *ip) +rt_nmg_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct model *m; + if (!resp) { + resp = &rt_uniresource; + } + RT_CK_DB_INTERNAL(ip); if (ip->idb_ptr) { m = (struct model *)ip->idb_ptr; Modified: brlcad/trunk/src/librt/primitives/part/part.c =================================================================== --- brlcad/trunk/src/librt/primitives/part/part.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/part/part.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -218,7 +218,6 @@ { {'\0', '\0', '\0', '\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } }; -BU_EXTERN( void rt_part_ifree, (struct rt_db_internal *ip) ); /** * R T _ P A R T _ P R E P @@ -1768,9 +1767,14 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_part_ifree(struct rt_db_internal *ip) +rt_part_ifree(struct rt_db_internal *ip, struct resource *resp) { RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + bu_free( ip->idb_ptr, "particle ifree" ); ip->idb_ptr = GENPTR_NULL; } Modified: brlcad/trunk/src/librt/primitives/pipe/pipe.c =================================================================== --- brlcad/trunk/src/librt/primitives/pipe/pipe.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/pipe/pipe.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -111,9 +111,7 @@ #define RT_PIPE_MAXHITS 128 -BU_EXTERN( void rt_pipe_ifree, (struct rt_db_internal *ip) ); - HIDDEN int rt_bend_pipe_prep(struct soltab *stp, struct bu_list *head, fastf_t *bend_center, fastf_t *bend_start, fastf_t *bend_end, fastf_t bend_radius, @@ -3526,11 +3524,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_pipe_ifree(struct rt_db_internal *ip) { +rt_pipe_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_pipe_internal *pipe; register struct wdb_pipept *ptp; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + pipe = (struct rt_pipe_internal*)ip->idb_ptr; RT_PIPE_CK_MAGIC(pipe); Modified: brlcad/trunk/src/librt/primitives/pnts/pnts.c =================================================================== --- brlcad/trunk/src/librt/primitives/pnts/pnts.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/pnts/pnts.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -582,13 +582,17 @@ * each point type. */ void -rt_pnts_ifree(struct rt_db_internal *internal) +rt_pnts_ifree(struct rt_db_internal *internal, struct resource *resp) { struct rt_pnts_internal *pnts; register struct bu_list *point; RT_CK_DB_INTERNAL(internal); + if (!resp) { + resp = &rt_uniresource; + } + pnts = ((struct rt_pnts_internal *)(internal->idb_ptr)); RT_PNTS_CK_MAGIC(pnts); Modified: brlcad/trunk/src/librt/primitives/poly/poly.c =================================================================== --- brlcad/trunk/src/librt/primitives/poly/poly.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/poly/poly.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -832,12 +832,17 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_pg_ifree(struct rt_db_internal *ip) +rt_pg_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_pg_internal *pgp; register int i; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + pgp = (struct rt_pg_internal *)ip->idb_ptr; RT_PG_CK_MAGIC(pgp); Modified: brlcad/trunk/src/librt/primitives/revolve/revolve.c =================================================================== --- brlcad/trunk/src/librt/primitives/revolve/revolve.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/revolve/revolve.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1369,11 +1369,16 @@ * solid. */ void -rt_revolve_ifree(struct rt_db_internal *ip) +rt_revolve_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_revolve_internal *revolve_ip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + revolve_ip = (struct rt_revolve_internal *)ip->idb_ptr; RT_REVOLVE_CK_MAGIC(revolve_ip); revolve_ip->magic = 0; /* sanity */ Modified: brlcad/trunk/src/librt/primitives/rhc/rhc.c =================================================================== --- brlcad/trunk/src/librt/primitives/rhc/rhc.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/rhc/rhc.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1421,11 +1421,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_rhc_ifree(struct rt_db_internal *ip) +rt_rhc_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_rhc_internal *xip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + xip = (struct rt_rhc_internal *)ip->idb_ptr; RT_RHC_CK_MAGIC(xip); xip->rhc_magic = 0; /* sanity */ Modified: brlcad/trunk/src/librt/primitives/rpc/rpc.c =================================================================== --- brlcad/trunk/src/librt/primitives/rpc/rpc.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/rpc/rpc.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1400,11 +1400,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_rpc_ifree(struct rt_db_internal *ip) +rt_rpc_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_rpc_internal *xip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + xip = (struct rt_rpc_internal *)ip->idb_ptr; RT_RPC_CK_MAGIC(xip); xip->rpc_magic = 0; /* sanity */ Modified: brlcad/trunk/src/librt/primitives/submodel/submodel.c =================================================================== --- brlcad/trunk/src/librt/primitives/submodel/submodel.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/submodel/submodel.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1015,11 +1015,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_submodel_ifree(struct rt_db_internal *ip) +rt_submodel_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_submodel_internal *sip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + sip = (struct rt_submodel_internal *)ip->idb_ptr; RT_SUBMODEL_CK_MAGIC(sip); sip->magic = 0; /* sanity */ Modified: brlcad/trunk/src/librt/primitives/superell/superell.c =================================================================== --- brlcad/trunk/src/librt/primitives/superell/superell.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/superell/superell.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1027,9 +1027,14 @@ * solid. */ void -rt_superell_ifree(struct rt_db_internal *ip) +rt_superell_ifree(struct rt_db_internal *ip, struct resource *resp) { RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + bu_free( ip->idb_ptr, "superell ifree" ); ip->idb_ptr = GENPTR_NULL; } Modified: brlcad/trunk/src/librt/primitives/tgc/tgc.c =================================================================== --- brlcad/trunk/src/librt/primitives/tgc/tgc.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/tgc/tgc.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1758,9 +1758,14 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_tgc_ifree(struct rt_db_internal *ip) +rt_tgc_ifree(struct rt_db_internal *ip, struct resource *resp) { RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + bu_free( ip->idb_ptr, "tgc ifree" ); ip->idb_ptr = GENPTR_NULL; } Modified: brlcad/trunk/src/librt/primitives/tor/tor.c =================================================================== --- brlcad/trunk/src/librt/primitives/tor/tor.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/tor/tor.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -1605,11 +1605,16 @@ * solid. */ void -rt_tor_ifree(struct rt_db_internal *ip) +rt_tor_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_tor_internal *tip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + tip = (struct rt_tor_internal *)ip->idb_ptr; RT_TOR_CK_MAGIC(tip); Modified: brlcad/trunk/src/librt/primitives/vol/vol.c =================================================================== --- brlcad/trunk/src/librt/primitives/vol/vol.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/vol/vol.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -712,11 +712,16 @@ * Free the storage associated with the rt_db_internal version of this solid. */ void -rt_vol_ifree(struct rt_db_internal *ip) +rt_vol_ifree(struct rt_db_internal *ip, struct resource *resp) { register struct rt_vol_internal *vip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + vip = (struct rt_vol_internal *)ip->idb_ptr; RT_VOL_CK_MAGIC(vip); Modified: brlcad/trunk/src/librt/primitives/xxx/xxx.c =================================================================== --- brlcad/trunk/src/librt/primitives/xxx/xxx.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/librt/primitives/xxx/xxx.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -378,11 +378,16 @@ * solid. */ void -rt_xxx_ifree( struct rt_db_internal *ip ) +rt_xxx_ifree( struct rt_db_internal *ip, struct resource *resp) { register struct rt_xxx_internal *xxx_ip; RT_CK_DB_INTERNAL(ip); + + if (!resp) { + resp = &rt_uniresource; + } + xxx_ip = (struct rt_xxx_internal *)ip->idb_ptr; RT_XXX_CK_MAGIC(xxx_ip); xxx_ip->magic = 0; /* sanity */ Modified: brlcad/trunk/src/mged/red.c =================================================================== --- brlcad/trunk/src/mged/red.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/mged/red.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -254,7 +254,7 @@ if (db_delete(dbip, dp) || db_dirdelete(dbip, dp)) { Tcl_AppendResult(interp, "ERROR: Unable to delete directory entry for ", old_name, "\n", (char *)NULL); - rt_comb_ifree(&intern, &rt_uniresource); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); return(1); } } @@ -262,7 +262,7 @@ if ((dp=db_diradd(dbip, new_name, -1L, 0, flags, (genptr_t)&intern.idb_type)) == DIR_NULL) { Tcl_AppendResult(interp, "Cannot add ", new_name, " to directory, no changes made\n", (char *)NULL); - rt_comb_ifree(&intern, &rt_uniresource); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); return(1); } } else if ( dp == DIR_NULL ) { @@ -276,7 +276,7 @@ if ((dp=db_diradd(dbip, new_name, -1L, 0, flags, (genptr_t)&intern.idb_type)) == DIR_NULL) { Tcl_AppendResult(interp, "Cannot add ", new_name, " to directory, no changes made\n", (char *)NULL); - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); return(1); } } else { @@ -1628,7 +1628,7 @@ /* Do some quick checking on the edited file */ Tcl_AppendResult(interp, "Error in edited region, no changes made\n", (char *)NULL); if (comb) - rt_comb_ifree(&intern, &rt_uniresource); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); (void)unlink(red_tmpfil); return TCL_ERROR; } @@ -1637,7 +1637,7 @@ if (save_comb(dp)) { /* Save combination to a temp name */ Tcl_AppendResult(interp, "No changes made\n", (char *)NULL); - rt_comb_ifree(&intern, &rt_uniresource); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); (void)unlink(red_tmpfil); return TCL_OK; } @@ -1649,7 +1649,7 @@ if (comb) { restore_comb(dp); Tcl_AppendResult(interp, "\toriginal restored\n", (char *)NULL); - rt_comb_ifree(&intern, &rt_uniresource); + intern.idb_ptr->idb_meth->ft_ifree(&intern, &rt_uniresource); } (void)unlink(red_tmpfil); Modified: brlcad/trunk/src/mged/utility1.c =================================================================== --- brlcad/trunk/src/mged/utility1.c 2009-04-28 14:37:51 UTC (rev 34338) +++ brlcad/trunk/src/mged/utility1.c 2009-04-28 15:26:24 UTC (rev 34339) @@ -459,7 +459,7 @@ for (i=0; i < pathpos; i++) fprintf(fp, "/%s", path[i]->d_namep); fprintf(fp, "/%s\n", dp->d_namep ); - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); return TCL_OK; } @@ -469,7 +469,7 @@ (genptr_t)fp, (genptr_t)&pathpos, (genptr_t)NULL ); } - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); return TCL_OK; } @@ -567,7 +567,7 @@ else Tcl_AppendResult(interp, " ", dp->d_namep, "\n", (char *)NULL); - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); } FOR_ALL_DIRECTORY_END; } @@ -640,14 +640,14 @@ db_non_union_push( comb->tree, &rt_uniresource ); if ( db_ck_v4gift_tree( comb->tree ) < 0 ) { Tcl_AppendResult(interp, "Cannot flatten tree for editing\n", (char *)NULL ); - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); return; } } if ( !comb->tree ) { /* empty combination */ - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); return; } @@ -783,7 +783,7 @@ out: bu_free( (char *)tree_list, "new_tables: tree_list" ); - rt_comb_ifree( &intern, &rt_uniresource ); + intern.idb_meth->ft_ifree(&intern, &rt_uniresource); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ind...@us...> - 2009-04-30 20:28:21
|
Revision: 34379 http://brlcad.svn.sourceforge.net/brlcad/?rev=34379&view=rev Author: indianlarry Date: 2009-04-30 20:28:11 +0000 (Thu, 30 Apr 2009) Log Message: ----------- added other/step and conv/step to build if enabled Modified Paths: -------------- brlcad/trunk/src/conv/Makefile.am brlcad/trunk/src/other/Makefile.am Modified: brlcad/trunk/src/conv/Makefile.am =================================================================== --- brlcad/trunk/src/conv/Makefile.am 2009-04-30 20:25:28 UTC (rev 34378) +++ brlcad/trunk/src/conv/Makefile.am 2009-04-30 20:28:11 UTC (rev 34379) @@ -1,4 +1,10 @@ +if BUILD_STEP +STEPDIR=step +else !BUILD_STEP +STEPDIR= +endif + AM_CPPFLAGS = ${TCL_CPPFLAGS} EXTRA_DIST = \ @@ -29,6 +35,7 @@ SUBDIRS = \ iges \ + ${STEPDIR} \ intaval bin_PROGRAMS = \ Modified: brlcad/trunk/src/other/Makefile.am =================================================================== --- brlcad/trunk/src/other/Makefile.am 2009-04-30 20:25:28 UTC (rev 34378) +++ brlcad/trunk/src/other/Makefile.am 2009-04-30 20:28:11 UTC (rev 34379) @@ -138,6 +138,7 @@ ${IWIDGETSDIR} \ ${TERMLIBDIR} \ ${JOVEDIR} \ + ${STEPDIR} \ ${TKHTML3DIR} \ ${TKIMGDIR} \ ${OPENNURBSDIR} \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-05-05 23:55:42
|
Revision: 34423 http://brlcad.svn.sourceforge.net/brlcad/?rev=34423&view=rev Author: brlcad Date: 2009-05-05 23:55:38 +0000 (Tue, 05 May 2009) Log Message: ----------- universally use [W] instead of directly accessing plane_t's distance factor at index [3]. it's a homogeneous scaling factor. Modified Paths: -------------- brlcad/trunk/src/conv/asc/asc2g.c brlcad/trunk/src/conv/comgeom/solid.c brlcad/trunk/src/conv/euclid/euclid_format.c brlcad/trunk/src/conv/iges/conv_drawings.c brlcad/trunk/src/conv/iges/iges.c brlcad/trunk/src/conv/iges/trimsurf.c brlcad/trunk/src/conv/patch/patch-g.c brlcad/trunk/src/external/Unigraphics/ug-g.c brlcad/trunk/src/libbn/plane.c brlcad/trunk/src/libged/analyze.c brlcad/trunk/src/libged/inside.c brlcad/trunk/src/libged/make.c brlcad/trunk/src/libged/typein.c brlcad/trunk/src/librt/primitives/arb8/arb8.c brlcad/trunk/src/librt/primitives/arbn/arbn.c brlcad/trunk/src/librt/primitives/bot/bot.c brlcad/trunk/src/librt/primitives/extrude/extrude.c brlcad/trunk/src/librt/primitives/half/half.c brlcad/trunk/src/librt/primitives/nmg/nmg.c brlcad/trunk/src/librt/primitives/nmg/nmg_extrude.c brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c brlcad/trunk/src/librt/primitives/nmg/nmg_mod.c brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c brlcad/trunk/src/mged/edsol.c brlcad/trunk/src/mged/facedef.c brlcad/trunk/src/rt/opt.c brlcad/trunk/src/rttherm/viewtherm.c Modified: brlcad/trunk/src/conv/asc/asc2g.c =================================================================== --- brlcad/trunk/src/conv/asc/asc2g.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/asc/asc2g.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1599,7 +1599,7 @@ for (i = 0; i < neqn; i++) { bu_fgets(buf, BUFSIZE, ifp); (void)sscanf(buf, "%200s %le %le %le %le", type, /* TYPE_LEN */ - &eqn[i][X], &eqn[i][Y], &eqn[i][Z], &eqn[i][3]); + &eqn[i][X], &eqn[i][Y], &eqn[i][Z], &eqn[i][W]); } /*bu_log("sending info to mk_arbn\n"); Modified: brlcad/trunk/src/conv/comgeom/solid.c =================================================================== --- brlcad/trunk/src/conv/comgeom/solid.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/comgeom/solid.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -838,10 +838,10 @@ sol_work); return(-1); } - eqn[cur_eq][0] = getdouble( scard, 10+0*10, 10 ); - eqn[cur_eq][1] = getdouble( scard, 10+1*10, 10 ); - eqn[cur_eq][2] = getdouble( scard, 10+2*10, 10 ); - eqn[cur_eq][3] = getdouble( scard, 10+3*10, 10 ); + eqn[cur_eq][X] = getdouble( scard, 10+0*10, 10 ); + eqn[cur_eq][Y] = getdouble( scard, 10+1*10, 10 ); + eqn[cur_eq][Z] = getdouble( scard, 10+2*10, 10 ); + eqn[cur_eq][W] = getdouble( scard, 10+3*10, 10 ); scale = MAGNITUDE(eqn[cur_eq]); if ( scale < SMALL ) { printf("arbn plane normal too small\n"); @@ -849,7 +849,7 @@ } scale = 1/scale; VSCALE( eqn[cur_eq], eqn[cur_eq], scale ); - eqn[cur_eq][3] *= scale; + eqn[cur_eq][W] *= scale; cur_eq++; } @@ -881,7 +881,7 @@ } else { VMOVE( pt, &input_points[((vert_no)-1)*3] ); } - eqn[cur_eq][3] = VDOT(pt, eqn[cur_eq]); + eqn[cur_eq][W] = VDOT(pt, eqn[cur_eq]); cur_eq++; } } @@ -903,7 +903,7 @@ for ( i=0; i<nface; i++ ) { double dist; - dist = VDOT( eqn[i], cent ) - eqn[i][3]; + dist = VDOT( eqn[i], cent ) - eqn[i][W]; /* If dist is negative, 'cent' is inside halfspace */ #define DIST_TOL (1.0e-8) #define DIST_TOL_SQ (1.0e-10) @@ -911,7 +911,7 @@ if ( dist > DIST_TOL ) { /* Flip halfspace over */ VREVERSE( eqn[i], eqn[i] ); - eqn[i][3] = -eqn[i][3]; + eqn[i][W] = -eqn[i][W]; } else { /* Centroid lies on this face */ printf("arbn centroid lies on face\n"); @@ -953,7 +953,7 @@ /* See if point is outside arb */ for ( m=0; m<nface; m++ ) { if ( i==m || j==m || k==m ) continue; - if ( VDOT(pt, eqn[m])-eqn[m][3] > DIST_TOL ) + if ( VDOT(pt, eqn[m]) - eqn[m][W] > DIST_TOL ) goto next_k; } /* See if vertex already was found */ Modified: brlcad/trunk/src/conv/euclid/euclid_format.c =================================================================== --- brlcad/trunk/src/conv/euclid/euclid_format.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/euclid/euclid_format.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -78,7 +78,7 @@ if ( scanf( "%d %f %f %f %f", &face_no, &a, &b, &c, &d ) == EOF ) bu_exit(1, "Unexpected EOF\n" ); VSET( pl, a, b, c ); - pl[3] = d; + pl[W] = d; if ( ident != old_id ) { Modified: brlcad/trunk/src/conv/iges/conv_drawings.c =================================================================== --- brlcad/trunk/src/conv/iges/conv_drawings.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/iges/conv_drawings.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -635,26 +635,26 @@ Get_plane( clip[i], clip_de[i] ); else { - clip[i][3] = MAX_FASTF; + clip[i][W] = MAX_FASTF; switch ( i ) { case 0: - clip[i][0] = (-1.0); + clip[i][X] = (-1.0); break; case 1: - clip[i][1] = 1.0; + clip[i][Y] = 1.0; break; case 2: - clip[i][0] = 1.0; + clip[i][X] = 1.0; break; case 3: - clip[i][1] = (-1.0); + clip[i][Y] = (-1.0); break; case 4: - clip[i][2] = (-1.0); + clip[i][Z] = (-1.0); break; case 5: - clip[i][2] = 1.0; + clip[i][Z] = 1.0; break; } } Modified: brlcad/trunk/src/conv/iges/iges.c =================================================================== --- brlcad/trunk/src/conv/iges/iges.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/iges/iges.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1550,7 +1550,7 @@ bu_vls_init( &str ); - VSCALE( pt_on_plane, plane, plane[3] ); + VSCALE( pt_on_plane, plane, plane[W] ); bu_vls_printf( &str, "190,%d,%d;" , write_point_entity( pt_on_plane, fp_dir, fp_param ), Modified: brlcad/trunk/src/conv/iges/trimsurf.c =================================================================== --- brlcad/trunk/src/conv/iges/trimsurf.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/iges/trimsurf.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1193,8 +1193,8 @@ bn_vec_ortho( pl2, ray_dir ); VCROSS( pl1, pl2, ray_dir ); - pl1[3] = VDOT( mid_pt, pl1 ); - pl2[3] = VDOT( mid_pt, pl2 ); + pl1[W] = VDOT( mid_pt, pl1 ); + pl2[W] = VDOT( mid_pt, pl2 ); BU_LIST_INIT( &bezier ); Modified: brlcad/trunk/src/conv/patch/patch-g.c =================================================================== --- brlcad/trunk/src/conv/patch/patch-g.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/conv/patch/patch-g.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -831,7 +831,7 @@ NMG_GET_FU_PLANE(n2, fu2); /* Compare distances from origin */ - dist = n1[3] - n2[3]; + dist = n1[W] - n2[W]; if (!NEAR_ZERO(dist, tol->dist)) continue; /* @@ -2131,10 +2131,10 @@ for (i=0; i < 5; i++) { point_t tmp_pt, new_pt; - VSCALE(tmp_pt, planes[i], planes[i][3]) + VSCALE(tmp_pt, planes[i], planes[i][W]) VJOIN1(new_pt, tmp_pt, in[k].rsurf_thick, planes[i]) - planes[i][3] = VDOT(planes[i], new_pt); + planes[i][W] = VDOT(planes[i], new_pt); } /* Find new vertices of interior arb6 using @@ -2242,7 +2242,7 @@ for (i=0; i < 5; i++) { point_t tmp_pt, new_pt; - VSCALE(tmp_pt, planes[i], planes[i][3]) + VSCALE(tmp_pt, planes[i], planes[i][W]) VJOIN1(new_pt, tmp_pt, in[k].rsurf_thick, planes[i]) planes[i][3] = VDOT(planes[i], new_pt); Modified: brlcad/trunk/src/external/Unigraphics/ug-g.c =================================================================== --- brlcad/trunk/src/external/Unigraphics/ug-g.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/external/Unigraphics/ug-g.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1878,7 +1878,7 @@ VSETALLN( pl, 0.0, 4 ); pl[i] = 1.0; - pl[3] = bb[i+3]; + pl[W] = bb[i+3]; DO_INDENT; bu_log( "\tChecking plane (%g %g %g %g)\n", V4ARGS( pl ) ); ret = bn_isect_line3_plane( &dist, base, dir, pl, &tol ); @@ -1897,7 +1897,7 @@ VSETALLN( pl, 0.0, 4 ); pl[i] = -1.0; - pl[3] = -bb[i]; + pl[W] = -bb[i]; DO_INDENT; bu_log( "\tChecking plane (%g %g %g %g)\n", V4ARGS( pl ) ); ret = bn_isect_line3_plane( &dist, base, dir, pl, &tol ); @@ -1945,7 +1945,7 @@ VSETALLN( pl, 0.0, 4 ); pl[i] = 1.0; - pl[3] = bb[i+3]; + pl[W] = bb[i+3]; ret = bn_isect_line3_plane( &dist, base, dir, pl, &tol ); /* 1 - exit, 2 - entrance, else miss */ if ( ret == 1 ) { @@ -1960,7 +1960,7 @@ VSETALLN( pl, 0.0, 4 ); pl[i] = -1.0; - pl[3] = -bb[i]; + pl[W] = -bb[i]; ret = bn_isect_line3_plane( &dist, base, dir, pl, &tol ); /* 1 - exit, 2 - entrance, else miss */ if ( ret == 1 ) { Modified: brlcad/trunk/src/libbn/plane.c =================================================================== --- brlcad/trunk/src/libbn/plane.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/libbn/plane.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -508,13 +508,13 @@ if ( abs_dir[X] >= abs_dir[Y] ) { if ( abs_dir[X] >= abs_dir[Z] ) { VSET( pl, 1, 0, 0 ); /* X */ - pl[3] = rpp_min[X]; + pl[W] = rpp_min[X]; if ( dir[X] < 0 ) { VREVERSE( dir, dir ); } } else { VSET( pl, 0, 0, 1 ); /* Z */ - pl[3] = rpp_min[Z]; + pl[W] = rpp_min[Z]; if ( dir[Z] < 0 ) { VREVERSE( dir, dir ); } @@ -522,13 +522,13 @@ } else { if ( abs_dir[Y] >= abs_dir[Z] ) { VSET( pl, 0, 1, 0 ); /* Y */ - pl[3] = rpp_min[Y]; + pl[W] = rpp_min[Y]; if ( dir[Y] < 0 ) { VREVERSE( dir, dir ); } } else { VSET( pl, 0, 0, 1 ); /* Z */ - pl[3] = rpp_min[Z]; + pl[W] = rpp_min[Z]; if ( dir[Z] < 0 ) { VREVERSE( dir, dir ); } @@ -2427,9 +2427,9 @@ if ( NEAR_ZERO( NdotDir, SMALL_FASTF ) ) return( 0 ); - pl[3] = VDOT( pl, V ); + pl[W] = VDOT( pl, V ); - dist = (pl[3] - VDOT( pl, pt ))/NdotDir; + dist = (pl[W] - VDOT( pl, pt ))/NdotDir; VJOIN1( inter, pt, dist, dir ); /* determine if point is within triangle */ Modified: brlcad/trunk/src/libged/analyze.c =================================================================== --- brlcad/trunk/src/libged/analyze.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/libged/analyze.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -346,7 +346,7 @@ * fallback angles so that they always give the outward * pointing normal vector. */ - if ( (plane[3] - VDOT(center_pt, &plane[0])) < 0.0 ) { + if ( (plane[W] - VDOT(center_pt, &plane[0])) < 0.0 ) { for ( i=0; i<4; i++ ) plane[i] *= -1.0; } @@ -382,8 +382,8 @@ bu_vls_printf(&gedp->ged_result_str, "| %4d |", prface[type][face]); bu_vls_printf(&gedp->ged_result_str, " %6.8f %6.8f | %6.8f %6.8f %6.8f %11.8f |", angles[3], angles[4], - plane[0], plane[1], plane[2], - plane[3]*gedp->ged_wdbp->dbip->dbi_base2local); + plane[X], plane[Y], plane[Z], + plane[W]*gedp->ged_wdbp->dbip->dbi_base2local); bu_vls_printf(&gedp->ged_result_str, " %13.8f |\n", (area[0]+area[1])*gedp->ged_wdbp->dbip->dbi_base2local*gedp->ged_wdbp->dbip->dbi_base2local); return face_area; @@ -446,7 +446,7 @@ return 0.0; /* have a good arb4 - find its volume */ - height = fabs(plane[3] - VDOT(&plane[0], arb->pt[d])); + height = fabs(plane[W] - VDOT(&plane[0], arb->pt[d])); VSUB2(v_temp, arb->pt[b], arb->pt[a]); len[0] = MAGNITUDE(v_temp); VSUB2(v_temp, arb->pt[c], arb->pt[a]); Modified: brlcad/trunk/src/libged/inside.c =================================================================== --- brlcad/trunk/src/libged/inside.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/libged/inside.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -150,9 +150,9 @@ if ( cgtype != 7 ) { for (i=0; i<nface; i++) { - if ( (planes[i][3] - VDOT(center_pt, &planes[i][0])) > 0.0 ) + if ( (planes[i][W] - VDOT(center_pt, &planes[i][0])) > 0.0 ) thick[i] *= -1.0; - planes[i][3] += thick[i]; + planes[i][W] += thick[i]; } } Modified: brlcad/trunk/src/libged/make.c =================================================================== --- brlcad/trunk/src/libged/make.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/libged/make.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -266,27 +266,27 @@ arbn_ip->eqn = (plane_t *)bu_calloc(arbn_ip->neqn, sizeof(plane_t), "arbn plane eqns"); VSET(arbn_ip->eqn[0], 1, 0, 0); - arbn_ip->eqn[0][3] = 0.5*scale; + arbn_ip->eqn[0][W] = 0.5*scale; VSET(arbn_ip->eqn[1], -1, 0, 0); - arbn_ip->eqn[1][3] = 0.5*scale; + arbn_ip->eqn[1][W] = 0.5*scale; VSET(arbn_ip->eqn[2], 0, 1, 0); - arbn_ip->eqn[2][3] = 0.5*scale; + arbn_ip->eqn[2][W] = 0.5*scale; VSET(arbn_ip->eqn[3], 0, -1, 0); - arbn_ip->eqn[3][3] = 0.5*scale; + arbn_ip->eqn[3][W] = 0.5*scale; VSET(arbn_ip->eqn[4], 0, 0, 1); - arbn_ip->eqn[4][3] = 0.5*scale; + arbn_ip->eqn[4][W] = 0.5*scale; VSET(arbn_ip->eqn[5], 0, 0, -1); - arbn_ip->eqn[5][3] = 0.5*scale; + arbn_ip->eqn[5][W] = 0.5*scale; VSET(arbn_ip->eqn[6], 0.57735, 0.57735, 0.57735); - arbn_ip->eqn[6][3] = 0.5*scale; + arbn_ip->eqn[6][W] = 0.5*scale; VSET(arbn_ip->eqn[7], -0.57735, -0.57735, -0.57735); - arbn_ip->eqn[7][3] = 0.5*scale; + arbn_ip->eqn[7][W] = 0.5*scale; VSET(view_center, origin[X], origin[Y], origin[Z]); for (i=0; i<arbn_ip->neqn; i++) { - arbn_ip->eqn[i][3] += + arbn_ip->eqn[i][W] += VDOT(view_center, arbn_ip->eqn[i]); } } else if (strcmp(argv[bu_optind+1], "ars") == 0) { @@ -472,7 +472,7 @@ half_ip = (struct rt_half_internal *)internal.idb_ptr; half_ip->magic = RT_HALF_INTERNAL_MAGIC; VSET(half_ip->eqn, 0.0, 0.0, 1.0); - half_ip->eqn[3] = (origin[Z]); + half_ip->eqn[W] = (origin[Z]); } else if (strcmp(argv[bu_optind+1], "rpc") == 0) { internal.idb_major_type = DB5_MAJORTYPE_BRLCAD; internal.idb_type = ID_RPC; Modified: brlcad/trunk/src/libged/typein.c =================================================================== --- brlcad/trunk/src/libged/typein.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/libged/typein.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1038,10 +1038,10 @@ /* Normal is unscaled, should have unit length; d is scaled */ for ( i=0; i<arbn->neqn; i++ ) { - arbn->eqn[i][0] = atof( argv[4+i*4] ); - arbn->eqn[i][1] = atof( argv[4+i*4+1] ); - arbn->eqn[i][2] = atof( argv[4+i*4+2] ); - arbn->eqn[i][3] = atof( argv[4+i*4+3] ) * gedp->ged_wdbp->dbip->dbi_local2base; + arbn->eqn[i][X] = atof( argv[4+i*4] ); + arbn->eqn[i][Y] = atof( argv[4+i*4+1] ); + arbn->eqn[i][Z] = atof( argv[4+i*4+2] ); + arbn->eqn[i][W] = atof( argv[4+i*4+3] ) * gedp->ged_wdbp->dbip->dbi_local2base; } return BRLCAD_OK; Modified: brlcad/trunk/src/librt/primitives/arb8/arb8.c =================================================================== --- brlcad/trunk/src/librt/primitives/arb8/arb8.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/arb8/arb8.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -448,7 +448,7 @@ } else { pap->pa_clockwise[pap->pa_faces] = 0; } - afp->peqn[3] = VDOT( afp->peqn, afp->A ); + afp->peqn[W] = VDOT( afp->peqn, afp->A ); return(0); /* OK */ default: /* Merely validate 4th and subsequent points */ @@ -797,7 +797,7 @@ /* XXX some of this math should be prep work * (including computing dxbdn/dn ?) *$*/ - dxbdn = VDOT( afp->peqn, rp->r_pt ) - afp->peqn[3]; + dxbdn = VDOT( afp->peqn, rp->r_pt ) - afp->peqn[W]; dn = -VDOT( afp->peqn, rp->r_dir ); if (RT_G_DEBUG & DEBUG_ARB8) { @@ -896,7 +896,7 @@ continue; /* faces of this ARB are done */ dxbdn = VDOT( arbp->arb_face[j].peqn, rp[i]->r_pt ) - - arbp->arb_face[j].peqn[3]; + arbp->arb_face[j].peqn[W]; if ( (dn = -VDOT( arbp->arb_face[j].peqn, rp[i]->r_dir )) < -SQRT_SMALL_FASTF ) { /* exit point, when dir.N < 0. out = min(out,s) */ if ( segp[i].seg_out.hit_dist > (s = dxbdn/dn) ) { Modified: brlcad/trunk/src/librt/primitives/arbn/arbn.c =================================================================== --- brlcad/trunk/src/librt/primitives/arbn/arbn.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/arbn/arbn.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -815,11 +815,11 @@ /* unitize the plane equation first */ factor = 1.0 / MAGNITUDE( aip->eqn[i] ); VSCALE( aip->eqn[i], aip->eqn[i], factor ); - aip->eqn[i][3] = aip->eqn[i][3] * factor; + aip->eqn[i][W] = aip->eqn[i][W] * factor; /* Pick a point on the original halfspace */ - VSCALE( orig_pt, aip->eqn[i], aip->eqn[i][3] ); + VSCALE( orig_pt, aip->eqn[i], aip->eqn[i][W] ); /* Transform the point, and the normal */ MAT4X3VEC( norm, mat, aip->eqn[i] ); @@ -828,7 +828,7 @@ /* Measure new distance from origin to new point */ VUNITIZE( norm ); VMOVE( aip->eqn[i], norm ); - aip->eqn[i][3] = VDOT( pt, norm ); + aip->eqn[i][W] = VDOT( pt, norm ); } return(0); @@ -878,7 +878,7 @@ *sp++ = aip->eqn[i][X]; *sp++ = aip->eqn[i][Y]; *sp++ = aip->eqn[i][Z]; - *sp++ = aip->eqn[i][3] * local2mm; + *sp++ = aip->eqn[i][W] * local2mm; } htond( (unsigned char *)&rec[1], (unsigned char *)sbuf, aip->neqn * 4 ); @@ -936,10 +936,10 @@ /* unitize the plane equation first */ factor = 1.0 / MAGNITUDE( aip->eqn[i] ); VSCALE( aip->eqn[i], aip->eqn[i], factor ); - aip->eqn[i][3] = aip->eqn[i][3] * factor; + aip->eqn[i][W] = aip->eqn[i][W] * factor; /* Pick a point on the original halfspace */ - VSCALE( orig_pt, aip->eqn[i], aip->eqn[i][3] ); + VSCALE( orig_pt, aip->eqn[i], aip->eqn[i][W] ); /* Transform the point, and the normal */ MAT4X3VEC( norm, mat, aip->eqn[i] ); @@ -948,7 +948,7 @@ /* Measure new distance from origin to new point */ VUNITIZE( norm ); VMOVE( aip->eqn[i], norm ); - aip->eqn[i][3] = VDOT( pt, norm ); + aip->eqn[i][W] = VDOT( pt, norm ); } } @@ -991,7 +991,7 @@ *sp++ = aip->eqn[i][X]; *sp++ = aip->eqn[i][Y]; *sp++ = aip->eqn[i][Z]; - *sp++ = aip->eqn[i][3] * local2mm; + *sp++ = aip->eqn[i][W] * local2mm; } /* Convert from internal (host) to database (network) format */ @@ -1029,7 +1029,7 @@ INTCLAMP(aip->eqn[i][X]), /* should have unit length */ INTCLAMP(aip->eqn[i][Y]), INTCLAMP(aip->eqn[i][Z]), - INTCLAMP(aip->eqn[i][3] * mm2local) ); + INTCLAMP(aip->eqn[i][W] * mm2local) ); bu_vls_strcat( str, buf ); } return(0); Modified: brlcad/trunk/src/librt/primitives/bot/bot.c =================================================================== --- brlcad/trunk/src/librt/primitives/bot/bot.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/bot/bot.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -3472,7 +3472,7 @@ VSUB2( v02, &vertices[vc*3], &vertices[va*3] ); VCROSS( plb, v01, v02 ); VUNITIZE( plb ); - plb[3] = VDOT( &vertices[va*3], plb ); + plb[W] = VDOT( &vertices[va*3], plb ); /* do the same using the working face list */ va = faces[faces_affected[i]]; @@ -3490,7 +3490,7 @@ VSUB2( v02, &vertices[vc*3], &vertices[va*3] ); VCROSS( pla, v01, v02 ); VUNITIZE( pla ); - pla[3] = VDOT( &vertices[va*3], pla ); + pla[W] = VDOT( &vertices[va*3], pla ); /* max_normal_error is actually a minimum dot product */ dot = VDOT( pla, plb ); Modified: brlcad/trunk/src/librt/primitives/extrude/extrude.c =================================================================== --- brlcad/trunk/src/librt/primitives/extrude/extrude.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/extrude/extrude.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -156,10 +156,10 @@ /* calculate plane equations of top and bottom planes */ VCROSS(extr->pl1, eip->u_vec, eip->v_vec); VUNITIZE(extr->pl1); - extr->pl1[3] = VDOT(extr->pl1, eip->V); + extr->pl1[W] = VDOT(extr->pl1, eip->V); VMOVE(extr->pl2, extr->pl1); VADD2(tmp, eip->V, eip->h); - extr->pl2[3] = VDOT(extr->pl2, tmp); + extr->pl2[W] = VDOT(extr->pl2, tmp); vert_count = skt->vert_count; /* count how many additional vertices we will need for arc centers */ @@ -196,7 +196,7 @@ /* calculate the rotated pl1 */ VCROSS(extr->pl1_rot, extr->u_vec, extr->v_vec); VUNITIZE(extr->pl1_rot); - extr->pl1_rot[3] = VDOT(extr->pl1_rot, extr->verts[0]); + extr->pl1_rot[W] = VDOT(extr->pl1_rot, extr->verts[0]); VSET(tmp, 0, 0, 1) tmp_f = VDOT(tmp, extr->unit_h); @@ -1978,12 +1978,12 @@ for (BU_LIST_FOR (vlp, bn_vlist, &vhead)) { for (j=1; j<vlp->nused; j++) { if (vlp->cmd[j] == BN_VLIST_LINE_DRAW) { - pl[3] += VDOT(pl, vlp->pt[j]); + pl[W] += VDOT(pl, vlp->pt[j]); pt_count++; } } } - pl[3] /= pt_count; + pl[W] /= pt_count; dot = -VDOT(pl, extrude_ip->h); rev = 0; Modified: brlcad/trunk/src/librt/primitives/half/half.c =================================================================== --- brlcad/trunk/src/librt/primitives/half/half.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/half/half.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -33,9 +33,9 @@ * * The inside of the halfspace bounded by the plane * consists of all points P such that - * VDOT(P, N) - N[3] <= 0, + * VDOT(P, N) - N[W] <= 0, * - * where N[3] stores the value d. + * where N[W] stores the value d. * See the remarks in h/vmath.h for more details. * */ @@ -63,7 +63,7 @@ const struct bu_structparse rt_hlf_parse[] = { { "%f", 3, "N", bu_offsetof(struct rt_half_internal, eqn[X]), BU_STRUCTPARSE_FUNC_NULL }, - { "%f", 1, "d", bu_offsetof(struct rt_half_internal, eqn[3]), BU_STRUCTPARSE_FUNC_NULL }, + { "%f", 1, "d", bu_offsetof(struct rt_half_internal, eqn[W]), BU_STRUCTPARSE_FUNC_NULL }, { {'\0', '\0', '\0', '\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } }; /** @@ -86,10 +86,10 @@ stp->st_specific = (genptr_t)halfp; VMOVE( halfp->half_eqn, hip->eqn ); - halfp->half_eqn[3] = hip->eqn[3]; + halfp->half_eqn[W] = hip->eqn[W]; /* Select one point on the halfspace as the "center" */ - VSCALE( stp->st_center, halfp->half_eqn, halfp->half_eqn[3] ); + VSCALE( stp->st_center, halfp->half_eqn, halfp->half_eqn[W] ); /* X and Y basis for uv map */ bn_vec_perp( halfp->half_Xbase, halfp->half_eqn ); @@ -120,7 +120,7 @@ return; } VPRINT( "Normal", halfp->half_eqn ); - bu_log( "d = %f\n", halfp->half_eqn[3] ); + bu_log( "d = %f\n", halfp->half_eqn[W] ); VPRINT( "Xbase", halfp->half_Xbase ); VPRINT( "Ybase", halfp->half_Ybase ); } @@ -152,7 +152,7 @@ fastf_t slant_factor; /* Direction dot Normal */ fastf_t norm_dist; - norm_dist = VDOT( halfp->half_eqn, rp->r_pt ) - halfp->half_eqn[3]; + norm_dist = VDOT( halfp->half_eqn, rp->r_pt ) - halfp->half_eqn[W]; if ( (slant_factor = -VDOT( halfp->half_eqn, rp->r_dir )) < -1.0e-10 ) { /* exit point, when dir.N < 0. out = min(out, s) */ out = norm_dist/slant_factor; @@ -218,7 +218,7 @@ in = -INFINITY; out = INFINITY; - norm_dist = VDOT(halfp->half_eqn, rp[i]->r_pt) - halfp->half_eqn[3]; + norm_dist = VDOT(halfp->half_eqn, rp[i]->r_pt) - halfp->half_eqn[W]; if ((slant_factor = -VDOT(halfp->half_eqn, rp[i]->r_dir)) < -1.0e-10) { @@ -437,7 +437,7 @@ RT_HALF_CK_MAGIC(hip); /* Invent a "center" point on the plane -- point closets to origin */ - VSCALE( cent, hip->eqn, hip->eqn[3] ); + VSCALE( cent, hip->eqn, hip->eqn[W] ); /* The use of "x" and "y" here is not related to the axis */ bn_vec_perp( xbase, &hip->eqn[0] ); @@ -513,7 +513,7 @@ * The transformed normal is all that is required. * The new distance is found from the transforemd point on the plane. */ - hop->eqn[3] = VDOT( pt, hop->eqn ); + hop->eqn[W] = VDOT( pt, hop->eqn ); /* Now some safety. Verify that the normal has unit length */ f = MAGNITUDE( hop->eqn); @@ -526,7 +526,7 @@ /* Restore normal to unit length */ f = 1/f; VSCALE( hop->eqn, hop->eqn, f ); - hip->eqn[3] *= f; + hip->eqn[W] *= f; } return 0; } @@ -576,7 +576,7 @@ * The transformed normal is all that is required. * The new distance is found from the transformed point on the plane. */ - hip->eqn[3] = VDOT( pt, hip->eqn ); + hip->eqn[W] = VDOT( pt, hip->eqn ); /* Verify that normal has unit length */ f = MAGNITUDE( hip->eqn ); @@ -589,7 +589,7 @@ /* Restore normal to unit length */ f = 1/f; VSCALE( hip->eqn, hip->eqn, f ); - hip->eqn[3] *= f; + hip->eqn[W] *= f; } return(0); /* OK */ } @@ -616,7 +616,7 @@ rec->s.s_id = ID_SOLID; rec->s.s_type = HALFSPACE; VMOVE( rec->s.s_values, hip->eqn ); - rec->s.s_values[3] = hip->eqn[3] * local2mm; + rec->s.s_values[W] = hip->eqn[W] * local2mm; return(0); } @@ -651,7 +651,7 @@ /* to apply modeling transformations, create a temporary * normal vector and point on the plane */ - VSCALE( tmp_pt, tmp_plane, tmp_plane[3] ); + VSCALE( tmp_pt, tmp_plane, tmp_plane[W] ); /* transform both the point and the vector */ if (mat == NULL) mat = bn_mat_identity; @@ -659,7 +659,7 @@ MAT4X3PNT( new_pt, mat, tmp_pt ); /* and calculate the new distance */ - hip->eqn[3] = VDOT( hip->eqn, new_pt ); + hip->eqn[W] = VDOT( hip->eqn, new_pt ); /* Verify that normal has unit length */ f = MAGNITUDE( hip->eqn ); @@ -672,7 +672,7 @@ /* Restore normal to unit length */ f = 1/f; VSCALE( hip->eqn, hip->eqn, f ); - hip->eqn[3] *= f; + hip->eqn[W] *= f; } return(0); /* OK */ } @@ -696,7 +696,7 @@ ep->ext_buf = (genptr_t)bu_malloc( ep->ext_nbytes, "half external" ); /* only the distance needs to be scaled */ - scaled_dist = hip->eqn[3] * local2mm; + scaled_dist = hip->eqn[W] * local2mm; /* Convert from internal (host) to database (network) format */ /* the normal */ @@ -727,7 +727,7 @@ sprintf(buf, "\tN (%g, %g, %g) d=%g\n", V3INTCLAMPARGS(hip->eqn), /* should have unit length */ - INTCLAMP(hip->eqn[3] * mm2local) ); + INTCLAMP(hip->eqn[W] * mm2local) ); bu_vls_strcat( str, buf ); return(0); Modified: brlcad/trunk/src/librt/primitives/nmg/nmg.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1119,7 +1119,7 @@ PUTMAGIC(DISK_FACE_G_PLANE_MAGIC); INDEXL(d, fg, f_hd); VMOVE(plane, fg->N); - plane[3] = fg->N[3] * local2mm; + plane[W] = fg->N[W] * local2mm; htond(d->N, (unsigned char *)plane, 4); } return; Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_extrude.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg_extrude.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg_extrude.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1125,9 +1125,9 @@ if ( NMG_INDEX_TEST_AND_SET( flags, fg_p ) ) { if ( fu->f_p->flip ) - fg_p->N[3] += thick; + fg_p->N[W] += thick; else - fg_p->N[3] -= thick; + fg_p->N[W] -= thick; } } @@ -1347,9 +1347,9 @@ if ( NMG_INDEX_TEST_AND_SET( flags, fg_p ) ) { if ( along_normal ^ fu->f_p->flip ) - fg_p->N[3] += thick; + fg_p->N[W] += thick; else - fg_p->N[3] -= thick; + fg_p->N[W] -= thick; } } Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -589,7 +589,7 @@ is->twod = (long *)&f1->l.magic; if ( f1->flip ) { VREVERSE( n, fg->N ); - n[3] = -fg->N[3]; + n[W] = -fg->N[W]; } else { HMOVE( n, fg->N ); } @@ -611,7 +611,7 @@ bn_mat_fromto( is->proj, n, to ); VADD2SCALE( centroid, f1->max_pt, f1->min_pt, 0.5 ); MAT4X3PNT( centroid_proj, is->proj, centroid ); - centroid_proj[Z] = n[3]; /* pull dist from origin off newZ */ + centroid_proj[Z] = n[W]; /* pull dist from origin off newZ */ MAT_DELTAS_VEC_NEG( is->proj, centroid_proj ); } else if ( *assoc_use == NMG_EDGEUSE_MAGIC ) { struct edgeuse *eu1 = (struct edgeuse *)assoc_use; @@ -1856,7 +1856,7 @@ /* Ray does not strike plane. * See if start point lies on plane. */ - dist = VDOT( start_pt, n2 ) - n2[3]; + dist = VDOT( start_pt, n2 ) - n2[W]; if ( !NEAR_ZERO( dist, is->tol.dist ) ) goto out; /* No geometric intersection */ @@ -7137,7 +7137,7 @@ one_over_dir_len = 1.0/sqrt( dir_len_sq ); VSCALE( bs->dir, bs->dir, one_over_dir_len ); VMOVE( tmp_pl, bs->dir ); - tmp_pl[3] = VDOT( tmp_pl, min_pt ); + tmp_pl[W] = VDOT( tmp_pl, min_pt ); if ( bn_mkpoint_3planes( bs->pt, tmp_pl, pl1, pl2 ) ) return( 0 ); @@ -7307,8 +7307,8 @@ bu_log("\nnmg_isect_two_generic_faces(fu1=x%x, fu2=x%x)\n", fu1, fu2); bu_log("Planes\t%gx + %gy + %gz = %g\n\t%gx + %gy + %gz = %g\n", - pl1[0], pl1[1], pl1[2], pl1[3], - pl2[0], pl2[1], pl2[2], pl2[3]); + pl1[X], pl1[Y], pl1[Z], pl1[W], + pl2[X], pl2[Y], pl2[Z], pl2[W]); bu_log( "Cosine of angle between planes = %g\n", VDOT( pl1, pl2 ) ); bu_log( "fu1:\n" ); nmg_pr_fu_briefly( fu1, "\t" ); Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -195,7 +195,7 @@ { double f; - f = 1.0 / tmp_pt[3]; + f = 1.0 / tmp_pt[W]; VSCALE(pt_on_srf, tmp_pt, f); } else @@ -1538,7 +1538,7 @@ VSCALE(plane, plane, vect_mag_inv); - /* calculate plane[3] as average distance to plane */ + /* calculate plane[W] as average distance to plane */ for (BU_LIST_FOR (eu, edgeuse, &lu->down_hd)) { pt_dot_plane += VDOT(plane, eu->vu_p->v_p->vg_p->coord); @@ -1549,7 +1549,7 @@ if (pt_count < 3) return((fastf_t)(-1.0)); - plane[3] = pt_dot_plane/pt_count; + plane[W] = pt_dot_plane/pt_count; HMOVE(pl, plane); return(area); @@ -5461,7 +5461,7 @@ VCROSS(pl1, fp1->g.plane_p->N, fp2->g.plane_p->N); VUNITIZE(pl1); - pl1[3] = VDOT(vg->coord, pl1); + pl1[W] = VDOT(vg->coord, pl1); if (bn_mkpoint_3planes(vg->coord, fp1->g.plane_p->N, fp2->g.plane_p->N, pl1)) { bu_log("nmg_simple_vertex_solve: Cannot find new coords for two planes\n"); @@ -7060,7 +7060,7 @@ NMG_GET_FU_PLANE(pl1, j_fus->fu[1]); NMG_GET_FU_PLANE(pl2, i_fus->fu[0]); VCROSS(pl3, pl1, pl2); - pl3[3] = VDOT(pl3, i_fus->vp->vg_p->coord); + pl3[W] = VDOT(pl3, i_fus->vp->vg_p->coord); bn_mkpoint_3planes(new_pt, pl1, pl2, pl3); return(dist[0]); @@ -7493,7 +7493,7 @@ fastf_t dot; dot = VDOT(planes[i], new_v->vg_p->coord); - bu_log("\tVDOT(#%d, new_v) - dist = %g\n", i, dot-planes[i][3]); + bu_log("\tVDOT(#%d, new_v) - dist = %g\n", i, dot-planes[i][W]); for (j=0; j<BU_PTBL_END(faces); j++) { @@ -7535,7 +7535,7 @@ VCROSS(planes[plane_count], fu_norm, eu_free->g.lseg_p->e_dir); VUNITIZE(planes[plane_count]); - planes[plane_count][3] = VDOT(planes[plane_count], new_v->vg_p->coord); + planes[plane_count][W] = VDOT(planes[plane_count], new_v->vg_p->coord); if (rt_g.NMG_debug & DEBUG_BASIC) bu_log("\t added plane #%d: %g %g %g %g\n", plane_count, V4ARGS(planes[plane_count])); @@ -7959,7 +7959,7 @@ /* this is an acceptable plane */ mag = 1.0/mag; VSCALE(plane, plane, mag); - plane[3] = VDOT(plane, pt); + plane[W] = VDOT(plane, pt); /* assign this plane to the face */ if (fu->orientation == OT_SAME) @@ -11645,7 +11645,7 @@ if (fu->orientation == OT_SAME) { VUNITIZE(normb) - normb[3] = VDOT(normb, v2->vg_p->coord); + normb[W] = VDOT(normb, v2->vg_p->coord); dist = fabs(DIST_PT_PLANE(v1->vg_p->coord, normb)); #if EDGE_COLLAPSE_DEBUG @@ -11738,7 +11738,7 @@ if (fu->orientation == OT_SAME) { VUNITIZE(normb) - normb[3] = VDOT(normb, v1->vg_p->coord); + normb[W] = VDOT(normb, v1->vg_p->coord); dist = fabs(DIST_PT_PLANE(v2->vg_p->coord, normb)); #if EDGE_COLLAPSE_DEBUG Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_mod.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg_mod.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg_mod.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -161,7 +161,7 @@ NMG_GET_FU_PLANE( n2, fu2 ); /* Compare distances from origin */ - dist = n1[3] - n2[3]; + dist = n1[W] - n2[W]; if ( !NEAR_ZERO(dist, tol->dist) ) continue; /* Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c =================================================================== --- brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -1826,8 +1826,8 @@ /* calculate two orthogonal planes that intersect along ray */ bn_vec_ortho( pl2, rd->rp->r_dir ); VCROSS( pl1, pl2, rd->rp->r_dir ); - pl1[3] = VDOT( rd->rp->r_pt, pl1 ); - pl2[3] = VDOT( rd->rp->r_pt, pl2 ); + pl1[W] = VDOT( rd->rp->r_pt, pl1 ); + pl2[W] = VDOT( rd->rp->r_pt, pl2 ); BU_LIST_INIT( &bezier ); BU_LIST_INIT( &hit_list ); @@ -1893,7 +1893,7 @@ VSUB2( v_dir, ctl_pt[2], ctl_pt[0] ); VCROSS( pl, u_dir, v_dir ); VUNITIZE( pl ); - pl[3] = VDOT( pl, ctl_pt[0] ); + pl[W] = VDOT( pl, ctl_pt[0] ); hp = (struct rt_nurb_uv_hit *)NULL; if ( bn_isect_line3_plane( &dist, rd->rp->r_pt, rd->rp->r_dir, pl, rd->tol ) <= 0 ) { @@ -2004,7 +2004,7 @@ { fastf_t inv_homo; - inv_homo = 1.0/homo_hit[3]; + inv_homo = 1.0/homo_hit[W]; VSCALE( myhit->hit.hit_point, homo_hit, inv_homo ) } else Modified: brlcad/trunk/src/mged/edsol.c =================================================================== --- brlcad/trunk/src/mged/edsol.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/mged/edsol.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -3574,7 +3574,7 @@ VMOVE(work, es_para); } /* change D of planar equation */ - es_peqn[es_menu][3]=VDOT(&es_peqn[es_menu][0], work); + es_peqn[es_menu][W]=VDOT(&es_peqn[es_menu][0], work); /* find new vertices, put in record in vector notation */ (void)rt_arb_calc_points(arb, es_type, es_peqn, &mged_tol); } @@ -3678,7 +3678,7 @@ /* set D of planar equation to anchor at fixed vertex */ /* es_menu == plane of interest */ - es_peqn[es_menu][3]=VDOT(eqp, tempvec); + es_peqn[es_menu][W]=VDOT(eqp, tempvec); /* Clear out solid rotation */ MAT_IDN(modelchanges); @@ -3696,7 +3696,7 @@ /* set D of planar equation to anchor at fixed vertex */ /* es_menu == plane of interest */ - es_peqn[es_menu][3]=VDOT(eqp, tempvec); + es_peqn[es_menu][W]=VDOT(eqp, tempvec); } (void)rt_arb_calc_points(arb, es_type, es_peqn, &mged_tol); @@ -5173,7 +5173,7 @@ VSET(view_dir, 0.0, 0.0, 1.0); MAT4X3VEC(view_pl, view_state->vs_gvp->gv_view2model, view_dir); VUNITIZE(view_pl); - view_pl[3] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); + view_pl[W] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); /* project es_mparam onto the plane */ dist = DIST_PT_PLANE(es_mparam, view_pl); @@ -5226,7 +5226,7 @@ VSET(view_dir, 0.0, 0.0, 1.0); MAT4X3VEC(view_pl, view_state->vs_gvp->gv_view2model, view_dir); VUNITIZE(view_pl); - view_pl[3] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); + view_pl[W] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); /* project es_mparam onto the plane */ dist = DIST_PT_PLANE(es_mparam, view_pl); @@ -5278,7 +5278,7 @@ VSET(view_dir, 0.0, 0.0, 1.0); MAT4X3VEC(view_pl, view_state->vs_gvp->gv_view2model, view_dir); VUNITIZE(view_pl); - view_pl[3] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); + view_pl[W] = VDOT(view_pl, &ars->curves[es_ars_crv][es_ars_col*3]); /* project es_mparam onto the plane */ dist = DIST_PT_PLANE(es_mparam, view_pl); @@ -5765,7 +5765,7 @@ MAT4X3PNT(temp, view_state->vs_gvp->gv_view2model, pos_view); MAT4X3PNT(pos_model, es_invmat, temp); /* change D of planar equation */ - es_peqn[es_menu][3]=VDOT(&es_peqn[es_menu][0], pos_model); + es_peqn[es_menu][W]=VDOT(&es_peqn[es_menu][0], pos_model); /* calculate new vertices, put in record as vectors */ { struct rt_arb_internal *arb= @@ -6122,7 +6122,7 @@ MAT4X3PNT(pos_model, es_invmat, temp); /* change D of planar equation */ - es_peqn[es_menu][3]=VDOT(&es_peqn[es_menu][0], pos_model); + es_peqn[es_menu][W]=VDOT(&es_peqn[es_menu][0], pos_model); /* calculate new vertices, put in record as vectors */ { @@ -7756,7 +7756,7 @@ VUNITIZE(&es_peqn[es_menu][0]); VMOVE(tempvec, arb->pt[fixv]); - es_peqn[es_menu][3]=VDOT(es_peqn[es_menu], tempvec); + es_peqn[es_menu][W]=VDOT(es_peqn[es_menu], tempvec); if (rt_arb_calc_points(arb, es_type, es_peqn, &mged_tol)) return CMD_BAD; Modified: brlcad/trunk/src/mged/facedef.c =================================================================== --- brlcad/trunk/src/mged/facedef.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/mged/facedef.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -339,7 +339,7 @@ for (i=0; i<4; i++) plane[i]= atof(argv[i]); VUNITIZE( &plane[0] ); - plane[3] *= local2base; + plane[W] *= local2base; return; } @@ -407,12 +407,12 @@ /* vertex given */ /* strip off 'v', subtract 1 */ temp = atoi(argv[2]+1) - 1; - plane[3]= VDOT(&plane[0], arb->pt[temp]); + plane[W]= VDOT(&plane[0], arb->pt[temp]); } else { /* definite point given */ for (i=0; i<3; i++) pt[i]=atof(argv[2+i]) * local2base; - plane[3]=VDOT(&plane[0], pt); + plane[W]=VDOT(&plane[0], pt); } } @@ -434,7 +434,7 @@ for (i=0; i<3; i++) pt[i] = atof(argv[i]) * local2base; - plane[3] = VDOT(&plane[0], pt); + plane[W] = VDOT(&plane[0], pt); } /* Modified: brlcad/trunk/src/rt/opt.c =================================================================== --- brlcad/trunk/src/rt/opt.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/rt/opt.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -234,7 +234,7 @@ } f = 1.0 /f; VSCALE( kut_plane, kut_plane, f ); - kut_plane[3] *= f; + kut_plane[W] *= f; break; } case '.': Modified: brlcad/trunk/src/rttherm/viewtherm.c =================================================================== --- brlcad/trunk/src/rttherm/viewtherm.c 2009-05-05 22:08:51 UTC (rev 34422) +++ brlcad/trunk/src/rttherm/viewtherm.c 2009-05-05 23:55:38 UTC (rev 34423) @@ -800,7 +800,7 @@ * Find the 4 corners of the footprint on this perpendicular plane. */ bn_vec_perp( perp, ap->a_ray.r_dir ); - perp[3] = VDOT( perp, hitp->hit_point ); + perp[W] = VDOT( perp, hitp->hit_point ); h_radius = ap->a_rbeam + hitp->hit_dist * ap->a_diverge; v_radius = ap->a_rbeam + hitp->hit_dist * ap->a_diverge * cell_width / cell_height; @@ -816,7 +816,7 @@ /* Approximate surface at hit point by a (tangent) plane */ VMOVE( surf_tan, normal ); - surf_tan[3] = VDOT( surf_tan, hitp->hit_point ); + surf_tan[W] = VDOT( surf_tan, hitp->hit_point ); /* * Form a line from ray start point to each corner point, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-05-07 17:29:28
|
Revision: 34445 http://brlcad.svn.sourceforge.net/brlcad/?rev=34445&view=rev Author: bob1961 Date: 2009-05-07 17:29:14 +0000 (Thu, 07 May 2009) Log Message: ----------- Update to 7.14.7 Modified Paths: -------------- brlcad/trunk/src/archer/archer.bat brlcad/trunk/src/mged/mged.bat brlcad/trunk/src/util/rtwizard.bat Modified: brlcad/trunk/src/archer/archer.bat =================================================================== --- brlcad/trunk/src/archer/archer.bat 2009-05-07 17:23:09 UTC (rev 34444) +++ brlcad/trunk/src/archer/archer.bat 2009-05-07 17:29:14 UTC (rev 34445) @@ -23,7 +23,7 @@ SETLOCAL REM XXX FIXME: SHOULD NOT NEED TO SET BRLCAD_DATA OR CAD_VERSION XXX -SET CAD_VERSION=7.14.6 +SET CAD_VERSION=7.14.7 SET SAVE_CD=%CD% SET PATH=%~dp0 Modified: brlcad/trunk/src/mged/mged.bat =================================================================== --- brlcad/trunk/src/mged/mged.bat 2009-05-07 17:23:09 UTC (rev 34444) +++ brlcad/trunk/src/mged/mged.bat 2009-05-07 17:29:14 UTC (rev 34445) @@ -23,7 +23,7 @@ SETLOCAL REM XXX FIXME: SHOULD NOT NEED TO SET BRLCAD_DATA OR CAD_VERSION XXX -SET CAD_VERSION=7.14.6 +SET CAD_VERSION=7.14.7 SET SAVE_CD=%CD% SET PATH=%~dp0 Modified: brlcad/trunk/src/util/rtwizard.bat =================================================================== --- brlcad/trunk/src/util/rtwizard.bat 2009-05-07 17:23:09 UTC (rev 34444) +++ brlcad/trunk/src/util/rtwizard.bat 2009-05-07 17:29:14 UTC (rev 34445) @@ -23,7 +23,7 @@ SETLOCAL REM XXX FIXME: SHOULD NOT NEED TO SET BRLCAD_DATA OR CAD_VERSION XXX -SET CAD_VERSION=7.14.6 +SET CAD_VERSION=7.14.7 SET SAVE_CD=%CD% SET PATH=%~dp0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <d_r...@us...> - 2009-05-08 14:18:04
|
Revision: 34465 http://brlcad.svn.sourceforge.net/brlcad/?rev=34465&view=rev Author: d_rossberg Date: 2009-05-08 14:17:48 +0000 (Fri, 08 May 2009) Log Message: ----------- stay in sync with Makefile.am Modified Paths: -------------- brlcad/trunk/src/libged/CMakeLists.txt brlcad/trunk/src/librt/CMakeLists.txt Modified: brlcad/trunk/src/libged/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libged/CMakeLists.txt 2009-05-08 12:07:01 UTC (rev 34464) +++ brlcad/trunk/src/libged/CMakeLists.txt 2009-05-08 14:17:48 UTC (rev 34465) @@ -169,6 +169,7 @@ saveview.c scale.c scale_ell.c + scale_tor.c search.c set_output_script.c set_transparency.c Modified: brlcad/trunk/src/librt/CMakeLists.txt =================================================================== --- brlcad/trunk/src/librt/CMakeLists.txt 2009-05-08 12:07:01 UTC (rev 34464) +++ brlcad/trunk/src/librt/CMakeLists.txt 2009-05-08 14:17:48 UTC (rev 34465) @@ -122,6 +122,7 @@ primitives/table.c primitives/tgc/tgc.c primitives/tor/tor.c + primitives/tor/tor_mirror.c primitives/vol/vol.c regionfix.c roots.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-05-11 19:25:50
|
Revision: 34491 http://brlcad.svn.sourceforge.net/brlcad/?rev=34491&view=rev Author: bob1961 Date: 2009-05-11 19:25:46 +0000 (Mon, 11 May 2009) Log Message: ----------- Add code for editing EHY's in libged and Archer. Modified Paths: -------------- brlcad/trunk/src/libged/Makefile.am brlcad/trunk/src/libged/ged_private.h brlcad/trunk/src/libged/pscale.c brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl Added Paths: ----------- brlcad/trunk/src/libged/scale_ehy.c Modified: brlcad/trunk/src/libged/Makefile.am =================================================================== --- brlcad/trunk/src/libged/Makefile.am 2009-05-11 17:14:43 UTC (rev 34490) +++ brlcad/trunk/src/libged/Makefile.am 2009-05-11 19:25:46 UTC (rev 34491) @@ -173,6 +173,7 @@ savekey.c \ saveview.c \ scale.c \ + scale_ehy.c \ scale_ell.c \ scale_tor.c \ search.c \ Modified: brlcad/trunk/src/libged/ged_private.h =================================================================== --- brlcad/trunk/src/libged/ged_private.h 2009-05-11 17:14:43 UTC (rev 34490) +++ brlcad/trunk/src/libged/ged_private.h 2009-05-11 19:25:46 UTC (rev 34491) @@ -332,6 +332,13 @@ (struct bu_vls *log, int status)); +/* defined in scale_ehy.c */ +BU_EXTERN (int ged_scale_ehy, + (struct ged *gedp, + struct rt_ehy_internal *ehy, + char *attribute, + fastf_t sf)); + /* defined in scale_ell.c */ BU_EXTERN (int ged_scale_ell, (struct ged *gedp, Modified: brlcad/trunk/src/libged/pscale.c =================================================================== --- brlcad/trunk/src/libged/pscale.c 2009-05-11 17:14:43 UTC (rev 34490) +++ brlcad/trunk/src/libged/pscale.c 2009-05-11 19:25:46 UTC (rev 34491) @@ -108,6 +108,9 @@ } switch (intern.idb_minor_type) { + case DB5_MINORTYPE_BRLCAD_EHY: + ret = ged_scale_ehy(gedp, (struct rt_ell_internal *)intern.idb_ptr, argv[2], sf); + break; case DB5_MINORTYPE_BRLCAD_ELL: ret = ged_scale_ell(gedp, (struct rt_ell_internal *)intern.idb_ptr, argv[2], sf); break; Added: brlcad/trunk/src/libged/scale_ehy.c =================================================================== --- brlcad/trunk/src/libged/scale_ehy.c (rev 0) +++ brlcad/trunk/src/libged/scale_ehy.c 2009-05-11 19:25:46 UTC (rev 34491) @@ -0,0 +1,87 @@ +/* S C A L E _ E H Y . C + * BRL-CAD + * + * Copyright (c) 2008-2009 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file scale_ell.c + * + * The scale_ell command. + * + * FIXME: This command really probably shouldn't exist. The way MGED + * currently handles scaling is to pass a transformation matrix to + * transform_editing_solid(), which simply calls + * rt_matrix_transform(). The primitives already know how to apply an + * arbitrary matrix transform to their data making the need for + * primitive-specific editing commands such as this one unnecessary. + * + */ + +#include "common.h" + +#include <string.h> +#include "bio.h" + +#include "cmd.h" +#include "rtgeom.h" +#include "raytrace.h" + +#include "./ged_private.h" + +int +ged_scale_ehy(struct ged *gedp, struct rt_ehy_internal *ehy, char *attribute, fastf_t sf) +{ + fastf_t ma, mb; + + RT_EHY_CK_MAGIC(ehy); + + switch (attribute[0]) { + case 'h': + case 'H': + VSCALE(ehy->ehy_H, ehy->ehy_H, sf); + break; + case 'a': + case 'A': + if (ehy->ehy_r1 * sf >= ehy->ehy_r2) + ehy->ehy_r1 *= sf; + break; + case 'b': + case 'B': + if (ehy->ehy_r2 * sf <= ehy->ehy_r1) + ehy->ehy_r2 *= sf; + break; + case 'c': + case 'C': + ehy->ehy_c *= sf; + break; + default: + bu_vls_printf(&gedp->ged_result_str, "bad ehy attribute - %s", attribute); + return BRLCAD_ERROR; + } + + return BRLCAD_OK; +} + + +/* + * Local Variables: + * tab-width: 8 + * mode: C + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libged/scale_ehy.c ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl 2009-05-11 17:14:43 UTC (rev 34490) +++ brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl 2009-05-11 19:25:46 UTC (rev 34491) @@ -33,14 +33,6 @@ constructor {args} {} destructor {} - # Methods used by the constructor - protected { - # override methods in GeometryEditFrame - method buildUpperPanel - method buildLowerPanel - method buildValuePanel - } - public { # Override what's in GeometryEditFrame method initGeometry {gdata} @@ -49,6 +41,11 @@ } protected { + common setH 1 + common setA 2 + common setB 3 + common setC 4 + variable mVx "" variable mVy "" variable mVz "" @@ -62,8 +59,14 @@ variable mR_2 "" variable mC "" + # Methods used by the constructor + # override methods in GeometryEditFrame + method buildUpperPanel + method buildLowerPanel + # Override what's in GeometryEditFrame method updateGeometryIfMod {} + method initValuePanel {} } private {} @@ -78,6 +81,77 @@ eval itk_initialize $args } +# ------------------------------------------------------------ +# OPTIONS +# ------------------------------------------------------------ + + +# ------------------------------------------------------------ +# PUBLIC METHODS +# ------------------------------------------------------------ + +## - initGeometry +# +# Initialize the variables containing the object's specification. +# +::itcl::body EhyEditFrame::initGeometry {gdata} { + set _V [bu_get_value_by_keyword V $gdata] + set mVx [lindex $_V 0] + set mVy [lindex $_V 1] + set mVz [lindex $_V 2] + set _H [bu_get_value_by_keyword H $gdata] + set mHx [lindex $_H 0] + set mHy [lindex $_H 1] + set mHz [lindex $_H 2] + set _A [bu_get_value_by_keyword A $gdata] + set mAx [lindex $_A 0] + set mAy [lindex $_A 1] + set mAz [lindex $_A 2] + set mR_1 [bu_get_value_by_keyword r_1 $gdata] + set mR_2 [bu_get_value_by_keyword r_1 $gdata] + set mC [bu_get_value_by_keyword c $gdata] + + GeometryEditFrame::initGeometry $gdata +} + +::itcl::body EhyEditFrame::updateGeometry {} { + if {$itk_option(-mged) == "" || + $itk_option(-geometryObject) == ""} { + return + } + + $itk_option(-mged) adjust $itk_option(-geometryObject) \ + V [list $mVx $mVy $mVz] \ + H [list $mHx $mHy $mHz] \ + A [list $mAx $mAy $mAz] \ + r_1 $mR_1 \ + r_2 $mR_2 \ + c $mC + + if {$itk_option(-geometryChangedCallback) != ""} { + $itk_option(-geometryChangedCallback) + } +} + +::itcl::body EhyEditFrame::createGeometry {obj} { + if {![GeometryEditFrame::createGeometry $obj]} { + return + } + + $itk_option(-mged) put $obj ehy \ + V [list $mCenterX $mCenterY $mCenterZ] \ + H [list 0 0 $mDelta] \ + A {1 0 0} \ + r_1 $mDelta \ + r_2 $mDelta \ + c $mDelta +} + + +# ------------------------------------------------------------ +# PROTECTED METHODS +# ------------------------------------------------------------ + ::itcl::body EhyEditFrame::buildUpperPanel {} { set parent [$this childsite] itk_component add ehyType { @@ -326,82 +400,23 @@ } ::itcl::body EhyEditFrame::buildLowerPanel {} { -} + set parent [$this childsite lower] -::itcl::body EhyEditFrame::buildValuePanel {} { -} + foreach attribute {H A B C} { + itk_component add set$attribute { + ::ttk::radiobutton $parent.set_$attribute \ + -variable [::itcl::scope mEditMode] \ + -value [subst $[subst set$attribute]] \ + -text "Set $attribute" \ + -command [::itcl::code $this initValuePanel] + } {} -# ------------------------------------------------------------ -# OPTIONS -# ------------------------------------------------------------ - - -# ------------------------------------------------------------ -# PUBLIC METHODS -# ------------------------------------------------------------ - -## - initGeometry -# -# Initialize the variables containing the object's specification. -# -::itcl::body EhyEditFrame::initGeometry {gdata} { - set _V [bu_get_value_by_keyword V $gdata] - set mVx [lindex $_V 0] - set mVy [lindex $_V 1] - set mVz [lindex $_V 2] - set _H [bu_get_value_by_keyword H $gdata] - set mHx [lindex $_H 0] - set mHy [lindex $_H 1] - set mHz [lindex $_H 2] - set _A [bu_get_value_by_keyword A $gdata] - set mAx [lindex $_A 0] - set mAy [lindex $_A 1] - set mAz [lindex $_A 2] - set mR_1 [bu_get_value_by_keyword r_1 $gdata] - set mR_2 [bu_get_value_by_keyword r_1 $gdata] - set mC [bu_get_value_by_keyword c $gdata] - - GeometryEditFrame::initGeometry $gdata -} - -::itcl::body EhyEditFrame::updateGeometry {} { - if {$itk_option(-mged) == "" || - $itk_option(-geometryObject) == ""} { - return + pack $itk_component(set$attribute) \ + -anchor w \ + -expand yes } - - $itk_option(-mged) adjust $itk_option(-geometryObject) \ - V [list $mVx $mVy $mVz] \ - H [list $mHx $mHy $mHz] \ - A [list $mAx $mAy $mAz] \ - r_1 $mR_1 \ - r_2 $mR_2 \ - c $mC - - if {$itk_option(-geometryChangedCallback) != ""} { - $itk_option(-geometryChangedCallback) - } } -::itcl::body EhyEditFrame::createGeometry {obj} { - if {![GeometryEditFrame::createGeometry $obj]} { - return - } - - $itk_option(-mged) put $obj ehy \ - V [list $mCenterX $mCenterY $mCenterZ] \ - H [list 0 0 $mDelta] \ - A {1 0 0} \ - r_1 $mDelta \ - r_2 $mDelta \ - c $mDelta -} - - -# ------------------------------------------------------------ -# PROTECTED METHODS -# ------------------------------------------------------------ - ::itcl::body EhyEditFrame::updateGeometryIfMod {} { if {$itk_option(-mged) == "" || $itk_option(-geometryObject) == ""} { @@ -472,6 +487,38 @@ } } +::itcl::body EhyEditFrame::initValuePanel {} { + switch -- $mEditMode \ + $setH { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 h; \ + configure -valueUnits "mm"; \ + } \ + $setA { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 a; \ + configure -valueUnits "mm"; \ + } \ + $setB { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 b; \ + configure -valueUnits "mm"; \ + } \ + $setC { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 c; \ + configure -valueUnits "mm"; \ + } + + GeometryEditFrame::initValuePanel + updateValuePanel +} + + # Local Variables: # mode: Tcl # tab-width: 8 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-05-15 15:18:36
|
Revision: 34536 http://brlcad.svn.sourceforge.net/brlcad/?rev=34536&view=rev Author: bob1961 Date: 2009-05-15 15:18:25 +0000 (Fri, 15 May 2009) Log Message: ----------- Add editing for RHC, RPC and Superell to libged and Archer. Modified Paths: -------------- brlcad/trunk/src/libged/Makefile.am brlcad/trunk/src/libged/ged_private.h brlcad/trunk/src/libged/get_type.c brlcad/trunk/src/libged/pscale.c brlcad/trunk/src/libged/scale_ehy.c brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl brlcad/trunk/src/tclscripts/archer/Makefile.am brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/tclIndex Added Paths: ----------- brlcad/trunk/src/tclscripts/archer/SuperellEditFrame.tcl Modified: brlcad/trunk/src/libged/Makefile.am =================================================================== --- brlcad/trunk/src/libged/Makefile.am 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/libged/Makefile.am 2009-05-15 15:18:25 UTC (rev 34536) @@ -178,6 +178,9 @@ scale_epa.c \ scale_part.c \ scale_tor.c \ + scale_rhc.c \ + scale_rpc.c \ + scale_superell.c \ search.c \ set_output_script.c \ set_transparency.c \ Modified: brlcad/trunk/src/libged/ged_private.h =================================================================== --- brlcad/trunk/src/libged/ged_private.h 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/libged/ged_private.h 2009-05-15 15:18:25 UTC (rev 34536) @@ -367,6 +367,27 @@ const char *attribute, fastf_t sf)); +/* defined in scale_rhc.c */ +BU_EXTERN (int ged_scale_rhc, + (struct ged *gedp, + struct rt_rhc_internal *rhc, + const char *attribute, + fastf_t sf)); + +/* defined in scale_rpc.c */ +BU_EXTERN (int ged_scale_rpc, + (struct ged *gedp, + struct rt_rpc_internal *rpc, + const char *attribute, + fastf_t sf)); + +/* defined in scale_superell.c */ +BU_EXTERN (int ged_scale_superell, + (struct ged *gedp, + struct rt_superell_internal *superell, + const char *attribute, + fastf_t sf)); + /* defined in tops.c */ struct directory ** ged_dir_getspace(struct db_i *dbip, Modified: brlcad/trunk/src/libged/get_type.c =================================================================== --- brlcad/trunk/src/libged/get_type.c 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/libged/get_type.c 2009-05-15 15:18:25 UTC (rev 34536) @@ -77,6 +77,9 @@ case DB5_MINORTYPE_BRLCAD_ELL: bu_vls_printf(&gedp->ged_result_str, "ell"); break; + case DB5_MINORTYPE_BRLCAD_SUPERELL: + bu_vls_printf(&gedp->ged_result_str, "superell"); + break; case DB5_MINORTYPE_BRLCAD_ARB8: type = rt_arb_std_type(&intern, &gedp->ged_wdbp->wdb_tol); Modified: brlcad/trunk/src/libged/pscale.c =================================================================== --- brlcad/trunk/src/libged/pscale.c 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/libged/pscale.c 2009-05-15 15:18:25 UTC (rev 34536) @@ -17,17 +17,9 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file scale_ell.c +/** @file pscale.c * - * The scale_ell command. - * - * FIXME: This command really probably shouldn't exist. The way MGED - * currently handles scaling is to pass a transformation matrix to - * transform_editing_solid(), which simply calls - * rt_matrix_transform(). The primitives already know how to apply an - * arbitrary matrix transform to their data making the need for - * primitive-specific editing commands such as this one unnecessary. - * + * The pscale command. */ #include "common.h" @@ -123,6 +115,15 @@ case DB5_MINORTYPE_BRLCAD_TOR: ret = ged_scale_tor(gedp, (struct rt_tor_internal *)intern.idb_ptr, argv[2], sf); break; + case DB5_MINORTYPE_BRLCAD_RHC: + ret = ged_scale_rhc(gedp, (struct rt_rhc_internal *)intern.idb_ptr, argv[2], sf); + break; + case DB5_MINORTYPE_BRLCAD_RPC: + ret = ged_scale_rpc(gedp, (struct rt_rpc_internal *)intern.idb_ptr, argv[2], sf); + break; + case DB5_MINORTYPE_BRLCAD_SUPERELL: + ret = ged_scale_superell(gedp, (struct rt_superell_internal *)intern.idb_ptr, argv[2], sf); + break; default: bu_vls_printf(&gedp->ged_result_str, "Object not yet supported."); rt_db_free_internal(&intern, &rt_uniresource); Modified: brlcad/trunk/src/libged/scale_ehy.c =================================================================== --- brlcad/trunk/src/libged/scale_ehy.c 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/libged/scale_ehy.c 2009-05-15 15:18:25 UTC (rev 34536) @@ -20,14 +20,6 @@ /** @file scale_ehy.c * * The scale_ehy command. - * - * FIXME: This command really probably shouldn't exist. The way MGED - * currently handles scaling is to pass a transformation matrix to - * transform_editing_solid(), which simply calls - * rt_matrix_transform(). The primitives already know how to apply an - * arbitrary matrix transform to their data making the need for - * primitive-specific editing commands such as this one unnecessary. - * */ #include "common.h" Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-05-15 15:18:25 UTC (rev 34536) @@ -240,6 +240,7 @@ method buildRpcEditView {} method buildSketchEditView {} method buildSphereEditView {} + method buildSuperellEditView {} method buildTgcEditView {} method buildTorusEditView {} @@ -268,6 +269,7 @@ method initRpcEditView {_odata} method initSketchEditView {_odata} method initSphereEditView {_odata} + method initSuperellEditView {_odata} method initTgcEditView {_odata} method initTorusEditView {_odata} @@ -322,6 +324,7 @@ method createRpc {_name} method createSketch {_name} method createSphere {_name} + method createSuperell {_name} method createTgc {_name} method createTorus {_name} } @@ -3699,6 +3702,12 @@ } initSphereEditView $odata } + "superell" { + if {![info exists itk_component(superellView)]} { + buildSuperellEditView + } + initSuperellEditView $odata + } "tgc" { if {![info exists itk_component(tgcView)]} { buildTgcEditView @@ -4282,6 +4291,14 @@ } {} } +::itcl::body Archer::buildSuperellEditView {} { + set parent $itk_component(objEditView) + itk_component add superellView { + SuperellEditFrame $parent.superellview \ + -units "mm" + } {} +} + ::itcl::body Archer::buildTgcEditView {} { set parent $itk_component(objEditView) itk_component add tgcView { @@ -4843,6 +4860,21 @@ -fill both } +::itcl::body Archer::initSuperellEditView {odata} { + $itk_component(superellView) configure \ + -geometryObject $mSelectedObj \ + -geometryChangedCallback [::itcl::code $this updateObjEditView] \ + -mged $itk_component(ged) \ + -labelFont $mFontText \ + -boldLabelFont $mFontTextBold \ + -entryFont $mFontText + $itk_component(superellView) initGeometry $odata + + pack $itk_component(superellView) \ + -expand yes \ + -fill both +} + ::itcl::body Archer::initTgcEditView {odata} { $itk_component(tgcView) configure \ -geometryObject $mSelectedObj \ @@ -6001,6 +6033,10 @@ set name [gedCmd make_name "sph."] createSphere $name } + "superell" { + set name [gedCmd make_name "ell."] + createSuperell $name + } "tgc" { set name [gedCmd make_name "tgc."] createTgc $name @@ -6218,6 +6254,15 @@ $itk_component(sphView) createGeometry $name } +::itcl::body Archer::createSuperell {name} { + if {![info exists itk_component(superellView)]} { + buildSuperellEditView + $itk_component(superellView) configure \ + -mged $itk_component(ged) + } + $itk_component(superellView) createGeometry $name +} + ::itcl::body Archer::createTgc {name} { if {![info exists itk_component(tgcView)]} { buildTgcEditView Modified: brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl 2009-05-15 15:18:25 UTC (rev 34536) @@ -58,6 +58,8 @@ variable mCy "" variable mCz "" + variable mCurrentGridRow 0 + # Methods used by the constructor # override methods in GeometryEditFrame method buildUpperPanel @@ -301,51 +303,50 @@ -anchor e } {} - set row 0 grid $itk_component(ellType) \ - -row $row \ + -row $mCurrentGridRow \ -column 0 \ -sticky nsew grid $itk_component(ellName) \ - -row $row \ + -row $mCurrentGridRow \ -column 1 \ -columnspan 3 \ -sticky nsew - incr row + incr mCurrentGridRow grid x $itk_component(ellXL) \ $itk_component(ellYL) \ $itk_component(ellZL) - incr row + incr mCurrentGridRow grid $itk_component(ellVL) \ $itk_component(ellVxE) \ $itk_component(ellVyE) \ $itk_component(ellVzE) \ $itk_component(ellVUnitsL) \ - -row $row \ + -row $mCurrentGridRow \ -sticky nsew - incr row + incr mCurrentGridRow grid $itk_component(ellAL) \ $itk_component(ellAxE) \ $itk_component(ellAyE) \ $itk_component(ellAzE) \ $itk_component(ellAUnitsL) \ - -row $row \ + -row $mCurrentGridRow \ -sticky nsew - incr row + incr mCurrentGridRow grid $itk_component(ellBL) \ $itk_component(ellBxE) \ $itk_component(ellByE) \ $itk_component(ellBzE) \ $itk_component(ellBUnitsL) \ - -row $row \ + -row $mCurrentGridRow \ -sticky nsew - incr row + incr mCurrentGridRow grid $itk_component(ellCL) \ $itk_component(ellCxE) \ $itk_component(ellCyE) \ $itk_component(ellCzE) \ $itk_component(ellCUnitsL) \ - -row $row \ + -row $mCurrentGridRow \ -sticky nsew grid columnconfigure $parent 1 -weight 1 grid columnconfigure $parent 2 -weight 1 Modified: brlcad/trunk/src/tclscripts/archer/Makefile.am =================================================================== --- brlcad/trunk/src/tclscripts/archer/Makefile.am 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/Makefile.am 2009-05-15 15:18:25 UTC (rev 34536) @@ -30,6 +30,7 @@ RpcEditFrame.tcl \ ShaderEdit.tcl \ SphereEditFrame.tcl \ + SuperellEditFrame.tcl \ tabwindow.itk \ TgcEditFrame.tcl \ TorusEditFrame.tcl \ Modified: brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl 2009-05-15 15:18:25 UTC (rev 34536) @@ -41,6 +41,11 @@ } protected { + common setB 1 + common setH 2 + common setr 3 + common setc 4 + variable mVx "" variable mVy "" variable mVz "" @@ -53,8 +58,14 @@ variable mR "" variable mC "" - # Override what's in GeometryEditFrame + # Methods used by the constructor. + # Override methods in GeometryEditFrame. + method buildUpperPanel {} + method buildLowerPanel {} + + # Override what's in GeometryEditFrame. method updateGeometryIfMod {} + method initValuePanel {} } private {} @@ -66,6 +77,78 @@ # ------------------------------------------------------------ ::itcl::body RhcEditFrame::constructor {args} { + eval itk_initialize $args +} + +# ------------------------------------------------------------ +# OPTIONS +# ------------------------------------------------------------ + + +# ------------------------------------------------------------ +# PUBLIC METHODS +# ------------------------------------------------------------ + +## - initGeometry +# +# Initialize the variables containing the object's specification. +# +::itcl::body RhcEditFrame::initGeometry {gdata} { + set _V [bu_get_value_by_keyword V $gdata] + set mVx [lindex $_V 0] + set mVy [lindex $_V 1] + set mVz [lindex $_V 2] + set _H [bu_get_value_by_keyword H $gdata] + set mHx [lindex $_H 0] + set mHy [lindex $_H 1] + set mHz [lindex $_H 2] + set _B [bu_get_value_by_keyword B $gdata] + set mBx [lindex $_B 0] + set mBy [lindex $_B 1] + set mBz [lindex $_B 2] + set mR [bu_get_value_by_keyword r $gdata] + set mC [bu_get_value_by_keyword c $gdata] + + GeometryEditFrame::initGeometry $gdata +} + +::itcl::body RhcEditFrame::updateGeometry {} { + if {$itk_option(-mged) == "" || + $itk_option(-geometryObject) == ""} { + return + } + + $itk_option(-mged) adjust $itk_option(-geometryObject) \ + V [list $mVx $mVy $mVz] \ + H [list $mHx $mHy $mHz] \ + B [list $mBx $mBy $mBz] \ + r $mR \ + c $mC + + if {$itk_option(-geometryChangedCallback) != ""} { + $itk_option(-geometryChangedCallback) + } +} + +::itcl::body RhcEditFrame::createGeometry {obj} { + if {![GeometryEditFrame::createGeometry $obj]} { + return + } + + $itk_option(-mged) put $obj rhc \ + V [list $mCenterX $mCenterY $mCenterZ] \ + H [list 0 0 $mDelta] \ + B [list $mDelta 0 0] \ + r $mDelta \ + c $mDelta +} + + +# ------------------------------------------------------------ +# PROTECTED METHODS +# ------------------------------------------------------------ + +::itcl::body RhcEditFrame::buildUpperPanel {} { set parent [$this childsite] itk_component add rhcType { ::ttk::label $parent.rhctype \ @@ -286,79 +369,26 @@ bind $itk_component(rhcBzE) <Return> [::itcl::code $this updateGeometryIfMod] bind $itk_component(rhcRE) <Return> [::itcl::code $this updateGeometryIfMod] bind $itk_component(rhcCE) <Return> [::itcl::code $this updateGeometryIfMod] - - eval itk_initialize $args } +::itcl::body RhcEditFrame::buildLowerPanel {} { + set parent [$this childsite lower] -# ------------------------------------------------------------ -# OPTIONS -# ------------------------------------------------------------ + foreach attribute {B H r c} { + itk_component add set$attribute { + ::ttk::radiobutton $parent.set_$attribute \ + -variable [::itcl::scope mEditMode] \ + -value [subst $[subst set$attribute]] \ + -text "Set $attribute" \ + -command [::itcl::code $this initValuePanel] + } {} - -# ------------------------------------------------------------ -# PUBLIC METHODS -# ------------------------------------------------------------ - -## - initGeometry -# -# Initialize the variables containing the object's specification. -# -::itcl::body RhcEditFrame::initGeometry {gdata} { - set _V [bu_get_value_by_keyword V $gdata] - set mVx [lindex $_V 0] - set mVy [lindex $_V 1] - set mVz [lindex $_V 2] - set _H [bu_get_value_by_keyword H $gdata] - set mHx [lindex $_H 0] - set mHy [lindex $_H 1] - set mHz [lindex $_H 2] - set _B [bu_get_value_by_keyword B $gdata] - set mBx [lindex $_B 0] - set mBy [lindex $_B 1] - set mBz [lindex $_B 2] - set mR [bu_get_value_by_keyword r $gdata] - set mC [bu_get_value_by_keyword c $gdata] - - GeometryEditFrame::initGeometry $gdata -} - -::itcl::body RhcEditFrame::updateGeometry {} { - if {$itk_option(-mged) == "" || - $itk_option(-geometryObject) == ""} { - return + pack $itk_component(set$attribute) \ + -anchor w \ + -expand yes } - - $itk_option(-mged) adjust $itk_option(-geometryObject) \ - V [list $mVx $mVy $mVz] \ - H [list $mHx $mHy $mHz] \ - B [list $mBx $mBy $mBz] \ - r $mR \ - c $mC - - if {$itk_option(-geometryChangedCallback) != ""} { - $itk_option(-geometryChangedCallback) - } } -::itcl::body RhcEditFrame::createGeometry {obj} { - if {![GeometryEditFrame::createGeometry $obj]} { - return - } - - $itk_option(-mged) put $obj rhc \ - V [list $mCenterX $mCenterY $mCenterZ] \ - H [list 0 0 $mDelta] \ - B [list $mDelta 0 0] \ - r $mDelta \ - c $mDelta -} - - -# ------------------------------------------------------------ -# PROTECTED METHODS -# ------------------------------------------------------------ - ::itcl::body RhcEditFrame::updateGeometryIfMod {} { if {$itk_option(-mged) == "" || $itk_option(-geometryObject) == ""} { @@ -425,6 +455,38 @@ } } +::itcl::body RhcEditFrame::initValuePanel {} { + switch -- $mEditMode \ + $setB { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 b; \ + configure -valueUnits "mm"; \ + } \ + $setH { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 h; \ + configure -valueUnits "mm"; \ + } \ + $setr { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 r; \ + configure -valueUnits "mm"; \ + } \ + $setc { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 c; \ + configure -valueUnits "mm"; \ + } + + GeometryEditFrame::initValuePanel + updateValuePanel +} + + # Local Variables: # mode: Tcl # tab-width: 8 Modified: brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl 2009-05-15 15:18:25 UTC (rev 34536) @@ -41,6 +41,10 @@ } protected { + common setB 1 + common setH 2 + common setr 3 + variable mVx "" variable mVy "" variable mVz "" @@ -52,8 +56,14 @@ variable mBz "" variable mR "" - # Override what's in GeometryEditFrame + # Methods used by the constructor. + # Override methods in GeometryEditFrame. + method buildUpperPanel {} + method buildLowerPanel {} + + # Override what's in GeometryEditFrame. method updateGeometryIfMod {} + method initValuePanel {} } private {} @@ -65,6 +75,76 @@ # ------------------------------------------------------------ ::itcl::body RpcEditFrame::constructor {args} { + eval itk_initialize $args +} + + +# ------------------------------------------------------------ +# OPTIONS +# ------------------------------------------------------------ + + +# ------------------------------------------------------------ +# PUBLIC METHODS +# ------------------------------------------------------------ + +## - initGeometry +# +# Initialize the variables containing the object's specification. +# +::itcl::body RpcEditFrame::initGeometry {gdata} { + set _V [bu_get_value_by_keyword V $gdata] + set mVx [lindex $_V 0] + set mVy [lindex $_V 1] + set mVz [lindex $_V 2] + set _H [bu_get_value_by_keyword H $gdata] + set mHx [lindex $_H 0] + set mHy [lindex $_H 1] + set mHz [lindex $_H 2] + set _B [bu_get_value_by_keyword B $gdata] + set mBx [lindex $_B 0] + set mBy [lindex $_B 1] + set mBz [lindex $_B 2] + set mR [bu_get_value_by_keyword r $gdata] + + GeometryEditFrame::initGeometry $gdata +} + +::itcl::body RpcEditFrame::updateGeometry {} { + if {$itk_option(-mged) == "" || + $itk_option(-geometryObject) == ""} { + return + } + + $itk_option(-mged) adjust $itk_option(-geometryObject) \ + V [list $mVx $mVy $mVz] \ + H [list $mHx $mHy $mHz] \ + B [list $mBx $mBy $mBz] \ + r $mR + + if {$itk_option(-geometryChangedCallback) != ""} { + $itk_option(-geometryChangedCallback) + } +} + +::itcl::body RpcEditFrame::createGeometry {obj} { + if {![GeometryEditFrame::createGeometry $obj]} { + return + } + + $itk_option(-mged) put $obj rpc \ + V [list $mCenterX $mCenterY $mCenterZ] \ + H [list 0 0 $mDelta] \ + B [list $mDelta 0 0] \ + r $mDelta +} + + +# ------------------------------------------------------------ +# PROTECTED METHODS +# ------------------------------------------------------------ + +::itcl::body RpcEditFrame::buildUpperPanel {} { set parent [$this childsite] itk_component add rpcType { ::ttk::label $parent.rpctype \ @@ -261,76 +341,26 @@ bind $itk_component(rpcByE) <Return> [::itcl::code $this updateGeometryIfMod] bind $itk_component(rpcBzE) <Return> [::itcl::code $this updateGeometryIfMod] bind $itk_component(rpcRE) <Return> [::itcl::code $this updateGeometryIfMod] - - eval itk_initialize $args } +::itcl::body RpcEditFrame::buildLowerPanel {} { + set parent [$this childsite lower] -# ------------------------------------------------------------ -# OPTIONS -# ------------------------------------------------------------ + foreach attribute {B H r} { + itk_component add set$attribute { + ::ttk::radiobutton $parent.set_$attribute \ + -variable [::itcl::scope mEditMode] \ + -value [subst $[subst set$attribute]] \ + -text "Set $attribute" \ + -command [::itcl::code $this initValuePanel] + } {} - -# ------------------------------------------------------------ -# PUBLIC METHODS -# ------------------------------------------------------------ - -## - initGeometry -# -# Initialize the variables containing the object's specification. -# -::itcl::body RpcEditFrame::initGeometry {gdata} { - set _V [bu_get_value_by_keyword V $gdata] - set mVx [lindex $_V 0] - set mVy [lindex $_V 1] - set mVz [lindex $_V 2] - set _H [bu_get_value_by_keyword H $gdata] - set mHx [lindex $_H 0] - set mHy [lindex $_H 1] - set mHz [lindex $_H 2] - set _B [bu_get_value_by_keyword B $gdata] - set mBx [lindex $_B 0] - set mBy [lindex $_B 1] - set mBz [lindex $_B 2] - set mR [bu_get_value_by_keyword r $gdata] - - GeometryEditFrame::initGeometry $gdata -} - -::itcl::body RpcEditFrame::updateGeometry {} { - if {$itk_option(-mged) == "" || - $itk_option(-geometryObject) == ""} { - return + pack $itk_component(set$attribute) \ + -anchor w \ + -expand yes } - - $itk_option(-mged) adjust $itk_option(-geometryObject) \ - V [list $mVx $mVy $mVz] \ - H [list $mHx $mHy $mHz] \ - B [list $mBx $mBy $mBz] \ - r $mR - - if {$itk_option(-geometryChangedCallback) != ""} { - $itk_option(-geometryChangedCallback) - } } -::itcl::body RpcEditFrame::createGeometry {obj} { - if {![GeometryEditFrame::createGeometry $obj]} { - return - } - - $itk_option(-mged) put $obj rpc \ - V [list $mCenterX $mCenterY $mCenterZ] \ - H [list 0 0 $mDelta] \ - B [list $mDelta 0 0] \ - r $mDelta -} - - -# ------------------------------------------------------------ -# PROTECTED METHODS -# ------------------------------------------------------------ - ::itcl::body RpcEditFrame::updateGeometryIfMod {} { if {$itk_option(-mged) == "" || $itk_option(-geometryObject) == ""} { @@ -393,6 +423,32 @@ } } +::itcl::body RpcEditFrame::initValuePanel {} { + switch -- $mEditMode \ + $setB { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 b; \ + configure -valueUnits "mm"; \ + } \ + $setH { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 h; \ + configure -valueUnits "mm"; \ + } \ + $setr { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 r; \ + configure -valueUnits "mm"; \ + } + + GeometryEditFrame::initValuePanel + updateValuePanel +} + + # Local Variables: # mode: Tcl # tab-width: 8 Added: brlcad/trunk/src/tclscripts/archer/SuperellEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/SuperellEditFrame.tcl (rev 0) +++ brlcad/trunk/src/tclscripts/archer/SuperellEditFrame.tcl 2009-05-15 15:18:25 UTC (rev 34536) @@ -0,0 +1,213 @@ +# S U P E R E L L E D I T F R A M E . T C L +# BRL-CAD +# +# Copyright (c) 2002-2009 United States Government as represented by +# the U.S. Army Research Laboratory. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# version 2.1 as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this file; see the file named COPYING for more +# information. +# +### +# +# Author: +# Bob Parker +# +# Description: +# The class for editing superells within Archer. +# + +::itcl::class SuperellEditFrame { + inherit EllEditFrame + + constructor {args} {} + destructor {} + + public { + # Override what's in EllEditFrame + method initGeometry {gdata} + method updateGeometry {} + method createGeometry {obj} + } + + protected { + common setN 5 + common setE 6 + + variable mN "" + variable mE "" + + # Methods used by the constructor. + # Override methods in EllEditFrame. + method buildUpperPanel {} + } + + private { + } +} + + +# ------------------------------------------------------------ +# CONSTRUCTOR +# ------------------------------------------------------------ + +::itcl::body SuperellEditFrame::constructor {args} { + eval itk_initialize $args + + $itk_component(ellType) configure -text "Superell" +} + + +# ------------------------------------------------------------ +# OPTIONS +# ------------------------------------------------------------ + + +# ------------------------------------------------------------ +# PUBLIC METHODS +# ------------------------------------------------------------ + +## - initGeometry +# +# Initialize the variables containing the object's specification. +# +::itcl::body SuperellEditFrame::initGeometry {gdata} { + set _V [bu_get_value_by_keyword V $gdata] + set mVx [lindex $_V 0] + set mVy [lindex $_V 1] + set mVz [lindex $_V 2] + set _A [bu_get_value_by_keyword A $gdata] + set mAx [lindex $_A 0] + set mAy [lindex $_A 1] + set mAz [lindex $_A 2] + set _B [bu_get_value_by_keyword B $gdata] + set mBx [lindex $_B 0] + set mBy [lindex $_B 1] + set mBz [lindex $_B 2] + set _C [bu_get_value_by_keyword C $gdata] + set mCx [lindex $_C 0] + set mCy [lindex $_C 1] + set mCz [lindex $_C 2] + set mN [bu_get_value_by_keyword n $gdata] + set mE [bu_get_value_by_keyword e $gdata] + + GeometryEditFrame::initGeometry $gdata +} + +::itcl::body SuperellEditFrame::updateGeometry {} { + if {$itk_option(-mged) == "" || + $itk_option(-geometryObject) == ""} { + return + } + + $itk_option(-mged) adjust $itk_option(-geometryObject) \ + V [list $mVx $mVy $mVz] \ + A [list $mAx $mAy $mAz] \ + B [list $mBx $mBy $mBz] \ + C [list $mCx $mCy $mCz] \ + n $mN \ + e $mE + + if {$itk_option(-geometryChangedCallback) != ""} { + $itk_option(-geometryChangedCallback) + } +} + +::itcl::body SuperellEditFrame::createGeometry {obj} { + if {![GeometryEditFrame::createGeometry $obj]} { + return + } + + $itk_option(-mged) put $obj ell \ + V [list $mCenterX $mCenterY $mCenterZ] \ + A [list $mDelta 0 0] \ + B [list 0 $mDelta 0] \ + C [list 0 0 $mDelta] \ + n $mN \ + e $mE +} + + +# ------------------------------------------------------------ +# PROTECTED METHODS +# ------------------------------------------------------------ + +::itcl::body SuperellEditFrame::buildUpperPanel {} { + EllEditFrame::buildUpperPanel + + set parent [$this childsite] + itk_component add superellNL { + ::ttk::label $parent.superellNL \ + -state disabled \ + -text "n:" \ + -anchor e + } {} + itk_component add superellNE { + ::ttk::entry $parent.superellNE \ + -textvariable [::itcl::scope mN] \ + -state disabled \ + -validate key \ + -validatecommand {GeometryEditFrame::validateDouble %P} + } {} + itk_component add superellNUnitsL { + ::ttk::label $parent.superellNUnitsL \ + -textvariable [::itcl::scope itk_option(-units)] \ + -anchor e + } {} + itk_component add superellEL { + ::ttk::label $parent.superellEL \ + -state disabled \ + -text "e:" \ + -anchor e + } {} + itk_component add superellEE { + ::ttk::entry $parent.superellEE \ + -textvariable [::itcl::scope mE] \ + -state disabled \ + -validate key \ + -validatecommand {GeometryEditFrame::validateDouble %P} + } {} + itk_component add superellEUnitsL { + ::ttk::label $parent.superellEUnitsL \ + -anchor e + } {} + + incr mCurrentGridRow + grid $itk_component(superellNL) $itk_component(superellNE) \ + -row $mCurrentGridRow \ + -sticky nsew + grid $itk_component(superellNUnitsL) \ + -row $mCurrentGridRow \ + -column 4 \ + -sticky nsew + incr mCurrentGridRow + grid $itk_component(superellEL) $itk_component(superellEE) \ + -row $mCurrentGridRow \ + -sticky nsew + grid $itk_component(superellEUnitsL) \ + -row $mCurrentGridRow \ + -column 4 \ + -sticky nsew + + bind $itk_component(superellNE) <Return> [::itcl::code $this updateGeometryIfMod] + bind $itk_component(superellEE) <Return> [::itcl::code $this updateGeometryIfMod] +} + + +# Local Variables: +# mode: Tcl +# tab-width: 8 +# c-basic-offset: 4 +# tcl-indent-level: 4 +# indent-tabs-mode: t +# End: +# ex: shiftwidth=4 tabstop=8 Property changes on: brlcad/trunk/src/tclscripts/archer/SuperellEditFrame.tcl ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: brlcad/trunk/src/tclscripts/archer/tclIndex =================================================================== --- brlcad/trunk/src/tclscripts/archer/tclIndex 2009-05-15 13:09:34 UTC (rev 34535) +++ brlcad/trunk/src/tclscripts/archer/tclIndex 2009-05-15 15:18:25 UTC (rev 34536) @@ -583,6 +583,7 @@ set auto_index(::ShaderEdit::validateDouble_plastic) [list source [file join $dir ShaderEdit.tcl]] set auto_index(::SphereEditFrame::constructor) [list source [file join $dir SphereEditFrame.tcl]] set auto_index(::SphereEditFrame::createGeometry) [list source [file join $dir SphereEditFrame.tcl]] +set auto_index(::SuperellEditFrame::constructor) [list source [file join $dir SuperellEditFrame.tcl]] set auto_index(::TgcEditFrame::buildLowerPanel) [list source [file join $dir TgcEditFrame.tcl]] set auto_index(::TgcEditFrame::buildUpperPanel) [list source [file join $dir TgcEditFrame.tcl]] set auto_index(::TgcEditFrame::buildValuePanel) [list source [file join $dir TgcEditFrame.tcl]] @@ -642,6 +643,7 @@ set auto_index(CombEditFrame) [list source [file join $dir CombEditFrame.tcl]] set auto_index(EhyEditFrame) [list source [file join $dir EhyEditFrame.tcl]] set auto_index(EllEditFrame) [list source [file join $dir EllEditFrame.tcl]] +set auto_index(SuperellEditFrame) [list source [file join $dir SuperellEditFrame.tcl]] set auto_index(EpaEditFrame) [list source [file join $dir EpaEditFrame.tcl]] set auto_index(EtoEditFrame) [list source [file join $dir EtoEditFrame.tcl]] set auto_index(ExtrudeEditFrame) [list source [file join $dir ExtrudeEditFrame.tcl]] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-05-18 19:24:07
|
Revision: 34547 http://brlcad.svn.sourceforge.net/brlcad/?rev=34547&view=rev Author: bob1961 Date: 2009-05-18 19:23:45 +0000 (Mon, 18 May 2009) Log Message: ----------- Modify scaling of ell and superell to take "abc" instead of 3 when scaling "a", "b" and "c". Modified Paths: -------------- brlcad/trunk/src/libged/scale_ell.c brlcad/trunk/src/libged/scale_superell.c brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl Modified: brlcad/trunk/src/libged/scale_ell.c =================================================================== --- brlcad/trunk/src/libged/scale_ell.c 2009-05-18 19:07:03 UTC (rev 34546) +++ brlcad/trunk/src/libged/scale_ell.c 2009-05-18 19:23:45 UTC (rev 34547) @@ -43,7 +43,32 @@ switch (attribute[0]) { case 'a': case 'A': - VSCALE(ell->a, ell->a, sf); + switch (attribute[1]) { + case '\0': + VSCALE(ell->a, ell->a, sf); + break; + case 'b': + case 'B': + if ((attribute[2] == 'c' || attribute[2] == 'C') && + attribute[3] == '\0') { + /* set A, B, and C lengths the same */ + VSCALE(ell->a, ell->a, sf); + ma = MAGNITUDE(ell->a); + mb = MAGNITUDE(ell->b); + VSCALE(ell->b, ell->b, ma/mb); + mb = MAGNITUDE(ell->c); + VSCALE(ell->c, ell->c, ma/mb); + } else { + bu_vls_printf(&gedp->ged_result_str, "bad ell attribute - %s", attribute); + return BRLCAD_ERROR; + } + + break; + default: + bu_vls_printf(&gedp->ged_result_str, "bad ell attribute - %s", attribute); + return BRLCAD_ERROR; + } + break; case 'b': case 'B': @@ -53,11 +78,6 @@ case 'C': VSCALE(ell->c, ell->c, sf); break; - case '3': - VSCALE(ell->a, ell->a, sf); - VSCALE(ell->b, ell->b, sf); - VSCALE(ell->c, ell->c, sf); - break; default: bu_vls_printf(&gedp->ged_result_str, "bad ell attribute - %s", attribute); return BRLCAD_ERROR; Modified: brlcad/trunk/src/libged/scale_superell.c =================================================================== --- brlcad/trunk/src/libged/scale_superell.c 2009-05-18 19:07:03 UTC (rev 34546) +++ brlcad/trunk/src/libged/scale_superell.c 2009-05-18 19:23:45 UTC (rev 34547) @@ -43,7 +43,32 @@ switch (attribute[0]) { case 'a': case 'A': - VSCALE(superell->a, superell->a, sf); + switch (attribute[1]) { + case '\0': + VSCALE(superell->a, superell->a, sf); + break; + case 'b': + case 'B': + if ((attribute[2] == 'c' || attribute[2] == 'C') && + attribute[3] == '\0') { + /* set A, B, and C lengths the same */ + VSCALE(superell->a, superell->a, sf); + ma = MAGNITUDE(superell->a); + mb = MAGNITUDE(superell->b); + VSCALE(superell->b, superell->b, ma/mb); + mb = MAGNITUDE(superell->c); + VSCALE(superell->c, superell->c, ma/mb); + } else { + bu_vls_printf(&gedp->ged_result_str, "bad ell attribute - %s", attribute); + return BRLCAD_ERROR; + } + + break; + default: + bu_vls_printf(&gedp->ged_result_str, "bad ell attribute - %s", attribute); + return BRLCAD_ERROR; + } + break; case 'b': case 'B': @@ -53,11 +78,6 @@ case 'C': VSCALE(superell->c, superell->c, sf); break; - case '3': - VSCALE(superell->a, superell->a, sf); - VSCALE(superell->b, superell->b, sf); - VSCALE(superell->c, superell->c, sf); - break; default: bu_vls_printf(&gedp->ged_result_str, "bad superell attribute - %s", attribute); return BRLCAD_ERROR; Modified: brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl 2009-05-18 19:07:03 UTC (rev 34546) +++ brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl 2009-05-18 19:23:45 UTC (rev 34547) @@ -479,7 +479,7 @@ $setA,B,C { \ set mEditCommand pscale; \ set mEditClass $EDIT_CLASS_SCALE; \ - set mEditParam1 3; \ + set mEditParam1 abc; \ configure -valueUnits "mm"; \ } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-05-20 14:30:08
|
Revision: 34568 http://brlcad.svn.sourceforge.net/brlcad/?rev=34568&view=rev Author: bob1961 Date: 2009-05-20 14:29:43 +0000 (Wed, 20 May 2009) Log Message: ----------- Added scale H (move V) editing capability for hyperboloid. This affects libged and Archer. Modified Paths: -------------- brlcad/trunk/src/libged/scale_hyp.c brlcad/trunk/src/tclscripts/archer/HypEditFrame.tcl Modified: brlcad/trunk/src/libged/scale_hyp.c =================================================================== --- brlcad/trunk/src/libged/scale_hyp.c 2009-05-19 23:10:15 UTC (rev 34567) +++ brlcad/trunk/src/libged/scale_hyp.c 2009-05-20 14:29:43 UTC (rev 34568) @@ -39,13 +39,29 @@ ged_scale_hyp(struct ged *gedp, struct rt_hyp_internal *hyp, const char *attribute, fastf_t sf) { fastf_t f; + point_t old_top; RT_HYP_CK_MAGIC(hyp); switch (attribute[0]) { case 'h': case 'H': - VSCALE(hyp->hyp_Hi, hyp->hyp_Hi, sf); + switch (attribute[1]) { + case '\0': + VSCALE(hyp->hyp_Hi, hyp->hyp_Hi, sf); + break; + case 'v': + case 'V': + /* Scale H move V */ + VADD2(old_top, hyp->hyp_Vi, hyp->hyp_Hi); + VSCALE(hyp->hyp_Hi, hyp->hyp_Hi, sf); + VSUB2(hyp->hyp_Vi, old_top, hyp->hyp_Hi); + + break; + default: + bu_vls_printf(&gedp->ged_result_str, "bad hyp attribute - %s", attribute); + return BRLCAD_ERROR; + } break; case 'a': case 'A': Modified: brlcad/trunk/src/tclscripts/archer/HypEditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/HypEditFrame.tcl 2009-05-19 23:10:15 UTC (rev 34567) +++ brlcad/trunk/src/tclscripts/archer/HypEditFrame.tcl 2009-05-20 14:29:43 UTC (rev 34568) @@ -40,11 +40,12 @@ } protected { - common setH 1 - common setA 2 - common setB 3 - common setC 4 - common rotH 5 + common setH 1 + common setHV 2 + common setA 3 + common setB 4 + common setC 5 + common rotH 6 variable mVx "" variable mVy "" @@ -375,7 +376,8 @@ ::itcl::body HypEditFrame::buildLowerPanel {} { set parent [$this childsite lower] - foreach {attribute op opLabel} {H set Set A set Set B set Set C set Set} { + set alist [list H set Set HV set Set A set Set B set Set C set Set] + foreach {attribute op opLabel} $alist { itk_component add $op$attribute { ::ttk::radiobutton $parent.$op\_$attribute \ -variable [::itcl::scope mEditMode] \ @@ -463,6 +465,12 @@ set mEditParam1 h; \ configure -valueUnits "mm"; \ } \ + $setHV { \ + set mEditCommand pscale; \ + set mEditClass $EDIT_CLASS_SCALE; \ + set mEditParam1 hv; \ + configure -valueUnits "mm"; \ + } \ $setA { \ set mEditCommand pscale; \ set mEditClass $EDIT_CLASS_SCALE; \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-06-05 19:30:08
|
Revision: 34673 http://brlcad.svn.sourceforge.net/brlcad/?rev=34673&view=rev Author: bob1961 Date: 2009-06-05 19:28:54 +0000 (Fri, 05 Jun 2009) Log Message: ----------- Added the p/parameter command to Archer. Modified Paths: -------------- brlcad/trunk/src/libged/ged_private.h brlcad/trunk/src/libged/pscale.c brlcad/trunk/src/libged/scale_ehy.c brlcad/trunk/src/libged/scale_ell.c brlcad/trunk/src/libged/scale_epa.c brlcad/trunk/src/libged/scale_eto.c brlcad/trunk/src/libged/scale_extrude.c brlcad/trunk/src/libged/scale_hyp.c brlcad/trunk/src/libged/scale_part.c brlcad/trunk/src/libged/scale_rhc.c brlcad/trunk/src/libged/scale_rpc.c brlcad/trunk/src/libged/scale_superell.c brlcad/trunk/src/libged/scale_tgc.c brlcad/trunk/src/libged/scale_tor.c brlcad/trunk/src/libtclcad/ged_obj.c brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Arb8EditFrame.tcl brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl brlcad/trunk/src/tclscripts/archer/EhyEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EllEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EpaEditFrame.tcl brlcad/trunk/src/tclscripts/archer/EtoEditFrame.tcl brlcad/trunk/src/tclscripts/archer/ExtrudeEditFrame.tcl brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl brlcad/trunk/src/tclscripts/archer/HypEditFrame.tcl brlcad/trunk/src/tclscripts/archer/PartEditFrame.tcl brlcad/trunk/src/tclscripts/archer/RhcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/RpcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/TgcEditFrame.tcl brlcad/trunk/src/tclscripts/archer/TorusEditFrame.tcl Modified: brlcad/trunk/src/libged/ged_private.h =================================================================== --- brlcad/trunk/src/libged/ged_private.h 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/ged_private.h 2009-06-05 19:28:54 UTC (rev 34673) @@ -365,84 +365,96 @@ (struct ged *gedp, struct rt_ehy_internal *ehy, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_ell.c */ BU_EXTERN (int ged_scale_ell, (struct ged *gedp, struct rt_ell_internal *ell, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_epa.c */ BU_EXTERN (int ged_scale_epa, (struct ged *gedp, struct rt_epa_internal *epa, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_eto.c */ BU_EXTERN (int ged_scale_eto, (struct ged *gedp, struct rt_eto_internal *eto, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_extrude.c */ BU_EXTERN (int ged_scale_extrude, (struct ged *gedp, struct rt_extrude_internal *extrude, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_hyp.c */ BU_EXTERN (int ged_scale_hyp, (struct ged *gedp, struct rt_hyp_internal *hyp, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_part.c */ BU_EXTERN (int ged_scale_part, (struct ged *gedp, struct rt_part_internal *part, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_rhc.c */ BU_EXTERN (int ged_scale_rhc, (struct ged *gedp, struct rt_rhc_internal *rhc, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_rpc.c */ BU_EXTERN (int ged_scale_rpc, (struct ged *gedp, struct rt_rpc_internal *rpc, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_superell.c */ BU_EXTERN (int ged_scale_superell, (struct ged *gedp, struct rt_superell_internal *superell, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_tgc.c */ BU_EXTERN (int ged_scale_tgc, (struct ged *gedp, struct rt_tgc_internal *tgc, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in scale_tor.c */ BU_EXTERN (int ged_scale_tor, (struct ged *gedp, struct rt_tor_internal *tor, const char *attribute, - fastf_t sf)); + fastf_t sf, + int rflag)); /* defined in tops.c */ struct directory ** Modified: brlcad/trunk/src/libged/pscale.c =================================================================== --- brlcad/trunk/src/libged/pscale.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/pscale.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -38,11 +38,12 @@ ged_pscale(struct ged *gedp, int argc, const char *argv[]) { int ret; + int rflag; struct rt_db_internal intern; fastf_t sf; char *last; struct directory *dp; - static const char *usage = "obj attribute sf"; + static const char *usage = "[-r] obj attribute sf"; GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR); GED_CHECK_READ_ONLY(gedp, GED_ERROR); @@ -57,11 +58,23 @@ return GED_HELP; } - if (argc != 4) { + if (argc < 4 || argc > 5) { bu_vls_printf(&gedp->ged_result_str, "Usage: %s %s", argv[0], usage); return GED_ERROR; } + if (argc == 5) { + if (argv[1][0] == '-' && argv[1][1] == 'r' && argv[1][2] == '\0') { + rflag = 1; + --argc; + ++argv; + } else { + bu_vls_printf(&gedp->ged_result_str, "Usage: %s %s", argv[0], usage); + return BRLCAD_ERROR; + } + } else + rflag = 0; + if (sscanf(argv[3], "%lf", &sf) != 1 || sf <= SQRT_SMALL_FASTF) { bu_vls_printf(&gedp->ged_result_str, "%s: bad scale factor - %s", argv[0], argv[3]); @@ -95,40 +108,40 @@ switch (intern.idb_minor_type) { case DB5_MINORTYPE_BRLCAD_EHY: - ret = ged_scale_ehy(gedp, (struct rt_ehy_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_ehy(gedp, (struct rt_ehy_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_ELL: - ret = ged_scale_ell(gedp, (struct rt_ell_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_ell(gedp, (struct rt_ell_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_EPA: - ret = ged_scale_epa(gedp, (struct rt_epa_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_epa(gedp, (struct rt_epa_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_ETO: - ret = ged_scale_eto(gedp, (struct rt_eto_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_eto(gedp, (struct rt_eto_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_EXTRUDE: - ret = ged_scale_extrude(gedp, (struct rt_extrude_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_extrude(gedp, (struct rt_extrude_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_HYP: - ret = ged_scale_hyp(gedp, (struct rt_hyp_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_hyp(gedp, (struct rt_hyp_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_PARTICLE: - ret = ged_scale_part(gedp, (struct rt_part_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_part(gedp, (struct rt_part_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_RHC: - ret = ged_scale_rhc(gedp, (struct rt_rhc_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_rhc(gedp, (struct rt_rhc_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_RPC: - ret = ged_scale_rpc(gedp, (struct rt_rpc_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_rpc(gedp, (struct rt_rpc_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_SUPERELL: - ret = ged_scale_superell(gedp, (struct rt_superell_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_superell(gedp, (struct rt_superell_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_TGC: - ret = ged_scale_tgc(gedp, (struct rt_tgc_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_tgc(gedp, (struct rt_tgc_internal *)intern.idb_ptr, argv[2], sf, rflag); break; case DB5_MINORTYPE_BRLCAD_TOR: - ret = ged_scale_tor(gedp, (struct rt_tor_internal *)intern.idb_ptr, argv[2], sf); + ret = ged_scale_tor(gedp, (struct rt_tor_internal *)intern.idb_ptr, argv[2], sf, rflag); break; default: bu_vls_printf(&gedp->ged_result_str, "%s: Object not yet supported.", argv[0]); Modified: brlcad/trunk/src/libged/scale_ehy.c =================================================================== --- brlcad/trunk/src/libged/scale_ehy.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_ehy.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,30 +34,48 @@ #include "./ged_private.h" int -ged_scale_ehy(struct ged *gedp, struct rt_ehy_internal *ehy, const char *attribute, fastf_t sf) +ged_scale_ehy(struct ged *gedp, struct rt_ehy_internal *ehy, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; + fastf_t newrad; RT_EHY_CK_MAGIC(ehy); switch (attribute[0]) { case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(ehy->ehy_H); + VSCALE(ehy->ehy_H, ehy->ehy_H, sf); break; case 'a': case 'A': - if (ehy->ehy_r1 * sf >= ehy->ehy_r2) - ehy->ehy_r1 *= sf; + if (rflag) + newrad = ehy->ehy_r1 * sf; + else + newrad = sf; + + if (newrad >= ehy->ehy_r2) + ehy->ehy_r1 = newrad; break; case 'b': case 'B': - if (ehy->ehy_r2 * sf <= ehy->ehy_r1) - ehy->ehy_r2 *= sf; + if (rflag) + newrad = ehy->ehy_r2 * sf; + else + newrad = sf; + + if (newrad <= ehy->ehy_r1) + ehy->ehy_r2 = newrad; break; case 'c': case 'C': - ehy->ehy_c *= sf; + if (rflag) + ehy->ehy_c *= sf; + else + ehy->ehy_c = sf; + break; default: bu_vls_printf(&gedp->ged_result_str, "bad ehy attribute - %s", attribute); Modified: brlcad/trunk/src/libged/scale_ell.c =================================================================== --- brlcad/trunk/src/libged/scale_ell.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_ell.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,7 +34,7 @@ #include "./ged_private.h" int -ged_scale_ell(struct ged *gedp, struct rt_ell_internal *ell, const char *attribute, fastf_t sf) +ged_scale_ell(struct ged *gedp, struct rt_ell_internal *ell, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; @@ -43,6 +43,9 @@ switch (attribute[0]) { case 'a': case 'A': + if (!rflag) + sf /= MAGNITUDE(ell->a); + switch (attribute[1]) { case '\0': VSCALE(ell->a, ell->a, sf); @@ -72,10 +75,16 @@ break; case 'b': case 'B': + if (!rflag) + sf /= MAGNITUDE(ell->b); + VSCALE(ell->b, ell->b, sf); break; case 'c': case 'C': + if (!rflag) + sf /= MAGNITUDE(ell->c); + VSCALE(ell->c, ell->c, sf); break; default: Modified: brlcad/trunk/src/libged/scale_epa.c =================================================================== --- brlcad/trunk/src/libged/scale_epa.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_epa.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,26 +34,40 @@ #include "./ged_private.h" int -ged_scale_epa(struct ged *gedp, struct rt_epa_internal *epa, const char *attribute, fastf_t sf) +ged_scale_epa(struct ged *gedp, struct rt_epa_internal *epa, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; + fastf_t newrad; RT_EPA_CK_MAGIC(epa); switch (attribute[0]) { case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(epa->epa_H); + VSCALE(epa->epa_H, epa->epa_H, sf); break; case 'a': case 'A': - if (epa->epa_r1 * sf >= epa->epa_r2) - epa->epa_r1 *= sf; + if (rflag) + newrad = epa->epa_r1 * sf; + else + newrad = sf; + + if (newrad >= epa->epa_r2) + epa->epa_r1 = newrad; break; case 'b': case 'B': - if (epa->epa_r2 * sf <= epa->epa_r1) - epa->epa_r2 *= sf; + if (rflag) + newrad = epa->epa_r2 * sf; + else + newrad = sf; + + if (newrad <= epa->epa_r1) + epa->epa_r2 = newrad; break; default: bu_vls_printf(&gedp->ged_result_str, "bad epa attribute - %s", attribute); Modified: brlcad/trunk/src/libged/scale_eto.c =================================================================== --- brlcad/trunk/src/libged/scale_eto.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_eto.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -36,7 +36,7 @@ int -ged_scale_eto(struct ged *gedp, struct rt_eto_internal *eto, const char *attribute, fastf_t sf) +ged_scale_eto(struct ged *gedp, struct rt_eto_internal *eto, const char *attribute, fastf_t sf, int rflag) { fastf_t newrad; @@ -49,9 +49,14 @@ fastf_t ch, cv, dh, newrad; vect_t Nu; - newrad = eto->eto_r * sf; + if (rflag) + newrad = eto->eto_r * sf; + else + newrad = sf; + if (newrad < SMALL) newrad = 4*SMALL; + VMOVE(Nu, eto->eto_N); VUNITIZE(Nu); @@ -73,7 +78,11 @@ fastf_t dh, newrad, work; vect_t Nu; - newrad = eto->eto_rd * sf; + if (rflag) + newrad = eto->eto_rd * sf; + else + newrad = sf; + if (newrad < SMALL) newrad = 4*SMALL; work = MAGNITUDE(eto->eto_C); @@ -93,6 +102,9 @@ fastf_t ch, cv; vect_t Nu, Work; + if (!rflag) + sf /= MAGNITUDE(eto->eto_C); + if (sf * MAGNITUDE(eto->eto_C) >= eto->eto_rd) { VMOVE(Nu, eto->eto_N); VUNITIZE(Nu); Modified: brlcad/trunk/src/libged/scale_extrude.c =================================================================== --- brlcad/trunk/src/libged/scale_extrude.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_extrude.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -36,7 +36,7 @@ int -ged_scale_extrude(struct ged *gedp, struct rt_extrude_internal *extrude, const char *attribute, fastf_t sf) +ged_scale_extrude(struct ged *gedp, struct rt_extrude_internal *extrude, const char *attribute, fastf_t sf, int rflag) { vect_t hvec; @@ -45,6 +45,9 @@ switch (attribute[0]) { case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(extrude->h); + VSCALE(hvec, extrude->h, sf); /* Make sure hvec is not zero length */ Modified: brlcad/trunk/src/libged/scale_hyp.c =================================================================== --- brlcad/trunk/src/libged/scale_hyp.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_hyp.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -36,7 +36,7 @@ int -ged_scale_hyp(struct ged *gedp, struct rt_hyp_internal *hyp, const char *attribute, fastf_t sf) +ged_scale_hyp(struct ged *gedp, struct rt_hyp_internal *hyp, const char *attribute, fastf_t sf, int rflag) { fastf_t f; point_t old_top; @@ -46,6 +46,9 @@ switch (attribute[0]) { case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(hyp->hyp_Hi); + switch (attribute[1]) { case '\0': VSCALE(hyp->hyp_Hi, hyp->hyp_Hi, sf); @@ -65,19 +68,30 @@ break; case 'a': case 'A': + if (!rflag) + sf /= MAGNITUDE(hyp->hyp_A); + VSCALE(hyp->hyp_A, hyp->hyp_A, sf); break; case 'b': case 'B': - hyp->hyp_b *= sf; + if (rflag) + hyp->hyp_b *= sf; + else + hyp->hyp_b = sf; + break; case 'c': case 'C': - f = hyp->hyp_bnr * sf; + if (rflag) + f = hyp->hyp_bnr * sf; + else + f = sf; + if (f <= 1.0) - hyp->hyp_bnr *= sf; + hyp->hyp_bnr = f; + break; - break; default: bu_vls_printf(&gedp->ged_result_str, "bad hyp attribute - %s", attribute); return GED_ERROR; Modified: brlcad/trunk/src/libged/scale_part.c =================================================================== --- brlcad/trunk/src/libged/scale_part.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_part.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,19 +34,30 @@ #include "./ged_private.h" int -ged_scale_part(struct ged *gedp, struct rt_part_internal *part, const char *attribute, fastf_t sf) +ged_scale_part(struct ged *gedp, struct rt_part_internal *part, const char *attribute, fastf_t sf, int rflag) { RT_PART_CK_MAGIC(part); switch (attribute[0]) { case 'H': + if (!rflag) + sf /= MAGNITUDE(part->part_H); + VSCALE(part->part_H, part->part_H, sf); break; case 'v': - part->part_vrad *= sf; + if (rflag) + part->part_vrad *= sf; + else + part->part_vrad = sf; + break; case 'h': - part->part_hrad *= sf; + if (rflag) + part->part_hrad *= sf; + else + part->part_hrad = sf; + break; default: bu_vls_printf(&gedp->ged_result_str, "bad part attribute - %s", attribute); Modified: brlcad/trunk/src/libged/scale_rhc.c =================================================================== --- brlcad/trunk/src/libged/scale_rhc.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_rhc.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,7 +34,7 @@ #include "./ged_private.h" int -ged_scale_rhc(struct ged *gedp, struct rt_rhc_internal *rhc, const char *attribute, fastf_t sf) +ged_scale_rhc(struct ged *gedp, struct rt_rhc_internal *rhc, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; @@ -43,19 +43,33 @@ switch (attribute[0]) { case 'b': case 'B': + if (!rflag) + sf /= MAGNITUDE(rhc->rhc_B); + VSCALE(rhc->rhc_B, rhc->rhc_B, sf); break; case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(rhc->rhc_H); + VSCALE(rhc->rhc_H, rhc->rhc_H, sf); break; case 'c': case 'C': - rhc->rhc_c *= sf; + if (rflag) + rhc->rhc_c *= sf; + else + rhc->rhc_c = sf; + break; case 'r': case 'R': - rhc->rhc_r *= sf; + if (rflag) + rhc->rhc_r *= sf; + else + rhc->rhc_r = sf; + break; default: bu_vls_printf(&gedp->ged_result_str, "bad rhc attribute - %s", attribute); Modified: brlcad/trunk/src/libged/scale_rpc.c =================================================================== --- brlcad/trunk/src/libged/scale_rpc.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_rpc.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,7 +34,7 @@ #include "./ged_private.h" int -ged_scale_rpc(struct ged *gedp, struct rt_rpc_internal *rpc, const char *attribute, fastf_t sf) +ged_scale_rpc(struct ged *gedp, struct rt_rpc_internal *rpc, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; @@ -43,15 +43,25 @@ switch (attribute[0]) { case 'b': case 'B': + if (!rflag) + sf /= MAGNITUDE(rpc->rpc_B); + VSCALE(rpc->rpc_B, rpc->rpc_B, sf); break; case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(rpc->rpc_H); + VSCALE(rpc->rpc_H, rpc->rpc_H, sf); break; case 'r': case 'R': - rpc->rpc_r *= sf; + if (rflag) + rpc->rpc_r *= sf; + else + rpc->rpc_r = sf; + break; default: bu_vls_printf(&gedp->ged_result_str, "bad rpc attribute - %s", attribute); Modified: brlcad/trunk/src/libged/scale_superell.c =================================================================== --- brlcad/trunk/src/libged/scale_superell.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_superell.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -34,7 +34,7 @@ #include "./ged_private.h" int -ged_scale_superell(struct ged *gedp, struct rt_superell_internal *superell, const char *attribute, fastf_t sf) +ged_scale_superell(struct ged *gedp, struct rt_superell_internal *superell, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; @@ -43,6 +43,9 @@ switch (attribute[0]) { case 'a': case 'A': + if (!rflag) + sf /= MAGNITUDE(superell->a); + switch (attribute[1]) { case '\0': VSCALE(superell->a, superell->a, sf); @@ -72,10 +75,16 @@ break; case 'b': case 'B': + if (!rflag) + sf /= MAGNITUDE(superell->b); + VSCALE(superell->b, superell->b, sf); break; case 'c': case 'C': + if (!rflag) + sf /= MAGNITUDE(superell->c); + VSCALE(superell->c, superell->c, sf); break; default: Modified: brlcad/trunk/src/libged/scale_tgc.c =================================================================== --- brlcad/trunk/src/libged/scale_tgc.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_tgc.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -36,7 +36,7 @@ int -ged_scale_tgc(struct ged *gedp, struct rt_tgc_internal *tgc, const char *attribute, fastf_t sf) +ged_scale_tgc(struct ged *gedp, struct rt_tgc_internal *tgc, const char *attribute, fastf_t sf, int rflag) { fastf_t ma, mb; @@ -45,6 +45,9 @@ switch (attribute[0]) { case 'a': case 'A': + if (!rflag) + sf /= MAGNITUDE(tgc->a); + switch (attribute[1]) { case '\0': VSCALE(tgc->a, tgc->a, sf); @@ -91,10 +94,16 @@ break; case 'b': case 'B': + if (!rflag) + sf /= MAGNITUDE(tgc->b); + VSCALE(tgc->b, tgc->b, sf); break; case 'c': case 'C': + if (!rflag) + sf /= MAGNITUDE(tgc->c); + switch (attribute[1]) { case '\0': VSCALE(tgc->c, tgc->c, sf); @@ -114,10 +123,16 @@ break; case 'd': case 'D': + if (!rflag) + sf /= MAGNITUDE(tgc->d); + VSCALE(tgc->d, tgc->d, sf); break; case 'h': case 'H': + if (!rflag) + sf /= MAGNITUDE(tgc->h); + switch (attribute[1]) { case '\0': VSCALE(tgc->h, tgc->h, sf); Modified: brlcad/trunk/src/libged/scale_tor.c =================================================================== --- brlcad/trunk/src/libged/scale_tor.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libged/scale_tor.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -36,7 +36,7 @@ int -ged_scale_tor(struct ged *gedp, struct rt_tor_internal *tor, const char *attribute, fastf_t sf) +ged_scale_tor(struct ged *gedp, struct rt_tor_internal *tor, const char *attribute, fastf_t sf, int rflag) { fastf_t newrad; @@ -45,7 +45,11 @@ switch (attribute[0]) { case 'a': case 'A': - newrad = tor->r_a * sf; + if (rflag) + newrad = tor->r_a * sf; + else + newrad = sf; + if (newrad < SMALL) newrad = 4*SMALL; if (tor->r_h <= newrad) @@ -53,7 +57,11 @@ break; case 'h': case 'H': - newrad = tor->r_h * sf; + if (rflag) + newrad = tor->r_h * sf; + else + newrad = sf; + if (newrad < SMALL) newrad = 4*SMALL; if (newrad <= tor->r_a) Modified: brlcad/trunk/src/libtclcad/ged_obj.c =================================================================== --- brlcad/trunk/src/libtclcad/ged_obj.c 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/libtclcad/ged_obj.c 2009-06-05 19:28:54 UTC (rev 34673) @@ -3948,12 +3948,13 @@ gedp->ged_gvp = gdvp->gdv_view; av[0] = "pscale"; - av[1] = (char *)argv[2]; - av[2] = (char *)argv[3]; - av[3] = bu_vls_addr(&sf_vls); - av[4] = (char *)0; + av[1] = "-r"; + av[2] = (char *)argv[2]; + av[3] = (char *)argv[3]; + av[4] = bu_vls_addr(&sf_vls); + av[5] = (char *)0; - ret = ged_pscale(gedp, 4, (const char **)av); + ret = ged_pscale(gedp, 5, (const char **)av); bu_vls_free(&sf_vls); if (ret == GED_OK) { Modified: brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/tclscripts/archer/Arb4EditFrame.tcl 2009-06-05 19:28:54 UTC (rev 34673) @@ -33,20 +33,11 @@ constructor {args} {} destructor {} - # Methods used by the constructor - protected { - method buildMoveEdgePanel {parent} - method buildMoveFacePanel {parent} - method buildRotateFacePanel {parent} - - # override methods in GeometryEditFrame - method buildUpperPanel - } - public { # Override what's in GeometryEditFrame method updateGeometry {} method createGeometry {obj} + method p {obj args} } protected { @@ -63,7 +54,13 @@ variable rotateFace234 11 variable rotateFace134 12 + # Methods used by the constructor + method buildMoveEdgePanel {parent} + method buildMoveFacePanel {parent} + method buildRotateFacePanel {parent} + # Override what's in Arb8EditFrame + method buildUpperPanel {} method updateUpperPanel {normal disabled} method initEditState {} @@ -490,7 +487,56 @@ V8 [list $mXmax $mYmax $mZmin] } +::itcl::body Arb4EditFrame::p {obj args} { + if {[llength $args] != 3 || + ![string is double [lindex $args 0]] || + ![string is double [lindex $args 1]] || + ![string is double [lindex $args 2]]} { + return "Usage: p x y z" + } + switch -- $mEditMode \ + $movePoint1 { + $::ArcherCore::application move_arb_edge $obj 1 $args + } \ + $movePoint2 { + $::ArcherCore::application move_arb_edge $obj 2 $args + } \ + $movePoint3 { + $::ArcherCore::application move_arb_edge $obj 3 $args + } \ + $movePoint4 { + $::ArcherCore::application move_arb_edge $obj 5 $args + } \ + $moveFace123 { + $::ArcherCore::application move_arb_face $obj 1 $args + } \ + $moveFace124 { + $::ArcherCore::application move_arb_face $obj 2 $args + } \ + $moveFace234 { + $::ArcherCore::application move_arb_face $obj 3 $args + } \ + $moveFace134 { + $::ArcherCore::application move_arb_face $obj 4 $args + } \ + $rotateFace123 { + $::ArcherCore::application rotate_arb_face $obj 1 $mEditParam2 $args + } \ + $rotateFace124 { + $::ArcherCore::application rotate_arb_face $obj 2 $mEditParam2 $args + } \ + $rotateFace234 { + $::ArcherCore::application rotate_arb_face $obj 3 $mEditParam2 $args + } \ + $rotateFace134 { + $::ArcherCore::application rotate_arb_face $obj 4 $mEditParam2 $args + } + + return "" +} + + # ------------------------------------------------------------ # PROTECTED METHODS # ------------------------------------------------------------ @@ -506,99 +552,90 @@ } ::itcl::body Arb4EditFrame::initEditState {} { + set mEditPCommand [::itcl::code $this p] + configure -valueUnits "mm" + switch -- $mEditMode \ - $movePoint1 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $movePoint2 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $movePoint3 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $movePoint4 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 5; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $moveFace123 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $moveFace124 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $moveFace234 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $moveFace134 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 4; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4} \ - } \ - $rotateFace123 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 1; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 3}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 3} {4} \ - } \ - $rotateFace124 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 2; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 4}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 4} {3} \ - } \ - $rotateFace234 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 3; \ - set mEditParam2 2; \ - invokeRotationPointDialog {2 3 4}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {2 3 4} {1} \ - } \ - $rotateFace134 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 4; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 3 4}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 3 4} {2} \ - } + $movePoint1 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + updateUpperPanel {} {1 2 3 4} + } \ + $movePoint2 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + updateUpperPanel {} {1 2 3 4} + } \ + $movePoint3 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + updateUpperPanel {} {1 2 3 4} + } \ + $movePoint4 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 5 + updateUpperPanel {} {1 2 3 4} + } \ + $moveFace123 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + updateUpperPanel {} {1 2 3 4} + } \ + $moveFace124 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + updateUpperPanel {} {1 2 3 4} + } \ + $moveFace234 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + updateUpperPanel {} {1 2 3 4} + } \ + $moveFace134 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 4 + updateUpperPanel {} {1 2 3 4} + } \ + $rotateFace123 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 1 + set mEditParam2 1 + invokeRotationPointDialog {1 2 3} + updateUpperPanel {1 2 3} {4} + } \ + $rotateFace124 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 2 + set mEditParam2 1 + invokeRotationPointDialog {1 2 4} + updateUpperPanel {1 2 4} {3} + } \ + $rotateFace234 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 3 + set mEditParam2 2 + invokeRotationPointDialog {2 3 4} + updateUpperPanel {2 3 4} {1} + } \ + $rotateFace134 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 4 + set mEditParam2 1 + invokeRotationPointDialog {1 3 4} + updateUpperPanel {1 3 4} {2} + } GeometryEditFrame::initEditState } Modified: brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/tclscripts/archer/Arb5EditFrame.tcl 2009-06-05 19:28:54 UTC (rev 34673) @@ -33,20 +33,11 @@ constructor {args} {} destructor {} - # Methods used by the constructor - protected { - method buildMoveEdgePanel {parent} - method buildMoveFacePanel {parent} - method buildRotateFacePanel {parent} - - # override methods in GeometryEditFrame - method buildUpperPanel - } - public { # Override what's in GeometryEditFrame method updateGeometry {} method createGeometry {obj} + method p {obj args} } protected { @@ -70,7 +61,13 @@ variable rotateFace345 18 variable rotateFace145 19 + # Methods used by the constructor + method buildMoveEdgePanel {parent} + method buildMoveFacePanel {parent} + method buildRotateFacePanel {parent} + # Override what's in Arb8EditFrame + method buildUpperPanel {} method updateUpperPanel {normal disabled} method initEditState {} @@ -561,7 +558,77 @@ V8 [list $_x $mYmax $_z] } +::itcl::body Arb5EditFrame::p {obj args} { + if {[llength $args] != 3 || + ![string is double [lindex $args 0]] || + ![string is double [lindex $args 1]] || + ![string is double [lindex $args 2]]} { + return "Usage: p x y z" + } + switch -- $mEditMode \ + $moveEdge12 { + $::ArcherCore::application move_arb_edge $obj 1 $args + } \ + $moveEdge23 { + $::ArcherCore::application move_arb_edge $obj 2 $args + } \ + $moveEdge34 { + $::ArcherCore::application move_arb_edge $obj 3 $args + } \ + $moveEdge14 { + $::ArcherCore::application move_arb_edge $obj 4 $args + } \ + $moveEdge15 { + $::ArcherCore::application move_arb_edge $obj 5 $args + } \ + $moveEdge25 { + $::ArcherCore::application move_arb_edge $obj 6 $args + } \ + $moveEdge35 { + $::ArcherCore::application move_arb_edge $obj 7 $args + } \ + $moveEdge45 { + $::ArcherCore::application move_arb_edge $obj 8 $args + } \ + $movePoint5 { + $::ArcherCore::application move_arb_edge $obj 9 $args + } \ + $moveFace1234 { + $::ArcherCore::application move_arb_face $obj 1 $args + } \ + $moveFace125 { + $::ArcherCore::application move_arb_face $obj 2 $args + } \ + $moveFace235 { + $::ArcherCore::application move_arb_face $obj 3 $args + } \ + $moveFace345 { + $::ArcherCore::application move_arb_face $obj 4 $args + } \ + $moveFace145 { + $::ArcherCore::application move_arb_face $obj 5 $args + } \ + $rotateFace1234 { + $::ArcherCore::application rotate_arb_face $obj 1 $mEditParam2 $args + } \ + $rotateFace125 { + $::ArcherCore::application rotate_arb_face $obj 2 $mEditParam2 $args + } \ + $rotateFace235 { + $::ArcherCore::application rotate_arb_face $obj 3 $mEditParam2 $args + } \ + $rotateFace345 { + $::ArcherCore::application rotate_arb_face $obj 4 $mEditParam2 $args + } \ + $rotateFace145 { + $::ArcherCore::application rotate_arb_face $obj 5 $mEditParam2 $args + } + + return "" +} + + # ------------------------------------------------------------ # PROTECTED METHODS # ------------------------------------------------------------ @@ -577,150 +644,153 @@ } ::itcl::body Arb5EditFrame::initEditState {} { + set mEditPCommand [::itcl::code $this p] + configure -valueUnits "mm" + switch -- $mEditMode \ - $moveEdge12 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge23 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge34 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge14 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 4; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge15 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 5; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge25 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 6; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge35 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 7; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveEdge45 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 8; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $movePoint5 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 9; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveFace1234 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveFace125 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveFace235 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveFace345 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 4; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $moveFace145 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 5; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5} \ - } \ - $rotateFace1234 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 1; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 3 4}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 3 4} {5} \ - } \ - $rotateFace125 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 2; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 5}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 5} {3 4} \ - } \ - $rotateFace235 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 3; \ - set mEditParam2 2; \ - invokeRotationPointDialog {2 3 5}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {2 3 5} {1 4} \ - } \ - $rotateFace345 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 4; \ - set mEditParam2 3; \ - invokeRotationPointDialog {3 4 5}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {3 4 5} {1 2} \ - } \ - $rotateFace145 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 5; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 4 5}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 4 5} {2 3} \ - } + $moveEdge12 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge23 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge34 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge14 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 4 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge15 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 5 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge25 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 6 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge35 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 7 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveEdge45 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 8 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $movePoint5 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 9 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveFace1234 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveFace125 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveFace235 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveFace345 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 4 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $moveFace145 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 5 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5} + } \ + $rotateFace1234 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 1 + set mEditParam2 1 + invokeRotationPointDialog {1 2 3 4} + configure -valueUnits "deg" + updateUpperPanel {1 2 3 4} {5} + } \ + $rotateFace125 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 2 + set mEditParam2 1 + invokeRotationPointDialog {1 2 5} + configure -valueUnits "deg" + updateUpperPanel {1 2 5} {3 4} + } \ + $rotateFace235 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 3 + set mEditParam2 2 + invokeRotationPointDialog {2 3 5} + configure -valueUnits "deg" + updateUpperPanel {2 3 5} {1 4} + } \ + $rotateFace345 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 4 + set mEditParam2 3 + invokeRotationPointDialog {3 4 5} + configure -valueUnits "deg" + updateUpperPanel {3 4 5} {1 2} + } \ + $rotateFace145 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 5 + set mEditParam2 1 + invokeRotationPointDialog {1 4 5} + configure -valueUnits "deg" + updateUpperPanel {1 4 5} {2 3} + } GeometryEditFrame::initEditState } Modified: brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/tclscripts/archer/Arb6EditFrame.tcl 2009-06-05 19:28:54 UTC (rev 34673) @@ -33,20 +33,11 @@ constructor {args} {} destructor {} - # Methods used by the constructor - protected { - method buildMoveEdgePanel {parent} - method buildMoveFacePanel {parent} - method buildRotateFacePanel {parent} - - # override methods in GeometryEditFrame - method buildUpperPanel - } - public { # Override what's in GeometryEditFrame method updateGeometry {} method createGeometry {obj} + method p {obj args} } protected { @@ -71,7 +62,13 @@ variable rotateFace125 19 variable rotateFace346 20 + # Methods used by the constructor + method buildMoveEdgePanel {parent} + method buildMoveFacePanel {parent} + method buildRotateFacePanel {parent} + # Override what's in Arb8EditFrame + method buildUpperPanel {} method updateUpperPanel {normal disabled} method initEditState {} @@ -617,7 +614,80 @@ V8 [list $mXmin $mYmax $mZmax] } +::itcl::body Arb6EditFrame::p {obj args} { + if {[llength $args] != 3 || + ![string is double [lindex $args 0]] || + ![string is double [lindex $args 1]] || + ![string is double [lindex $args 2]]} { + return "Usage: p x y z" + } + switch -- $mEditMode \ + $moveEdge12 { + $::ArcherCore::application move_arb_edge $obj 1 $args + } \ + $moveEdge23 { + $::ArcherCore::application move_arb_edge $obj 2 $args + } \ + $moveEdge34 { + $::ArcherCore::application move_arb_edge $obj 3 $args + } \ + $moveEdge14 { + $::ArcherCore::application move_arb_edge $obj 4 $args + } \ + $moveEdge15 { + $::ArcherCore::application move_arb_edge $obj 5 $args + } \ + $moveEdge25 { + $::ArcherCore::application move_arb_edge $obj 6 $args + } \ + $moveEdge36 { + $::ArcherCore::application move_arb_edge $obj 7 $args + } \ + $moveEdge46 { + $::ArcherCore::application move_arb_edge $obj 8 $args + } \ + $movePoint5 { + $::ArcherCore::application move_arb_edge $obj 9 $args + } \ + $movePoint6 { + $::ArcherCore::application move_arb_edge $obj 10 $args + } \ + $moveFace1234 { + $::ArcherCore::application move_arb_face $obj 1 $args + } \ + $moveFace2365 { + $::ArcherCore::application move_arb_face $obj 2 $args + } \ + $moveFace1564 { + $::ArcherCore::application move_arb_face $obj 3 $args + } \ + $moveFace125 { + $::ArcherCore::application move_arb_face $obj 4 $args + } \ + $moveFace346 { + $::ArcherCore::application move_arb_face $obj 5 $args + } \ + $rotateFace1234 { + $::ArcherCore::application rotate_arb_face $obj 1 $mEditParam2 $args + } \ + $rotateFace2365 { + $::ArcherCore::application rotate_arb_face $obj 2 $mEditParam2 $args + } \ + $rotateFace1564 { + $::ArcherCore::application rotate_arb_face $obj 3 $mEditParam2 $args + } \ + $rotateFace125 { + $::ArcherCore::application rotate_arb_face $obj 4 $mEditParam2 $args + } \ + $rotateFace346 { + $::ArcherCore::application rotate_arb_face $obj 5 $mEditParam2 $args + } + + return "" +} + + # ------------------------------------------------------------ # PROTECTED METHODS # ------------------------------------------------------------ @@ -633,157 +703,160 @@ } ::itcl::body Arb6EditFrame::initEditState {} { + set mEditPCommand [::itcl::code $this p] + configure -valueUnits "mm" + switch -- $mEditMode \ - $moveEdge12 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge23 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge34 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge14 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 4; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge15 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 5; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge25 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 6; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge36 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 7; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveEdge46 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 8; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $movePoint5 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 9; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $movePoint6 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 10; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveFace1234 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveFace2365 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveFace1564 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 3; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveFace125 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 4; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $moveFace346 { \ - set mEditCommand move_arb_face; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 5; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6} \ - } \ - $rotateFace1234 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 1; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 3 4}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 3 4} {5 6} \ - } \ - $rotateFace2365 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 2; \ - set mEditParam2 2; \ - invokeRotationPointDialog {2 3 5 6}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {2 3 6 5} {1 4} \ - } \ - $rotateFace1564 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 3; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 4 5 6}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 5 6 4} {2 3} \ - } \ - $rotateFace125 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 4; \ - set mEditParam2 1; \ - invokeRotationPointDialog {1 2 5}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {1 2 5} {3 4 6} \ - } \ - $rotateFace346 { \ - set mEditCommand rotate_arb_face; \ - set mEditClass $EDIT_CLASS_ROT; \ - set mEditParam1 5; \ - set mEditParam2 3; \ - invokeRotationPointDialog {3 4 6}; \ - configure -valueUnits "deg"; \ - updateUpperPanel {3 4 6} {1 2 5} \ - } + $moveEdge12 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge23 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge34 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge14 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 4 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge15 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 5 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge25 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 6 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge36 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 7 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveEdge46 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 8 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $movePoint5 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 9 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $movePoint6 { + set mEditCommand move_arb_edge + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 10 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveFace1234 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 1 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveFace2365 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 2 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveFace1564 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 3 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveFace125 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 4 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $moveFace346 { + set mEditCommand move_arb_face + set mEditClass $EDIT_CLASS_TRANS + set mEditParam1 5 + configure -valueUnits "mm" + updateUpperPanel {} {1 2 3 4 5 6} + } \ + $rotateFace1234 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 1 + set mEditParam2 1 + invokeRotationPointDialog {1 2 3 4} + configure -valueUnits "deg" + updateUpperPanel {1 2 3 4} {5 6} + } \ + $rotateFace2365 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 2 + set mEditParam2 2 + invokeRotationPointDialog {2 3 5 6} + configure -valueUnits "deg" + updateUpperPanel {2 3 6 5} {1 4} + } \ + $rotateFace1564 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 3 + set mEditParam2 1 + invokeRotationPointDialog {1 4 5 6} + configure -valueUnits "deg" + updateUpperPanel {1 5 6 4} {2 3} + } \ + $rotateFace125 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 4 + set mEditParam2 1 + invokeRotationPointDialog {1 2 5} + configure -valueUnits "deg" + updateUpperPanel {1 2 5} {3 4 6} + } \ + $rotateFace346 { + set mEditCommand rotate_arb_face + set mEditClass $EDIT_CLASS_ROT + set mEditParam1 5 + set mEditParam2 3 + invokeRotationPointDialog {3 4 6} + configure -valueUnits "deg" + updateUpperPanel {3 4 6} {1 2 5} + } GeometryEditFrame::initEditState } Modified: brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl 2009-06-05 18:17:46 UTC (rev 34672) +++ brlcad/trunk/src/tclscripts/archer/Arb7EditFrame.tcl 2009-06-05 19:28:54 UTC (rev 34673) @@ -33,20 +33,11 @@ constructor {args} {} destructor {} - # Methods used by the constructor - protected { - method buildMoveEdgePanel {parent} - method buildMoveFacePanel {parent} - method buildRotateFacePanel {parent} - - # override methods in GeometryEditFrame - method buildUpperPanel - } - public { - # Override what's in GeometryEditFrame + # Override what's in Arb8EditFrame method updateGeometry {} method createGeometry {obj} + method p {obj args} } protected { @@ -71,7 +62,13 @@ variable rotateFace1265 19 variable rotateFace4375 20 + # Methods used by the constructor + method buildMoveEdgePanel {parent} + method buildMoveFacePanel {parent} + method buildRotateFacePanel {parent} + # Override what's in Arb8EditFrame + method buildUpperPanel {} method updateUpperPanel {normal disabled} method initEditState {} @@ -686,7 +683,80 @@ # V7 [list $mXmin $mYmax $mZmax] } +::itcl::body Arb7EditFrame::p {obj args} { + if {[llength $args] != 3 || + ![string is double [lindex $args 0]] || + ![string is double [lindex $args 1]] || + ![string is double [lindex $args 2]]} { + return "Usage: p x y z" + } + switch -- $mEditMode \ + $moveEdge12 { + $::ArcherCore::application move_arb_edge $obj 1 $args + } \ + $moveEdge23 { + $::ArcherCore::application move_arb_edge $obj 2 $args + } \ + $moveEdge34 { + $::ArcherCore::application move_arb_edge $obj 3 $args + } \ + $moveEdge14 { + $::ArcherCore::application move_arb_edge $obj 4 $args + } \ + $moveEdge15 { + $::ArcherCore::application move_arb_edge $obj 5 $args + } \ + $moveEdge26 { + $::ArcherCore::application move_arb_edge $obj 6 $args + } \ + $moveEdge56 { + $::ArcherCore::application move_arb_edge $obj 7 $args + } \ + $moveEdge67 { + $::ArcherCore::application move_arb_edge $obj 8 $args + } \ + $moveEdge37 { + $::ArcherCore::application move_arb_edge $obj 9 $args + } \ + $moveEdge57 { + $::ArcherCore::application move_arb_edge $obj 10 $args + } \ + $moveEdge45 { + $::ArcherCore::application move_arb_edge $obj 11 $args + } \ + $movePoint5 { + $::ArcherCore::application move_arb_edge $obj 12 $args + } \ + $moveFace1234 { + $::ArcherCore::application move_arb_face $obj 1 $args + } \ + $moveFace2376 { + $::ArcherCore::application move_arb_face $obj 4 $args + } \ + $rotateFace1234 { + $::ArcherCore::application rotate_arb_face $obj 1 $mEditParam2 $args + } \ + $rotateFace567 { + $::ArcherCore::application rotate_arb_face $obj 2 $mEditParam2 $args + } \ + $rotateFace145 { + $::ArcherCore::application rotate_arb_face $obj 3 $mEditParam2 $args + } \ + $rotateFace2376 { + $::ArcherCore::application rotate_arb_face $obj 4 $mEditParam2 $args + } \ + $rotateFace1265 { + $::ArcherCore::application rotate_arb_face $obj 5 $mEditParam2 $args + } \ + $rotateFace4375 { + $::ArcherCore::application rotate_arb_face $obj 6 $mEditParam2 $args + } + + return "" +} + + # ------------------------------------------------------------ # PROTECTED METHODS # ------------------------------------------------------------ @@ -702,155 +772,158 @@ } ::itcl::body Arb7EditFrame::initEditState {} { + set mEditPCommand [::itcl::code $this p] + configure -valueUnits "mm" + switch -- $mEditMode \ - $moveEdge12 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 1; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 5 6 7} \ - } \ - $moveEdge23 { \ - set mEditCommand move_arb_edge; \ - set mEditClass $EDIT_CLASS_TRANS; \ - set mEditParam1 2; \ - configure -valueUnits "mm"; \ - updateUpperPanel {} {1 2 3 4 ... [truncated message content] |
From: <eri...@us...> - 2009-06-10 03:28:20
|
Revision: 34703 http://brlcad.svn.sourceforge.net/brlcad/?rev=34703&view=rev Author: erikgreenwald Date: 2009-06-09 14:43:24 +0000 (Tue, 09 Jun 2009) Log Message: ----------- use old C style comments in C files. Modified Paths: -------------- brlcad/trunk/src/libpc/pc_constraints.c brlcad/trunk/src/mged/dozoom.c brlcad/trunk/src/rt/viewarea.c Modified: brlcad/trunk/src/libpc/pc_constraints.c =================================================================== --- brlcad/trunk/src/libpc/pc_constraints.c 2009-06-09 12:48:38 UTC (rev 34702) +++ brlcad/trunk/src/libpc/pc_constraints.c 2009-06-09 14:43:24 UTC (rev 34703) @@ -40,10 +40,11 @@ int pc_isperpendicular(double ** v) { - - //bu_log("Dot product of the Vectors:\n%f %f %f \n%f %f %f\nis %f\n",\ + /* + bu_log("Dot product of the Vectors:\n%f %f %f \n%f %f %f\nis %f\n",\ v[0][0], v[0][1], v[0][2], v[1][0], v[1][1], v[1][2],\ (v[0][0]*v[1][0] + v[0][1]*v[1][1] +v[0][2]*v[1][2])); + */ if (NEAR_ZERO( (VDOT(v[0],v[1])), .00001)) return 0; else Modified: brlcad/trunk/src/mged/dozoom.c =================================================================== --- brlcad/trunk/src/mged/dozoom.c 2009-06-09 12:48:38 UTC (rev 34702) +++ brlcad/trunk/src/mged/dozoom.c 2009-06-09 14:43:24 UTC (rev 34703) @@ -356,7 +356,7 @@ /* Non-stereo case */ mat = view_state->vs_gvp->gv_model2view; /* XXX hack */ - // if ( mged_variables->mv_faceplate > 0 ) + /* if ( mged_variables->mv_faceplate > 0 ) */ if ( 1 ) { if ( view_state->vs_gvp->gv_eye_pos[Z] == 1.0 ) { /* This way works, with reasonable Z-clipping */ Modified: brlcad/trunk/src/rt/viewarea.c =================================================================== --- brlcad/trunk/src/rt/viewarea.c 2009-06-09 12:48:38 UTC (rev 34702) +++ brlcad/trunk/src/rt/viewarea.c 2009-06-09 14:43:24 UTC (rev 34703) @@ -773,9 +773,9 @@ } for (listp = listHead; listp->cell != NULL;) { struct area_list *prev = listp; - double factor = 1.0; // show mm in parens by default + double factor = 1.0; /* show mm in parens by default */ - // if millimeters, show meters in parens + /* if millimeters, show meters in parens */ if (NEAR_ZERO(units - 1.0, SMALL_FASTF)) { factor = bu_units_conversion("m"); } @@ -904,9 +904,9 @@ for (listp = listHead; listp->cell != NULL;) { int indents = max_depth - listp->cell->depth; struct area_list *prev = listp; - double factor = 1.0; // show mm in parens by default + double factor = 1.0; /* show mm in parens by default */ - // if millimeters, show meters in parens + /* if millimeters, show meters in parens */ if (NEAR_ZERO(units - 1.0, SMALL_FASTF)) { factor = bu_units_conversion("m"); } @@ -992,9 +992,9 @@ long int exposed_region_count = 0; long int exposed_assembly_count = 0; - double factor = 1.0; // show mm in parens by default + double factor = 1.0; /* show mm in parens by default */ - // if millimeters, show meters in parens + /* if millimeters, show meters in parens */ if (NEAR_ZERO(units - 1.0, SMALL_FASTF)) { factor = bu_units_conversion("m"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hom...@us...> - 2009-06-17 16:36:08
|
Revision: 34733 http://brlcad.svn.sourceforge.net/brlcad/?rev=34733&view=rev Author: homovulgaris Date: 2009-06-17 16:35:21 +0000 (Wed, 17 Jun 2009) Log Message: ----------- svn:ignore further directories and files - step, adrt,proc-db and src/conv related Property Changed: ---------------- brlcad/trunk/src/adrt/ brlcad/trunk/src/conv/ brlcad/trunk/src/conv/step/ brlcad/trunk/src/other/ brlcad/trunk/src/other/step/ brlcad/trunk/src/other/step/data/ brlcad/trunk/src/other/step/data/ap203/ brlcad/trunk/src/other/step/data/ap227/ brlcad/trunk/src/other/step/data/example/ brlcad/trunk/src/other/step/doc/ brlcad/trunk/src/other/step/doc/man/ brlcad/trunk/src/other/step/doc/man/man1/ brlcad/trunk/src/other/step/include/ brlcad/trunk/src/other/step/include/conf/ brlcad/trunk/src/other/step/include/exppp/ brlcad/trunk/src/other/step/include/express/ brlcad/trunk/src/other/step/m4/ brlcad/trunk/src/other/step/misc/ brlcad/trunk/src/other/step/src/ brlcad/trunk/src/other/step/src/clSchemas/ brlcad/trunk/src/other/step/src/clSchemas/example/ brlcad/trunk/src/other/step/src/cldai/ brlcad/trunk/src/other/step/src/cleditor/ brlcad/trunk/src/other/step/src/clivfasd/ brlcad/trunk/src/other/step/src/clivfasd/fasdBitmaps/ brlcad/trunk/src/other/step/src/clprobe-ui/ brlcad/trunk/src/other/step/src/clstepcore/ brlcad/trunk/src/other/step/src/clutils/ brlcad/trunk/src/other/step/src/exppp/ brlcad/trunk/src/other/step/src/express/ brlcad/trunk/src/other/step/src/fedex_plus/ brlcad/trunk/src/other/step/src/test/ brlcad/trunk/src/other/step/src/test/generate_express/ brlcad/trunk/src/other/step/src/test/p21read/ brlcad/trunk/src/other/step/src/test/scl2html/ brlcad/trunk/src/other/step/src/test/tio/ brlcad/trunk/src/other/step/src/test/treg/ brlcad/trunk/src/other/step/src/test/tstatic/ brlcad/trunk/src/proc-db/ Property changes on: brlcad/trunk/src/adrt ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in + Makefile Makefile.in adrt_slave adrt_master isst misc libcommon libutil .deps libtienet Property changes on: brlcad/trunk/src/conv ___________________________________________________________________ Modified: svn:ignore - .deps .libs 3dm-g Makefile Makefile.in asc-nmg asc2g asc2pix bot-bldxf bot-raw bot-stl bot_dump bot_shell-vtk comgeom-g conv-vg2g cy-g dbupgrade dem-g dxf-g enf-g euclid-g euclid_format euclid_unformat fast4-g g-acad g-adrt g-dxf g-euclid g-euclid1 g-jack g-nff g-nmg g-obj g-off g-shell.rect g-stl g-tankill g-var g-vrml g-x3d g-xxx g-xxx_facets g2asc g4-g5 g5-g4 nastran-g nmg-bot nmg-rib nmg-sgp off-g patch-g pix2asc ply-g poly-bot proe-g rpatch stl-g tankill-g viewpoint-g walk_example + .deps .libs 3dm-g Makefile Makefile.in asc-nmg asc2g asc2pix bot-bldxf bot-raw bot-stl bot_dump bot_shell-vtk comgeom-g conv-vg2g cy-g dbupgrade dem-g dxf-g enf-g euclid-g euclid_format euclid_unformat fast4-g g-acad g-adrt g-dxf g-euclid g-euclid1 g-jack g-nff g-nmg g-obj g-off g-shell.rect g-stl g-tankill g-var g-vrml g-x3d g-xxx g-xxx_facets g2asc g4-g5 g5-g4 jack-g nastran-g nmg-bot nmg-rib nmg-sgp off-g patch-g pix2asc ply-g poly-bot proe-g rpatch stl-g tankill-g viewpoint-g walk_example Property changes on: brlcad/trunk/src/conv/step ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in .deps Property changes on: brlcad/trunk/src/other ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in + Makefile Makefile.in blt Property changes on: brlcad/trunk/src/other/step ___________________________________________________________________ Modified: svn:ignore - aclocal.m4 autom4te.cache config.log config.status configure libtool + aclocal.m4 autom4te.cache config.log config.status configure libtool Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/data ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/data/ap203 ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/data/ap227 ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/data/example ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/doc ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/doc/man ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/doc/man/man1 ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/include ___________________________________________________________________ Modified: svn:ignore - scl_config.h scl_config.h.in stamp-h1 + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/include/conf ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in TS COUNT PATH DATE HOST USER Property changes on: brlcad/trunk/src/other/step/include/exppp ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/include/express ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/m4 ___________________________________________________________________ Added: svn:ignore + Makefile.in Makefile Property changes on: brlcad/trunk/src/other/step/misc ___________________________________________________________________ Modified: svn:ignore - config.guess config.sub depcomp install-sh ltmain.sh missing mkinstalldirs + Makefile Makefile.in compile config.guess config.sub depcomp install-sh ltmain.sh missing ylwrap Property changes on: brlcad/trunk/src/other/step/src ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clSchemas ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clSchemas/example ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/cldai ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/cleditor ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clivfasd ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clivfasd/fasdBitmaps ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clprobe-ui ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clstepcore ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/clutils ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/exppp ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in exppp Property changes on: brlcad/trunk/src/other/step/src/express ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in fedex symlink Property changes on: brlcad/trunk/src/other/step/src/fedex_plus ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in fedex_idl fedex_plus fedex_os Property changes on: brlcad/trunk/src/other/step/src/test ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/generate_express ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/p21read ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/scl2html ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/tio ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/treg ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/other/step/src/test/tstatic ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in Property changes on: brlcad/trunk/src/proc-db ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile Makefile.in bottest brep_cube brep_simple breplicator brickwall clutter contours globe human kurt lens masonry metaball molecule nmgmodel pipe pipetest pix2g pyramid rawbot room sketch sphflake spltest tea tea_nmg terrain tire torii tube vegitation wdb_example + .deps .libs Makefile Makefile.in bottest brep_cube brep_simple breplicator brickwall coil clutter contours fence globe human kurt lens masonry metaball molecule nmgmodel picket_fence pipe pipetest pix2g pyramid rawbot room sketch sphflake spltest tea tea_nmg terrain tire torii tube vegitation wdb_example This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hom...@us...> - 2009-06-18 11:28:11
|
Revision: 34750 http://brlcad.svn.sourceforge.net/brlcad/?rev=34750&view=rev Author: homovulgaris Date: 2009-06-18 11:26:31 +0000 (Thu, 18 Jun 2009) Log Message: ----------- unignore src/mk , ignore brepintersect Property Changed: ---------------- brlcad/trunk/src/ brlcad/trunk/src/proc-db/ Property changes on: brlcad/trunk/src ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in .deps .libs .git mk + Makefile Makefile.in .deps .libs .git Property changes on: brlcad/trunk/src/proc-db ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile Makefile.in bottest brep_cube brep_simple breplicator brickwall coil clutter contours fence globe human kurt lens masonry metaball molecule nmgmodel picket_fence pipe pipetest pix2g pyramid rawbot room sketch sphflake spltest tea tea_nmg terrain tire torii tube vegitation wdb_example + .deps .libs Makefile Makefile.in bottest brep_cube brep_simple brepintersect breplicator brickwall coil clutter contours fence globe human kurt lens masonry metaball molecule nmgmodel picket_fence pipe pipetest pix2g pyramid rawbot room sketch sphflake spltest tea tea_nmg terrain tire torii tube vegitation wdb_example This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-06-30 17:25:44
|
Revision: 34906 http://brlcad.svn.sourceforge.net/brlcad/?rev=34906&view=rev Author: bob1961 Date: 2009-06-30 17:25:41 +0000 (Tue, 30 Jun 2009) Log Message: ----------- Mods related to Archer's undo (i.e. override commands that are not yet supported by undo). Modified Paths: -------------- brlcad/trunk/src/libtclcad/ged_obj.c brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/libtclcad/ged_obj.c =================================================================== --- brlcad/trunk/src/libtclcad/ged_obj.c 2009-06-30 15:23:28 UTC (rev 34905) +++ brlcad/trunk/src/libtclcad/ged_obj.c 2009-06-30 17:25:41 UTC (rev 34906) @@ -544,7 +544,7 @@ }; static struct go_cmdtab go_cmds[] = { - {"3ptarb", (char *)0, MAXARGS, go_pass_through_func, ged_3ptarb}, + {"3ptarb", (char *)0, MAXARGS, go_more_args_func, ged_3ptarb}, {"adc", "vname args", 7, go_view_func, ged_adc}, {"adjust", (char *)0, MAXARGS, go_pass_through_func, ged_adjust}, {"ae2dir", (char *)0, MAXARGS, go_pass_through_func, ged_ae2dir}, @@ -578,7 +578,6 @@ {"color", (char *)0, MAXARGS, go_pass_through_func, ged_color}, {"comb", (char *)0, MAXARGS, go_pass_through_func, ged_comb}, {"comb_color", (char *)0, MAXARGS, go_pass_through_func, ged_comb_color}, - {"concat", (char *)0, MAXARGS, go_pass_through_func, ged_concat}, {"configure", "vname", MAXARGS, go_configure, GED_FUNC_PTR_NULL}, {"constrain_rmode", "vname x|y|z x y", MAXARGS, go_constrain_rmode, GED_FUNC_PTR_NULL}, {"constrain_tmode", "vname x|y|z x y", MAXARGS, go_constrain_tmode, GED_FUNC_PTR_NULL}, @@ -588,6 +587,8 @@ {"cpi", (char *)0, MAXARGS, go_pass_through_func, ged_cpi}, {"d", (char *)0, MAXARGS, go_pass_through_and_refresh_func, ged_erase}, {"dall", (char *)0, MAXARGS, go_pass_through_and_refresh_func, ged_erase_all}, + {"dbconcat", (char *)0, MAXARGS, go_pass_through_func, ged_concat}, + {"dbfind", (char *)0, MAXARGS, go_pass_through_func, ged_find}, {"dbip", (char *)0, MAXARGS, go_pass_through_func, ged_dbip}, {"decompose", (char *)0, MAXARGS, go_pass_through_func, ged_decompose}, {"delay", (char *)0, MAXARGS, go_pass_through_func, ged_delay}, @@ -611,7 +612,6 @@ {"eye_pos", "vname [x y z]", 5, go_view_func, ged_eye_pos}, {"faceplate", "vname center_dot|prim_labels|view_params|view_scale color|draw [val(s)]", MAXARGS, go_faceplate, GED_FUNC_PTR_NULL}, {"facetize", (char *)0, MAXARGS, go_pass_through_func, ged_facetize}, - {"find", (char *)0, MAXARGS, go_pass_through_func, ged_find}, {"form", (char *)0, MAXARGS, go_pass_through_func, ged_form}, {"fracture", (char *)0, MAXARGS, go_pass_through_func, ged_fracture}, {"g", (char *)0, MAXARGS, go_pass_through_func, ged_group}, Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-06-30 15:23:28 UTC (rev 34905) +++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-06-30 17:25:41 UTC (rev 34906) @@ -142,7 +142,44 @@ method setDefaultBindingMode {_mode} # ArcherCore Override Section + method 3ptarb {args} + method bo {args} + method bot_condense {args} + method bot_decimate {args} + method bot_face_fuse {args} + method bot_merge {args} + method bot_smooth {args} + method bot_split {args} + method bot_vertex_fuse {args} + method c {args} + method clone {args} + method color {args} + method comb {args} + method cp {args} + method cpi {args} + method copyeval {args} + method copymat {args} + method dbconcat {args} + method decompose {args} + method edcodes {args} + method edmater {args} + method facetize {args} + method fracture {args} + method g {args} + method i {args} + method in {args} + method inside {args} method kill {args} + method killall {args} + method killrefs {args} + method killtree {args} + method make {args} + method make_bb {args} + method mirror {args} + method mv {args} + method mvall {args} + method nmg_collapse {args} + method nmg_simplify {args} method p {args} method p_protate {args} method p_pscale {args} @@ -150,8 +187,22 @@ method p_move_arb_edge {args} method p_move_arb_face {args} method p_rotate_arb_face {args} + method prefix {args} + method push {args} + method put {args} + method putmat {args} method Load {_target} + method r {args} + method rcodes {args} + method rfarb {args} + method rmater {args} method saveDb {} + method shells {args} + method tire {args} + method title {args} + method track {args} + method units {args} + method vmake {args} method updateTheme {} # Object Edit Management @@ -187,7 +238,9 @@ # ArcherCore Override Section method dblClick {_tags} + method combWrapper {_cmd _minArgs args} method gedWrapper {_cmd _eflag _hflag _sflag _tflag args} + method gedWrapper2 {_cmd _oindex _pindex _eflag _hflag _sflag _tflag args} method initDefaultBindings {{_comp ""}} method initGed {} method selectNode {_tags {_rflag 1}} @@ -812,8 +865,127 @@ } } +::itcl::body Archer::3ptarb {args} { + eval ArcherCore::gedWrapper 3ptarb 0 0 1 1 $args +} + +::itcl::body Archer::bo {args} { + eval ArcherCore::gedWrapper bo 0 0 1 1 $args +} + +::itcl::body Archer::bot_condense {args} { + eval ArcherCore::gedWrapper bot_condense 0 0 1 1 $args +} + +::itcl::body Archer::bot_decimate {args} { + eval ArcherCore::gedWrapper bot_decimate 0 0 1 1 $args +} + +::itcl::body Archer::bot_face_fuse {args} { + eval ArcherCore::gedWrapper bot_face_fuse 0 0 1 1 $args +} + +::itcl::body Archer::bot_merge {args} { + eval ArcherCore::gedWrapper bot_merge 1 0 1 1 $args +} + +::itcl::body Archer::bot_smooth {args} { + eval ArcherCore::gedWrapper bot_smooth 0 0 1 1 $args +} + +::itcl::body Archer::bot_split {args} { + eval ArcherCore::gedWrapper bot_split 0 0 1 1 $args +} + +::itcl::body Archer::bot_vertex_fuse {args} { + eval ArcherCore::gedWrapper bot_vertex_fuse 0 0 1 1 $args +} + +# +# Create a combination. +# +::itcl::body Archer::c {args} { + eval ArcherCore::gedWrapper c 0 0 1 1 $args +} + +::itcl::body Archer::clone {args} { + eval ArcherCore::gedWrapper clone 0 0 1 1 $args +} + +::itcl::body Archer::color {args} { + eval ArcherCore::gedWrapper color 0 0 1 1 $args +} + +# +# Create a combination or modify an existing one. +# +::itcl::body Archer::comb {args} { + eval combWrapper g 3 $args +} + +::itcl::body Archer::cp {args} { + eval ArcherCore::gedWrapper cp 0 0 1 1 $args +} + +::itcl::body Archer::cpi {args} { + eval ArcherCore::gedWrapper cpi 0 0 1 1 $args +} + +::itcl::body Archer::copyeval {args} { + eval ArcherCore::gedWrapper copyeval 0 0 1 1 $args +} + +::itcl::body Archer::copymat {args} { + eval gedWrapper2 copymat 1 0 0 0 1 1 $args +} + +::itcl::body Archer::dbconcat {args} { + eval ArcherCore::gedWrapper dbconcat 0 0 1 1 $args +} + +::itcl::body Archer::decompose {args} { + eval ArcherCore::gedWrapper decompose 0 0 1 1 $args +} + +# Needs an edWrapper to create checkpoints for each object +::itcl::body Archer::edcodes {args} { + eval ArcherCore::gedWrapper edcodes 0 0 1 1 $args +} + +# Needs an edWrapper to create checkpoints for each object +::itcl::body Archer::edmater {args} { + eval ArcherCore::gedWrapper edmater 0 0 1 1 $args +} + +::itcl::body Archer::facetize {args} { + eval ArcherCore::gedWrapper facetize 0 0 1 1 $args +} + +::itcl::body Archer::fracture {args} { + eval ArcherCore::gedWrapper fracture 0 0 1 1 $args +} + +# +# Create a group or modify an existing one. +# +::itcl::body Archer::g {args} { + eval combWrapper g 2 $args +} + +::itcl::body Archer::i {args} { + eval gedWrapper2 i 1 0 0 0 1 1 $args +} + +::itcl::body Archer::in {args} { + eval ArcherCore::gedWrapper in 0 0 1 1 $args +} + +::itcl::body Archer::inside {args} { + eval ArcherCore::gedWrapper inside 0 0 1 1 $args +} + ::itcl::body Archer::kill {args} { - eval gedWrapper kill 1 0 1 1 $args + eval ArcherCore::gedWrapper kill 1 0 1 1 $args if {$mSelectedObj != "" && [lsearch $args $mSelectedObj] != -1} { set tops [$itk_component(ged) tops] @@ -825,6 +997,46 @@ } } +::itcl::body Archer::killall {args} { + eval ArcherCore::gedWrapper killall 0 0 1 1 $args +} + +::itcl::body Archer::killrefs {args} { + eval ArcherCore::gedWrapper killrefs 0 0 1 1 $args +} + +::itcl::body Archer::killtree {args} { + eval ArcherCore::gedWrapper killtree 0 0 1 1 $args +} + +::itcl::body Archer::make {args} { + eval ArcherCore::gedWrapper make 0 0 1 1 $args +} + +::itcl::body Archer::make_bb {args} { + eval ArcherCore::gedWrapper make_bb 0 0 1 1 $args +} + +::itcl::body Archer::mirror {args} { + eval ArcherCore::gedWrapper mirror 0 0 1 1 $args +} + +::itcl::body Archer::mv {args} { + eval ArcherCore::gedWrapper mv 0 0 1 1 $args +} + +::itcl::body Archer::mvall {args} { + eval ArcherCore::gedWrapper mvall 0 0 1 1 $args +} + +::itcl::body Archer::nmg_collapse {args} { + eval ArcherCore::gedWrapper nmg_collapse 0 0 1 1 $args +} + +::itcl::body Archer::nmg_simplify {args} { + eval ArcherCore::gedWrapper nmg_simplify 0 0 1 1 $args +} + ::itcl::body Archer::p {args} { if {$mSelectedObj == ""} { return @@ -922,6 +1134,22 @@ return $ret } +::itcl::body Archer::prefix {args} { + eval ArcherCore::gedWrapper prefix 0 0 1 1 $args +} + +::itcl::body Archer::push {args} { + eval ArcherCore::gedWrapper push 0 0 1 1 $args +} + +::itcl::body Archer::put {args} { + eval ArcherCore::gedWrapper put 0 0 1 1 $args +} + +::itcl::body Archer::putmat {args} { + eval gedWrapper2 putmat 0 0 0 0 1 1 $args +} + ::itcl::body Archer::Load {_target} { SetWaitCursor $this if {$mNeedSave} { @@ -1016,6 +1244,29 @@ SetNormalCursor $this } +# +# Create a region or modify an existing one. +# +::itcl::body Archer::r {args} { + eval combWrapper r 3 $args +} + +# XXX libged's rcodes needs to return the objects affected +# The affected objects would be added to the ledger. +::itcl::body Archer::rcodes {args} { + eval ArcherCore::gedWrapper rcodes 0 0 1 1 $args +} + +::itcl::body Archer::rfarb {args} { + eval ArcherCore::gedWrapper rfarb 0 0 1 1 $args +} + +# XXX libged's rmater needs to return the objects affected +# The affected objects would be added to the ledger. +::itcl::body Archer::rmater {args} { + eval ArcherCore::gedWrapper rmater 0 0 1 1 $args +} + ::itcl::body Archer::saveDb {} { ArcherCore::saveDb createTargetLedger @@ -1031,6 +1282,32 @@ checkpoint $mSelectedObj } +::itcl::body Archer::shells {args} { + eval ArcherCore::gedWrapper shells 0 0 1 1 $args +} + +::itcl::body Archer::tire {args} { + eval ArcherCore::gedWrapper tire 0 0 1 1 $args +} + +::itcl::body Archer::title {args} { + eval ArcherCore::gedWrapper title 0 0 1 0 $args +} + +# XXX libged's track needs to return the objects affected +# The affected objects would be added to the ledger. +::itcl::body Archer::track {args} { + eval ArcherCore::gedWrapper track 0 0 1 0 $args +} + +::itcl::body Archer::units {args} { + eval ArcherCore::gedWrapper units 0 0 1 0 $args +} + +::itcl::body Archer::vmake {args} { + eval ArcherCore::gedWrapper vmake 0 0 1 1 $args +} + ::itcl::body Archer::updateTheme {} { if {$mInstanceInit} { return @@ -1253,7 +1530,41 @@ } } +# +# Create a combination or modify an existing one. +# +::itcl::body Archer::combWrapper {_cmd _minArgs args} { + set alen [llength $args] + if {$alen < $_minArgs} { + eval ArcherCore::gedWrapper $_cmd 0 0 1 1 $args + return + } + + set obj [lindex $args 0] + set l [gedCmd expand $obj*] + set len [llength $l] + + if {$len == 0} { + # Create a new combination + eval ArcherCore::gedWrapper $_cmd 0 0 1 1 $args + } else { + set i [lsearch -exact $l $obj] + + if {$i == -1} { + # Create a new combination + eval ArcherCore::gedWrapper $_cmd 0 0 1 1 $args + } else { + # Modifying an existing combination + eval gedWrapper $_cmd 0 0 1 1 $args + } + } +} + ::itcl::body Archer::gedWrapper {cmd eflag hflag sflag tflag args} { + eval gedWrapper2 $cmd 0 -1 $eflag $hflag $sflag $tflag $args +} + +::itcl::body Archer::gedWrapper2 {cmd oindex pindex eflag hflag sflag tflag args} { if {![info exists itk_component(ged)]} { return } @@ -1269,8 +1580,24 @@ set expandedArgs $args } - set obj [lindex $expandedArgs 0] + set obj [lindex $expandedArgs $oindex] + if {$pindex >= 0} { + set l [split $obj /] + set len [llength $l] + if {$pindex < $len} { + set obj [lindex $l $pindex] + } + } + + # Must be wanting help + if {$obj == ""} { + catch {eval gedCmd $cmd $options $expandedArgs} ret + SetNormalCursor $this + + return $ret + } + if {$sflag} { checkpoint $obj } @@ -1300,20 +1627,27 @@ # Checkpoint again in case the user starts interacting via the mouse checkpoint $obj } else { - set oflag 0 - updateUndoMode $oflag + updateUndoMode 0 } updateSaveMode # Possibly draw the updated object + set ditem "" foreach item [gedCmd report 0] { - regexp {/([^/]+$)} $item all last - - if {$last == $obj} { - redrawObj $item + set l [split $item /] + set i [lsearch -exact $l $obj] + if {$i != -1} { + for {set j 1} {$j <= $i} {incr j} { + append ditem / [lindex $l $j] + } + break } } + + if {$ditem != ""} { + redrawObj $ditem + } } gedCmd configure -primitiveLabels {} @@ -5199,6 +5533,7 @@ } ::itcl::body Archer::updateObjEditView {} { + updateObjSave redrawObj $mSelectedObjPath } Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-06-30 15:23:28 UTC (rev 34905) +++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-06-30 17:25:41 UTC (rev 34906) @@ -148,12 +148,12 @@ method color {args} method comb {args} method comb_color {args} - method concat {args} method copy {args} method copyeval {args} method copymat {args} method cp {args} method cpi {args} + method dbconcat {args} method dbExpand {args} method decompose {args} method delete {args} @@ -387,8 +387,8 @@ 3ptarb adjust arced attr bev blast bo \ bot2pipe bot_condense bot_decimate bot_face_fuse \ bot_face_sort bot_merge bot_smooth bot_split bot_vertex_fuse \ - c cd clear clone color comb comb_color concat copy copyeval copymat \ - cp cpi dbExpand decompose delete draw E edcodes edcomb \ + c cd clear clone color comb comb_color copy copyeval copymat \ + cp cpi dbconcat dbExpand decompose delete draw E edcodes edcomb \ edmater erase_all ev exit facetize fracture \ g group hide i importFg4Section \ in inside item kill killall killrefs killtree ls \ @@ -3343,10 +3343,6 @@ eval gedWrapper comb_color 0 1 1 1 $args } -::itcl::body ArcherCore::concat {args} { - eval gedWrapper concat 0 0 1 1 $args -} - ::itcl::body ArcherCore::copy {args} { eval gedWrapper cp 0 0 1 1 $args } @@ -3367,6 +3363,10 @@ eval gedWrapper cpi 0 0 1 1 $args } +::itcl::body ArcherCore::dbconcat {args} { + eval gedWrapper dbconcat 0 0 1 1 $args +} + ::itcl::body ArcherCore::dbExpand {args} { # parse out preceeding options set searchType "-glob" @@ -3830,7 +3830,7 @@ } ::itcl::body ArcherCore::shells {args} { - eval gedWrapper shells 0 0 1 0 $args + eval gedWrapper shells 0 0 1 1 $args } ::itcl::body ArcherCore::tire {args} { @@ -3904,11 +3904,11 @@ } ::itcl::body ArcherCore::wmater {args} { - eval gedWrapper wmater 0 0 1 1 $args + eval gedWrapper wmater 0 0 0 0 $args } ::itcl::body ArcherCore::xpush {args} { - eval gedWrapper wmater 0 1 1 0 $args + eval gedWrapper xpush 0 0 1 0 $args } ::itcl::body ArcherCore::Z {args} { Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-06-30 15:23:28 UTC (rev 34905) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-06-30 17:25:41 UTC (rev 34906) @@ -137,7 +137,6 @@ method color {args} method comb {args} method comb_color {args} - method concat {args} method configure_win {args} method constrain_rmode {args} method constrain_tmode {args} @@ -145,6 +144,8 @@ method copymat {args} method cp {args} method cpi {args} + method dbconcat {args} + method dbfind {args} method dbip {args} method decompose {args} method delay {args} @@ -166,7 +167,6 @@ method eye_pos {args} method faceplate {args} method facetize {args} - method find {args} method form {args} method fracture {args} method g {args} @@ -896,10 +896,6 @@ eval $mGed comb_color $args } -::itcl::body cadwidgets::Ged::concat {args} { - eval $mGed concat $args -} - ::itcl::body cadwidgets::Ged::configure_win {args} { eval $mGed configure $args } @@ -928,6 +924,14 @@ eval $mGed cpi $args } +::itcl::body cadwidgets::Ged::dbconcat {args} { + eval $mGed dbconcat $args +} + +::itcl::body cadwidgets::Ged::dbfind {args} { + eval $mGed dbfind $args +} + ::itcl::body cadwidgets::Ged::dbip {args} { eval $mGed dbip $args } @@ -1015,10 +1019,6 @@ eval $mGed facetize $args } -::itcl::body cadwidgets::Ged::find {args} { - eval $mGed find $args -} - ::itcl::body cadwidgets::Ged::form {args} { eval $mGed form $args } @@ -2872,11 +2872,12 @@ $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 concat {{file [prefix]} {concatenate 'file' onto end of present database. Run 'dup file' first.}} $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}} $help add cpi {{from to} {copy cylinder and position at end of original cylinder}} + $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 decompose {{nmg_solid [prefix]} {decompose nmg_solid into maximally connected shells}} $help add delay {{sec usec} {delay processing for the specified amount of time}} @@ -2897,7 +2898,6 @@ $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 find {{[-s] <objects>} {find all references to 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: <d_r...@us...> - 2009-07-02 07:06:36
|
Revision: 34930 http://brlcad.svn.sourceforge.net/brlcad/?rev=34930&view=rev Author: d_rossberg Date: 2009-07-02 07:06:14 +0000 (Thu, 02 Jul 2009) Log Message: ----------- sync with Makefile.am Modified Paths: -------------- brlcad/trunk/src/libged/CMakeLists.txt brlcad/trunk/src/librt/CMakeLists.txt Modified: brlcad/trunk/src/libged/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libged/CMakeLists.txt 2009-07-02 07:02:33 UTC (rev 34929) +++ brlcad/trunk/src/libged/CMakeLists.txt 2009-07-02 07:06:14 UTC (rev 34930) @@ -26,6 +26,7 @@ bot_split.c bot_sync.c bot_vertex_fuse.c + brep.c cat.c cc.c center.c Modified: brlcad/trunk/src/librt/CMakeLists.txt =================================================================== --- brlcad/trunk/src/librt/CMakeLists.txt 2009-07-02 07:02:33 UTC (rev 34929) +++ brlcad/trunk/src/librt/CMakeLists.txt 2009-07-02 07:06:14 UTC (rev 34930) @@ -46,6 +46,7 @@ primitives/ars/ars.c primitives/bot/bot.c primitives/brep/brep.cpp + primitives/brep/brep_debug.cpp primitives/bspline/bspline.c primitives/bspline/nurb_basis.c primitives/bspline/nurb_bezier.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ind...@us...> - 2009-07-13 02:56:04
|
Revision: 35083 http://brlcad.svn.sourceforge.net/brlcad/?rev=35083&view=rev Author: indianlarry Date: 2009-07-13 02:56:00 +0000 (Mon, 13 Jul 2009) Log Message: ----------- added more debugging code/options to mged brep command Modified Paths: -------------- brlcad/trunk/src/libged/brep.c brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp Modified: brlcad/trunk/src/libged/brep.c =================================================================== --- brlcad/trunk/src/libged/brep.c 2009-07-13 02:54:38 UTC (rev 35082) +++ brlcad/trunk/src/libged/brep.c 2009-07-13 02:56:00 UTC (rev 35083) @@ -37,7 +37,7 @@ RT_EXPORT BU_EXTERN(int brep_surface_info, (struct brep_specific* bs,struct bu_vls *vls,int si)); RT_EXPORT BU_EXTERN(int brep_surface_plot, - (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index)); + (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index,int plotres)); RT_EXPORT BU_EXTERN(int brep_facetrim_plot, (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index)); #else @@ -69,7 +69,7 @@ bu_vls_trunc(&gedp->ged_result_str, 0); /* must be wanting help */ - if (argc == 1) { + if (argc <= 2) { bu_vls_printf(&gedp->ged_result_str, "Usage: %s %s", argv[0], usage); bu_vls_printf(&gedp->ged_result_str, "commands:\n"); bu_vls_printf(&gedp->ged_result_str, "\tinfo - return count information for specific BREP\n"); @@ -162,7 +162,7 @@ } else if (argc == 3) { bu_vls_printf( &gedp->ged_result_str, "%s", usage); brep_info(bs, &gedp->ged_result_str); - } else if (argc == 5) { + } else if (argc >= 5) { char *part = argv[3]; char *strindex = argv[4]; if (strcmp(strindex,"?") == 0) { @@ -172,11 +172,15 @@ brep_info(bs, &gedp->ged_result_str); } else { int index = atoi(strindex); + int plotres = 100; if (strcmp(part,"S") == 0) { bu_vls_printf(&gedp->ged_result_str, "%s plot:", solid_name); - + if (argc == 6) { + char *strres = argv[5]; + plotres = atoi(strres); + } vbp = rt_vlblock_init(); - brep_surface_plot(gedp,bs,bi,vbp,index); + brep_surface_plot(gedp,bs,bi,vbp,index,plotres); ged_cvt_vlblock_to_solids(gedp, vbp, "_SURF_", 0); rt_vlblock_free(vbp); vbp = (struct bn_vlblock *)NULL; Modified: brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp =================================================================== --- brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp 2009-07-13 02:54:38 UTC (rev 35082) +++ brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp 2009-07-13 02:56:00 UTC (rev 35083) @@ -54,7 +54,7 @@ RT_EXPORT BU_EXTERN(int brep_surface_info, (struct brep_specific* bs,struct bu_vls *vls,int si)); RT_EXPORT BU_EXTERN(int brep_surface_plot, - (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index)); + (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index,int plotres)); RT_EXPORT BU_EXTERN(int brep_facetrim_plot, (struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index)); #ifdef __cplusplus @@ -315,8 +315,10 @@ trimCurve->GetSpanVector(knots); for(int i=1;i<=knotcnt;i++) { ON_3dPoint p = trimCurve->PointAt(knots[i-1]); + p = surf->PointAt(p.x,p.y); VMOVE(pt1, p); p = trimCurve->PointAt(knots[i]); + p = surf->PointAt(p.x,p.y); VMOVE(pt2, p); RT_ADD_VLIST(vhead, pt1, BN_VLIST_LINE_MOVE); RT_ADD_VLIST(vhead, pt2, BN_VLIST_LINE_DRAW); @@ -327,8 +329,10 @@ // XXX todo: dynamically sample the curve for (int i = 1; i <= 10000; i++) { ON_3dPoint p = trimCurve->PointAt(dom.ParameterAt((double)(i-1)/10000.0)); + p = surf->PointAt(p.x,p.y); VMOVE(pt1, p); p = trimCurve->PointAt(dom.ParameterAt((double)i/10000.0)); + p = surf->PointAt(p.x,p.y); VMOVE(pt2, p); RT_ADD_VLIST(vhead, pt1, BN_VLIST_LINE_MOVE); RT_ADD_VLIST(vhead, pt2, BN_VLIST_LINE_DRAW); @@ -340,7 +344,7 @@ return; } -void plotsurface(ON_Surface &surf, struct bn_vlblock *vbp) { +void plotsurface(ON_Surface &surf, struct bn_vlblock *vbp,int plotres) { register struct bu_list *vhead; double umin, umax; double vmin, vmax; @@ -352,7 +356,7 @@ ON_Interval udom = surf.Domain(0); ON_Interval vdom = surf.Domain(1); - int inc = 100; + int inc = plotres; for (int u = 0; u <= inc; u++) { for (int v = 1; v <= inc; v++) { ON_3dPoint p = surf.PointAt(udom.ParameterAt((double)u/(double)inc),vdom.ParameterAt((double)(v-1)/(double)inc)); @@ -497,7 +501,7 @@ } int -brep_surface_plot(struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index) +brep_surface_plot(struct ged *gedp, struct brep_specific* bs, struct rt_brep_internal* bi, struct bn_vlblock *vbp,int index,int plotres) { register struct bu_list *vhead; struct bn_vlblock *surface_leafs_vbp; @@ -509,7 +513,7 @@ return -1; } ON_Surface *surf = brep->m_S[index]; - plotsurface(*surf,vbp); + plotsurface(*surf,vbp,plotres); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n_...@us...> - 2009-07-15 01:46:57
|
Revision: 35122 http://brlcad.svn.sourceforge.net/brlcad/?rev=35122&view=rev Author: n_reed Date: 2009-07-15 01:46:52 +0000 (Wed, 15 Jul 2009) Log Message: ----------- fixed mged dm-rtgl bus error on exit Modified Paths: -------------- brlcad/trunk/src/libdm/dm-rtgl.c brlcad/trunk/src/mged/Makefile.am Modified: brlcad/trunk/src/libdm/dm-rtgl.c =================================================================== --- brlcad/trunk/src/libdm/dm-rtgl.c 2009-07-15 00:42:05 UTC (rev 35121) +++ brlcad/trunk/src/libdm/dm-rtgl.c 2009-07-15 01:46:52 UTC (rev 35122) @@ -181,6 +181,40 @@ extern float diffuseColor[4]; extern float backColor[]; +/* ray trace vars */ +struct application app; +struct rt_i *rtip; + +/* last trees drawn */ +char *oldTrees[RT_MAXARGS]; +int oldNumTrees = 0; + +/* number of points to draw at a time */ +#define DRAW_NUM 1000 +#define BUF_SIZE 3 * DRAW_NUM + +/* draw buffer */ +fastf_t drawBuffer[BUF_SIZE]; +int bufUsed = 0; /* used space in buffer */ + +/* list of hit points */ +struct pointList points; + +/* remove all points from points list */ +void freePoints(void) { + + /* list cannot be empty */ + if (points.l.forw != NULL && points.l.forw != &points) { + + struct pointList *curr; + while (BU_LIST_WHILE(curr, pointList, &(points.l))) { + BU_LIST_DEQUEUE(&(curr->l)); + bu_free(curr, "free pointList curr"); + } + } +} + + void rtgl_fogHint(struct dm *dmp, int fastfog) { @@ -961,36 +995,6 @@ return TCL_OK; } -/* ray trace vars */ -struct application app; -struct rt_i *rtip; - -/* last database drawn */ -char *lastDB = NULL; - -/* last trees drawn */ -char *oldTrees[RT_MAXARGS]; -int oldNumTrees = 0; - -/* number of points to draw at a time */ -#define DRAW_NUM 1000 -#define BUF_SIZE 3 * DRAW_NUM - -/* draw buffer */ -fastf_t drawBuffer[BUF_SIZE]; -int bufUsed = 0; /* used space in buffer */ - -/* list of hit points */ -struct pointList points; - -void freePoints(void) { - struct pointList *curr; - while (BU_LIST_WHILE(curr, pointList, &(points.l))) { - BU_LIST_DEQUEUE(&(curr->l)); - bu_free(curr, "free pointList curr"); - } -} - /* add a hit point to points list */ void addPoint(struct application *app, struct hit *hit) { point_t point; @@ -1119,8 +1123,6 @@ return TCL_OK; } - lastDB = - /* look for new trees in need of ray tracing */ newTrees = 0; @@ -1180,26 +1182,26 @@ for (BU_LIST_FOR(curr, pointList, &(points.l))) { - /* draw buffer when full */ - if (bufUsed == BUF_SIZE) { - glDrawArrays(GL_POINTS, 0, bufUsed); - bufUsed = 0; - } + /* draw buffer when full */ + if (bufUsed == BUF_SIZE) { + glDrawArrays(GL_POINTS, 0, bufUsed); + bufUsed = 0; + } - /* add next point to buffer */ + /* add next point to buffer */ else { - drawBuffer[bufUsed + X] = curr->pt[X]; - drawBuffer[bufUsed + Y] = curr->pt[Y]; - drawBuffer[bufUsed + Z] = curr->pt[Z]; + drawBuffer[bufUsed + X] = curr->pt[X]; + drawBuffer[bufUsed + Y] = curr->pt[Y]; + drawBuffer[bufUsed + Z] = curr->pt[Z]; - bufUsed += 3; - } + bufUsed += 3; + } } if (bufUsed > 0) { /* draw remainder */ glDrawArrays(GL_POINTS, 0, bufUsed); - bufUsed = 0; + bufUsed = 0; } return TCL_OK; Modified: brlcad/trunk/src/mged/Makefile.am =================================================================== --- brlcad/trunk/src/mged/Makefile.am 2009-07-15 00:42:05 UTC (rev 35121) +++ brlcad/trunk/src/mged/Makefile.am 2009-07-15 01:46:52 UTC (rev 35122) @@ -9,8 +9,8 @@ OGL_CFLAGS = endif -#RTGL_SRCS = dm-rtgl.c -#RTGL_CFLAGS = -DDM_RTGL -DIF_RTGL $(GL_CFLAGS) +# RTGL_SRCS = dm-rtgl.c +# RTGL_CFLAGS = -DDM_RTGL -DIF_RTGL $(GL_CFLAGS) RTGL_SRCS = RTGL_CFLAGS = This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-07-17 15:35:45
|
Revision: 35168 http://brlcad.svn.sourceforge.net/brlcad/?rev=35168&view=rev Author: bob1961 Date: 2009-07-17 15:35:43 +0000 (Fri, 17 Jul 2009) Log Message: ----------- Mods to support undo operations for the _GLOBAL object in Archer. Modified Paths: -------------- brlcad/trunk/src/libged/copy.c brlcad/trunk/src/libtclcad/ged_obj.c brlcad/trunk/src/tclscripts/archer/Archer.tcl brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl brlcad/trunk/src/tclscripts/lib/Ged.tcl Modified: brlcad/trunk/src/libged/copy.c =================================================================== --- brlcad/trunk/src/libged/copy.c 2009-07-17 14:34:31 UTC (rev 35167) +++ brlcad/trunk/src/libged/copy.c 2009-07-17 15:35:43 UTC (rev 35168) @@ -122,6 +122,38 @@ bu_free_external(&external); + /* Need to do something extra for _GLOBAL */ + if (to_gedp->ged_wdbp->dbip->dbi_version > 4 && !strcmp(to, DB5_GLOBAL_OBJECT_NAME)) { + register struct directory *to_dp; + struct bu_attribute_value_set avs; + const char *val; + + GED_DB_LOOKUP(to_gedp, to_dp, to, LOOKUP_NOISY, GED_ERROR & GED_QUIET); + + bu_avs_init_empty(&avs); + if (db5_get_attributes(to_gedp->ged_wdbp->dbip, &avs, to_dp)) { + bu_vls_printf(&from_gedp->ged_result_str, "Cannot get attributes for object %s\n", to_dp->d_namep); + return GED_ERROR; + } + + if ((val = bu_avs_get(&avs, "title")) != NULL) + to_gedp->ged_wdbp->dbip->dbi_title = strdup(val); + + if ((val = bu_avs_get(&avs, "units")) != NULL) { + double loc2mm; + + if ((loc2mm = bu_mm_value(val)) > 0) { + to_gedp->ged_wdbp->dbip->dbi_local2base = loc2mm; + to_gedp->ged_wdbp->dbip->dbi_base2local = 1.0 / loc2mm; + } + } + + if ((val = bu_avs_get(&avs, "regionid_colortable")) != NULL) + db5_import_color_table(val); + + bu_avs_free(&avs); + } + return GED_OK; } Modified: brlcad/trunk/src/libtclcad/ged_obj.c =================================================================== --- brlcad/trunk/src/libtclcad/ged_obj.c 2009-07-17 14:34:31 UTC (rev 35167) +++ brlcad/trunk/src/libtclcad/ged_obj.c 2009-07-17 15:35:43 UTC (rev 35168) @@ -609,6 +609,7 @@ {"eac", (char *)0, MAXARGS, go_autoview_func, ged_eac}, {"echo", (char *)0, MAXARGS, go_pass_through_func, ged_echo}, {"edcodes", (char *)0, MAXARGS, go_pass_through_func, ged_edcodes}, + {"edcolor", (char *)0, MAXARGS, go_pass_through_func, ged_edcolor}, {"edcomb", (char *)0, MAXARGS, go_pass_through_func, ged_edcomb}, {"edmater", (char *)0, MAXARGS, go_pass_through_func, ged_edmater}, {"erase", (char *)0, MAXARGS, go_pass_through_and_refresh_func, ged_erase}, Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-07-17 14:34:31 UTC (rev 35167) +++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2009-07-17 15:35:43 UTC (rev 35168) @@ -166,6 +166,7 @@ method dbconcat {args} method decompose {args} method edcodes {args} + method edcolor {args} method edmater {args} method facetize {args} method fracture {args} @@ -213,6 +214,7 @@ # Object Edit Management method checkpoint {_obj} method checkpoint_olist {_olist} + method clearTargetLedger {} method createTargetLedger {} method global_undo {} method ledger_cleanup {} @@ -228,7 +230,6 @@ variable mNeedGlobalUndo 0 variable mNeedObjUndo 0 variable mNeedCheckpoint 0 - variable mTargetLedger "" variable mLedger "" variable mLedgerGID 0 @@ -247,6 +248,7 @@ method combWrapper {_cmd _minArgs args} method gedWrapper {_cmd _eflag _hflag _sflag _tflag args} method gedWrapper2 {_cmd _oindex _pindex _eflag _hflag _sflag _tflag args} + method globalWrapper {_cmd args} method initDefaultBindings {{_comp ""}} method initGed {} method selectNode {_tags {_rflag 1}} @@ -492,7 +494,7 @@ ::itcl::body Archer::destructor {} { writePreferences - if {$mTargetLedger != ""} { + if {$mLedger != ""} { catch {rename $mLedger ""} } } @@ -978,6 +980,10 @@ eval ArcherCore::gedWrapper edcodes 0 0 1 1 $args } +::itcl::body Archer::edcolor {args} { + return [eval globalWrapper edcolor $args] +} + # Needs an edWrapper to create checkpoints for each object ::itcl::body Archer::edmater {args} { eval ArcherCore::gedWrapper edmater 0 0 1 1 $args @@ -1219,6 +1225,10 @@ createTargetCopy } + if {!$mViewOnly} { + createTargetLedger + } + # Load MGED database if {[info exists itk_component(ged)]} { if {$mDbShared} { @@ -1250,7 +1260,7 @@ updateWizardMenu updateUtilityMenu deleteTargetOldCopy - createTargetLedger +# createTargetLedger updateCreationButtons 1 @@ -1296,7 +1306,8 @@ ::itcl::body Archer::saveDb {} { ArcherCore::saveDb - createTargetLedger + clearTargetLedger +# createTargetLedger set mNeedCheckpoint 0 updateCheckpointMode @@ -1318,7 +1329,7 @@ } ::itcl::body Archer::title {args} { - eval ArcherCore::gedWrapper title 0 0 1 0 $args + return [eval globalWrapper title $args] } # XXX libged's track needs to return the objects affected @@ -1328,7 +1339,7 @@ } ::itcl::body Archer::units {args} { - eval ArcherCore::gedWrapper units 0 0 1 0 $args + return [eval globalWrapper units $args] } ::itcl::body Archer::vmake {args} { @@ -1708,6 +1719,52 @@ return $ret } +::itcl::body Archer::globalWrapper {_cmd args} { + if {$_cmd != "edcolor" && $args == {}} { + return [gedCmd $_cmd] + } + + if {$_cmd == "units" && [llength $args] == 1 && [lindex $args 0] == "-s"} { + return [gedCmd units -s] + } + + set old_units [gedCmd units -s] + set lname [checkpoint _GLOBAL] + + if {[catch {eval gedCmd $_cmd $args} ret]} { + return $ret + } + + set new_units [gedCmd units -s] + + # Nothing else to do + if {$_cmd == "units" && $old_units == $new_units} { + ledger_cleanup + return "" + } + + if {$lname == ""} { + return "No ledger entry found for _GLOBAL." + } else { + # Assumed to have mods after the command invocation above + $mLedger attr set $lname $HAVE_MODS 1 + $mLedger attr set $lname UNITS $old_units + } + + set lname [checkpoint _GLOBAL] + if {$lname == ""} { + return "No ledger entry found for _GLOBAL." + } else { + $mLedger attr set $lname UNITS $new_units + } + + set mNeedSave 1 + updateSaveMode + + gedCmd refresh + return $ret +} + ::itcl::body Archer::initDefaultBindings {{_comp ""}} { if {$_comp == ""} { if {[info exists itk_component(ged)]} { @@ -6970,13 +7027,7 @@ return } - #XXX Need to have a binary copy of an object from one database - # to another. That would take care of the lossiness of get - # and put. It would also handle copying attributes. - - # This "get" fails for objects like _GLOBAL. So until the binary - # copy gets implemented, objects like _GLOBAL cannot be checkpointed. - if {[catch {gedCmd get $_obj} gdata]} { + if {[catch {gedCmd attr show $_obj} adata]} { return } @@ -7023,7 +7074,7 @@ updateUndoMode $oflag - return + return $le } incr oid @@ -7068,6 +7119,8 @@ } updateUndoMode $oflag + + return $lname } ## @@ -7087,7 +7140,7 @@ # Create the ledger entries foreach obj $_olist { - if {[catch {gedCmd get $obj} gdata]} { + if {[catch {gedCmd attr show $obj} adata]} { continue } @@ -7152,20 +7205,18 @@ updateUndoMode $oflag } +::itcl::body Archer::clearTargetLedger {} { + set mLedgerGID 0 + $mLedger +} + ::itcl::body Archer::createTargetLedger {} { # This belongs in the openDb and newDb # Delete previous ledger - if {$mTargetLedger != ""} { + if {$mLedger != ""} { catch {rename $mLedger ""} } - set mTargetLedger "$mTarget\.ledger" - set id 1 - while {[file exists $mTargetLedger]} { - set mTargetLedger "$mTarget\.ledger.$id" - incr id - } - set mLedgerGID 0 set mLedger "ledger" go_open $mLedger inmem 0 @@ -7205,31 +7256,39 @@ set mLedgerGID $gid # Adjust the corresponding object according to the ledger entry -# set gdata [lrange [$mLedger get $le] 1 end] -# eval gedCmd adjust $gname $gdata -# gedCmd kill $gname gedCmd cp -f $mLedger\:$le $gname gedCmd attr rm $gname Have_Mods + if {$gname == "_GLOBAL"} { + gedCmd refresh + } + # Remove the ledger entry $mLedger kill $le incr mLedgerGID -1 - if {$gname == $mSelectedObj} { - set mNeedObjSave 0 - redrawObj $mSelectedObjPath - initEdit 0 - } else { - # Possibly draw the updated object - set stripped_le [regsub {[0-9]+_[0-9]+_} $le ""] - foreach item [gedCmd report 0] { - regexp {/([^/]+$)} $item all last + if {$gname != "_GLOBAL"} { + if {$gname == $mSelectedObj} { + set mNeedObjSave 0 + redrawObj $mSelectedObjPath + initEdit 0 + } else { + # Possibly draw the updated object + set stripped_le [regsub {[0-9]+_[0-9]+_} $le ""] + foreach item [gedCmd report 0] { + regexp {/([^/]+$)} $item all last - if {$last == $stripped_le} { - redrawObj $item + if {$last == $stripped_le} { + redrawObj $item + } } } + + # Make sure the selected object has atleast one checkpoint + if {$gname == $mSelectedObj} { + checkpoint $mSelectedObj + } } set l [$mLedger ls -A $HAVE_MODS 1] @@ -7244,11 +7303,6 @@ updateSaveMode updateUndoMode } - - # Make sure the selected object has atleast one checkpoint - if {$gname == $mSelectedObj} { - checkpoint $mSelectedObj - } } ::itcl::body Archer::ledger_cleanup {} { @@ -7318,9 +7372,6 @@ } # Adjust the corresponding object according to the ledger entry -# set gdata [lrange [$mLedger get $le] 1 end] -# eval gedCmd adjust $gname $gdata -# gedCmd kill $gname gedCmd cp -f $mLedger\:$le $gname gedCmd attr rm $gname Have_Mods Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl =================================================================== --- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-07-17 14:34:31 UTC (rev 35167) +++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2009-07-17 15:35:43 UTC (rev 35168) @@ -161,6 +161,7 @@ method draw {args} method E {args} method edcodes {args} + method edcolor {args} method edcomb {args} method edmater {args} method erase {args} @@ -390,7 +391,7 @@ bot2pipe bot_condense bot_decimate bot_face_fuse \ bot_face_sort bot_merge bot_smooth bot_split bot_vertex_fuse \ c cd clear clone color comb comb_color copy copyeval copymat \ - cp cpi dbconcat dbExpand decompose delete draw E edcodes edcomb \ + cp cpi dbconcat dbExpand decompose delete draw E edcodes edcolor edcomb \ edmater erase_all ev exit facetize fracture \ g group hide i importFg4Section \ in inside item kill killall killrefs killtree ls \ @@ -3501,6 +3502,10 @@ eval gedWrapper edcodes 0 0 1 0 $args } +::itcl::body ArcherCore::edcolor {args} { + eval gedWrapper edcolor 0 0 1 0 $args +} + ::itcl::body ArcherCore::edcomb {args} { eval gedWrapper edcomb 0 0 1 1 $args } Modified: brlcad/trunk/src/tclscripts/lib/Ged.tcl =================================================================== --- brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-07-17 14:34:31 UTC (rev 35167) +++ brlcad/trunk/src/tclscripts/lib/Ged.tcl 2009-07-17 15:35:43 UTC (rev 35168) @@ -158,6 +158,7 @@ method eac {args} method echo {args} method edcodes {args} + method edcolor {args} method edcomb {args} method edmater {args} method erase {args} @@ -982,6 +983,10 @@ eval $mGed edcodes $args } +::itcl::body cadwidgets::Ged::edcolor {args} { + eval $mGed edcolor $args +} + ::itcl::body cadwidgets::Ged::edcomb {args} { eval $mGed edcomb $args } @@ -2900,6 +2905,7 @@ $help add eac {{air_code(s)} {draw objects with the specified air codes}} $help add echo {{args} {echo the specified args to the command window}} $help add edcodes {{object(s)} {edit the various codes for the specified objects}} + $help add edcolor {{} {edit the color table}} $help add edcomb {{comb rflag rid air los mid} {modify combination record information}} $help add edmater {{comb1 [comb2 ...]} {edit combination materials}} $help add erase {{<objects>} {remove objects from the screen}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <n_...@us...> - 2009-07-23 17:28:06
|
Revision: 35265 http://brlcad.svn.sourceforge.net/brlcad/?rev=35265&view=rev Author: n_reed Date: 2009-07-23 17:27:56 +0000 (Thu, 23 Jul 2009) Log Message: ----------- turned z-clipping on by default for dm-rtgl Modified Paths: -------------- brlcad/trunk/src/libdm/Makefile.am brlcad/trunk/src/libdm/dm-rtgl.c brlcad/trunk/src/tclscripts/mged/mview.tcl Modified: brlcad/trunk/src/libdm/Makefile.am =================================================================== --- brlcad/trunk/src/libdm/Makefile.am 2009-07-23 17:16:46 UTC (rev 35264) +++ brlcad/trunk/src/libdm/Makefile.am 2009-07-23 17:27:56 UTC (rev 35265) @@ -22,10 +22,10 @@ DM_OGL_LIBS = endif -DM_RTGL_CFLAGS = -DDM_RTGL -DIF_RTGL $(GL_CFLAGS) -DM_RTGL_LIBS = ${LIBGL} -#DM_RTGL_CFLAGS = -#DM_RTGL_LIBS = +#DM_RTGL_CFLAGS = -DDM_RTGL -DIF_RTGL $(GL_CFLAGS) +#DM_RTGL_LIBS = ${LIBGL} +DM_RTGL_CFLAGS = +DM_RTGL_LIBS = if WITH_TK DM_TK_CFLAGS = -DDM_TK -DIF_TK Modified: brlcad/trunk/src/libdm/dm-rtgl.c =================================================================== --- brlcad/trunk/src/libdm/dm-rtgl.c 2009-07-23 17:16:46 UTC (rev 35264) +++ brlcad/trunk/src/libdm/dm-rtgl.c 2009-07-23 17:27:56 UTC (rev 35265) @@ -19,7 +19,7 @@ */ /** @file dm-rtgl.c * - * An Ray Tracing X11 OpenGL Display Manager. + * A Ray Tracing X11 OpenGL Display Manager. * */ @@ -159,7 +159,7 @@ 0, /* no transparency */ 1, /* depth buffer is writable */ 1, /* zbuffer */ - 0, /* no zclipping */ + 1, /* zclipping on by default */ 0, /* clear back buffer after drawing and swap */ 0 /* Tcl interpreter */ }; @@ -170,8 +170,6 @@ /* lighting parameters */ extern float amb_three[]; - - extern float light0_direction[]; extern float light0_position[]; extern float light0_diffuse[]; @@ -194,7 +192,7 @@ struct ptInfoList *currItem; /* remove all points from points list */ -void freePoints(void) { +void freeInfoList(void) { /* list cannot be empty */ if (ptInfo.l.forw != NULL && (struct ptInfoList *)ptInfo.l.forw != &ptInfo) { @@ -204,6 +202,8 @@ BU_LIST_DEQUEUE(&(curr->l)); bu_free(curr, "free ptInfoList curr"); } + + ptInfo.l.forw = BU_LIST_NULL; } } @@ -304,10 +304,10 @@ ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.fogdensity = 1.0; ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.lighting_on = dmp->dm_light; ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.zbuffer_on = dmp->dm_zbuffer; - ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.zclipping_on = dmp->dm_zclip; ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.debug = dmp->dm_debugLevel; ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.bound = dmp->dm_bound; ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.boundFlag = dmp->dm_boundFlag; + ((struct rtgl_vars *)dmp->dm_vars.priv_vars)->mvars.zclipping_on = dmp->dm_zclip; /* this is important so that rtgl_configureWin knows to set the font */ ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct = NULL; @@ -775,7 +775,7 @@ bu_free(dmp, "rtgl_close: dmp"); /* free points list */ - freePoints(); + freeInfoList(); return TCL_OK; } @@ -1140,6 +1140,8 @@ HIDDEN int rtgl_drawVList(struct dm *dmp, register struct bn_vlist *vp) { + static int call; + int i, j, numTrees, new, newTrees; char *currTree, *trees[RT_MAXARGS]; struct ptInfoList *curr; @@ -1180,7 +1182,7 @@ if (numTrees == 0) { /* drop all display points */ - freePoints(); + freeInfoList(); return TCL_OK; } @@ -1211,6 +1213,7 @@ /* get points for new trees */ if (newTrees) { + call = 1; /* set up application */ RT_APPLICATION_INIT(&app); @@ -1234,16 +1237,19 @@ shootGrid(min, max, Y, Z, X); } - /* draw points */ - glColor3d(0, 1, 0); - glEnableClientState(GL_VERTEX_ARRAY); + /* calculate view vector and its magnitude */ vect_t normal, view; - fastf_t cAngle, viewMag; - int used, index, count = 0; + fastf_t cosAngle, viewMag; aeVect(view, gedp->ged_gvp->gv_aet); viewMag = MAGNITUDE(view); + /* draw points */ + glEnableClientState(GL_VERTEX_ARRAY); + + int used, index, count = 0; + +#if 1 for (BU_LIST_FOR(currItem, ptInfoList, &(ptInfo.l))) { glVertexPointer(3, GL_DOUBLE, 0, &(currItem->points)); @@ -1259,18 +1265,38 @@ normal[Z] = currItem->norms[index + Z]; /* cosine of angle between normal and view vectors */ - cAngle = ( VDOT(view, normal) / (MAGNITUDE(view) * MAGNITUDE(normal)) ); + cosAngle = ( VDOT(view, normal) / (MAGNITUDE(view) * MAGNITUDE(normal)) ); - /* visible elements have angle < 90 degrees */ - if (!(cAngle < 0)) { + /* visible elements have angle < 90 degrees, or cos(angle) > 0 */ + if (cosAngle > 0) { count++; - glColor3d(cAngle, cAngle, cAngle); + glColor3d(cosAngle, cosAngle, cosAngle); glArrayElement(i); } } glEnd(); } +#else + glColor3d(0,1,0); + glBegin(GL_POLYGON); + glVertex3d(0,0,-1); + glVertex3d(1,0,-1); + glVertex3d(1,1,-1); + glVertex3d(0,1,-1); + glEnd(); + glColor3d(1,0,0); + glBegin(GL_POLYGON); + glVertex3d(0,0,1); + glVertex3d(1,0,1); + glVertex3d(1,1,1); + glVertex3d(0,1,1); + glEnd(); +#endif + + /*bu_log("points drawn: %d", count);*/ + call++; + return TCL_OK; } Modified: brlcad/trunk/src/tclscripts/mged/mview.tcl =================================================================== --- brlcad/trunk/src/tclscripts/mged/mview.tcl 2009-07-23 17:16:46 UTC (rev 35264) +++ brlcad/trunk/src/tclscripts/mged/mview.tcl 2009-07-23 17:27:56 UTC (rev 35265) @@ -40,6 +40,10 @@ attach -d $dpy -t 0 -n $w.ul $dtype dm set zclip $mged_default(zclip) + if { $dtype == "rtgl" } { + dm set zclip 1 + dm set zbuffer 1 + } if { $dtype == "ogl" } { dm set zbuffer $mged_default(zbuffer) dm set lighting $mged_default(lighting) @@ -50,6 +54,10 @@ attach -d $dpy -t 0 -n $w.ur $dtype dm set zclip $mged_default(zclip) + if { $dtype == "rtgl" } { + dm set zclip 1 + dm set zbuffer 1 + } if { $dtype == "ogl" } { dm set zbuffer $mged_default(zbuffer) dm set lighting $mged_default(lighting) @@ -60,6 +68,10 @@ attach -d $dpy -t 0 -n $w.ll $dtype dm set zclip $mged_default(zclip) + if { $dtype == "rtgl" } { + dm set zclip 1 + dm set zbuffer 1 + } if { $dtype == "ogl" } { dm set zbuffer $mged_default(zbuffer) dm set lighting $mged_default(lighting) @@ -70,6 +82,10 @@ attach -d $dpy -t 0 -n $w.lr $dtype dm set zclip $mged_default(zclip) + if { $dtype == "rtgl" } { + dm set zclip 1 + dm set zbuffer 1 + } if { $dtype == "ogl" } { dm set zbuffer $mged_default(zbuffer) dm set lighting $mged_default(lighting) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |