]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d/scl/G3D/Math/AxisAngle4d.scl
Refactoring of SCL interfaces for g3d.
[simantics/3d.git] / org.simantics.g3d / scl / G3D / Math / AxisAngle4d.scl
1 import "./Vector3d"
2
3 import "JavaBuiltin" as Java
4
5 importJava "javax.vecmath.AxisAngle4d" where
6   // Immutable mapping
7   data AxisAngle4d
8   
9   @JavaName "<init>"
10   createAxisAngle4d :: Double -> Double -> Double -> Double -> AxisAngle4d
11   @JavaName "<init>"
12   createAxisAngle4d2 :: Vector3d -> Double -> AxisAngle4d
13   @JavaName "<init>"
14   defaultAxisAngle4d :: AxisAngle4d
15   
16   getX :: AxisAngle4d -> Double
17   getY :: AxisAngle4d -> Double
18   getZ :: AxisAngle4d -> Double
19   getAngle :: AxisAngle4d -> Double
20
21   // Mutable mapping
22   data MAxisAngle4d
23   
24   @JavaName "<init>"
25   createMAxisAngle4d :: Double -> Double -> Double -> Double -> <Proc> MAxisAngle4d
26   @JavaName "<init>"
27   createMAxisAngle4d2 :: Vector3d -> Double -> <Proc> MAxisAngle4d
28   @JavaName "<init>"
29   defaultMAxisAngle4d :: <Proc> MAxisAngle4d
30   @JavaName "<init>"
31   copyMAxisAngle4d :: AxisAngle4d -> <Proc> MAxisAngle4d
32   
33   @JavaName getX
34   getXM :: MAxisAngle4d -> <Proc> Double
35   @JavaName getY
36   getYM :: MAxisAngle4d -> <Proc> Double
37   @JavaName getZ
38   getZM :: MAxisAngle4d -> <Proc> Double
39   @JavaName getAngle
40   getAngleM :: MAxisAngle4d -> <Proc> Double
41   
42   setX :: MAxisAngle4d -> Double -> <Proc> ()
43   setY :: MAxisAngle4d -> Double -> <Proc> ()
44   setZ :: MAxisAngle4d -> Double -> <Proc> ()
45   setAngle :: MAxisAngle4d -> Double -> <Proc> ()
46   
47 freeze :: MAxisAngle4d -> <Proc> AxisAngle4d
48 freeze = Java.unsafeCoerce