+ @JavaName getCentroid
+ getCentroid' :: PipelineComponent -> MTuple3d -> <Proc> ()
+
+class PipelineComponentClass a where
+ asPipelineComponent :: a -> PipelineComponent
+ asPipelineComponent = Java.unsafeCoerce
+
+ getPipeRun :: a -> <Proc> PipeRun
+ getPipeRun c = getPipeRun' (asPipelineComponent c)
+ setPipeRun :: a -> PipeRun -> <Proc> ()
+ setPipeRun c = setPipeRun' (asPipelineComponent c)
+
+ getAlternativePipeRun :: a -> <Proc> Maybe PipeRun
+ getAlternativePipeRun c = getAlternativePipeRun' (asPipelineComponent c)
+ setAlternativePipeRun :: a -> PipeRun -> <Proc> ()
+ setAlternativePipeRun c = setAlternativePipeRun' (asPipelineComponent c)
+
+ updateParameters :: a -> <Proc> ()
+ updateParameters c = updateParameters' (asPipelineComponent c)
+
+ getNext :: a -> <Proc> Maybe PipelineComponent
+ getNext c = getNext' (asPipelineComponent c)
+ setNext :: a -> Maybe PipelineComponent -> <Proc> ()
+ setNext c = setNext' (asPipelineComponent c)
+
+ getPrevious :: a -> <Proc> Maybe PipelineComponent
+ getPrevious c = getPrevious' (asPipelineComponent c)
+ setPrevious :: a -> Maybe PipelineComponent -> <Proc> ()
+ setPrevious c = setPrevious' (asPipelineComponent c)
+
+ getBranch0 :: a -> <Proc> Maybe PipelineComponent
+ getBranch0 c = getBranch0' (asPipelineComponent c)
+ setBranch0 :: a -> Maybe PipelineComponent -> <Proc> ()
+ setBranch0 c = setBranch0' (asPipelineComponent c)
+
+ getType :: a -> <Proc> String
+ getType c = getType' (asPipelineComponent c)
+
+ getControlPoint :: a -> <Proc> PipeControlPoint
+ getControlPoint c = getControlPoint' (asPipelineComponent c)
+
+ remove :: a -> <Proc> ()
+ remove c = remove' (asPipelineComponent c)
+
+ getFlowLength :: a -> <Proc> Maybe Double
+ getFlowLength c = getFlowLength' (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
+instance P3DNodeClass PipelineComponent
+instance PipelineComponentClass PipelineComponent where
+ asPipelineComponent = id
+