Skip to content

Refactor Maths.cs #31

Description

@Dat-Pudding

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions