X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fscl%2FPlant3d%2FScenegraph%2FPipelineComponent.scl;h=f56444e21172bf0c2378cfb74bd21b5542e669e2;hb=452ed80b1d0bacd7632d482cef42367a491d4486;hp=efd86b715a7fbaed5ef88051ef4f64000cd7e44b;hpb=d3f535e82944e98845638c0e56b23077c1e7c104;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/scl/Plant3d/Scenegraph/PipelineComponent.scl b/org.simantics.plant3d/scl/Plant3d/Scenegraph/PipelineComponent.scl index efd86b71..f56444e2 100644 --- a/org.simantics.plant3d/scl/Plant3d/Scenegraph/PipelineComponent.scl +++ b/org.simantics.plant3d/scl/Plant3d/Scenegraph/PipelineComponent.scl @@ -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 -> PipeRun @JavaName setPipeRun - setPipeRun' :: PipelineComponent -> PipeRun -> () + setPipeRun' :: PipelineComponent -> PipeRun -> () @JavaName getAlternativePipeRun - getAlternativePipeRun' :: PipelineComponent -> Maybe PipeRun + getAlternativePipeRun' :: PipelineComponent -> Maybe PipeRun @JavaName setAlternativePipeRun - setAlternativePipeRun' :: PipelineComponent -> PipeRun -> () + setAlternativePipeRun' :: PipelineComponent -> PipeRun -> () @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 -> () @JavaName getPrevious - getPrevious' :: PipelineComponent -> Maybe PipelineComponent + getPrevious' :: PipelineComponent -> Maybe PipelineComponent @JavaName setPrevious - setPrevious' :: PipelineComponent -> Maybe PipelineComponent -> () + setPrevious' :: PipelineComponent -> Maybe PipelineComponent -> () @JavaName getBranch0 - getBranch0' :: PipelineComponent -> Maybe PipelineComponent + getBranch0' :: PipelineComponent -> Maybe PipelineComponent @JavaName setBranch0 - setBranch0' :: PipelineComponent -> Maybe PipelineComponent -> () + setBranch0' :: PipelineComponent -> Maybe PipelineComponent -> () @JavaName getType - getType' :: PipelineComponent -> String + getType' :: PipelineComponent -> String - //getControlPoint :: PipelineComponent -> PipeControlPoint + @JavaName getControlPoint + getControlPoint' :: PipelineComponent -> PipeControlPoint @JavaName remove - remove' :: PipelineComponent -> () + remove' :: PipelineComponent -> () @JavaName getFlowLength - getFlowLength' :: PipelineComponent -> Maybe Double + getFlowLength' :: PipelineComponent -> Maybe Double @JavaName getEnds - getEnds' :: PipelineComponent -> Tuple3d -> Tuple3d -> () + getEnds' :: PipelineComponent -> MTuple3d -> MTuple3d -> () + @JavaName getEndDirections + getEndDirections' :: PipelineComponent -> MTuple3d -> MTuple3d -> () + + @JavaName getVolume + getVolume' :: PipelineComponent -> Double + + @JavaName getCentroid + getCentroid' :: PipelineComponent -> MTuple3d -> () class PipelineComponentClass a where asPipelineComponent :: a -> PipelineComponent asPipelineComponent = Java.unsafeCoerce - getPipeRun :: a -> PipeRun + getPipeRun :: a -> PipeRun getPipeRun c = getPipeRun' (asPipelineComponent c) - setPipeRun :: a -> PipeRun -> () + setPipeRun :: a -> PipeRun -> () setPipeRun c = setPipeRun' (asPipelineComponent c) - getAlternativePipeRun :: a -> Maybe PipeRun + getAlternativePipeRun :: a -> Maybe PipeRun getAlternativePipeRun c = getAlternativePipeRun' (asPipelineComponent c) - setAlternativePipeRun :: a -> PipeRun -> () + setAlternativePipeRun :: a -> PipeRun -> () setAlternativePipeRun c = setAlternativePipeRun' (asPipelineComponent c) - updateParameters :: a -> () + updateParameters :: a -> () updateParameters c = updateParameters' (asPipelineComponent c) - getNext :: a -> Maybe PipelineComponent + getNext :: a -> Maybe PipelineComponent getNext c = getNext' (asPipelineComponent c) - setNext :: a -> Maybe PipelineComponent -> () + setNext :: a -> Maybe PipelineComponent -> () setNext c = setNext' (asPipelineComponent c) - getPrevious :: a -> Maybe PipelineComponent + getPrevious :: a -> Maybe PipelineComponent getPrevious c = getPrevious' (asPipelineComponent c) - setPrevious :: a -> Maybe PipelineComponent -> () + setPrevious :: a -> Maybe PipelineComponent -> () setPrevious c = setPrevious' (asPipelineComponent c) - getBranch0 :: a -> Maybe PipelineComponent + getBranch0 :: a -> Maybe PipelineComponent getBranch0 c = getBranch0' (asPipelineComponent c) - setBranch0 :: a -> Maybe PipelineComponent -> () + setBranch0 :: a -> Maybe PipelineComponent -> () setBranch0 c = setBranch0' (asPipelineComponent c) - getType :: a -> String + getType :: a -> String getType c = getType' (asPipelineComponent c) - remove :: a -> () + getControlPoint :: a -> PipeControlPoint + getControlPoint c = getControlPoint' (asPipelineComponent c) + + remove :: a -> () remove c = remove' (asPipelineComponent c) - getFlowLength :: a -> Maybe Double + getFlowLength :: a -> Maybe Double getFlowLength c = getFlowLength' (asPipelineComponent c) - getEnds :: a -> Tuple3d -> Tuple3d -> () - getEnds c = getEnds' (asPipelineComponent c) + + getEnds :: a -> (Vector3d, Vector3d) + getEnds c = runProc let + p1 = defaultMVector3d + p2 = defaultMVector3d + getEnds' (asPipelineComponent c) (asMTuple p1) (asMTuple p2) + in (freeze p1, freeze p2) + + getEndDirections :: a -> (Vector3d, Vector3d) + getEndDirections c = runProc let + p1 = defaultMVector3d + p2 = defaultMVector3d + getEndDirections' (asPipelineComponent c) (asMTuple p1) (asMTuple p2) + in (freeze p1, freeze p2) + + getVolume :: a -> Double + getVolume c = getVolume' (asPipelineComponent c) + + getCentroid :: a -> 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 -> Maybe Double + //@JavaName getType //getPointType :: PipeControlPoint -> PointType - isFixed :: PipeControlPoint -> Boolean + isFixed :: PipeControlPoint -> Boolean - getSubPoint :: PipeControlPoint -> [PipeControlPoint] - getParentPoint :: PipeControlPoint -> Maybe PipeControlPoint + @JavaName getChildPoints + getSubPoint :: PipeControlPoint -> [PipeControlPoint] + getParentPoint :: PipeControlPoint -> Maybe PipeControlPoint importJava "org.simantics.plant3d.scenegraph.PipeRun" where data PipeRun - getTurnRadius :: PipeRun -> Double - setTurnRadius :: PipeRun -> Double -> () + getTurnRadius :: PipeRun -> Double + setTurnRadius :: PipeRun -> Double -> () - getPipeDiameter :: PipeRun -> Double - setPipeDiameter :: PipeRun -> Double -> () + getPipeDiameter :: PipeRun -> Double + setPipeDiameter :: PipeRun -> Double -> () - addChild :: PipeRun -> PipelineComponent -> () - getChild :: PipeRun -> [PipelineComponent] - remChild :: PipeRun -> PipelineComponent -> () + addChild :: PipeRun -> PipelineComponent -> () + getChild :: PipeRun -> [PipelineComponent] + remChild :: PipeRun -> PipelineComponent -> () - getSortedChild :: PipeRun -> [PipelineComponent] + getSortedChild :: PipeRun -> [PipelineComponent] instance NodeClass PipeRun instance ParentNodeClass PipeRun