]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/scl/Plant3d/Scenegraph/PipelineComponent.scl
Rename of getSubPoint in PipeControlPoint in SCL
[simantics/3d.git] / org.simantics.plant3d / scl / Plant3d / Scenegraph / PipelineComponent.scl
index efd86b715a7fbaed5ef88051ef4f64000cd7e44b..f56444e21172bf0c2378cfb74bd21b5542e669e2 100644 (file)
@@ -1,6 +1,7 @@
 import "G3D/Math/Tuple3d"
 import "G3D/Math/Quat4d"
 import "G3D/Math/Vector3d"
+import "G3D/Math/Point3d"
 
 include "G3D/Scenegraph/Node"
 include "G3D/Scenegraph/G3DNode"
@@ -13,14 +14,14 @@ importJava "org.simantics.plant3d.scenegraph.PipelineComponent" where
   data PipelineComponent
   
   @JavaName getPipeRun
-  getPipeRun' :: PipelineComponent -> PipeRun
+  getPipeRun' :: PipelineComponent -> <Proc> PipeRun
   @JavaName setPipeRun
-  setPipeRun' :: PipelineComponent -> PipeRun -> ()
+  setPipeRun' :: PipelineComponent -> PipeRun -> <Proc> ()
   
   @JavaName getAlternativePipeRun
-  getAlternativePipeRun' :: PipelineComponent -> Maybe PipeRun
+  getAlternativePipeRun' :: PipelineComponent -> <Proc> Maybe PipeRun
   @JavaName setAlternativePipeRun
-  setAlternativePipeRun' :: PipelineComponent -> PipeRun -> ()
+  setAlternativePipeRun' :: PipelineComponent -> PipeRun -> <Proc> ()
   
   @JavaName updateParameters
   updateParameters' :: PipelineComponent -> ()
@@ -28,73 +29,106 @@ importJava "org.simantics.plant3d.scenegraph.PipelineComponent" where
   @JavaName getNext
   getNext' :: PipelineComponent -> Maybe PipelineComponent
   @JavaName setNext
-  setNext' :: PipelineComponent -> Maybe PipelineComponent -> ()
+  setNext' :: PipelineComponent -> Maybe PipelineComponent -> <Proc> ()
   
   @JavaName getPrevious
-  getPrevious' :: PipelineComponent -> Maybe PipelineComponent
+  getPrevious' :: PipelineComponent -> <Proc> Maybe PipelineComponent
   @JavaName setPrevious
-  setPrevious' :: PipelineComponent -> Maybe PipelineComponent -> ()
+  setPrevious' :: PipelineComponent -> Maybe PipelineComponent -> <Proc> ()
   
   @JavaName getBranch0
-  getBranch0' :: PipelineComponent -> Maybe PipelineComponent
+  getBranch0' :: PipelineComponent -> <Proc> Maybe PipelineComponent
   @JavaName setBranch0
-  setBranch0' :: PipelineComponent -> Maybe PipelineComponent -> ()
+  setBranch0' :: PipelineComponent -> Maybe PipelineComponent -> <Proc> ()
   
   @JavaName getType
-  getType' :: PipelineComponent -> String
+  getType' :: PipelineComponent -> <Proc> String
   
-  //getControlPoint :: PipelineComponent -> PipeControlPoint
+  @JavaName getControlPoint 
+  getControlPoint' :: PipelineComponent -> <Proc> PipeControlPoint
   
   @JavaName remove
-  remove' :: PipelineComponent -> ()
+  remove' :: PipelineComponent -> <Proc> ()
   
   @JavaName getFlowLength
-  getFlowLength' :: PipelineComponent -> Maybe Double
+  getFlowLength' :: PipelineComponent -> <Proc> Maybe Double
   @JavaName getEnds
-  getEnds' :: PipelineComponent -> Tuple3d -> Tuple3d -> ()
+  getEnds' :: PipelineComponent -> MTuple3d -> MTuple3d -> <Proc> ()
+  @JavaName getEndDirections
+  getEndDirections' :: PipelineComponent -> MTuple3d -> MTuple3d -> <Proc> ()
+  
+  @JavaName getVolume
+  getVolume' :: PipelineComponent -> <Proc> Double
+  
+  @JavaName getCentroid
+  getCentroid' :: PipelineComponent -> MTuple3d -> <Proc> ()
 
 class PipelineComponentClass a where
   asPipelineComponent :: a -> PipelineComponent
   asPipelineComponent = Java.unsafeCoerce
 
-  getPipeRun :: a -> PipeRun
+  getPipeRun :: a -> <Proc> PipeRun
   getPipeRun c = getPipeRun' (asPipelineComponent c)
-  setPipeRun :: a -> PipeRun -> ()
+  setPipeRun :: a -> PipeRun -> <Proc> ()
   setPipeRun c = setPipeRun' (asPipelineComponent c)
   
-  getAlternativePipeRun :: a -> Maybe PipeRun
+  getAlternativePipeRun :: a -> <Proc> Maybe PipeRun
   getAlternativePipeRun c = getAlternativePipeRun' (asPipelineComponent c)
-  setAlternativePipeRun :: a -> PipeRun -> ()
+  setAlternativePipeRun :: a -> PipeRun -> <Proc> ()
   setAlternativePipeRun c = setAlternativePipeRun' (asPipelineComponent c)
   
