import "G3D/Math/Tuple3d" import "G3D/Math/Quat4d" import "G3D/Math/Vector3d" import "G3D/Math/Point3d" include "G3D/Scenegraph/Node" include "G3D/Scenegraph/G3DNode" include "./P3DNode" import "JavaBuiltin" as Java importJava "org.simantics.plant3d.scenegraph.PipelineComponent" where data PipelineComponent @JavaName getPipeRun getPipeRun' :: PipelineComponent -> PipeRun @JavaName setPipeRun setPipeRun' :: PipelineComponent -> PipeRun -> () @JavaName getAlternativePipeRun getAlternativePipeRun' :: PipelineComponent -> Maybe PipeRun @JavaName setAlternativePipeRun setAlternativePipeRun' :: PipelineComponent -> PipeRun -> () @JavaName updateParameters updateParameters' :: PipelineComponent -> () @JavaName getNext getNext' :: PipelineComponent -> Maybe PipelineComponent @JavaName setNext setNext' :: PipelineComponent -> Maybe PipelineComponent -> () @JavaName getPrevious getPrevious' :: PipelineComponent -> Maybe PipelineComponent @JavaName setPrevious setPrevious' :: PipelineComponent -> Maybe PipelineComponent -> () @JavaName getBranch0 getBranch0' :: PipelineComponent -> Maybe PipelineComponent @JavaName setBranch0 setBranch0' :: PipelineComponent -> Maybe PipelineComponent -> () @JavaName getType getType' :: PipelineComponent -> String @JavaName getControlPoint getControlPoint' :: PipelineComponent -> PipeControlPoint @JavaName remove remove' :: PipelineComponent -> () @JavaName getFlowLength getFlowLength' :: PipelineComponent -> Maybe Double @JavaName getEnds 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 c = getPipeRun' (asPipelineComponent c) setPipeRun :: a -> PipeRun -> () setPipeRun c = setPipeRun' (asPipelineComponent c) getAlternativePipeRun :: a -> Maybe PipeRun getAlternativePipeRun c = getAlternativePipeRun' (asPipelineComponent c) setAlternativePipeRun :: a -> PipeRun -> () setAlternativePipeRun c = setAlternativePipeRun' (asPipelineComponent c) updateParameters :: a -> () updateParameters c = updateParameters' (asPipelineComponent c) getNext :: a -> Maybe PipelineComponent getNext c = getNext' (asPipelineComponent c) setNext :: a -> Maybe PipelineComponent -> () setNext c = setNext' (asPipelineComponent c) getPrevious :: a -> Maybe PipelineComponent getPrevious c = getPrevious' (asPipelineComponent c) setPrevious :: a -> Maybe PipelineComponent -> () setPrevious c = setPrevious' (asPipelineComponent c) getBranch0 :: a -> Maybe PipelineComponent getBranch0 c = getBranch0' (asPipelineComponent c) setBranch0 :: a -> Maybe PipelineComponent -> () setBranch0 c = setBranch0' (asPipelineComponent c) getType :: a -> String getType c = getType' (asPipelineComponent c) getControlPoint :: a -> PipeControlPoint getControlPoint c = getControlPoint' (asPipelineComponent c) remove :: a -> () remove c = remove' (asPipelineComponent c) getFlowLength :: a -> Maybe Double getFlowLength c = getFlowLength' (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 instance P3DNodeClass PipelineComponent instance PipelineComponentClass PipelineComponent where asPipelineComponent = id importJava "org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint$PointType" where data PointType INLINE :: PointType TURN :: PointType END :: PointType importJava "org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint$Direction" where data Direction @JavaName NEXT DNEXT :: Direction @JavaName PREVIOUS DPREVIOUS :: Direction importJava "org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint$PositionType" where data PositionType NEXT :: PositionType PREVIOUS :: PositionType SPLIT :: PositionType PORT :: PositionType importJava "org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint" where data PipeControlPoint getPipelineComponent :: PipeControlPoint -> PipelineComponent getTurnAngle :: PipeControlPoint -> Maybe Double //@JavaName getType //getPointType :: PipeControlPoint -> PointType isFixed :: PipeControlPoint -> Boolean @JavaName getChildPoints getSubPoint :: PipeControlPoint -> [PipeControlPoint] getParentPoint :: PipeControlPoint -> Maybe PipeControlPoint importJava "org.simantics.plant3d.scenegraph.PipeRun" where data PipeRun getTurnRadius :: PipeRun -> Double setTurnRadius :: PipeRun -> Double -> () getPipeDiameter :: PipeRun -> Double setPipeDiameter :: PipeRun -> Double -> () getInsideDiameter :: PipeRun -> Double addChild :: PipeRun -> PipelineComponent -> () getChild :: PipeRun -> [PipelineComponent] remChild :: PipeRun -> PipelineComponent -> () getSortedChild :: PipeRun -> [PipelineComponent] instance NodeClass PipeRun instance ParentNodeClass PipeRun instance G3DNodeClass PipeRun instance P3DNodeClass PipeRun