]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d/scl/Plant3d/Test/Test3c.scl
Reversing pipe runs was never implemented properly
[simantics/3d.git] / org.simantics.plant3d / scl / Plant3d / Test / Test3c.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 doTest :: <Proc> ()
22 doTest = do
23
24     myModel = syncWrite(\_ -> do
25           myModel = P3DUtil.createModel "Test3c"
26           claim (resource "http://Projects/Development%20Project") L0.ConsistsOf myModel
27           myModel)
28     p3dmap = load myModel
29     rootMaybe = javaSafeCoerce (P3S.getRootNode p3dmap) :: Maybe P3R.P3DRootNode
30     root = fromJust rootMaybe
31     pump = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Pump"
32     P3N.setName pump "My Pump"
33     P3S.commit p3dmap "Created a pump"
34     P3S.update p3dmap
35     n1 = CU.createDefaultNozzle root pump
36     P3S.commit p3dmap "Created a nozzle"
37     P3S.update p3dmap
38     pipe = CU.addComponent root (unsafeCoerce n1) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
39     P3S.commit p3dmap "Created a pipe"
40     P3S.update p3dmap
41     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
42     TC.setRotationAngle (unsafeCoerce elbow) (Just 90.0)
43     P3S.commit p3dmap "Created a elbow"
44     P3S.update p3dmap
45     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 2.0)
46     P3S.commit p3dmap "Created a pipe"
47     P3S.update p3dmap
48     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
49     TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
50     P3S.commit p3dmap "Created a elbow"
51     P3S.update p3dmap
52     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
53     P3S.commit p3dmap "Created a pipe"
54     P3S.update p3dmap
55     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
56     TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
57     P3S.commit p3dmap "Created a elbow"
58     P3S.update p3dmap
59     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
60     P3S.commit p3dmap "Created a pipe"
61     P3S.update p3dmap
62     
63     reducer = CU.addComponent root (unsafeCoerce pipe) (CU.createSizeChange "http://www.simantics.org/Plant3D-0.1/Builtin/ConcentricReducer" PC.NEXT PC.NEXT 0.2 0.3)
64     P3S.commit p3dmap "Created a reducer"
65     P3S.update p3dmap
66     
67     pipe = CU.addComponent root (unsafeCoerce reducer) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
68     P3S.commit p3dmap "Created a pipe"
69     P3S.update p3dmap
70     
71     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
72     TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
73     P3S.commit p3dmap "Created a elbow"
74     P3S.update p3dmap
75     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
76     P3S.commit p3dmap "Created a pipe"
77     P3S.update p3dmap
78     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
79     TC.setRotationAngle (unsafeCoerce elbow) (Just 270.0)
80     P3S.commit p3dmap "Created a elbow"
81     P3S.update p3dmap
82     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 2.0)
83     P3S.commit p3dmap "Created a pipe"
84     P3S.update p3dmap
85     elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
86     TC.setRotationAngle (unsafeCoerce elbow) (Just 270.0)
87     P3S.commit p3dmap "Created a elbow"
88     P3S.update p3dmap
89     pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
90     P3S.commit p3dmap "Created a pipe"
91     P3S.update p3dmap
92     
93     tank = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/HorizontalTank"
94     P3N.setName tank "My Tank"
95     G3D.setPosition tank (V3D.createVector3d 0.0 0.0 3.0)
96     P3S.commit p3dmap "Created a tank"
97     P3S.update p3dmap
98     n2 = CU.createDefaultNozzle root tank
99     G3D.setPosition n2 (V3D.createVector3d 0.6 0.3 0.0)
100     P3S.commit p3dmap "Created a nozzle"
101     P3S.update p3dmap
102     
103     CU.connect pipe (unsafeCoerce n2)
104     P3S.commit p3dmap "Connected a pipe to a nozzle"
105     P3S.update p3dmap
106     ()