As of now, the plate class is implemented to account for only linear geometries with the only non-linear part being the bilge plate. The above design even though makes sense for simplicity purposes can handicap the program's ability to cope with more complex geometries (ie. Maybe the "hopper plate" can be a Quarter Circle plate).
Also, the pressure grid over each plate is calculated in the block class using an implicit algorithm that depends on the plate's positioning to calculate everything appropriately. As the new PressureContainer family of classes are to be implemented the above overly complex and hard-to-maintain algorithm will be axed in favor of calculating the pressure grid off each plate in the plate and then passing it whenever it is needed.
So, what needs to be done:
[ ] Create more plate-inherited classes that can describe more complex geometries
[ ] Fix the IO so the Saver / Loader can deal with the new classes. (maybe implement on the classes instead of the IO modules)
[ ] Offload the pressure grid calculation to the plate class
As of now, the plate class is implemented to account for only linear geometries with the only non-linear part being the bilge plate. The above design even though makes sense for simplicity purposes can handicap the program's ability to cope with more complex geometries (ie. Maybe the "hopper plate" can be a Quarter Circle plate). Also, the pressure grid over each plate is calculated in the block class using an implicit algorithm that depends on the plate's positioning to calculate everything appropriately. As the new
PressureContainer
family of classes are to be implemented the above overly complex and hard-to-maintain algorithm will be axed in favor of calculating the pressure grid off each plate in the plate and then passing it whenever it is needed. So, what needs to be done: