Skip to content

pecheny/taxis

Repository files navigation

TAxis

The library meant for writing manipulation with vectors set in arbitrary user-defined coordinate space (set of axes). For example, visual layout/distribution library can be written once and then used in 2d, 3d or radial space. The user should provide set of axes in @:enum abstract(Int) form. The vector (AVector) is an abstract on top of underlying haxe.ds.Vector. Saying about Cartesian 2d space AVector<Axis2D, Float> is an alternative for flash.geom.Point but with ability to pick exact component in runtime without reflection.

    var axis = Axis2D.horizontal;
    trace(vector[axis]);
    for (axis in Axis2D) 
        trace(vector[axis]);

TODO

  • write readme
  • cs/java compat
  • generate inline getters according to axis aliases.
  • haxelib.json
  • [minor] is it possible to autodetect n for factoryCreate() calls in @:generic classes

About

Vector2D -> Vector<Axis2D, Float>. Generalizing axis-based vectors.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages