Maria GDK 5.0.0.738
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria3D::GlobeCameraControl Class Reference

#include <M3DGlobeCameraControl.h>

Classes

struct  Fix
 

Public Member Functions

void beginPanning (int x, int y)
 
void endPanning ()
 
void updatePanning (int x, int y)
 
void beginRotation (int x, int y)
 
void endRotation ()
 
void updateRotation (int x, int y)
 
double targetLatitude () const
 
double targetLongitude () const
 
double targetAltitude () const
 
double targetDistance () const
 
double yaw () const
 
double pitch () const
 
double roll () const
 
void setWidth (int width)
 
void setHeight (int height)
 
int getWidth () const
 
int getHeight () const
 
bool mouseDrag () const
 
void abortPathFollow ()
 
void zoomIn ()
 
void zoomOut ()
 
bool update (double dt)
 
std::string cameraPath () const
 
bool loadCameraPath (std::string filename)
 
bool followPath () const
 
bool autoRepeatPath () const
 
bool autoHeading () const
 
void setAutoHeading (bool autoHeading)
 
void setTargetPositionOrientation (double lat, double lon, double alt, float roll, float pitch, float yaw)
 
void setTargetLatitude (double arg)
 
void setTargetLongitude (double arg)
 
void setTargetAltitude (double arg)
 
void setTargetDistance (double arg)
 
void setYaw (double arg)
 
void setPitch (double arg)
 
void setRoll (double arg)
 
void setCameraPath (std::string arg)
 
void setFollowPath (bool arg)
 
void setAutoRepeatPath (bool arg)
 
void flyTo (double lat, double lon, double alt, double pitch, double dist, double t)
 

Protected Member Functions

double hermiteInterpolate (double s, double y0, double y1, double y2, double y3, double tension=0.0, double bias=0.0)
 
void calcMouseDxDy (int &pixel_dx, int &pixel_dy, double &dx, double &dy, int x, int y, int width, int height)
 
int findFixIndex (float t)
 

Protected Attributes

double target_lat_
 
double target_lon_
 
double target_alt_
 
double target_distance_
 
int width_
 
int height_
 
double yaw_
 
double pitch_
 
double roll_
 
double start_yaw_
 
double start_pitch_
 
bool mouse_pan_
 
bool mouse_panning_
 
bool mouse_drag_
 
bool mouse_dragging_
 
int cursor_x0_
 
int cursor_y0_
 
double start_lat_
 
double start_lon_
 
std::string _cameraPath
 
std::vector< Fixfixes_
 
int curr_fix_idx_
 
double playback_timestamp_
 
double _playbackSpeed
 
bool _followPath
 
bool _autoRepeatPath
 
bool _autoHeading
 

Detailed Description

GlobeCameraControl - Convert mouse events to camera controls for a globe camera.

Member Function Documentation

◆ beginPanning()

void GlobeCameraControl::beginPanning ( int  x,
int  y 
)

Start camera panning. Start panning the camera (moving horizontally in space by dragging on the map). This can be hooked to mouse press or touch events.

◆ beginRotation()

void Maria3D::GlobeCameraControl::beginRotation ( int  x,
int  y 
)

Start camera rotation. Start rotating the camera horizontally and vertically about the current target point. This can be hooked to mouse press or touch events.

◆ endPanning()

void GlobeCameraControl::endPanning ( )

End camera panning. End panning the camera (moving horizontally in space by dragging on the map). This can be hooked to mouse release or touch events.

◆ endRotation()

void Maria3D::GlobeCameraControl::endRotation ( )

End camera rotation. End rotating the camera. This can be hooked to mouse release or touch events.

◆ hermiteInterpolate()

double GlobeCameraControl::hermiteInterpolate ( double  s,
double  y0,
double  y1,
double  y2,
double  y3,
double  tension = 0.0,
double  bias = 0.0 
)
protected

Hermite spline interpolation

Tension: 1 is high, 0 normal, -1 is low Bias: 0 is even, positive is towards first segment, negative towards the other

◆ updatePanning()

void GlobeCameraControl::updatePanning ( int  x,
int  y 
)

Update camera panning. Update panning the camera (moving horizontally in space by dragging on the map). This can be hooked to mouse move or touch events.

◆ updateRotation()

void Maria3D::GlobeCameraControl::updateRotation ( int  x,
int  y 
)

Update camera rotation. Update rotating the camera horizontally and vertically about the current target point. This can be hooked to mouse move or touch events.


The documentation for this class was generated from the following files: