Revision: 41322
          http://brlcad.svn.sourceforge.net/brlcad/?rev=41322&view=rev
Author:   bob1961
Date:     2010-11-10 22:37:36 +0000 (Wed, 10 Nov 2010)

Log Message:
-----------
Update the getTreeMembers method to handle member names containing spaces. 
There's still more work to do in other areas of Archer for handling object 
names containing spaces.

Modified Paths:
--------------
    brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl

Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2010-11-10 22:32:19 UTC 
(rev 41321)
+++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2010-11-10 22:37:36 UTC 
(rev 41322)
@@ -711,7 +711,7 @@
        # db/display commands
        method getNodeChildren  {_node}
        method getTreeFromGData  {_gdata}
-       method getTreeMembers  {_tlist}
+       method getTreeMembers  {_tlist {_mlist {}}}
        method getTreeOp {_parent _child}
        method renderComp        {_node}
        method render             {_node _state _trans _updateTree {_wflag 1}}
@@ -2884,24 +2884,23 @@
     return {}
 }
 
-::itcl::body ArcherCore::getTreeMembers {_tlist} {
-    # first remove any matrices
-    regsub -all -- {\{-?[0-9]+[^\}]+-?[0-9]+\}} $_tlist "" _tlist
+::itcl::body ArcherCore::getTreeMembers {_tlist {_mlist {}}} {
+    set len [llength $_tlist]
+    set op [lindex $_tlist 0]
+    if {$op == "l"} {
+       set name [lindex $_tlist 1]
+       lappend _mlist $name
+       return $_mlist
+    }
 
-    # remove all other unwanted stuff
-    regsub -all {^[lun!GXN^-] |\{[lun!GXN^-]|\}} $_tlist "" _tlist
-
-    return $_tlist
-
-    # finally, remove any duplicates
-    set ntlist {}
-    foreach item $_tlist {
-       if {[lsearch $ntlist $item] == -1} {
-           lappend ntlist $item
-       }
+    if {$len == 3} {
+       set _mlist [getTreeMembers [lindex $_tlist 1] $_mlist]
+       set _mlist [getTreeMembers [lindex $_tlist 2] $_mlist]
+       return $_mlist
     }
 
-    return $ntlist
+    puts "ArcherCore::getTreeMembers: faulty tree - $_tlist"
+    return $_mlist
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to