|
954 | 954 | } |
955 | 955 |
|
956 | 956 | JSROOT.TGeoPainter.prototype.drawGeometry = function(opt) { |
| 957 | + if (typeof opt != 'string') opt = ""; |
| 958 | + |
957 | 959 | var rect = this.select_main().node().getBoundingClientRect(); |
958 | 960 |
|
959 | 961 | var w = rect.width, h = rect.height, size = 100; |
|
962 | 964 |
|
963 | 965 | var dom = this.select_main().node(); |
964 | 966 |
|
965 | | - var maxlvl = opt=="all" ? 9999 : -1; |
| 967 | + var maxlvl = -1; // use only visible flag, set in ROOT when geometry is displayed |
966 | 968 |
|
| 969 | + if (opt=="all") maxlvl = 9999; else |
| 970 | + if (opt.indexOf("maxlvl")==0) maxlvl = parseInt(opt.substr(6)); else |
967 | 971 | if ((opt == 'count') || (opt == 'limit')) { |
968 | 972 | var arr = []; |
969 | 973 | for (var lvl=0;lvl<100;++lvl) arr.push(0); |
|
981 | 985 | return this.DrawingReady(); |
982 | 986 | } |
983 | 987 |
|
| 988 | + maxlvl = 9999; |
984 | 989 | var sum = 0; |
985 | 990 | for (var lvl=1;lvl<arr.length;++lvl) { |
986 | 991 | sum += arr[lvl]; |
987 | 992 | if (sum > 10000) { |
988 | 993 | maxlvl = lvl - 1; |
989 | | - console.log('set level on ' + maxlvl); |
990 | 994 | break; |
991 | 995 | } |
992 | 996 | } |
993 | | - |
994 | 997 | } |
995 | 998 |
|
996 | 999 | // three.js 3D drawing |
|
1333 | 1336 | _title : volume.fTitle, |
1334 | 1337 | _parent : parent, |
1335 | 1338 | _volume : volume, // keep direct reference |
1336 | | - _more : (typeof volume['fNodes'] != 'undefined') && (volume['fNodes']!=null), |
| 1339 | + _more : (volume['fNodes'] !== undefined) && (volume['fNodes'] !== null), |
1337 | 1340 | _menu : JSROOT.provideGeoMenu, |
1338 | 1341 | _icon_click : JSROOT.geoIconClick, |
1339 | 1342 | _get : function(item, itemname, callback) { |
|
1435 | 1438 | return true; |
1436 | 1439 | } |
1437 | 1440 |
|
1438 | | - JSROOT.addDrawFunc({ name: "TGeoVolumeAssembly", icon: 'img_geoassembly', func: JSROOT.Painter.drawGeometry, expand: "JSROOT.expandGeoVolume", painter_kind : "base", opt : "all;count;limit;" }); |
| 1441 | + JSROOT.addDrawFunc({ name: "TGeoVolumeAssembly", icon: 'img_geoassembly', func: JSROOT.Painter.drawGeometry, expand: "JSROOT.expandGeoVolume", painter_kind : "base", opt : "all;count;limit;maxlvl2" }); |
1439 | 1442 |
|
1440 | 1443 |
|
1441 | 1444 | return JSROOT.Painter; |
|
0 commit comments