KiCad PCB EDA Suite
|
The class that implements the accessors and mutators required for 3D navigation in an PCB_DRAW_PANEL_GAL using a SpaceMouse. More...
#include <nl_pcbnew_plugin_impl.h>
Public Member Functions | |
NL_PCBNEW_PLUGIN_IMPL (PCB_DRAW_PANEL_GAL *aViewport) | |
Initializes a new instance of the NL_PCBNEW_PLUGIN_IMPL. | |
virtual | ~NL_PCBNEW_PLUGIN_IMPL () |
void | SetFocus (bool aFocus) |
Set the connection to the 3Dconnexion driver to the focus state so that 3DMouse data is routed here. | |
Private Member Functions | |
void | exportCommandsAndImages () |
Export the invocable actions and images to the 3Dconnexion UI. | |
long | GetCameraMatrix (navlib::matrix_t &aMatrix) const override |
long | GetPointerPosition (navlib::point_t &aPosition) const override |
long | GetViewExtents (navlib::box_t &aExtents) const override |
long | GetViewFOV (double &aFov) const override |
long | GetViewFrustum (navlib::frustum_t &aFrustum) const override |
long | GetIsViewPerspective (navlib::bool_t &aPerspective) const override |
long | SetCameraMatrix (const navlib::matrix_t &aMatrix) override |
long | SetViewExtents (const navlib::box_t &aExtents) override |
long | SetViewFOV (double aFov) override |
long | SetViewFrustum (const navlib::frustum_t &aFrustum) override |
long | GetModelExtents (navlib::box_t &aExtents) const override |
long | GetSelectionExtents (navlib::box_t &aExtents) const override |
long | GetSelectionTransform (navlib::matrix_t &aTransform) const override |
long | GetIsSelectionEmpty (navlib::bool_t &aEmpty) const override |
long | SetSelectionTransform (const navlib::matrix_t &aMatrix) override |
long | GetPivotPosition (navlib::point_t &aPosition) const override |
long | IsUserPivot (navlib::bool_t &aUserPivot) const override |
long | SetPivotPosition (const navlib::point_t &aPosition) override |
long | GetPivotVisible (navlib::bool_t &aVisible) const override |
long | SetPivotVisible (bool aVisible) override |
long | GetHitLookAt (navlib::point_t &aPosition) const override |
long | SetHitAperture (double aAperture) override |
long | SetHitDirection (const navlib::vector_t &aDirection) override |
long | SetHitLookFrom (const navlib::point_t &aPosition) override |
long | SetHitSelectionOnly (bool aSelectionOnly) override |
long | SetActiveCommand (std::string aCommandId) override |
long | SetSettingsChanged (long aChangeNumber) override |
long | SetMotionFlag (bool aValue) override |
long | SetTransaction (long aValue) override |
long | SetCameraTarget (const navlib::point_t &aPosition) override |
long | GetFrontView (navlib::matrix_t &aMatrix) const override |
long | GetCoordinateSystem (navlib::matrix_t &aMatrix) const override |
long | GetIsViewRotatable (navlib::bool_t &isRotatable) const override |
Private Attributes | |
PCB_DRAW_PANEL_GAL * | m_viewport2D |
KIGFX::PCB_VIEW * | m_view |
bool | m_isMoving |
double | m_viewportWidth |
VECTOR2D | m_viewPosition |
Static Private Attributes | |
static const wxChar * | m_logTrace = wxT( "KI_TRACE_NL_PCBNEW_PLUGIN" ) |
Trace mask used to enable or disable the trace output of this class. | |
The class that implements the accessors and mutators required for 3D navigation in an PCB_DRAW_PANEL_GAL using a SpaceMouse.
Definition at line 61 of file nl_pcbnew_plugin_impl.h.
NL_PCBNEW_PLUGIN_IMPL::NL_PCBNEW_PLUGIN_IMPL | ( | PCB_DRAW_PANEL_GAL * | aViewport | ) |
Initializes a new instance of the NL_PCBNEW_PLUGIN_IMPL.
aViewport | is the viewport to be navigated. |
Definition at line 57 of file nl_pcbnew_plugin_impl.cpp.
References exportCommandsAndImages(), KIGFX::VIEW::GetBoundary(), PCB_DRAW_PANEL_GAL::GetView(), BOX2< Vec >::GetWidth(), m_view, m_viewport2D, and m_viewportWidth.
|
virtual |
Definition at line 78 of file nl_pcbnew_plugin_impl.cpp.
|
private |
Export the invocable actions and images to the 3Dconnexion UI.
Definition at line 129 of file nl_pcbnew_plugin_impl.cpp.
References add_category(), ACTION_MANAGER::GetActionList(), TOOL_ACTION::GetDescription(), TOOL_ACTION::GetIcon(), TOOL_ACTION::GetMenuLabel(), TOOL_ACTION::GetName(), TOOL_ACTION::GetToolName(), image, KiBitmap(), m_logTrace, and name.
Referenced by NL_PCBNEW_PLUGIN_IMPL().
|
overrideprivate |
Definition at line 218 of file nl_pcbnew_plugin_impl.cpp.
References KIGFX::VIEW::GetCenter(), KIGFX::VIEW::IsMirroredX(), KIGFX::VIEW::IsMirroredY(), m_view, m_viewPosition, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overrideprivate |
Definition at line 366 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 374 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 530 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 381 of file nl_pcbnew_plugin_impl.cpp.
References empty().
|
overrideprivate |
Definition at line 274 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 388 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 342 of file nl_pcbnew_plugin_impl.cpp.
References BOX2< Vec >::GetEnd(), EDA_DRAW_PANEL_GAL::GetGAL(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetOrigin(), BOX2< Vec >::GetWidth(), KIGFX::GAL::GetWorldScale(), m_view, m_viewport2D, BOX2< Vec >::Normalize(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overrideprivate |
Definition at line 500 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 518 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 238 of file nl_pcbnew_plugin_impl.cpp.
References KIGFX::VIEW_CONTROLS::GetMousePosition(), EDA_DRAW_PANEL_GAL::GetViewControls(), m_view, m_viewport2D, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overrideprivate |
Definition at line 482 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 488 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 253 of file nl_pcbnew_plugin_impl.cpp.
References EDA_DRAW_PANEL_GAL::GetGAL(), BOX2< Vec >::GetHeight(), KIGFX::GAL::GetMaxDepth(), KIGFX::GAL::GetMinDepth(), KIGFX::VIEW::GetViewport(), BOX2< Vec >::GetWidth(), KIGFX::GAL::GetWorldScale(), m_view, m_viewport2D, m_viewportWidth, and scale.
|
overrideprivate |
Definition at line 470 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 476 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 506 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 395 of file nl_pcbnew_plugin_impl.cpp.
References ACTION_MANAGER::GetActionList(), TOOL_MANAGER::GetActionManager(), ACTION_MANAGER::GetCondition(), TOOLS_HOLDER::GetCurrentSelection(), TOOL_ACTION::GetName(), TOOL_MANAGER::GetToolHolder(), m_viewport2D, and TOOL_MANAGER::RunAction().
|
overrideprivate |
Definition at line 282 of file nl_pcbnew_plugin_impl.cpp.
References equals(), KIGFX::VIEW::GetCenter(), m_view, m_viewPosition, and KIGFX::VIEW::SetCenter().
|
overrideprivate |
Definition at line 560 of file nl_pcbnew_plugin_impl.cpp.
void NL_PCBNEW_PLUGIN_IMPL::SetFocus | ( | bool | aFocus | ) |
Set the connection to the 3Dconnexion driver to the focus state so that 3DMouse data is routed here.
aFocus | is true to set the connection active. |
Definition at line 84 of file nl_pcbnew_plugin_impl.cpp.
References m_logTrace.
Referenced by NL_PCBNEW_PLUGIN::SetFocus().
|
overrideprivate |
Definition at line 536 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 542 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 548 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 554 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 453 of file nl_pcbnew_plugin_impl.cpp.
References m_isMoving.
|
overrideprivate |
Definition at line 512 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 524 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 494 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 447 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 461 of file nl_pcbnew_plugin_impl.cpp.
References EDA_DRAW_PANEL_GAL::ForceRefresh(), and m_viewport2D.
|
overrideprivate |
Definition at line 307 of file nl_pcbnew_plugin_impl.cpp.
References equals(), KIGFX::VIEW::GetCenter(), KIGFX::VIEW::GetScale(), KIGFX::VIEW::GetViewport(), BOX2< Vec >::GetWidth(), m_view, m_viewportWidth, scale, and KIGFX::VIEW::SetScale().
|
overrideprivate |
Definition at line 330 of file nl_pcbnew_plugin_impl.cpp.
|
overrideprivate |
Definition at line 336 of file nl_pcbnew_plugin_impl.cpp.
|
private |
Definition at line 126 of file nl_pcbnew_plugin_impl.h.
Referenced by SetMotionFlag().
|
private |
Definition at line 125 of file nl_pcbnew_plugin_impl.h.
Referenced by GetCameraMatrix(), GetModelExtents(), GetPointerPosition(), GetViewExtents(), NL_PCBNEW_PLUGIN_IMPL(), SetCameraMatrix(), and SetViewExtents().
|
private |
Definition at line 124 of file nl_pcbnew_plugin_impl.h.
Referenced by GetModelExtents(), GetPointerPosition(), GetViewExtents(), NL_PCBNEW_PLUGIN_IMPL(), SetActiveCommand(), and SetTransaction().
|
mutableprivate |
Definition at line 127 of file nl_pcbnew_plugin_impl.h.
Referenced by GetViewExtents(), NL_PCBNEW_PLUGIN_IMPL(), and SetViewExtents().
|
mutableprivate |
Definition at line 128 of file nl_pcbnew_plugin_impl.h.
Referenced by GetCameraMatrix(), and SetCameraMatrix().