lvidx65 : SstBotCirRibBase0xc26e2d0 /dd/Geometry/AdDetails/lvSstBotCirRibBase0xc26e220
==========================================================================================
* CAUSE FOUND : need to implement tube deltaphi
* :doc:`lvid65`
::
DBGMESH=SstBotCirRibBase0x NSceneMeshTest
op --dlv65 # just one instance of lvid 65 inside container : gives just small portion of cylinder
op --dlv65 --gltf 1 # hmm .. instancing kicks in and duplicates it...
op --dlv65 --gltf 1 --gltfconfig disable_instancing=1 # gives entire cylinder with cut ?
::
Difference of two big cylinders with two long "spoke" boxes subtracted, ..
but spokes are offset and one is rotated.
~/opticks_refs/lvid65_cycybobo_to_union.png
changing difference to union, its clear that only one of boxes intersects
yielding the cut : suspicious
0:di
1:di 2:bo
3:di 4:bo
7:cy 8:cy
::
4214
4215
4216
4217
1028
1029
1030
1031
1032
1033
1022
1023
1024
1025
1026
1020
1027
lvidx65 : First Cause : tube deltaphi is not handled
-----------------------------------------------------------
::
simon:boostrap blyth$ grep deltaphi /tmp/g4_00.gdml | grep -v \"360\"
simon:boostrap blyth$
::
opticks-tbool-vi 65
opticks-tbool 65 # ana CSG level viz : looks like a cylinder ring with one cut
62 tbool65--(){ cat << EOP
63
64 import logging
65 import numpy as np
66 log = logging.getLogger(__name__)
67 from opticks.ana.base import opticks_main
68 from opticks.analytic.csg import CSG
69 args = opticks_main(csgpath="$TMP/tbool/65")
70
71 CSG.boundary = args.testobject
72 CSG.kwa = dict(verbosity="0", poly="IM", resolution="20")
73 #CSG.kwa = dict(verbosity="0", poly="HY", level="5")
74
75
76 a = CSG("cylinder", param = [0.000,0.000,0.000,2000.000],param1 = [-215.000,215.000,0.000,0.000])
77 b = CSG("cylinder", param = [0.000,0.000,0.000,1980.000],param1 = [-217.150,217.150,0.000,0.000])
78 ab = CSG("difference", left=a, right=b)
79
80 c = CSG("box3", param = [2020.000,25.000,440.000,0.000],param1 = [0.000,0.000,0.000,0.000])
81 c.transform = [[1.000,0.000,0.000,0.000],[0.000,1.000,0.000,0.000],[0.000,0.000,1.000,0.000],[1255.000,0.000,0.000,1.000]]
82 abc = CSG("difference", left=ab, right=c)
83
84 d = CSG("box3", param = [2020.000,25.000,440.000,0.000],param1 = [0.000,0.000,0.000,0.000])
85 d.transform = [[0.707,-0.707,0.000,0.000],[0.707,0.707,0.000,0.000],[0.000,0.000,1.000,0.000],[887.419,887.419,0.000,1.000]]
86 abcd = CSG("difference", left=abc, right=d)
87
88
89
90 obj = abcd
91
92 con = CSG("sphere", param=[0,0,0,10], container="1", containerscale="2", boundary=args.container , poly="IM", resolution="20" )
93 CSG.Serialize([con, obj], args.csgpath )
94
95 EOP
96 }
::
DBGMESH=SstBotCirRibBase0x NSceneMeshTest
...
2017-07-03 20:58:17.359 INFO [2996117] [NScene::dumpCSG@412] NScene::dumpCSG num_csg 249 dbgmesh SstBotCirRibBase0x
2017-07-03 20:58:17.359 INFO [2996117] [NCSG::dump@905] NCSG::dump
NCSG ix 76 surfpoints 33 so SstBotCirRibBase0xc26e2d0 lv /dd/Geometry/AdDetails/lvSstBotCirRibBase0xc26e220
NCSG::dump (root) [ 0:di] OPER v:0
L [ 1:di] OPER v:0
L [ 3:di] OPER v:0
L [ 7:cy] PRIM v:0 bb mi (-2000.00 -2000.00 -215.00) mx (2000.00 2000.00 215.00) si (4000.00 4000.00 430.00)
R [ 8:cy] PRIM v:0 bb mi (-1980.00 -1980.00 -217.15) mx (1980.00 1980.00 217.15) si (3960.00 3960.00 434.30)
R [ 4:bo] PRIM v:0 bb mi ( 245.00 -12.50 -220.00) mx (2265.00 12.50 220.00) si (2020.00 25.00 440.00)
R [ 2:bo] PRIM v:0 bb mi ( 164.40 164.40 -220.00) mx (1610.44 1610.44 220.00) si (1446.03 1446.03 440.00)
composite_bb mi (-2000.00 -2000.00 -215.00) mx (2000.00 2000.00 215.00) si (4000.00 4000.00 430.00)
NParameters::dump
::
simon:ggeo blyth$ DBGMESH=SstBotCirRibBase0x NSceneMeshTest
2017-07-03 20:58:12.915 INFO [2996117] [NGLTF::load@35] NGLTF::load path /tmp/blyth/opticks/tgltf-t-/sc.gltf
2017-07-03 20:58:13.431 INFO [2996117] [NGLTF::load@62] NGLTF::load DONE
2017-07-03 20:58:13.457 INFO [2996117] [NSceneConfig::NSceneConfig@12] NSceneConfig::NSceneConfig cfg check_surf_containment=0,check_aabb_containment=0
check_surf_containment : 0
check_aabb_containment : 0
2017-07-03 20:58:13.457 INFO [2996117] [NScene::init@140] NScene::init START age(s) 12311 days 0.142
2017-07-03 20:58:13.457 INFO [2996117] [NScene::load_csg_metadata@252] NScene::load_csg_metadata verbosity 1 num_meshes 249
2017-07-03 20:58:13.875 INFO [2996117] [NScene::postimportnd@491] NScene::postimportnd numNd 12230 num_selected 12230 dbgnode -1 dbgnode_list 0 verbosity 1
2017-07-03 20:58:14.048 INFO [2996117] [NScene::count_progeny_digests@866] NScene::count_progeny_digests verbosity 1 node_count 12230 digest_size 249
2017-07-03 20:58:15.328 INFO [2996117] [NNodeUncoincide::uncoincide_treewise@340] NNodeUncoincide::uncoincide_tree TRYING root.left UNCOINCIDE_UNCYCO root union difference cylinder cone left union cylinder right cone
2017-07-03 20:58:15.727 INFO [2996117] [NNodeUncoincide::uncoincide_treewise@340] NNodeUncoincide::uncoincide_tree TRYING root.left UNCOINCIDE_UNCYCO root union difference cylinder cone left union cylinder right cone
2017-07-03 20:58:15.769 INFO [2996117] [NNodeUncoincide::uncoincide_treewise@340] NNodeUncoincide::uncoincide_tree TRYING root.left UNCOINCIDE_UNCYCO root union difference cylinder cone left union cylinder right cone
2017-07-03 20:58:17.358 INFO [2996117] [NScene::postimportmesh@509] NScene::postimportmesh numNd 12230 dbgnode -1 dbgnode_list 0 verbosity 1
check_surf_containment : 0
check_aabb_containment : 0
2017-07-03 20:58:17.359 INFO [2996117] [NScene::init@180] NScene::init DONE
2017-07-03 20:58:17.359 INFO [2996117] [NScene::dumpCSG@412] NScene::dumpCSG num_csg 249 dbgmesh SstBotCirRibBase0x
2017-07-03 20:58:17.359 INFO [2996117] [NCSG::dump@905] NCSG::dump
NCSG ix 76 surfpoints 33 so SstBotCirRibBase0xc26e2d0 lv /dd/Geometry/AdDetails/lvSstBotCirRibBase0xc26e220
NCSG::dump (root) [ 0:di] OPER v:0
L [ 1:di] OPER v:0
L [ 3:di] OPER v:0
L [ 7:cy] PRIM v:0 bb mi (-2000.00 -2000.00 -215.00) mx (2000.00 2000.00 215.00) si (4000.00 4000.00 430.00)
R [ 8:cy] PRIM v:0 bb mi (-1980.00 -1980.00 -217.15) mx (1980.00 1980.00 217.15) si (3960.00 3960.00 434.30)
R [ 4:bo] PRIM v:0 bb mi ( 245.00 -12.50 -220.00) mx (2265.00 12.50 220.00) si (2020.00 25.00 440.00)
R [ 2:bo] PRIM v:0 bb mi ( 164.40 164.40 -220.00) mx (1610.44 1610.44 220.00) si (1446.03 1446.03 440.00)
composite_bb mi (-2000.00 -2000.00 -215.00) mx (2000.00 2000.00 215.00) si (4000.00 4000.00 430.00)
NParameters::dump
lvname : /dd/Geometry/AdDetails/lvSstBotCirRibBase0xc26e220
soname : SstBotCirRibBase0xc26e2d0
verbosity : 0
resolution : 20
poly : IM
height : 3
2017-07-03 20:58:17.359 INFO [2996117] [NCSG::dump_surface_points@1195] dsp num_sp 33 dmax 200
i 0 sp ( -0.000 2000.000 -215.000)
i 1 sp ( -2000.000 -0.000 -215.000)
i 2 sp ( 0.000 -2000.000 -215.000)
i 3 sp ( -0.000 2000.000 -112.875)
i 4 sp ( -2000.000 -0.000 -112.875)
i 5 sp ( 0.000 -2000.000 -112.875)
i 6 sp ( -0.000 2000.000 -10.750)
i 7 sp ( -2000.000 -0.000 -10.750)
i 8 sp ( 0.000 -2000.000 -10.750)
i 9 sp ( -0.000 2000.000 91.375)
i 10 sp ( -2000.000 -0.000 91.375)
i 11 sp ( 0.000 -2000.000 91.375)
i 12 sp ( -0.000 2000.000 193.500)
i 13 sp ( -2000.000 -0.000 193.500)
i 14 sp ( 0.000 -2000.000 193.500)
i 15 sp ( -0.000 2000.000 215.000)
i 16 sp ( -2000.000 -0.000 215.000)
i 17 sp ( 0.000 -2000.000 215.000)
i 18 sp ( -0.000 2000.000 -215.000)
i 19 sp ( -2000.000 -0.000 -215.000)
i 20 sp ( 0.000 -2000.000 -215.000)
i 21 sp ( -0.000 1980.000 -114.004)
i 22 sp ( -1980.000 -0.000 -114.004)
i 23 sp ( 0.000 -1980.000 -114.004)
i 24 sp ( -0.000 1980.000 -10.857)
i 25 sp ( -1980.000 -0.000 -10.857)
i 26 sp ( 0.000 -1980.000 -10.857)
i 27 sp ( -0.000 1980.000 92.289)
i 28 sp ( -1980.000 -0.000 92.289)
i 29 sp ( 0.000 -1980.000 92.289)
i 30 sp ( -0.000 1980.000 195.435)
i 31 sp ( -1980.000 -0.000 195.435)
i 32 sp ( 0.000 -1980.000 195.435)
csg.index (mesh_id) 76 num nodes 16
node idx : 4440 4441 4442 4443 4444 4445 4446 4447 6100 6101 ...