-/*******************************************************************************\r
- * Copyright (c) 2007 VTT Technical Research Centre of Finland and others.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.processeditor.stubs;\r
-\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.ResourceContainer;\r
-import org.simantics.db.Statement;\r
-import org.simantics.db.Graph;\r
-import org.simantics.db.ResourceContainer;\r
-import org.simantics.layer0.utils.ResourceDoesNotSatisfyAssumptionException;\r
-import org.simantics.layer0.utils.IEntity;\r
-import org.simantics.layer0.utils.internal.Entity;\r
-import org.simantics.layer0.utils.instantiation.InstanceFactory;\r
-import java.util.Collection;\r
-import java.util.ArrayList;\r
-\r
-public class FixedAngleTurnControlPoint extends Entity implements IFixedAngleTurnControlPoint {\r
- \r
- public FixedAngleTurnControlPoint(Graph graph, ResourceContainer resourceContainer) {\r
- super(graph, resourceContainer.getResource());\r
- }\r
- \r
- public FixedAngleTurnControlPoint(IEntity entity) {\r
- super(entity.getGraph(), entity.getResource());\r
- }\r
- \r
- public Graph getGraph() {\r
- return graph;\r
- }\r
- \r
- public static FixedAngleTurnControlPoint createDefault(Graph graph) {\r
- return new FixedAngleTurnControlPoint(graph, InstanceFactory.instantiate(graph, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).FixedAngleTurnControlPoint));\r
- }\r
- \r
- public static boolean isInstance(IEntity entity) {\r
- Graph graph = entity.getGraph();\r
- Resource type = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).FixedAngleTurnControlPoint;\r
- return graph.isInstanceOf(entity.getResource(), type);\r
- }\r
- \r
- @Override\r
- public Resource getResource() {\r
- return resource;\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PathLegEndControlPoint toPathLegEndControlPoint() {\r
- return new org.simantics.processeditor.stubs.PathLegEndControlPoint(graph, resource);\r
- }\r
- \r
- public FixedAngleTurnControlPoint toFixedAngleTurnControlPoint() {\r
- return this;\r
- }\r
- \r
- public org.simantics.processeditor.stubs.TurnControlPoint toTurnControlPoint() {\r
- return new org.simantics.processeditor.stubs.TurnControlPoint(graph, resource);\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PipeControlPoint toPipeControlPoint() {\r
- return new org.simantics.processeditor.stubs.PipeControlPoint(graph, resource);\r
- }\r
- \r
- public org.simantics.proconf.g3d.stubs.Position getLocalPosition() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalPosition);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return new org.simantics.proconf.g3d.stubs.Position(graph, statements[0].getObject());\r
- }\r
- \r
- public void addLocalPosition(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalPosition, v.getResource());\r
- }\r
- \r
- public void setLocalPosition(ResourceContainer v) {\r
- Resource predicate = org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalPosition;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.proconf.g3d.stubs.Position getWorldPosition() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldPosition);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return new org.simantics.proconf.g3d.stubs.Position(graph, statements[0].getObject());\r
- }\r
- \r
- public void addWorldPosition(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldPosition, v.getResource());\r
- }\r
- \r
- public void setWorldPosition(ResourceContainer v) {\r
- Resource predicate = org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldPosition;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.proconf.g3d.stubs.Orientation getLocalOrientation() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalOrientation);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return new org.simantics.proconf.g3d.stubs.Orientation(graph, statements[0].getObject());\r
- }\r
- \r
- public void addLocalOrientation(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalOrientation, v.getResource());\r
- }\r
- \r
- public void setLocalOrientation(ResourceContainer v) {\r
- Resource predicate = org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasLocalOrientation;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.proconf.g3d.stubs.Orientation getWorldOrientation() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldOrientation);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return new org.simantics.proconf.g3d.stubs.Orientation(graph, statements[0].getObject());\r
- }\r
- \r
- public void addWorldOrientation(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldOrientation, v.getResource());\r
- }\r
- \r
- public void setWorldOrientation(ResourceContainer v) {\r
- Resource predicate = org.simantics.proconf.g3d.stubs.G3DResource.getInstance(graph).HasWorldOrientation;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PipeControlPoint getNext() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasNext);\r
- if(statements.length > 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- if(statements.length == 0)\r
- return null;\r
- return new org.simantics.processeditor.stubs.PipeControlPoint(graph, statements[0].getObject());\r
- }\r
- \r
- public void addNext(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasNext, v.getResource());\r
- }\r
- \r
- public void setNext(ResourceContainer v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasNext;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PipeControlPoint getPrevious() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasPrevious);\r
- if(statements.length > 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- if(statements.length == 0)\r
- return null;\r
- return new org.simantics.processeditor.stubs.PipeControlPoint(graph, statements[0].getObject());\r
- }\r
- \r
- public void addPrevious(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasPrevious, v.getResource());\r
- }\r
- \r
- public void setPrevious(ResourceContainer v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasPrevious;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public double[] getPipeDiameter() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasPipeDiameter);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return (double[])graph.getValueAsObject(statements[0].getObject());\r
- }\r
- \r
- public void setPipeDiameter(Object v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasPipeDiameter;\r
- Collection<Resource> objects = graph.getObjects(resource, predicate);\r
- if(objects.size() == 0) {\r
- Resource r = graph.newResource();\r
- Resource valueType = org.simantics.db.Builtins.getInstance(graph).Double;\r
- graph.addStatement(r, graph.getBuiltins().InstanceOf, valueType);\r
- graph.setValueAsObject(r, v);\r
- graph.addStatement(resource, predicate, r);\r
- }\r
- else if(objects.size() == 1)\r
- for(Resource r : objects)\r
- graph.setValueAsObject(r, v);\r
- else\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + objects.size() + ") of statements.");\r
- }\r
- \r
- public double[] getLength() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasLength);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return (double[])graph.getValueAsObject(statements[0].getObject());\r
- }\r
- \r
- public void setLength(Object v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasLength;\r
- Collection<Resource> objects = graph.getObjects(resource, predicate);\r
- if(objects.size() == 0) {\r
- Resource r = graph.newResource();\r
- Resource valueType = org.simantics.db.Builtins.getInstance(graph).Double;\r
- graph.addStatement(r, graph.getBuiltins().InstanceOf, valueType);\r
- graph.setValueAsObject(r, v);\r
- graph.addStatement(resource, predicate, r);\r
- }\r
- else if(objects.size() == 1)\r
- for(Resource r : objects)\r
- graph.setValueAsObject(r, v);\r
- else\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + objects.size() + ") of statements.");\r
- }\r
- \r
- public double[] getTurnAngle() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasTurnAngle);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return (double[])graph.getValueAsObject(statements[0].getObject());\r
- }\r
- \r
- public void setTurnAngle(Object v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasTurnAngle;\r
- Collection<Resource> objects = graph.getObjects(resource, predicate);\r
- if(objects.size() == 0) {\r
- Resource r = graph.newResource();\r
- Resource valueType = org.simantics.db.Builtins.getInstance(graph).Double;\r
- graph.addStatement(r, graph.getBuiltins().InstanceOf, valueType);\r
- graph.setValueAsObject(r, v);\r
- graph.addStatement(resource, predicate, r);\r
- }\r
- else if(objects.size() == 1)\r
- for(Resource r : objects)\r
- graph.setValueAsObject(r, v);\r
- else\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + objects.size() + ") of statements.");\r
- }\r
- \r
- public double[] getRotationAngle() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasRotationAngle);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return (double[])graph.getValueAsObject(statements[0].getObject());\r
- }\r
- \r
- public void setRotationAngle(Object v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasRotationAngle;\r
- Collection<Resource> objects = graph.getObjects(resource, predicate);\r
- if(objects.size() == 0) {\r
- Resource r = graph.newResource();\r
- Resource valueType = org.simantics.db.Builtins.getInstance(graph).Double;\r
- graph.addStatement(r, graph.getBuiltins().InstanceOf, valueType);\r
- graph.setValueAsObject(r, v);\r
- graph.addStatement(resource, predicate, r);\r
- }\r
- else if(objects.size() == 1)\r
- for(Resource r : objects)\r
- graph.setValueAsObject(r, v);\r
- else\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + objects.size() + ") of statements.");\r
- }\r
- \r
- public Collection<org.simantics.processeditor.stubs.PipeControlPoint> getSubPoint() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasSubPoint);\r
- Collection<org.simantics.processeditor.stubs.PipeControlPoint> ret = new ArrayList<org.simantics.processeditor.stubs.PipeControlPoint>(statements.length);\r
- for(Statement s : statements)\r
- ret.add(new org.simantics.processeditor.stubs.PipeControlPoint(graph, s.getObject()));\r
- return ret;\r
- }\r
- \r
- public void addSubPoint(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).HasSubPoint, v.getResource());\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PipeControlPoint getSubPointOf() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).SubPointOf);\r
- if(statements.length > 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- if(statements.length == 0)\r
- return null;\r
- return new org.simantics.processeditor.stubs.PipeControlPoint(graph, statements[0].getObject());\r
- }\r
- \r
- public void addSubPointOf(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).SubPointOf, v.getResource());\r
- }\r
- \r
- public void setSubPointOf(ResourceContainer v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).SubPointOf;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- // [Nozzle] | [Pipeline Component]\r
- public org.simantics.layer0.utils.IEntity getControlPointOf() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOf);\r
- if(statements.length > 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- if(statements.length == 0)\r
- return null;\r
- return new Entity(graph, statements[0].getObject());\r
- }\r
- \r
- // [Nozzle] | [Pipeline Component]\r
- public void addControlPointOf(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOf, v.getResource());\r
- }\r
- \r
- // [Nozzle] | [Pipeline Component]\r
- public void setControlPointOf(ResourceContainer v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOf;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public org.simantics.processeditor.stubs.PipeRun getControlPointOfPipeRun() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOfPipeRun);\r
- if(statements.length > 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- if(statements.length == 0)\r
- return null;\r
- return new org.simantics.processeditor.stubs.PipeRun(graph, statements[0].getObject());\r
- }\r
- \r
- public void addControlPointOfPipeRun(ResourceContainer v) {\r
- graph.addStatement(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOfPipeRun, v.getResource());\r
- }\r
- \r
- public void setControlPointOfPipeRun(ResourceContainer v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).ControlPointOfPipeRun;\r
- graph.removeStatements(resource, predicate);\r
- graph.addStatement(resource, predicate, v.getResource());\r
- }\r
- \r
- public boolean[] getIsReversed() {\r
- Statement[] statements = graph.getStatements(resource, org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).IsReversed);\r
- if(statements.length != 1)\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + statements.length + ") of statements.");\r
- return (boolean[])graph.getValueAsObject(statements[0].getObject());\r
- }\r
- \r
- public void setIsReversed(Object v) {\r
- Resource predicate = org.simantics.processeditor.stubs.Plant3DResource.getInstance(graph).IsReversed;\r
- Collection<Resource> objects = graph.getObjects(resource, predicate);\r
- if(objects.size() == 0) {\r
- Resource r = graph.newResource();\r
- Resource valueType = org.simantics.db.Builtins.getInstance(graph).Boolean;\r
- graph.addStatement(r, graph.getBuiltins().InstanceOf, valueType);\r
- graph.setValueAsObject(r, v);\r
- graph.addStatement(resource, predicate, r);\r
- }\r
- else if(objects.size() == 1)\r
- for(Resource r : objects)\r
- graph.setValueAsObject(r, v);\r
- else\r
- throw new ResourceDoesNotSatisfyAssumptionException("Wrong number (" + objects.size() + ") of statements.");\r
- }\r
- \r
-}\r
-\r