import "G3D/Math/Tuple3d"
import "G3D/Math/Quat4d"
import "G3D/Math/Vector3d"
+import "G3D/Math/Point3d"
include "G3D/Scenegraph/Node"
include "G3D/Scenegraph/G3DNode"
@JavaName getType
getType' :: PipelineComponent -> <Proc> String
- //getControlPoint :: PipelineComponent -> <Proc> PipeControlPoint
+ @JavaName getControlPoint
+ getControlPoint' :: PipelineComponent -> <Proc> PipeControlPoint
@JavaName remove
remove' :: PipelineComponent -> <Proc> ()
@JavaName getFlowLength
getFlowLength' :: PipelineComponent -> <Proc> Maybe Double
@JavaName getEnds
- getEnds' :: PipelineComponent -> Tuple3d -> Tuple3d -> <Proc> ()
+ 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
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 :: a -> <Proc> Maybe Double
getFlowLength c = getFlowLength' (asPipelineComponent c)
- getEnds :: a -> Tuple3d -> Tuple3d -> <Proc> ()
- 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
getPipelineComponent :: PipeControlPoint -> PipelineComponent
+ getTurnAngle :: PipeControlPoint -> <Proc> Maybe Double
+
//@JavaName getType
//getPointType :: PipeControlPoint -> PointType
isFixed :: PipeControlPoint -> <Proc> Boolean
+ @JavaName getChildPoints
getSubPoint :: PipeControlPoint -> <Proc> [PipeControlPoint]
getParentPoint :: PipeControlPoint -> <Proc> Maybe PipeControlPoint