{"action":"opened","issue":{"url":"https://api.github.com/repos/mantidproject/mantid/issues/16057","repository_url":"https://api.github.com/repos/mantidproject/mantid","labels_url":"https://api.github.com/repos/mantidproject/mantid/issues/16057/labels{/name}","comments_url":"https://api.github.com/repos/mantidproject/mantid/issues/16057/comments","events_url":"https://api.github.com/repos/mantidproject/mantid/issues/16057/events","html_url":"https://github.com/mantidproject/mantid/issues/16057","id":152988262,"number":16057,"title":"Use Scoped Enum for Goemetry types","user":{"login":"LamarMoore","id":15360272,"avatar_url":"https://avatars.githubusercontent.com/u/15360272?v=3","gravatar_id":"","url":"https://api.github.com/users/LamarMoore","html_url":"https://github.com/LamarMoore","followers_url":"https://api.github.com/users/LamarMoore/followers","following_url":"https://api.github.com/users/LamarMoore/following{/other_user}","gists_url":"https://api.github.com/users/LamarMoore/gists{/gist_id}","starred_url":"https://api.github.com/users/LamarMoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LamarMoore/subscriptions","organizations_url":"https://api.github.com/users/LamarMoore/orgs","repos_url":"https://api.github.com/users/LamarMoore/repos","events_url":"https://api.github.com/users/LamarMoore/events{/privacy}","received_events_url":"https://api.github.com/users/LamarMoore/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mantidproject/mantid/labels/Component:%20Framework","name":"Component: Framework","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"LamarMoore","id":15360272,"avatar_url":"https://avatars.githubusercontent.com/u/15360272?v=3","gravatar_id":"","url":"https://api.github.com/users/LamarMoore","html_url":"https://github.com/LamarMoore","followers_url":"https://api.github.com/users/LamarMoore/followers","following_url":"https://api.github.com/users/LamarMoore/following{/other_user}","gists_url":"https://api.github.com/users/LamarMoore/gists{/gist_id}","starred_url":"https://api.github.com/users/LamarMoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LamarMoore/subscriptions","organizations_url":"https://api.github.com/users/LamarMoore/orgs","repos_url":"https://api.github.com/users/LamarMoore/repos","events_url":"https://api.github.com/users/LamarMoore/events{/privacy}","received_events_url":"https://api.github.com/users/LamarMoore/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mantidproject/mantid/milestones/5","html_url":"https://github.com/mantidproject/mantid/milestones/Release%203.7","labels_url":"https://api.github.com/repos/mantidproject/mantid/milestones/5/labels","id":1106939,"number":5,"title":"Release 3.7","description":"Code Freeze:13-May-2016\r\nBeta Testing: 17-May-2016 to 31-May-2016\r\n","creator":{"login":"peterfpeterson","id":404003,"avatar_url":"https://avatars.githubusercontent.com/u/404003?v=3","gravatar_id":"","url":"https://api.github.com/users/peterfpeterson","html_url":"https://github.com/peterfpeterson","followers_url":"https://api.github.com/users/peterfpeterson/followers","following_url":"https://api.github.com/users/peterfpeterson/following{/other_user}","gists_url":"https://api.github.com/users/peterfpeterson/gists{/gist_id}","starred_url":"https://api.github.com/users/peterfpeterson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterfpeterson/subscriptions","organizations_url":"https://api.github.com/users/peterfpeterson/orgs","repos_url":"https://api.github.com/users/peterfpeterson/repos","events_url":"https://api.github.com/users/peterfpeterson/events{/privacy}","received_events_url":"https://api.github.com/users/peterfpeterson/received_events","type":"User","site_admin":false},"open_issues":591,"closed_issues":679,"state":"open","created_at":"2015-05-12T15:38:13Z","updated_at":"2016-05-04T11:21:58Z","due_on":"2016-06-05T23:00:00Z","closed_at":null},"comments":0,"created_at":"2016-05-04T11:21:57Z","updated_at":"2016-05-04T11:21:57Z","closed_at":null,"body":"Currently a weak enum is used to describe GeometryTypes.\r\n\r\n```c++\r\nenum GEOMETRY_TYPE {\r\n    CUBOID,            ///< CUBOID\r\n    HEXAHEDRON,        ///< HEXAHEDRON\r\n    SPHERE,            ///< SPHERE\r\n    CYLINDER,          ///< CYLINDER\r\n    CONE,              ///< CONE\r\n    SEGMENTED_CYLINDER ///< Cylinder with 1 or more segments (along the axis).\r\n    /// Sizes of segments are important.\r\n  };\r\n```\r\n\r\nthis should be replaced with a more robust scoped enum e.g\r\n\r\n```c++\r\nenum class GEOMETRY_TYPE {\r\n    CUBOID,            ///< CUBOID\r\n    HEXAHEDRON,        ///< HEXAHEDRON\r\n    SPHERE,            ///< SPHERE\r\n    CYLINDER,          ///< CYLINDER\r\n    CONE,              ///< CONE\r\n    SEGMENTED_CYLINDER ///< Cylinder with 1 or more segments (along the axis).\r\n    /// Sizes of segments are important.\r\n  };\r\n```\r\n"}}