Check that there is data in the list before attempting to access the index. Closes #47.
Old models are cleared upon opening a file. Closes #28
Added model factory class.
Modified CModel, CModelList and inheriting classes to implement functions necessary for new model factory.
Moved model generation/find routines out of CModelList and into GUI classes (commit comming). The list is now just a list.
Moved model generation routines into GUI classes. This significantly simplified the function calls necessary to setup and use a model, hence there were lots of function call modification/deletions to the UI classes.
Added CModel::GetID function to get the unique names of the models. Fixed JSON import/export scheme to use the new IDs. This fixes the model portion of issue #18.
Modifications of the models to use a unified GetID function.
Modified GUI classes to use new CPositionFactory class.
Adding back in position classes.
Added copyright notification.
Renamed shaders, started implementing new JSON configuration format.
Created new shader factory class, renamed CGLShader -> CShader to make naming more consistent, added new routine to create shaders from JSON configuration files.
Fixed bug where Create functions did not have a default return type.
Modified model GUI to use ShaderFactory by default.
Added EXE_FOLDER to global scope, used by shaders to get absolute path information.
CMake now copies JSON shader configuration files by default.
Added JSON configuration files for remaining shaders.
Added overwride for the concentric ring disk model to always use the default (pass-through) shader.
Purged CGLShaderList.