lcpp-org / RustBCA

A free, open-source Binary Collision Approximation (BCA) code for ion-material interactions including sputtering, implantation, and reflection
https://github.com/lcpp-org/RustBCA/wiki
GNU General Public License v3.0
41 stars 14 forks source link

[feature] mesh_2d requirement should be replaced with a generic Geometry type #77

Closed drobnyjt closed 3 years ago

drobnyjt commented 3 years ago

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