package org.simantics.g3d.csg.scenegraph2; import org.jcae.opencascade.jni.TopoDS_Shape; import org.simantics.g3d.csg.ontology.CSG; import org.simantics.objmap.graph.annotations.GraphType; import org.simantics.opencascade.OccTriangulator; @GraphType(CSG.URIs.Intersection) public class IntersectionNode extends CSGparentNode { @Override public TopoDS_Shape getBaseGeometry() { TopoDS_Shape prim = getPrimary(); TopoDS_Shape sec = getSecondary(); if (prim != null && sec != null) { TopoDS_Shape res =OccTriangulator.makeCommon(prim, sec); prim.delete(); sec.delete(); return res; } if (prim != null) prim.delete(); if (sec != null) sec.delete(); return null; } }