1 import "Plant3d/Scenegraph/PipelineComponent"
2 import "Plant3d/Scenegraph/Equipment"
3 import "Plant3d/Scenegraph/Nozzle"
4 import "Plant3d/Scenegraph/P3DRootNode"
5 import "G3D/Math/Vector3d"
8 importJava "org.simantics.plant3d.utils.ComponentUtils" where
10 @JavaName createComponent
11 createComponentWithURI :: P3DRootNode -> String -> <Proc> PipelineComponent
12 @JavaName createEquipment
13 createEquipmentWithURI :: P3DRootNode -> String -> <Proc> Equipment
15 createStraight :: P3DRootNode -> <Proc> PipelineComponent
16 createTurn :: P3DRootNode -> <Proc> PipelineComponent
17 createReducer :: P3DRootNode -> <Proc> PipelineComponent
18 createBranchSplit :: P3DRootNode -> <Proc> PipelineComponent
19 createEquipment :: P3DRootNode -> Item -> <Proc> Equipment
20 createDefaultNozzle :: P3DRootNode -> Equipment -> <Proc> Nozzle
22 @JavaName addComponent
23 addComponent :: P3DRootNode -> PipelineComponent -> InsertInstruction -> <Proc> PipelineComponent
26 connect :: PipelineComponent -> PipelineComponent -> <Proc> Boolean
29 connect2 :: PipelineComponent -> PipelineComponent -> PositionType -> Vector3d -> <Proc> Boolean
31 importJava "org.simantics.plant3d.utils.ComponentUtils$InsertInstruction" where
32 data InsertInstruction
35 createInsertInstruction :: () -> <Proc> InsertInstruction
37 setTypeUri :: InsertInstruction -> String -> <Proc> ()
38 setPosition :: InsertInstruction -> PositionType -> <Proc> ()
39 setInsertPosition :: InsertInstruction -> PositionType -> <Proc> ()
40 setLength :: InsertInstruction -> Maybe Double -> <Proc> ()
41 setAngle :: InsertInstruction -> Maybe Double -> <Proc> ()
42 setDiameter :: InsertInstruction -> Maybe Double -> <Proc> ()
43 setTurnRadius :: InsertInstruction -> Maybe Double -> <Proc> ()
45 createFixedLength :: String -> PositionType -> PositionType -> <Proc> InsertInstruction
46 createFixedLength typeUri position insertPosition = do
47 instruction = createInsertInstruction ()
48 setTypeUri instruction typeUri
49 setPosition instruction position
50 setInsertPosition instruction insertPosition
53 createVariableLength :: String -> PositionType -> PositionType -> Double -> <Proc> InsertInstruction
54 createVariableLength typeUri position insertPosition length = do
55 instruction = createInsertInstruction ()
56 setTypeUri instruction typeUri
57 setPosition instruction position
58 setInsertPosition instruction insertPosition
59 setLength instruction (Just length)
62 createFixedTurn :: String -> PositionType -> PositionType -> <Proc> InsertInstruction
63 createFixedTurn typeUri position insertPosition = do
64 instruction = createInsertInstruction ()
65 setTypeUri instruction typeUri
66 setPosition instruction position
67 setInsertPosition instruction insertPosition
70 createVariableTurn :: String -> PositionType -> PositionType -> Double -> <Proc> InsertInstruction
71 createVariableTurn typeUri position insertPosition angle = do
72 instruction = createInsertInstruction ()
73 setTypeUri instruction typeUri
74 setPosition instruction position
75 setInsertPosition instruction insertPosition
76 setAngle instruction (Just angle)
79 createSizeChange :: String -> PositionType -> PositionType -> Double -> Double -> <Proc> InsertInstruction
80 createSizeChange typeUri position insertPosition diameter radius = do
81 instruction = createInsertInstruction ()
82 setTypeUri instruction typeUri
83 setPosition instruction position
84 setInsertPosition instruction insertPosition
85 setDiameter instruction (Just diameter)
86 setTurnRadius instruction (Just radius)