]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d/scl/Plant3d/Test/Test2.scl
Reversing pipe runs was never implemented properly
[simantics/3d.git] / org.simantics.plant3d / scl / Plant3d / Test / Test2.scl
1 import "Plant3d/Utils/P3DUtil"
2 import "Simantics/DB"
3 import "Plant3d/Utils/Loader"
4 import "G3D/SCLUtil"
5 import "JavaBuiltin"
6 import "G3D/Math/Tuple3d" as T3D
7 import "G3D/Math/Vector3d" as V3D
8 import "G3D/Scenegraph/G3DNode" as G3D
9 import "Plant3d/Scenegraph/P3DRootNode" as P3R
10 import "Plant3d/Scenegraph/P3DNode" as P3N
11 import "Plant3d/Scenegraph/Equipment" as E
12 import "Plant3d/Scenegraph/PipelineComponent" as PC
13 import "Plant3d/Scenegraph/EndComponent" as EC
14 import "Plant3d/Scenegraph/InlineComponent" as IC
15 import "Plant3d/Scenegraph/TurnComponent" as TC
16 import "Plant3d/Utils/P3DScriptNodeMap" as P3S
17 import "Plant3d/Utils/P3DUtil" as P3DUtil
18 import "Plant3d/Utils/ComponentUtils" as CU
19 import "http://www.simantics.org/Layer0-1.1" as L0
20
21 "Creates a similar pipeline to Test1 by setting coordinates to Elbows."
22 doTest :: <Proc> ()
23 doTest = do
24
25     myModel = syncWrite(\_ -> do
26           myModel = P3DUtil.createModel "Test2"
27           claim (resource "http://Projects/Development%20Project") L0.ConsistsOf myModel
28           myModel)
29     p3dmap = load myModel
30     rootMaybe = javaSafeCoerce (P3S.getRootNode p3dmap) :: Maybe P3R.P3DRootNode
31     root = fromJust rootMaybe
32     pump = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Pump"
33     P3N.setName pump "My Pump"
34     P3S.commit p3dmap "Created a pump"
35     P3S.update p3dmap
36     n1 = CU.createDefaultNozzle root pump
37     P3S.commit p3dmap "Created a nozzle"
38     P3S.update p3dmap
39     pipe = CU.addComponent root (unsafeCoerce n1) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
40     P3S.commit p3dmap "Created a pipe"
41     P3S.update p3dmap
42     
43     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
44     G3D.setPosition elbow (V3D.createVector3d (-1.6) 0.15 0.0)
45     CU.connect pipe elbow
46     
47     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
48     CU.connect elbow pipe
49     
50     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
51     G3D.setPosition elbow (V3D.createVector3d (-1.6) 2.6 0.0)
52     CU.connect pipe elbow
53     
54     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
55     CU.connect elbow pipe
56     
57     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
58     G3D.setPosition elbow (V3D.createVector3d (-1.6) 2.6 (-1.4))
59     CU.connect pipe elbow
60     
61     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
62     CU.connect elbow pipe
63     
64     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
65     G3D.setPosition elbow (V3D.createVector3d (2.9) 2.6 (-1.4))
66     CU.connect pipe elbow
67     
68     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
69     CU.connect elbow pipe
70     
71     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
72     G3D.setPosition elbow (V3D.createVector3d (2.9) 2.6 (3.0))
73     CU.connect pipe elbow
74     
75     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
76     CU.connect elbow pipe
77     
78     elbow = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow"
79     G3D.setPosition elbow (V3D.createVector3d (2.9) 0.15 (3.0))
80     CU.connect pipe elbow
81     
82     pipe = CU.createComponentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Straight"
83     CU.connect elbow pipe
84     G3D.setPosition pipe (V3D.createVector3d (1.8) 0.15 3.0)
85     P3S.commit p3dmap "Created a pipe"
86     P3S.update p3dmap
87     
88     tank = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/HorizontalTank"
89     P3N.setName tank "My Tank"
90     G3D.setPosition tank (V3D.createVector3d 0.0 0.0 3.0)
91     P3S.commit p3dmap "Created a tank"
92     P3S.update p3dmap
93     n2 = CU.createDefaultNozzle root tank
94     G3D.setPosition n2 (V3D.createVector3d 0.6 0.3 0.0)
95     P3S.commit p3dmap "Created a nozzle"
96     P3S.update p3dmap
97     
98     CU.connect pipe (unsafeCoerce n2)
99     P3S.commit p3dmap "Connected a pipe to a nozzle"
100     P3S.update p3dmap
101     ()