Description
Currently it's a semi-mess with each calculation function being a singular thing within the Maths class that inherits from ScriptableObject in Maths.cs.
Requirements
For the actual work
- forked and cloned
PhotoCalc repository
- C#-capable code editor
For building and testing
- Current Unity LTS version
Tasks
You can only do the main tasks and keep the optional ones open for others or you can do them all.
Main Tasks
- Refactor the CalcXYZ() functions into the according two groups e.g. as component functions of
float[] CalcExposureTime() and float[] CalcFoV()
- integrate either a "state machine" or overloaded functions to deal with incomplete arguments (e.g.: when no pixel pitch is being entered it'd nonsensical to still try and call
CalcNPF())
Optional Tasks
- fix the according function calls in
ExpoManager.cs and FovManager.cs
- fix the according data handling due to e.g. the exemplary change from a bunch of functions with different and identical return types to a parent function of return type
float[]
- either by building an iterator
- or by hard-coded indices
Afterwards
When done, commit the changes to the Android branch and open a pull request according to the guidelines in the Contribution guidelines
Description
Currently it's a semi-mess with each calculation function being a singular thing within the
Mathsclass that inherits fromScriptableObjectin Maths.cs.Requirements
For the actual work
PhotoCalcrepositoryFor building and testing
Tasks
You can only do the main tasks and keep the optional ones open for others or you can do them all.
Main Tasks
float[] CalcExposureTime()andfloat[] CalcFoV()CalcNPF())Optional Tasks
ExpoManager.csandFovManager.csfloat[]Afterwards
When done, commit the changes to the Android branch and open a pull request according to the guidelines in the Contribution guidelines