]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.csg/src/org/simantics/g3d/csg/scenegraph2/IntersectionNode.java
738ff0f9c626ce25f930fde6d57355a5f378b6da
[simantics/3d.git] / org.simantics.g3d.csg / src / org / simantics / g3d / csg / scenegraph2 / IntersectionNode.java
1 package org.simantics.g3d.csg.scenegraph2;\r
2 \r
3 import org.jcae.opencascade.jni.TopoDS_Shape;\r
4 import org.simantics.g3d.csg.ontology.CSG;\r
5 import org.simantics.objmap.graph.annotations.GraphType;\r
6 import org.simantics.opencascade.OccTriangulator;\r
7 \r
8 @GraphType(CSG.URIs.Intersection)\r
9 public class IntersectionNode extends CSGparentNode {\r
10 \r
11         @Override\r
12         public TopoDS_Shape getBaseGeometry() {\r
13                 TopoDS_Shape prim = getPrimary();\r
14                 TopoDS_Shape sec = getSecondary();\r
15                 if (prim != null && sec != null) {\r
16                         TopoDS_Shape res =OccTriangulator.makeCommon(prim, sec);\r
17                         prim.delete();\r
18                         sec.delete();\r
19                         return res;\r
20                 }\r
21                 if (prim != null)\r
22                         prim.delete();\r
23                 if (sec != null)\r
24                         sec.delete();\r
25                 return null;\r
26         }\r
27 \r
28 }\r