25#ifndef _SOURCE_TF_SYSTEM_H_
26#define _SOURCE_TF_SYSTEM_H_
28#include "TissueForge_private.h"
31#include "rendering/tfGlInfo.h"
32#include "rendering/tfEglInfo.h"
34#include "rendering/tfArrowRenderer.h"
37namespace TissueForge::system {
40 CPPAPI_FUNC(
void) printPerformanceCounters();
42 HRESULT LoggerCallbackImpl(LogEvent, std::ostream *);
44 CPPAPI_FUNC(std::tuple<char*, size_t>) imageData();
78 CPPAPI_FUNC(
HRESULT)
screenshot(
const std::string &filePath,
const bool &decorate,
const FVector3 &bgcolor);
80 CPPAPI_FUNC(
bool) contextHasCurrent();
81 CPPAPI_FUNC(
HRESULT) contextMakeCurrent();
82 CPPAPI_FUNC(
HRESULT) contextRelease();
120 CPPAPI_FUNC(
HRESULT)
cameraMoveTo(
const FVector3 ¢er,
const FQuaternion &rotation,
const float &zoom);
173 CPPAPI_FUNC(
HRESULT) cameraRotateMouse(
const iVector2 &mousePos);
177 CPPAPI_FUNC(
HRESULT) cameraTranslateMouse(
const iVector2 &mousePos);
279 CPPAPI_FUNC(
HRESULT) cameraInitMouse(
const iVector2 &mousePos);
283 CPPAPI_FUNC(
HRESULT) cameraTranslateBy(
const FVector2 &trans);
644 CPPAPI_FUNC(
HRESULT) viewReshape(
const iVector2 &windowSize);
646 CPPAPI_FUNC(std::string) performanceCounters();
653 CPPAPI_FUNC(std::unordered_map<std::string, bool>)
cpu_info();
667 CPPAPI_FUNC(std::unordered_map<std::string, std::string>)
gl_info();
711 const FVector3 &position,
712 const FVector3 &components,
714 const float &scale=1.0
HRESULT show()
Shows any windows that were specified in the config. Does not start the universe time propagation unl...
Vector visualization specification.
Definition tfArrowRenderer.h:46
The Tissue Forge style type.
Definition tfStyle.h:46
Definition tfUniverseRenderer.h:115
int32_t HRESULT
Definition tf_port.h:255
HRESULT cameraZoomOut()
Zoom the camera out.
HRESULT showDiscretization(const bool &show)
Set flag to draw/not draw discretization.
HRESULT cameraReset()
Reset the camera.
HRESULT cameraTranslateBackward()
Translate the camera backward.
HRESULT cameraViewLeft()
Move the camera to view the domain from the left.
const FloatP_t getLineWidthMax()
std::unordered_map< std::string std::string > gl_info()
Get OpenGL info.
FVector3 getBackgroundColor()
Get the background color.
HRESULT cameraRotateRight()
Rotate the camera right.
void toggleRendering3DDihedrals()
const bool getRendering3DBonds()
FVector3 getAmbientColor()
Get the ambient color.
float getShininess()
Get the shininess.
HRESULT cameraRotateToAxis(const FVector3 &axis, const float &distance)
Rotate the camera to a point from the view center a distance along an axis.
HRESULT cameraTranslateForward()
Translate the camera forward.
void setRendering3DAngles(const bool &_flag)
HRESULT cameraRotateDown()
Rotate the camera down.
HRESULT cameraTranslateUp()
Translate the camera up.
HRESULT cameraTranslateDown()
Translate the camera down.
HRESULT cameraTranslateRight()
Translate the camera right.
HRESULT cameraViewFront()
Move the camera to view the domain from the front.
void setRendering3DDihedrals(const bool &_flag)
HRESULT setDiffuseColor(const FVector3 &color)
Set the diffuse color.
std::unordered_map< std::string bool > cpu_info()
Get CPU info.
std::list< std::string > compile_flags()
Get compiler flags of this installation.
HRESULT cameraRotateByEulerAngle(const FVector3 &angles)
Rotate the camera by a set of Euler angles.
std::vector< std::string > colorMapperNames()
Get all available color mapper names.
HRESULT cameraViewBack()
Move the camera to view the domain from the back.
HRESULT cameraDisableLagging()
HRESULT cameraRollRight()
Rotate the camera right.
const bool getRendering3DAngles()
const bool getRendering3DDihedrals()
HRESULT cameraViewRight()
Move the camera to view the domain from the right.
HRESULT cameraRotateUp()
Rotate the camera up.
HRESULT cameraRollLeft()
Roll the camera left.
HRESULT cameraMoveTo(const FVector3 &eye, const FVector3 ¢er, const FVector3 &up)
Set the camera view parameters.
HRESULT cameraRotateToEulerAngle(const FVector3 &angles)
Rotate the camera to a set of Euler angles.
HRESULT cameraTranslateLeft()
Translate the camera left.
bool showingDiscretization()
Test whether discretization is current shown.
const FloatP_t getLineWidthMin()
FVector3 getSceneBoxColor()
Get the scene box color.
void setRendering3DBonds(const bool &_flag)
HRESULT cameraViewBottom()
Move the camera to view the domain from the bottm.
bool decorated()
Test whether the rendered scene is decorated.
void toggleRendering3DBonds()
HRESULT decorateScene(const bool &decorate)
Set flag to draw/not draw scene decorators (e.g., grid)
void setRendering3DAll(const bool &_flag)
const FloatP_t getLineWidth()
FVector3 getSpecularColor()
Get specular color.
HRESULT setLightColor(const FVector3 &color)
Set the light color.
HRESULT screenshot(const std::string &filePath)
Save a screenshot of the current scene.
HRESULT cameraRotateLeft()
Rotate the camera left.
FVector3 getLightColor()
Get the light color.
HRESULT cameraZoomIn()
Zoom the camera in.
struct rendering::UniverseRenderer * getRenderer()
Get the universe renderer.
HRESULT setDiscretizationColor(const FVector3 &color)
Set the color of the discretization grid.
HRESULT setAmbientColor(const FVector3 &color)
Set the ambient color.
void toggleRendering3DAll()
int addRenderArrow(rendering::ArrowData *arrow)
Adds a vector visualization specification.
FVector3 getGridColor()
Get the grid color.
float cameraZoom()
Get the current camera zoom.
FQuaternion cameraRotation()
Get the current camera rotation.
rendering::ArrowData * getRenderArrow(const int &arrowId)
Gets a vector visualization specification.
FVector3 getLightDirection()
Get the light direction.
HRESULT setLineWidth(const FloatP_t &lineWidth)
FVector3 getDiscretizationColor()
Get the current color of the discretization grid.
FVector3 getDiffuseColor()
Get the diffuse color.
HRESULT cameraViewTop()
Move the camera to view the domain from the top.
HRESULT setBackgroundColor(const FVector3 &color)
Set the background color.
HRESULT removeRenderArrow(const int &arrowId)
Removes a vector visualization specification.
FVector3 cameraCenter()
Get the current camera view center position.
HRESULT setSpecularColor(const FVector3 &color)
Set the specular color.
HRESULT setShininess(const float &shininess)
Set the shininess.
HRESULT cameraZoomBy(const float &delta)
Zoom the camera by an increment in distance.
void toggleRendering3DAngles()
HRESULT setLightDirection(const FVector3 &lightDir)
Set the light direction.
HRESULT cameraToggleLagging()
HRESULT cameraSetLagging(const float &lagging)
std::string egl_info()
Get EGL info.
HRESULT cameraEnableLagging()
HRESULT cameraZoomTo(const float &distance)
Zoom the camera to a distance.
HRESULT setGridColor(const FVector3 &color)
Set the grid color.
HRESULT setSceneBoxColor(const FVector3 &color)
Set the scene box color.