Here are the classes, structs, unions and interfaces with brief descriptions:
| CCO2Data | Represents the top-level structure of CO2 emissions data | 
| CCollisionDetailHandler | Handles collision details by interacting with the DataVisualizer. Responsible for showing and removing details on demand | 
| CCountryData | Represents CO2 data for a specific country | 
| CDataLoader | Loads and processes CO2 emissions data from a JSON file. Deserializes the data and passes it to the DataVisualizer for visualization | 
| CDataVisualizer | Visualizes CO2 emissions data on a globe. Handles the creation and management of meshes and UI updates for CO2 data visualization | 
| CDetailsOnDemand | Manages the display of detailed information about a specific country. Handles the positioning and updating of the detail display | 
| CGlobeInteraction | Handles interactions with the globe in a VR environment. Provides functionality for rotating and resizing the globe | 
| CUIHandler | Handles the user interface (UI) for displaying and updating year, population, and CO2 data | 
| CYearData | Represents CO2 data for a specific year |