mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			365 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			365 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/3d/qgscameracontroller.h                                         *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsCameraController : QObject
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Object that controls camera movement based on user input.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgscameracontroller.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    ~QgsCameraController();
 | 
						|
 | 
						|
 | 
						|
    Qgis::NavigationMode cameraNavigationMode() const;
 | 
						|
%Docstring
 | 
						|
Returns the navigation mode used by the camera controller.
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    double cameraMovementSpeed() const;
 | 
						|
%Docstring
 | 
						|
Returns the camera movement speed
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    void setCameraMovementSpeed( double movementSpeed );
 | 
						|
%Docstring
 | 
						|
Sets the camera movement speed
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    Qgis::VerticalAxisInversion verticalAxisInversion() const;
 | 
						|
%Docstring
 | 
						|
Returns the vertical axis inversion behavior.
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    void setVerticalAxisInversion( Qgis::VerticalAxisInversion inversion );
 | 
						|
%Docstring
 | 
						|
Sets the vertical axis ``inversion`` behavior.
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    void frameTriggered( float dt );
 | 
						|
%Docstring
 | 
						|
Called internally from 3D scene when a new frame is generated. Updates
 | 
						|
camera according to keyboard/mouse input
 | 
						|
%End
 | 
						|
 | 
						|
    void resetView( float distance );
 | 
						|
%Docstring
 | 
						|
