VAPOR3 3.9.4
NavigationUtils.h
Go to the documentation of this file.
1#pragma once
2
4#include <vapor/TrackBall.h>
5
9namespace VAPoR {
10class ViewpointParams;
11}
12
16
18public:
19 static void SetHomeViewpoint(ControlExec *ce);
20 static void UseHomeViewpoint(ControlExec *ce);
21 static void ViewAll(ControlExec *ce);
24 static void AlignView(ControlExec *ce, int axis);
25
26 static void SetAllCameras(ControlExec *ce, const double position[3], const double direction[3], const double up[3], const double origin[3]);
27 static void SetAllCameras(ControlExec *ce, const double position[3], const double direction[3], const double up[3]);
28 static void SetAllCameras(ControlExec *ce, const vector<double> &position, const vector<double> &direction, const vector<double> &up, const vector<double> &origin);
29 static void SetAllCameras(ControlExec *ce, const vector<double> &position, const vector<double> &direction, const vector<double> &up);
30 static void SetAllCameras(ControlExec *ce, const double matrix[16], const double origin[3]);
31 static void SetAllCameras(ControlExec *ce, const vector<double> &matrix, const vector<double> &origin);
32
33 static void SetAllCameras(ControlExec *ce, const Trackball &trackball);
34 static void ConfigureTrackball(ControlExec *ce, Trackball &trackball);
35
36 static void LookAt(ControlExec *ce, const vector<double> &position, const vector<double> &target, const vector<double> &up);
37
38 static void SetTimestep(ControlExec *ce, size_t ts);
39
40 static void GetCameraProperties(ControlExec *ce, vector<double> *position, vector<double> *direction, vector<double> *up, vector<double> *target);
41 static vector<double> GetCameraPosition(ControlExec *ce);
42 static vector<double> GetCameraDirection(ControlExec *ce);
43 static vector<double> GetCameraUp(ControlExec *ce);
44 static vector<double> GetCameraTarget(ControlExec *ce);
45
46 static void SetCameraPosition(ControlExec *ce, const vector<double> &v);
47 static void SetCameraDirection(ControlExec *ce, const vector<double> &v);
48 static void SetCameraUp(ControlExec *ce, const vector<double> &v);
49 static void SetCameraTarget(ControlExec *ce, const vector<double> &v);
50
55
56private:
57 static void propagateTimestep(ControlExec *ce, size_t ts);
58 static void handleMovingDomainAdjustments(ControlExec *ce, size_t ts_from, size_t ts_to);
59 static std::tuple<glm::vec3, glm::vec3> getDomainExtentsAtTimestep(ControlExec *ce, const std::string &dataset, size_t ts);
60 static glm::vec3 getDomainMovementBetweenTimesteps(ControlExec *ce, std::string dataset, size_t from, size_t to);
61 static std::tuple<glm::vec3, glm::vec3> getRendererExtents(const VAPoR::RenderParams *rp);
62 static void setRendererExtents(const VAPoR::RenderParams *rp, const glm::vec3 &minExts, const glm::vec3 &maxExts);
63 static void movingDomainTrackCamera(ControlExec *ce, size_t from, size_t to);
64 static void movingDomainTrackRenderRegions(ControlExec *ce, size_t from, size_t to);
65 static void movingDomainTrackParticleRenderRegions(ControlExec *ce, size_t from, size_t to);
66};
A class that specifies parameters used in animation.
This class is just migrated legacy code to de-spaghetti other legacy code. (It is not written by me)
static void UseHomeViewpoint(ControlExec *ce)
static void SetAllCameras(ControlExec *ce, const vector< double > &position, const vector< double > &direction, const vector< double > &up, const vector< double > &origin)
static void SetAllCameras(ControlExec *ce, const double position[3], const double direction[3], const double up[3])
static void ConfigureTrackball(ControlExec *ce, Trackball &trackball)
static void SetAllCameras(ControlExec *ce, const vector< double > &position, const vector< double > &direction, const vector< double > &up)
static void SetCameraUp(ControlExec *ce, const vector< double > &v)
static void GetCameraProperties(ControlExec *ce, vector< double > *position, vector< double > *direction, vector< double > *up, vector< double > *target)
static AnimationParams * GetAnimationParams(ControlExec *ce)
static GUIStateParams * GetGUIStateParams(ControlExec *ce)
static void SetTimestep(ControlExec *ce, size_t ts)
static vector< double > GetCameraTarget(ControlExec *ce)
static void SetCameraTarget(ControlExec *ce, const vector< double > &v)
static void ViewAll(ControlExec *ce)
static void AlignView(ControlExec *ce, int axis)
static void LookAt(ControlExec *ce, const vector< double > &position, const vector< double > &target, const vector< double > &up)
static void SetAllCameras(ControlExec *ce, const double matrix[16], const double origin[3])
static VAPoR::ViewpointParams * GetActiveViewpointParams(ControlExec *ce)
static vector< double > GetCameraPosition(ControlExec *ce)
static void SetCameraPosition(ControlExec *ce, const vector< double > &v)
static void SetCameraDirection(ControlExec *ce, const vector< double > &v)
static void SetHomeViewpoint(ControlExec *ce)
static vector< double > GetCameraUp(ControlExec *ce)
static vector< double > GetCameraDirection(ControlExec *ce)
static void SetAllCameras(ControlExec *ce, const vector< double > &matrix, const vector< double > &origin)
static void SetAllCameras(ControlExec *ce, const Trackball &trackball)
static long GetCurrentTimeStep(ControlExec *ce)
static void SetAllCameras(ControlExec *ce, const double position[3], const double direction[3], const double up[3], const double origin[3])
Provides API for VAPOR visualizer User Interfaces (UIs)
A Params subclass for managing parameters used by Renderers.
Definition: RenderParams.h:43
A class for describing the viewpoint and lights in a 3D VAPOR scene.
Wasp base class.
Definition: MyBase.h:67
#define RENDER_API
Definition: common.h:78