mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-03 00:14:12 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			259 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			259 lines
		
	
	
		
			6.7 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
 | 
						|
 | 
						|
    void setCameraPose( const QgsCameraPose &camPose );
 | 
						|
%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
 | 
						|
 | 
						|
    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
 | 
						|
 | 
						|
  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   *
 | 
						|
 ************************************************************************/
 |