-  updateParameters :: a -> ()
+  updateParameters :: a -> <Proc> ()
   updateParameters c = updateParameters' (asPipelineComponent c)
   
-  getNext :: a -> Maybe PipelineComponent
+  getNext :: a -> <Proc> Maybe PipelineComponent
   getNext c = getNext' (asPipelineComponent c)
-  setNext :: a -> Maybe PipelineComponent -> ()
+  setNext :: a -> Maybe PipelineComponent -> <Proc> ()
   setNext c = setNext' (asPipelineComponent c)
   
-  getPrevious :: a -> Maybe PipelineComponent
+  getPrevious :: a -> <Proc> Maybe PipelineComponent
   getPrevious c = getPrevious' (asPipelineComponent c)
-  setPrevious :: a -> Maybe PipelineComponent -> ()
+  setPrevious :: a -> Maybe PipelineComponent -> <Proc> ()
   setPrevious c = setPrevious' (asPipelineComponent c)
   
-  getBranch0 :: a -> Maybe PipelineComponent
+  getBranch0 :: a -> <Proc> Maybe PipelineComponent
   getBranch0 c = getBranch0' (asPipelineComponent c)
-  setBranch0 :: a -> Maybe PipelineComponent -> ()
+  setBranch0 :: a -> Maybe PipelineComponent -> <Proc> ()
   setBranch0 c = setBranch0' (asPipelineComponent c)
   
-  getType :: a -> String
+  getType :: a -> <Proc> String
   getType c = getType' (asPipelineComponent c)
   
-  remove :: a -> ()
+  getControlPoint ::  a -> <Proc> PipeControlPoint
+  getControlPoint c = getControlPoint' (asPipelineComponent c)
+  
+  remove :: a -> <Proc> ()
   remove c = remove' (asPipelineComponent c)
   
-  getFlowLength :: a -> Maybe Double
+  getFlowLength :: a -> <Proc> Maybe Double
   getFlowLength c = getFlowLength' (asPipelineComponent c)
-  getEnds :: a -> Tuple3d -> Tuple3d -> ()
-  getEnds c = getEnds' (asPipelineComponent c)
+  
+  getEnds :: a -> <Proc> (Vector3d, Vector3d)
+  getEnds c = runProc let
+    p1 = defaultMVector3d
+    p2 = defaultMVector3d
+    getEnds' (asPipelineComponent c) (asMTuple p1) (asMTuple p2)
+    in (freeze p1, freeze p2)
+    
+  getEndDirections :: a -> <Proc> (Vector3d, Vector3d)
+  getEndDirections c = runProc let
+    p1 = defaultMVector3d
+    p2 = defaultMVector3d
+    getEndDirections' (asPipelineComponent c) (asMTuple p1) (asMTuple p2)
+    in (freeze p1, freeze p2)
+
+  getVolume :: a -> <Proc> Double
+  getVolume c = getVolume' (asPipelineComponent c)
+
+  getCentroid :: a -> <Proc> Vector3d
+  getCentroid c = runProc let
+    p = defaultMVector3d
+    getCentroid' (asPipelineComponent c) (asMTuple p)
+    in freeze p
 
 instance NodeClass PipelineComponent
 instance G3DNodeClass PipelineComponent
@@ -130,28 +164,31 @@ importJava "org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint" wher
   
   getPipelineComponent :: PipeControlPoint -> PipelineComponent
   
+  getTurnAngle :: PipeControlPoint -> <Proc> Maybe Double
+  
   //@JavaName getType
   //getPointType :: PipeControlPoint -> PointType
   
-  isFixed :: PipeControlPoint -> Boolean
+  isFixed :: PipeControlPoint -> <Proc> Boolean
   
-  getSubPoint :: PipeControlPoint -> [PipeControlPoint]
-  getParentPoint :: PipeControlPoint -> Maybe PipeControlPoint
+  @JavaName getChildPoints
+  getSubPoint :: PipeControlPoint -> <Proc> [PipeControlPoint]
+  getParentPoint :: PipeControlPoint -> <Proc> Maybe PipeControlPoint
   
 importJava "org.simantics.plant3d.scenegraph.PipeRun" where
   data PipeRun
   
-  getTurnRadius :: PipeRun -> Double
-  setTurnRadius :: PipeRun -> Double -> ()
+  getTurnRadius :: PipeRun -> <Proc> Double
+  setTurnRadius :: PipeRun -> Double -> <Proc> ()
   
-  getPipeDiameter :: PipeRun -> Double
-  setPipeDiameter :: PipeRun -> Double -> ()
+  getPipeDiameter :: PipeRun -> <Proc> Double
+  setPipeDiameter :: PipeRun -> Double -> <Proc> ()
   
-  addChild :: PipeRun -> PipelineComponent -> ()
-  getChild :: PipeRun -> [PipelineComponent]
-  remChild :: PipeRun -> PipelineComponent -> ()
+  addChild :: PipeRun -> PipelineComponent -> <Proc> ()
+  getChild :: PipeRun -> <Proc> [PipelineComponent]
+  remChild :: PipeRun -> PipelineComponent -> <Proc> ()
   
-  getSortedChild :: PipeRun -> [PipelineComponent]
+  getSortedChild :: PipeRun -> <Proc> [PipelineComponent]
 
 instance NodeClass PipeRun
 instance ParentNodeClass PipeRun