# Rust HxA mesh parser
## Description
This is a WIP parser for the mesh format specified by Eskil Steenberg.
[Link to HxA GitHub](https://github.com/quelsolaar/HxA)
## Features
- Loading HxA files into Rust structures
- Searching through HxA Rust structures to obtain data
## Examples
To load a hxa file use the `from()` function and pass a filepath.
```rust
use hxa;
let my_hxa = hxa::HXAFile::from("Cube.hxa");
```
You can parse this as is, or use the find functions to quickly obtain data:
```rust
use hxa::conventions::{hard,soft};
let model_geometry = my_hxa.get_first_geometry()
.expect("Expected to find a geometry node").0;
let vertex_stack = &model_geometry.vertex_stack;
let vertex_positions = vertex_stack
.find(hard::BASE_VERTEX_LAYER_NAME)
.expect("Expected to find a vertex layer")
.as_vec_f32();
let vertex_normals = vertex_stack
.find(soft::LAYER_NORMALS)
.expect("Expected to find a normal layer")
.as_vec_f32();
```
## Missing features
- Several parsing types are not implemented, however the essental ones are.