1 import "Plant3d/Scenegraph/PipelineComponent"
2 import "Plant3d/Scenegraph/Equipment"
3 import "Plant3d/Scenegraph/Nozzle"
4 import "Plant3d/Scenegraph/P3DRootNode"
7 importJava "org.simantics.plant3d.utils.ComponentUtils" where
9 @JavaName createComponent
10 createComponentWithURI :: P3DRootNode -> String -> <Proc> PipelineComponent
11 @JavaName createEquipment
12 createEquipmentWithURI :: P3DRootNode -> String -> <Proc> Equipment
14 createStraight :: P3DRootNode -> <Proc> PipelineComponent
15 createTurn :: P3DRootNode -> <Proc> PipelineComponent
16 createReducer :: P3DRootNode -> <Proc> PipelineComponent
17 createBranchSplit :: P3DRootNode -> <Proc> PipelineComponent
18 createEquipment :: P3DRootNode -> Item -> <Proc> Equipment
19 createDefaultNozzle :: P3DRootNode -> Equipment -> <Proc> Nozzle
21 @JavaName addComponent
22 addComponent :: P3DRootNode -> PipelineComponent -> InsertInstruction -> <Proc> PipelineComponent
24 importJava "org.simantics.plant3d.utils.ComponentUtils$InsertInstruction" where
25 data InsertInstruction
28 createInsertInstruction :: () -> InsertInstruction
30 setTypeUri :: InsertInstruction -> String -> <Proc> ()
31 setPosition :: InsertInstruction -> PositionType -> <Proc> ()
32 setInsertPosition :: InsertInstruction -> PositionType -> <Proc> ()
33 setLength :: InsertInstruction -> Maybe Double -> <Proc> ()
34 setAngle :: InsertInstruction -> Maybe Double -> <Proc> ()
35 setDiameter :: InsertInstruction -> Maybe Double -> <Proc> ()
36 setTurnRadius :: InsertInstruction -> Maybe Double -> <Proc> ()
38 createFixedLength :: String -> PositionType -> PositionType -> <Proc> InsertInstruction
39 createFixedLength typeUri position insertPosition = do
40 instruction = createInsertInstruction ()
41 setTypeUri instruction typeUri
42 setPosition instruction position
43 setInsertPosition instruction insertPosition
46 createVariableLength :: String -> PositionType -> PositionType -> Double -> <Proc> InsertInstruction
47 createVariableLength typeUri position insertPosition length = do
48 instruction = createInsertInstruction ()
49 setTypeUri instruction typeUri
50 setPosition instruction position
51 setInsertPosition instruction insertPosition
52 setLength instruction (Just length)
55 createFixedTurn :: String -> PositionType -> PositionType -> <Proc> InsertInstruction
56 createFixedTurn typeUri position insertPosition = do
57 instruction = createInsertInstruction ()
58 setTypeUri instruction typeUri
59 setPosition instruction position
60 setInsertPosition instruction insertPosition
63 createVariableTurn :: String -> PositionType -> PositionType -> Double -> <Proc> InsertInstruction
64 createVariableTurn typeUri position insertPosition angle = do
65 instruction = createInsertInstruction ()
66 setTypeUri instruction typeUri
67 setPosition instruction position
68 setInsertPosition instruction insertPosition
69 setAngle instruction (Just angle)
72 createSizeChange :: String -> PositionType -> PositionType -> Double -> Double -> <Proc> InsertInstruction
73 createSizeChange typeUri position insertPosition diameter radius = do
74 instruction = createInsertInstruction ()
75 setTypeUri instruction typeUri
76 setPosition instruction position
77 setInsertPosition instruction insertPosition
78 setDiameter instruction (Just diameter)
79 setTurnRadius instruction (Just radius)