X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.csg.ontology%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fcsg%2Fontology%2FCSG.java;h=558522e3c56928407b28e372456bee900b68b98c;hb=3266e2a0dffaf485613adfe4d70716b7f946c556;hp=05dce3996b8fb690a4b0d3915c1b32bc9f2ebead;hpb=c44f3e6a480f19b26a586a271ac200f051c60cf2;p=simantics%2F3d.git diff --git a/org.simantics.g3d.csg.ontology/src/org/simantics/g3d/csg/ontology/CSG.java b/org.simantics.g3d.csg.ontology/src/org/simantics/g3d/csg/ontology/CSG.java index 05dce399..558522e3 100644 --- a/org.simantics.g3d.csg.ontology/src/org/simantics/g3d/csg/ontology/CSG.java +++ b/org.simantics.g3d.csg.ontology/src/org/simantics/g3d/csg/ontology/CSG.java @@ -9,230 +9,230 @@ import org.simantics.db.exception.DatabaseException; import org.simantics.db.service.QueryControl; public class CSG { - - public final Resource Barrel; - public final Resource BooleanOperation; - public final Resource Box; - public final Resource CSGBrowseContext; - public final Resource CSGBrowseContext_ActiveLabelDecorationRule; - public final Resource CSGBrowseContext_RunLabelRule; - public final Resource CSGBrowseContext_ShapeTabContribution; - public final Resource Cone; - public final Resource Cylinder; - public final Resource Difference; - public final Resource EllipticCylinder; - public final Resource HasBottomRadius; - public final Resource HasBottomRadius_Inverse; - public final Resource HasCorners; - public final Resource HasCorners_Inverse; - public final Resource HasHeight; - public final Resource HasHeight_Inverse; - public final Resource HasMajorRadius; - public final Resource HasMajorRadius_Inverse; - public final Resource HasMinorRadius; - public final Resource HasMinorRadius_Inverse; - public final Resource HasRadius; - public final Resource HasRadius_Inverse; - public final Resource HasSizingProperty; - public final Resource HasSizingProperty_Inverse; - public final Resource HasTopRadius; - public final Resource HasTopRadius_Inverse; - public final Resource HasXAxisMaximumSize; - public final Resource HasXAxisMaximumSize_Inverse; - public final Resource HasXAxisMinimumSize; - public final Resource HasXAxisMinimumSize_Inverse; - public final Resource HasXAxisSize; - public final Resource HasXAxisSize_Inverse; - public final Resource HasYAxisSize; - public final Resource HasYAxisSize_Inverse; - public final Resource HasZAxisMaximumSize; - public final Resource HasZAxisMaximumSize_Inverse; - public final Resource HasZAxisMinimumSize; - public final Resource HasZAxisMinimumSize_Inverse; - public final Resource HasZAxisSize; - public final Resource HasZAxisSize_Inverse; - public final Resource Images; - public final Resource Images_Difference; - public final Resource Images_Intersection; - public final Resource Images_Ruby; - public final Resource Images_Union; - public final Resource Intersection; - public final Resource Model; - public final Resource Primitive; - public final Resource RectangularSolid; - public final Resource RegularPrism; - public final Resource Shape; - public final Resource Sphere; - public final Resource Torus; - public final Resource Union; - public final Resource hasChildShape; - public final Resource hasChildShape_Inverse; - public final Resource hasPrimaryShape; - public final Resource hasPrimaryShape_Inverse; - public final Resource hasSecondaryShape; - public final Resource hasSecondaryShape_Inverse; - - public static class URIs { - public static final String Barrel = "http://www.simantics.org/CSG-0.1/Barrel"; - public static final String BooleanOperation = "http://www.simantics.org/CSG-0.1/BooleanOperation"; - public static final String Box = "http://www.simantics.org/CSG-0.1/Box"; - public static final String CSGBrowseContext = "http://www.simantics.org/CSG-0.1/CSGBrowseContext"; - public static final String CSGBrowseContext_ActiveLabelDecorationRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ActiveLabelDecorationRule"; - public static final String CSGBrowseContext_RunLabelRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/RunLabelRule"; - public static final String CSGBrowseContext_ShapeTabContribution = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ShapeTabContribution"; - public static final String Cone = "http://www.simantics.org/CSG-0.1/Cone"; - public static final String Cylinder = "http://www.simantics.org/CSG-0.1/Cylinder"; - public static final String Difference = "http://www.simantics.org/CSG-0.1/Difference"; - public static final String EllipticCylinder = "http://www.simantics.org/CSG-0.1/EllipticCylinder"; - public static final String HasBottomRadius = "http://www.simantics.org/CSG-0.1/HasBottomRadius"; - public static final String HasBottomRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasBottomRadius/Inverse"; - public static final String HasCorners = "http://www.simantics.org/CSG-0.1/HasCorners"; - public static final String HasCorners_Inverse = "http://www.simantics.org/CSG-0.1/HasCorners/Inverse"; - public static final String HasHeight = "http://www.simantics.org/CSG-0.1/HasHeight"; - public static final String HasHeight_Inverse = "http://www.simantics.org/CSG-0.1/HasHeight/Inverse"; - public static final String HasMajorRadius = "http://www.simantics.org/CSG-0.1/HasMajorRadius"; - public static final String HasMajorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMajorRadius/Inverse"; - public static final String HasMinorRadius = "http://www.simantics.org/CSG-0.1/HasMinorRadius"; - public static final String HasMinorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMinorRadius/Inverse"; - public static final String HasRadius = "http://www.simantics.org/CSG-0.1/HasRadius"; - public static final String HasRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasRadius/Inverse"; - public static final String HasSizingProperty = "http://www.simantics.org/CSG-0.1/HasSizingProperty"; - public static final String HasSizingProperty_Inverse = "http://www.simantics.org/CSG-0.1/HasSizingProperty/Inverse"; - public static final String HasTopRadius = "http://www.simantics.org/CSG-0.1/HasTopRadius"; - public static final String HasTopRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasTopRadius/Inverse"; - public static final String HasXAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize"; - public static final String HasXAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize/Inverse"; - public static final String HasXAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize"; - public static final String HasXAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize/Inverse"; - public static final String HasXAxisSize = "http://www.simantics.org/CSG-0.1/HasXAxisSize"; - public static final String HasXAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisSize/Inverse"; - public static final String HasYAxisSize = "http://www.simantics.org/CSG-0.1/HasYAxisSize"; - public static final String HasYAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasYAxisSize/Inverse"; - public static final String HasZAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize"; - public static final String HasZAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize/Inverse"; - public static final String HasZAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize"; - public static final String HasZAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize/Inverse"; - public static final String HasZAxisSize = "http://www.simantics.org/CSG-0.1/HasZAxisSize"; - public static final String HasZAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisSize/Inverse"; - public static final String Images = "http://www.simantics.org/CSG-0.1/Images"; - public static final String Images_Difference = "http://www.simantics.org/CSG-0.1/Images/Difference"; - public static final String Images_Intersection = "http://www.simantics.org/CSG-0.1/Images/Intersection"; - public static final String Images_Ruby = "http://www.simantics.org/CSG-0.1/Images/Ruby"; - public static final String Images_Union = "http://www.simantics.org/CSG-0.1/Images/Union"; - public static final String Intersection = "http://www.simantics.org/CSG-0.1/Intersection"; - public static final String Model = "http://www.simantics.org/CSG-0.1/Model"; - public static final String Primitive = "http://www.simantics.org/CSG-0.1/Primitive"; - public static final String RectangularSolid = "http://www.simantics.org/CSG-0.1/RectangularSolid"; - public static final String RegularPrism = "http://www.simantics.org/CSG-0.1/RegularPrism"; - public static final String Shape = "http://www.simantics.org/CSG-0.1/Shape"; - public static final String Sphere = "http://www.simantics.org/CSG-0.1/Sphere"; - public static final String Torus = "http://www.simantics.org/CSG-0.1/Torus"; - public static final String Union = "http://www.simantics.org/CSG-0.1/Union"; - public static final String hasChildShape = "http://www.simantics.org/CSG-0.1/hasChildShape"; - public static final String hasChildShape_Inverse = "http://www.simantics.org/CSG-0.1/hasChildShape/Inverse"; - public static final String hasPrimaryShape = "http://www.simantics.org/CSG-0.1/hasPrimaryShape"; - public static final String hasPrimaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasPrimaryShape/Inverse"; - public static final String hasSecondaryShape = "http://www.simantics.org/CSG-0.1/hasSecondaryShape"; - public static final String hasSecondaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasSecondaryShape/Inverse"; - } - - public static Resource getResourceOrNull(ReadGraph graph, String uri) { - try { - return graph.getResource(uri); - } catch(DatabaseException e) { - System.err.println(e.getMessage()); - return null; - } - } - - public CSG(ReadGraph graph) { - Barrel = getResourceOrNull(graph, URIs.Barrel); - BooleanOperation = getResourceOrNull(graph, URIs.BooleanOperation); - Box = getResourceOrNull(graph, URIs.Box); - CSGBrowseContext = getResourceOrNull(graph, URIs.CSGBrowseContext); - CSGBrowseContext_ActiveLabelDecorationRule = getResourceOrNull(graph, URIs.CSGBrowseContext_ActiveLabelDecorationRule); - CSGBrowseContext_RunLabelRule = getResourceOrNull(graph, URIs.CSGBrowseContext_RunLabelRule); - CSGBrowseContext_ShapeTabContribution = getResourceOrNull(graph, URIs.CSGBrowseContext_ShapeTabContribution); - Cone = getResourceOrNull(graph, URIs.Cone); - Cylinder = getResourceOrNull(graph, URIs.Cylinder); - Difference = getResourceOrNull(graph, URIs.Difference); - EllipticCylinder = getResourceOrNull(graph, URIs.EllipticCylinder); - HasBottomRadius = getResourceOrNull(graph, URIs.HasBottomRadius); - HasBottomRadius_Inverse = getResourceOrNull(graph, URIs.HasBottomRadius_Inverse); - HasCorners = getResourceOrNull(graph, URIs.HasCorners); - HasCorners_Inverse = getResourceOrNull(graph, URIs.HasCorners_Inverse); - HasHeight = getResourceOrNull(graph, URIs.HasHeight); - HasHeight_Inverse = getResourceOrNull(graph, URIs.HasHeight_Inverse); - HasMajorRadius = getResourceOrNull(graph, URIs.HasMajorRadius); - HasMajorRadius_Inverse = getResourceOrNull(graph, URIs.HasMajorRadius_Inverse); - HasMinorRadius = getResourceOrNull(graph, URIs.HasMinorRadius); - HasMinorRadius_Inverse = getResourceOrNull(graph, URIs.HasMinorRadius_Inverse); - HasRadius = getResourceOrNull(graph, URIs.HasRadius); - HasRadius_Inverse = getResourceOrNull(graph, URIs.HasRadius_Inverse); - HasSizingProperty = getResourceOrNull(graph, URIs.HasSizingProperty); - HasSizingProperty_Inverse = getResourceOrNull(graph, URIs.HasSizingProperty_Inverse); - HasTopRadius = getResourceOrNull(graph, URIs.HasTopRadius); - HasTopRadius_Inverse = getResourceOrNull(graph, URIs.HasTopRadius_Inverse); - HasXAxisMaximumSize = getResourceOrNull(graph, URIs.HasXAxisMaximumSize); - HasXAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMaximumSize_Inverse); - HasXAxisMinimumSize = getResourceOrNull(graph, URIs.HasXAxisMinimumSize); - HasXAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMinimumSize_Inverse); - HasXAxisSize = getResourceOrNull(graph, URIs.HasXAxisSize); - HasXAxisSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisSize_Inverse); - HasYAxisSize = getResourceOrNull(graph, URIs.HasYAxisSize); - HasYAxisSize_Inverse = getResourceOrNull(graph, URIs.HasYAxisSize_Inverse); - HasZAxisMaximumSize = getResourceOrNull(graph, URIs.HasZAxisMaximumSize); - HasZAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMaximumSize_Inverse); - HasZAxisMinimumSize = getResourceOrNull(graph, URIs.HasZAxisMinimumSize); - HasZAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMinimumSize_Inverse); - HasZAxisSize = getResourceOrNull(graph, URIs.HasZAxisSize); - HasZAxisSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisSize_Inverse); - Images = getResourceOrNull(graph, URIs.Images); - Images_Difference = getResourceOrNull(graph, URIs.Images_Difference); - Images_Intersection = getResourceOrNull(graph, URIs.Images_Intersection); - Images_Ruby = getResourceOrNull(graph, URIs.Images_Ruby); - Images_Union = getResourceOrNull(graph, URIs.Images_Union); - Intersection = getResourceOrNull(graph, URIs.Intersection); - Model = getResourceOrNull(graph, URIs.Model); - Primitive = getResourceOrNull(graph, URIs.Primitive); - RectangularSolid = getResourceOrNull(graph, URIs.RectangularSolid); - RegularPrism = getResourceOrNull(graph, URIs.RegularPrism); - Shape = getResourceOrNull(graph, URIs.Shape); - Sphere = getResourceOrNull(graph, URIs.Sphere); - Torus = getResourceOrNull(graph, URIs.Torus); - Union = getResourceOrNull(graph, URIs.Union); - hasChildShape = getResourceOrNull(graph, URIs.hasChildShape); - hasChildShape_Inverse = getResourceOrNull(graph, URIs.hasChildShape_Inverse); - hasPrimaryShape = getResourceOrNull(graph, URIs.hasPrimaryShape); - hasPrimaryShape_Inverse = getResourceOrNull(graph, URIs.hasPrimaryShape_Inverse); - hasSecondaryShape = getResourceOrNull(graph, URIs.hasSecondaryShape); - hasSecondaryShape_Inverse = getResourceOrNull(graph, URIs.hasSecondaryShape_Inverse); - } - - public static CSG getInstance(ReadGraph graph) { - Session session = graph.getSession(); - CSG ret = session.peekService(CSG.class); - if(ret == null) { - QueryControl qc = graph.getService(QueryControl.class); - ret = new CSG(qc.getIndependentGraph(graph)); - session.registerService(CSG.class, ret); - } - return ret; - } - - public static CSG getInstance(RequestProcessor session) throws DatabaseException { - CSG ret = session.peekService(CSG.class); - if(ret == null) { - ret = session.syncRequest(new Read() { - public CSG perform(ReadGraph graph) throws DatabaseException { - QueryControl qc = graph.getService(QueryControl.class); - return new CSG(qc.getIndependentGraph(graph)); - } - }); - session.registerService(CSG.class, ret); - } - return ret; - } - + + public final Resource Barrel; + public final Resource BooleanOperation; + public final Resource Box; + public final Resource CSGBrowseContext; + public final Resource CSGBrowseContext_ActiveLabelDecorationRule; + public final Resource CSGBrowseContext_RunLabelRule; + public final Resource CSGBrowseContext_ShapeTabContribution; + public final Resource Cone; + public final Resource Cylinder; + public final Resource Difference; + public final Resource EllipticCylinder; + public final Resource HasBottomRadius; + public final Resource HasBottomRadius_Inverse; + public final Resource HasCorners; + public final Resource HasCorners_Inverse; + public final Resource HasHeight; + public final Resource HasHeight_Inverse; + public final Resource HasMajorRadius; + public final Resource HasMajorRadius_Inverse; + public final Resource HasMinorRadius; + public final Resource HasMinorRadius_Inverse; + public final Resource HasRadius; + public final Resource HasRadius_Inverse; + public final Resource HasSizingProperty; + public final Resource HasSizingProperty_Inverse; + public final Resource HasTopRadius; + public final Resource HasTopRadius_Inverse; + public final Resource HasXAxisMaximumSize; + public final Resource HasXAxisMaximumSize_Inverse; + public final Resource HasXAxisMinimumSize; + public final Resource HasXAxisMinimumSize_Inverse; + public final Resource HasXAxisSize; + public final Resource HasXAxisSize_Inverse; + public final Resource HasYAxisSize; + public final Resource HasYAxisSize_Inverse; + public final Resource HasZAxisMaximumSize; + public final Resource HasZAxisMaximumSize_Inverse; + public final Resource HasZAxisMinimumSize; + public final Resource HasZAxisMinimumSize_Inverse; + public final Resource HasZAxisSize; + public final Resource HasZAxisSize_Inverse; + public final Resource Images; + public final Resource Images_Difference; + public final Resource Images_Intersection; + public final Resource Images_Ruby; + public final Resource Images_Union; + public final Resource Intersection; + public final Resource Model; + public final Resource Primitive; + public final Resource RectangularSolid; + public final Resource RegularPrism; + public final Resource Shape; + public final Resource Sphere; + public final Resource Torus; + public final Resource Union; + public final Resource hasChildShape; + public final Resource hasChildShape_Inverse; + public final Resource hasPrimaryShape; + public final Resource hasPrimaryShape_Inverse; + public final Resource hasSecondaryShape; + public final Resource hasSecondaryShape_Inverse; + + public static class URIs { + public static final String Barrel = "http://www.simantics.org/CSG-0.1/Barrel"; + public static final String BooleanOperation = "http://www.simantics.org/CSG-0.1/BooleanOperation"; + public static final String Box = "http://www.simantics.org/CSG-0.1/Box"; + public static final String CSGBrowseContext = "http://www.simantics.org/CSG-0.1/CSGBrowseContext"; + public static final String CSGBrowseContext_ActiveLabelDecorationRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ActiveLabelDecorationRule"; + public static final String CSGBrowseContext_RunLabelRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/RunLabelRule"; + public static final String CSGBrowseContext_ShapeTabContribution = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ShapeTabContribution"; + public static final String Cone = "http://www.simantics.org/CSG-0.1/Cone"; + public static final String Cylinder = "http://www.simantics.org/CSG-0.1/Cylinder"; + public static final String Difference = "http://www.simantics.org/CSG-0.1/Difference"; + public static final String EllipticCylinder = "http://www.simantics.org/CSG-0.1/EllipticCylinder"; + public static final String HasBottomRadius = "http://www.simantics.org/CSG-0.1/HasBottomRadius"; + public static final String HasBottomRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasBottomRadius/Inverse"; + public static final String HasCorners = "http://www.simantics.org/CSG-0.1/HasCorners"; + public static final String HasCorners_Inverse = "http://www.simantics.org/CSG-0.1/HasCorners/Inverse"; + public static final String HasHeight = "http://www.simantics.org/CSG-0.1/HasHeight"; + public static final String HasHeight_Inverse = "http://www.simantics.org/CSG-0.1/HasHeight/Inverse"; + public static final String HasMajorRadius = "http://www.simantics.org/CSG-0.1/HasMajorRadius"; + public static final String HasMajorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMajorRadius/Inverse"; + public static final String HasMinorRadius = "http://www.simantics.org/CSG-0.1/HasMinorRadius"; + public static final String HasMinorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMinorRadius/Inverse"; + public static final String HasRadius = "http://www.simantics.org/CSG-0.1/HasRadius"; + public static final String HasRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasRadius/Inverse"; + public static final String HasSizingProperty = "http://www.simantics.org/CSG-0.1/HasSizingProperty"; + public static final String HasSizingProperty_Inverse = "http://www.simantics.org/CSG-0.1/HasSizingProperty/Inverse"; + public static final String HasTopRadius = "http://www.simantics.org/CSG-0.1/HasTopRadius"; + public static final String HasTopRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasTopRadius/Inverse"; + public static final String HasXAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize"; + public static final String HasXAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize/Inverse"; + public static final String HasXAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize"; + public static final String HasXAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize/Inverse"; + public static final String HasXAxisSize = "http://www.simantics.org/CSG-0.1/HasXAxisSize"; + public static final String HasXAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisSize/Inverse"; + public static final String HasYAxisSize = "http://www.simantics.org/CSG-0.1/HasYAxisSize"; + public static final String HasYAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasYAxisSize/Inverse"; + public static final String HasZAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize"; + public static final String HasZAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize/Inverse"; + public static final String HasZAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize"; + public static final String HasZAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize/Inverse"; + public static final String HasZAxisSize = "http://www.simantics.org/CSG-0.1/HasZAxisSize"; + public static final String HasZAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisSize/Inverse"; + public static final String Images = "http://www.simantics.org/CSG-0.1/Images"; + public static final String Images_Difference = "http://www.simantics.org/CSG-0.1/Images/Difference"; + public static final String Images_Intersection = "http://www.simantics.org/CSG-0.1/Images/Intersection"; + public static final String Images_Ruby = "http://www.simantics.org/CSG-0.1/Images/Ruby"; + public static final String Images_Union = "http://www.simantics.org/CSG-0.1/Images/Union"; + public static final String Intersection = "http://www.simantics.org/CSG-0.1/Intersection"; + public static final String Model = "http://www.simantics.org/CSG-0.1/Model"; + public static final String Primitive = "http://www.simantics.org/CSG-0.1/Primitive"; + public static final String RectangularSolid = "http://www.simantics.org/CSG-0.1/RectangularSolid"; + public static final String RegularPrism = "http://www.simantics.org/CSG-0.1/RegularPrism"; + public static final String Shape = "http://www.simantics.org/CSG-0.1/Shape"; + public static final String Sphere = "http://www.simantics.org/CSG-0.1/Sphere"; + public static final String Torus = "http://www.simantics.org/CSG-0.1/Torus"; + public static final String Union = "http://www.simantics.org/CSG-0.1/Union"; + public static final String hasChildShape = "http://www.simantics.org/CSG-0.1/hasChildShape"; + public static final String hasChildShape_Inverse = "http://www.simantics.org/CSG-0.1/hasChildShape/Inverse"; + public static final String hasPrimaryShape = "http://www.simantics.org/CSG-0.1/hasPrimaryShape"; + public static final String hasPrimaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasPrimaryShape/Inverse"; + public static final String hasSecondaryShape = "http://www.simantics.org/CSG-0.1/hasSecondaryShape"; + public static final String hasSecondaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasSecondaryShape/Inverse"; + } + + public static Resource getResourceOrNull(ReadGraph graph, String uri) { + try { + return graph.getResource(uri); + } catch(DatabaseException e) { + System.err.println(e.getMessage()); + return null; + } + } + + public CSG(ReadGraph graph) { + Barrel = getResourceOrNull(graph, URIs.Barrel); + BooleanOperation = getResourceOrNull(graph, URIs.BooleanOperation); + Box = getResourceOrNull(graph, URIs.Box); + CSGBrowseContext = getResourceOrNull(graph, URIs.CSGBrowseContext); + CSGBrowseContext_ActiveLabelDecorationRule = getResourceOrNull(graph, URIs.CSGBrowseContext_ActiveLabelDecorationRule); + CSGBrowseContext_RunLabelRule = getResourceOrNull(graph, URIs.CSGBrowseContext_RunLabelRule); + CSGBrowseContext_ShapeTabContribution = getResourceOrNull(graph, URIs.CSGBrowseContext_ShapeTabContribution); + Cone = getResourceOrNull(graph, URIs.Cone); + Cylinder = getResourceOrNull(graph, URIs.Cylinder); + Difference = getResourceOrNull(graph, URIs.Difference); + EllipticCylinder = getResourceOrNull(graph, URIs.EllipticCylinder); + HasBottomRadius = getResourceOrNull(graph, URIs.HasBottomRadius); + HasBottomRadius_Inverse = getResourceOrNull(graph, URIs.HasBottomRadius_Inverse); + HasCorners = getResourceOrNull(graph, URIs.HasCorners); + HasCorners_Inverse = getResourceOrNull(graph, URIs.HasCorners_Inverse); + HasHeight = getResourceOrNull(graph, URIs.HasHeight); + HasHeight_Inverse = getResourceOrNull(graph, URIs.HasHeight_Inverse); + HasMajorRadius = getResourceOrNull(graph, URIs.HasMajorRadius); + HasMajorRadius_Inverse = getResourceOrNull(graph, URIs.HasMajorRadius_Inverse); + HasMinorRadius = getResourceOrNull(graph, URIs.HasMinorRadius); + HasMinorRadius_Inverse = getResourceOrNull(graph, URIs.HasMinorRadius_Inverse); + HasRadius = getResourceOrNull(graph, URIs.HasRadius); + HasRadius_Inverse = getResourceOrNull(graph, URIs.HasRadius_Inverse); + HasSizingProperty = getResourceOrNull(graph, URIs.HasSizingProperty); + HasSizingProperty_Inverse = getResourceOrNull(graph, URIs.HasSizingProperty_Inverse); + HasTopRadius = getResourceOrNull(graph, URIs.HasTopRadius); + HasTopRadius_Inverse = getResourceOrNull(graph, URIs.HasTopRadius_Inverse); + HasXAxisMaximumSize = getResourceOrNull(graph, URIs.HasXAxisMaximumSize); + HasXAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMaximumSize_Inverse); + HasXAxisMinimumSize = getResourceOrNull(graph, URIs.HasXAxisMinimumSize); + HasXAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMinimumSize_Inverse); + HasXAxisSize = getResourceOrNull(graph, URIs.HasXAxisSize); + HasXAxisSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisSize_Inverse); + HasYAxisSize = getResourceOrNull(graph, URIs.HasYAxisSize); + HasYAxisSize_Inverse = getResourceOrNull(graph, URIs.HasYAxisSize_Inverse); + HasZAxisMaximumSize = getResourceOrNull(graph, URIs.HasZAxisMaximumSize); + HasZAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMaximumSize_Inverse); + HasZAxisMinimumSize = getResourceOrNull(graph, URIs.HasZAxisMinimumSize); + HasZAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMinimumSize_Inverse); + HasZAxisSize = getResourceOrNull(graph, URIs.HasZAxisSize); + HasZAxisSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisSize_Inverse); + Images = getResourceOrNull(graph, URIs.Images); + Images_Difference = getResourceOrNull(graph, URIs.Images_Difference); + Images_Intersection = getResourceOrNull(graph, URIs.Images_Intersection); + Images_Ruby = getResourceOrNull(graph, URIs.Images_Ruby); + Images_Union = getResourceOrNull(graph, URIs.Images_Union); + Intersection = getResourceOrNull(graph, URIs.Intersection); + Model = getResourceOrNull(graph, URIs.Model); + Primitive = getResourceOrNull(graph, URIs.Primitive); + RectangularSolid = getResourceOrNull(graph, URIs.RectangularSolid); + RegularPrism = getResourceOrNull(graph, URIs.RegularPrism); + Shape = getResourceOrNull(graph, URIs.Shape); + Sphere = getResourceOrNull(graph, URIs.Sphere); + Torus = getResourceOrNull(graph, URIs.Torus); + Union = getResourceOrNull(graph, URIs.Union); + hasChildShape = getResourceOrNull(graph, URIs.hasChildShape); + hasChildShape_Inverse = getResourceOrNull(graph, URIs.hasChildShape_Inverse); + hasPrimaryShape = getResourceOrNull(graph, URIs.hasPrimaryShape); + hasPrimaryShape_Inverse = getResourceOrNull(graph, URIs.hasPrimaryShape_Inverse); + hasSecondaryShape = getResourceOrNull(graph, URIs.hasSecondaryShape); + hasSecondaryShape_Inverse = getResourceOrNull(graph, URIs.hasSecondaryShape_Inverse); + } + + public static CSG getInstance(ReadGraph graph) { + Session session = graph.getSession(); + CSG ret = session.peekService(CSG.class); + if(ret == null) { + QueryControl qc = graph.getService(QueryControl.class); + ret = new CSG(qc.getIndependentGraph(graph)); + session.registerService(CSG.class, ret); + } + return ret; + } + + public static CSG getInstance(RequestProcessor session) throws DatabaseException { + CSG ret = session.peekService(CSG.class); + if(ret == null) { + ret = session.syncRequest(new Read() { + public CSG perform(ReadGraph graph) throws DatabaseException { + QueryControl qc = graph.getService(QueryControl.class); + return new CSG(qc.getIndependentGraph(graph)); + } + }); + session.registerService(CSG.class, ret); + } + return ret; + } + }