Within a model the parameter assignment seems unnecessarily obfuscated. For instance, you must remember that CModel defines the position angle, inclination, rotation, and color to indicies 0-3. Inheriting models have to calculate an offset done using mBaseParams. This seems likely to confuse people writing a new SIMTOI model unless they read the documentation clearly.
This structure was necessitated to maintain the ability to pass off a float array to the minimization engine in a consistent format. I wonder if there wouldn't be some way to get the indicies or store the values more clearly using a std::map or std::unordered_list.
Within a model the parameter assignment seems unnecessarily obfuscated. For instance, you must remember that CModel defines the position angle, inclination, rotation, and color to indicies 0-3. Inheriting models have to calculate an offset done using mBaseParams. This seems likely to confuse people writing a new SIMTOI model unless they read the documentation clearly.
This structure was necessitated to maintain the ability to pass off a float array to the minimization engine in a consistent format. I wonder if there wouldn't be some way to get the indicies or store the values more clearly using a std::map or std::unordered_list.