@@ -44,7 +44,7 @@ function boolean(op, m1::GeometryBasics.Mesh, m2::GeometryBasics.Mesh, t::Transf
4444 if ret == 0
4545 c = unsafe_array(Point3{Float64}, cm. vertices, cm. nv)
4646 f = unsafe_array(TriangleFace{Int32}, cm. faces, cm. nf)
47- return GeometryBasics. Mesh (c,f)
47+ return GeometryBasics. mesh (c,f)
4848 else
4949 return
5050 end
@@ -62,13 +62,15 @@ const operation = Dict("G4UnionSolid" => 0, "G4IntersectionSolid" => 1, "G4Subtr
6262
6363function GeometryBasics. mesh(s:: G4BooleanSolid )
6464 if isdefined(IGLWrap_jll, :libiglwrap)
65- op = operation[GetEntityType(s)]
66- left = GetConstituentSolid(s, 0 )
67- right = GetConstituentSolid(s, 1 )
68- boolean(op, GeometryBasics. mesh(left), GeometryBasics. mesh(right))
65+ println(" IGLWrap_jll is available but interface needs to be fixed for drawing boolean solids (TODO)" )
66+ GeometryBasics. mesh(Point3{Float64}[], QuadFace{Int32}[])
67+ # op = operation[GetEntityType(s)]
68+ # left = GetConstituentSolid(s, 0)
69+ # right = GetConstituentSolid(s, 1)
70+ # boolean(op, GeometryBasics.mesh(left), GeometryBasics.mesh(right))
6971 else
70- println(" IGLWrap_jll is not available for currrent platform $(Sys. MACHINE) and is needed for drawing boolean solids" )
71- GeometryBasics. Mesh (Point3{Float64}[], QuadFace{Int32}[])
72+ println(" IGLWrap_jll is not available for current platform $(Sys. MACHINE) and is needed for drawing boolean solids" )
73+ GeometryBasics. mesh (Point3{Float64}[], QuadFace{Int32}[])
7274 end
7375end
7476
@@ -80,7 +82,7 @@ function GeometryBasics.mesh(s::G4DisplacedSolid)
8082 points = GeometryBasics. coordinates(m)
8183 faces = GeometryBasics. faces(m)
8284 map!(c -> c * t, points, points)
83- GeometryBasics. Mesh (points, faces)
85+ GeometryBasics. mesh (points, faces)
8486end
8587
8688function Geant4. draw(solid:: G4BooleanSolid ; wireframe:: Bool = false , kwargs... )
0 commit comments