Move camera back to the initial position (looking down towards origin of
 | 
						|
world's coordinates)
 | 
						|
%End
 | 
						|
 | 
						|
    void setViewFromTop( float worldX, float worldY, float distance, float yaw = 0 );
 | 
						|
%Docstring
 | 
						|
Sets camera to look down towards given point in world coordinate, in
 | 
						|
given distance from plane with zero elevation
 | 
						|
%End
 | 
						|
 | 
						|
    QgsVector3D lookingAtPoint() const;
 | 
						|
%Docstring
 | 
						|
Returns the point in the world coordinates towards which the camera is
 | 
						|
looking
 | 
						|
%End
 | 
						|
 | 
						|
    void setLookingAtPoint( const QgsVector3D &point, float distance, float pitch, float yaw );
 | 
						|
%Docstring
 | 
						|
Sets the complete camera configuration: the point towards it is looking
 | 
						|
(in 3D world coordinates), the distance of the camera from the point,
 | 
						|
pitch angle in degrees (0 = looking from the top, 90 = looking from the
 | 
						|
side) and yaw angle in degrees.
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    QgsVector3D lookingAtMapPoint() const;
 | 
						|
%Docstring
 | 
						|
Returns the point in the map coordinates towards which the camera is
 | 
						|
looking
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void setLookingAtMapPoint( const QgsVector3D &point, float distance, float pitch, float yaw );
 | 
						|
%Docstring
 | 
						|
Sets camera configuration like
 | 
						|
:py:func:`~QgsCameraController.setLookingAtPoint`, but the point is
 | 
						|
given in map coordinates
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void setCameraPose( const QgsCameraPose &camPose, bool force = false );
 | 
						|
%Docstring
 | 
						|
Sets camera pose
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    QgsCameraPose cameraPose() const;
 | 
						|
%Docstring
 | 
						|
Returns camera pose
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    float distance() const;
 | 
						|
%Docstring
 | 
						|
Returns distance of the camera from the point it is looking at. The
 | 
						|
value should not be smaller than 10.
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    float pitch() const;
 | 
						|
%Docstring
 | 
						|
Returns pitch angle in degrees (0 = looking from the top, 90 = looking
 | 
						|
from the side). The angle should range from 0 to 180.
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    float yaw() const;
 | 
						|
%Docstring
 | 
						|
Returns yaw angle in degrees. Yaw value of zero means the camera is
 | 
						|
pointing towards north. The angle should range from 0 to 360.
 | 
						|
 | 
						|
.. versionadded:: 3.4
 | 
						|
%End
 | 
						|
 | 
						|
    QDomElement writeXml( QDomDocument &doc ) const;
 | 
						|
%Docstring
 | 
						|
Writes camera configuration to the given DOM element
 | 
						|
%End
 | 
						|
    void readXml( const QDomElement &elem );
 | 
						|
%Docstring
 | 
						|
Reads camera configuration from the given DOM element
 | 
						|
%End
 | 
						|
 | 
						|
    void zoom( float factor );
 | 
						|
%Docstring
 | 
						|
Zoom the map by ``factor``
 | 
						|
%End
 | 
						|
    void tiltUpAroundViewCenter( float deltaPitch );
 | 
						|
%Docstring
 | 
						|
Tilt up the view by ``deltaPitch`` around the view center (camera moves)
 | 
						|
%End
 | 
						|
    void rotateAroundViewCenter( float deltaYaw );
 | 
						|
%Docstring
 | 
						|
Rotate clockwise the view by ``deltaYaw`` around the view center (camera
 | 
						|
moves)
 | 
						|
%End
 | 
						|
    void setCameraHeadingAngle( float angle );
 | 
						|
%Docstring
 | 
						|
Set camera heading to ``angle`` (used for rotating the view)
 | 
						|
%End
 | 
						|
    void moveView( float tx, float ty );
 | 
						|
%Docstring
 | 
						|
Move the map by ``tx`` and ``ty``
 | 
						|
%End
 | 
						|
 | 
						|
    void walkView( double tx, double ty, double tz );
 | 
						|
%Docstring
 | 
						|
Walks into the map by ``tx``, ``ty``, and ``tz``
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
    void rotateCamera( float diffPitch, float diffYaw );
 | 
						|
%Docstring
 | 
						|
Rotates the camera on itself.
 | 
						|
 | 
						|
:param diffPitch: the pitch difference
 | 
						|
:param diffYaw: the yaw difference
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
    void rotateCameraAroundPivot( float newPitch, float newHeading, const QVector3D &pivotPoint );
 | 
						|
%Docstring
 | 
						|
Rotates the camera around the pivot point (in world coordinates) to the
 | 
						|
given new pitch and heading angle.
 | 
						|
 | 
						|
.. versionadded:: 3.42
 | 
						|
%End
 | 
						|
 | 
						|
    void zoomCameraAroundPivot( const QVector3D &oldCameraPosition, double zoomFactor, const QVector3D &pivotPoint );
 | 
						|
%Docstring
 | 
						|
Zooms camera by given zoom factor (>1 one means zoom in) while keeping
 | 
						|
the pivot point (given in world coordinates) at the same screen
 | 
						|
coordinates after the zoom.
 | 
						|
 | 
						|
.. versionadded:: 3.42
 | 
						|
%End
 | 
						|
 | 
						|
    bool willHandleKeyEvent( QKeyEvent *event );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the camera controller will handle the specified key
 | 
						|
``event``, preventing it from being instead handled by parents of the 3D
 | 
						|
window before the controller ever receives it.
 | 
						|
%End
 | 
						|
 | 
						|
    void setOrigin( const QgsVector3D &origin );
 | 
						|
%Docstring
 | 
						|
Reacts to the shift of origin of the scene, updating camera pose and any
 | 
						|
other member variables so that the origin stays at the same position
 | 
						|
relative to other entities.
 | 
						|
 | 
						|
.. versionadded:: 3.42
 | 
						|
%End
 | 
						|
 | 
						|
    void setInputHandlersEnabled( bool enable );
 | 
						|
%Docstring
 | 
						|
Sets whether the camera controller responds to mouse and keyboard events
 | 
						|
 | 
						|
.. versionadded:: 3.42
 | 
						|
%End
 | 
						|
 | 
						|
    bool hasInputHandlersEnabled() const;
 | 
						|
%Docstring
 | 
						|
Returns whether the camera controller responds to mouse and keyboard
 | 
						|
events
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void globeMoveCenterPoint( double latDiff, double lonDiff );
 | 
						|
%Docstring
 | 
						|
Orbits camera around the globe by the specified amount given as the
 | 
						|
difference in latitude/longitude angles (in degrees)
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   the final latitude gets clamped to 0-90 degrees, while the longitude does not get clamped
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void globeZoom( float factor );
 | 
						|
%Docstring
 | 
						|
Moves camera closer or further away from the globe. Use factor greater
 | 
						|
than one to zoom in, or less than one to zoom out.
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void globeUpdatePitchAngle( float angleDiff );
 | 
						|
%Docstring
 | 
						|
Updates pitch angle by the specified amount given as the angular
 | 
						|
difference in degrees
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void globeUpdateHeadingAngle( float angleDiff );
 | 
						|
%Docstring
 | 
						|
Updates heading angle by the specified amount given as the angular
 | 
						|
difference in degrees
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    void resetGlobe( float distance, double lat = 0, double lon = 0 );
 | 
						|
%Docstring
 | 
						|
Resets view of the globe to look at a particular location given as
 | 
						|
latitude and longitude (in degrees) and distance from that point on
 | 
						|
ellipsoid
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
    const QgsVector3D origin() const;
 | 
						|
%Docstring
 | 
						|
Returns the origin of the scene in map coordinates
 | 
						|
 | 
						|
.. versionadded:: 3.44
 | 
						|
%End
 | 
						|
 | 
						|
  public slots:
 | 
						|
 | 
						|
    void setCameraNavigationMode( Qgis::NavigationMode navigationMode );
 | 
						|
%Docstring
 | 
						|
Sets the navigation mode used by the camera controller.
 | 
						|
 | 
						|
.. versionadded:: 3.18
 | 
						|
%End
 | 
						|
 | 
						|
    void depthBufferCaptured( const QImage &depthImage );
 | 
						|
%Docstring
 | 
						|
Sets the depth buffer image used by the camera controller to calculate
 | 
						|
world position from a pixel's coordinates and depth
 | 
						|
 | 
						|
.. versionadded:: 3.24
 | 
						|
%End
 | 
						|
 | 
						|
  private:
 | 
						|
    QgsCameraController();
 | 
						|
    QgsCameraController( const QgsCameraController &other );
 | 
						|
  signals:
 | 
						|
    void cameraChanged();
 | 
						|
%Docstring
 | 
						|
Emitted when camera has been updated
 | 
						|
%End
 | 
						|
 | 
						|
    void navigationModeChanged( Qgis::NavigationMode mode );
 | 
						|
%Docstring
 | 
						|
Emitted when the navigation mode is changed using the hotkey ctrl + ~
 | 
						|
%End
 | 
						|
 | 
						|
    void cameraMovementSpeedChanged( double speed );
 | 
						|
%Docstring
 | 
						|
Emitted whenever the camera movement speed is changed by the controller.
 | 
						|
%End
 | 
						|
 | 
						|
    void setCursorPosition( QPoint point );
 | 
						|
%Docstring
 | 
						|
Emitted when the mouse cursor position should be moved to the specified
 | 
						|
``point`` on the map viewport.
 | 
						|
%End
 | 
						|
 | 
						|
    void requestDepthBufferCapture();
 | 
						|
%Docstring
 | 
						|
Emitted to ask for the depth buffer image
 | 
						|
 | 
						|
.. versionadded:: 3.24
 | 
						|
%End
 | 
						|
 | 
						|
    void cameraRotationCenterChanged( QVector3D position );
 | 
						|
%Docstring
 | 
						|
Emitted when the camera rotation center changes
 | 
						|
 | 
						|
.. versionadded:: 3.24
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/3d/qgscameracontroller.h                                         *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 |