#include <sstream>
#include <chrono>
#include <exception>
#include <algorithm>
#include <stb_image_write.h>
#include <jGL/jGL.h>
#include <jGL/OpenGL/openGLInstance.h>
#include <jGL/Display/desktopDisplay.h>
#include <jGL/orthoCam.h>
#include <icon.h>
#include <atom.h>
#include <atomRenderer.h>
#include <bondRenderer.h>
#include <axes.h>
#include <util.h>
#include <glUtils.h>
#include <structureUtils.h>
#include <commandLine.h>
#include <xyz.h>
#include <config.h>
#include <camera.h>
#include <cell.h>
#include <console.h>
#include <visualisationState.h>
#include <neighbours.h>
#include <infoWindow.h>
#include <cameraWindow.h>
#include <font.h>
Go to the source code of this file.
|
| void | screenshot (glm::ivec2 resolution) |
| | Obtain screen pixels and write to a png.
|
| |
| void | keyEventCallback (GLFWwindow *window, int key, int scancode, int action, int mods) |
| | Override jGL default event callback.
|
| |
| Theme | darkTheme () |
| | A dark colour theme.
|
| |
| Theme | lightTheme () |
| | A light colour theme.
|
| |
| void | cameraControls (jGL::DesktopDisplay &display, Camera &camera, float zoomSpeed, float rotateSpeed, float inclineSpeed) |
| | Controls for the camera.
|
| |
| bool | atomControls (jGL::DesktopDisplay &display, std::vector< Atom > &atoms, std::map< int, Element > &emphasisControls, std::multimap< Element, uint64_t > &elementMap, std::vector< float > &alphaOverrides, float deemphasisAlpha, float translateSpeed) |
| | Controls for the Atoms position's.
|
| |
| void | setAlpha (std::vector< Atom > &atoms, std::vector< float > alphas) |
| | Set the alpha channel of Atom colours.
|
| |
| void | loadingScreenFrame (jGL::DesktopDisplay &display, Camera &camera, AtomRenderer &loadingAtoms, std::string progressMessage, Theme theme, const unsigned int resX, const unsigned int resY, bool hideInfo=false) |
| | Display a frame of the loading screen.
|
| |
| void | backward (std::unique_ptr< Structure > &structure) |
| | Move back one frame.
|
| |
| void | setTransparencySorting (const std::vector< Atom > &atoms, AtomRenderer &atomRenderer, BondRenderer &bondRenderer) |
| | Enable of disable transparency sorting if there are transparent elements.
|
| |
| void | loadFonts () |
| | Loads fonts for ImGui.
|
| |
◆ STB_IMAGE_WRITE_IMPLEMENTATION
| #define STB_IMAGE_WRITE_IMPLEMENTATION |
◆ atomControls()
Controls for the Atoms position's.
- Parameters
-
| display | the display to get events from. |
| atoms | the Atoms to modify. |
| emphasisControls | key bindings to emphasise elements. |
| elementMap | map elements to indices. |
| alphaOverrides | overriding alpha channels. |
| deemphasisAlpha | alpha for faded atoms. |
| translateSpeed | atom translation speed. |
- Returns
- true if the Atoms were modified.
-
false if the Atoms were not modified.
◆ backward()
Move back one frame.
- Parameters
-
◆ cameraControls()
Controls for the camera.
- Parameters
-
| display | display to obtain events from. |
| camera | the camera to update. |
| zoomSpeed | multiplier for zoom. |
| rotateSpeed | multiplier for rotation. |
| inclineSpeed | multiplier for inclination. |
- Returns
- true if the camera moved.
-
false if the camera did not move.
◆ darkTheme()
A dark colour theme.
- Returns
- the Theme.
◆ keyEventCallback()
Override jGL default event callback.
- Parameters
-
| window | the active GLFWwindow. |
| key | the key code. |
| scancode | the key's scancode. |
| action | the action performed. |
| mods | mods. |
◆ lightTheme()
A light colour theme.
- Returns
- the Theme.
◆ loadFonts()
◆ loadingScreenFrame()
Display a frame of the loading screen.
- Parameters
-
| display | the display to get events from. |
| camera | the camera for the loading screen. |
| loadingAtoms | the Atoms to display. |
| progressMessage | the progress information to draw. |
◆ screenshot()
Obtain screen pixels and write to a png.
- Parameters
-
| resolution | the screen resolution. |
◆ setAlpha()
Set the alpha channel of Atom colours.
- Parameters
-
| atoms | the atoms to set. |
| alphas | the alphas to set. |
◆ setTransparencySorting()
Enable of disable transparency sorting if there are transparent elements.
- Parameters
-
| atoms | the Atoms to check. |
| atomRenderer | the AtomRenderer to enable/disable transparency sorting on. |
| bondRenderer | the BondRenderer to enable/disable transparency sorting on. |
◆ closing
◆ dphi
◆ dr
◆ dtheta
◆ emphasisedAlpha
◆ jGLInstance