Skip to content

Commit

Permalink
QgsCameracController sets camera in constructor / remove setCamera()
Browse files Browse the repository at this point in the history
  • Loading branch information
uclaros authored and wonder-sk committed Jan 31, 2023
1 parent d2275eb commit dfb5a0a
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 18 deletions.
1 change: 0 additions & 1 deletion src/3d/qgs3dmapscene.cpp
Expand Up @@ -114,7 +114,6 @@ Qgs3DMapScene::Qgs3DMapScene( Qgs3DMapSettings &map, QgsAbstract3DEngine *engine

// Camera controlling
mCameraController = new QgsCameraController( this ); // attaches to the scene
mCameraController->setCamera( mEngine->camera() );
mCameraController->resetView( 1000 );

addCameraViewCenterEntity( mEngine->camera() );
Expand Down
14 changes: 1 addition & 13 deletions src/3d/qgscameracontroller.cpp
Expand Up @@ -35,6 +35,7 @@
QgsCameraController::QgsCameraController( Qgs3DMapScene *scene )
: Qt3DCore::QEntity( scene )
, mScene( scene )
, mCamera( scene->engine()->camera() )
, mCameraBeforeRotation( new Qt3DRender::QCamera )
, mCameraBeforeDrag( new Qt3DRender::QCamera )
, mCameraBeforeZoom( new Qt3DRender::QCamera )
Expand Down Expand Up @@ -111,19 +112,6 @@ void QgsCameraController::setTerrainEntity( QgsTerrainEntity *te )
connect( te->terrainPicker(), &Qt3DRender::QObjectPicker::pressed, this, &QgsCameraController::onPickerMousePressed );
}

void QgsCameraController::setCamera( Qt3DRender::QCamera *camera )
{
if ( mCamera == camera )
return;
mCamera = camera;

mCameraPose.updateCamera( mCamera ); // initial setup

// TODO: set camera's parent if not set already?
// TODO: registerDestructionHelper (?)
emit cameraChanged();
}

void QgsCameraController::rotateCamera( float diffPitch, float diffYaw )
{
const float pitch = mCameraPose.pitchAngle();
Expand Down
4 changes: 0 additions & 4 deletions src/3d/qgscameracontroller.h
Expand Up @@ -63,7 +63,6 @@ class Qgs3DMapScene;
class _3D_EXPORT QgsCameraController : public Qt3DCore::QEntity
{
Q_OBJECT
Q_PROPERTY( Qt3DRender::QCamera *camera READ camera WRITE setCamera NOTIFY cameraChanged )
public:

//! The navigation mode used by the camera
Expand Down Expand Up @@ -127,9 +126,6 @@ class _3D_EXPORT QgsCameraController : public Qt3DCore::QEntity
*/
void setTerrainEntity( QgsTerrainEntity *te );

//! Assigns camera that should be controlled by this class. Called internally from 3D scene.
void setCamera( Qt3DRender::QCamera *camera );

//! Called internally from 3D scene when a new frame is generated. Updates camera according to keyboard/mouse input
void frameTriggered( float dt );

Expand Down

0 comments on commit dfb5a0a

Please sign in to comment.