Is your feature request related to a problem? Please describe.
Currently, there is no way to, for example, run rectangular geometry with fewer than 2 triangles. Layered geometry requires many triangle checks which are not technically necessary - a simple bounding box calculation would do.
Proposed solution
The mesh_2D type in Material should be replaced with a generic Geometry type that implements all the necessary traits - determining the composition, whether or not a particle is outside the material, etc.
Is your feature request related to a problem? Please describe. Currently, there is no way to, for example, run rectangular geometry with fewer than 2 triangles. Layered geometry requires many triangle checks which are not technically necessary - a simple bounding box calculation would do.
Proposed solution The mesh_2D type in Material should be replaced with a generic Geometry type that implements all the necessary traits - determining the composition, whether or not a particle is outside the material, etc.
Additional context https://doc.rust-lang.org/book/ch10-01-syntax.html