KiCad PCB EDA Suite
Loading...
Searching...
No Matches
nl_3d_viewer_plugin.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2021 3Dconnexion
5 * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#include "nl_3d_viewer_plugin.h"
23#include <advanced_config.h>
24#include <kiplatform/drivers.h>
25
26
28{
29 if( ADVANCED_CFG::GetCfg().m_Use3DConnexionDriver
31 {
32 m_impl = std::make_unique<NL_3D_VIEWER_PLUGIN_IMPL>( aViewport, "KiCAD 3D" );
33 m_impl->Connect();
34 }
35}
36
37
39
40
42{
43 if( m_impl )
44 m_impl->SetFocus( focus );
45}
static const ADVANCED_CFG & GetCfg()
Get the singleton instance's config, which is shared by all consumers.
Implement a canvas based on a wxGLCanvas.
Definition: eda_3d_canvas.h:49
NL_3D_VIEWER_PLUGIN(EDA_3D_CANVAS *aViewport)
Initializes a new instance of the NL_3D_VIEWER_PLUGIN.
void SetFocus(bool aFocus=true)
Set the connection to the 3Dconnexion driver to the focus state so that 3DMouse data is routed here.
std::unique_ptr< NL_3D_VIEWER_PLUGIN_IMPL > m_impl
virtual ~NL_3D_VIEWER_PLUGIN()
bool Valid3DConnexionDriverVersion()
Get the driver version for a given driver name.
Declaration of the NL_3D_VIEWER_PLUGIN class.
Declaration of the NL_3D_VIEWER_PLUGIN_IMPL class.