class vector :A 3-dimensional vector. I'm reinventing the wheel here but its good practice as I learn OCaml.float -> float -> float ->object..end
I use labeled arguments similar to those in GlMat.
This is a functional class. Methods like Vector.vector.add and
Vector.vector.scale return
new instances.
val x : floatval y : floatval z : floatmethod x : floatmethod y : floatmethod z : floatmethod to_tuple : float * float * floatmethod add : (< add : 'a; cross : 'b -> 'b; eq : 'b -> bool; magnitude : float;
normalize : 'b; print : unit; scale : float -> 'b; sub : 'b -> 'b;
to_string : string; to_tuple : float * float * float; x : float;
y : float; z : float; .. >
as 'b) ->
'b as 'amethod sub : 'b -> 'bmethod scale : float -> 'bmethod magnitude : floatmethod cross : 'b -> 'bmethod normalize : 'bmethod eq : 'b -> boolmethod to_string : stringmethod print : unit