sig
type t
external create : float -> float -> float -> Osg.Vec3.t = "vec3_create"
val of_tuple : float * float * float -> Osg.Vec3.t
val of_array : float array -> Osg.Vec3.t
external to_array : Osg.Vec3.t -> float array = "vec3_to_array"
external to_tuple : Osg.Vec3.t -> float * float * float = "vec3_to_tuple"
external x : Osg.Vec3.t -> float = "vec3_x"
external y : Osg.Vec3.t -> float = "vec3_y"
external z : Osg.Vec3.t -> float = "vec3_z"
external length : Osg.Vec3.t -> float = "vec3_length"
external length2 : Osg.Vec3.t -> float = "vec3_length2"
external dot : Osg.Vec3.t -> Osg.Vec3.t -> float = "vec3_dot"
external minus : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Vec3.t = "vec3_minus"
external plus : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Vec3.t = "vec3_plus"
external cross : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Vec3.t = "vec3_cross"
val scale : float -> Osg.Vec3.t -> Osg.Vec3.t
val mult : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Vec3.t
end