KiCad PCB EDA Suite
Loading...
Searching...
No Matches
NL_GERBVIEW_PLUGIN_IMPL Class Reference

The class that implements the accessors and mutators required for 3D navigation in an PCB_DRAW_PANEL_GAL using a SpaceMouse. More...

#include <nl_gerbview_plugin_impl.h>

Inheritance diagram for NL_GERBVIEW_PLUGIN_IMPL:

Public Member Functions

 NL_GERBVIEW_PLUGIN_IMPL ()
 Initializes a new instance of the NL_GERBVIEW_PLUGIN_IMPL.
 
virtual ~NL_GERBVIEW_PLUGIN_IMPL ()
 
void SetCanvas (EDA_DRAW_PANEL_GAL *aViewport)
 Sets the viewport controlled by the SpaceMouse.
 
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

EDA_DRAW_PANEL_GALm_viewport2D = nullptr
 
KIGFX::VIEWm_view = nullptr
 
bool m_isMoving = false
 
double m_viewportWidth = 0.0
 
VECTOR2D m_viewPosition
 

Static Private Attributes

static const wxChar * m_logTrace = wxT( "KI_TRACE_NL_GERBVIEW_PLUGIN" )
 Trace mask used to enable or disable the trace output of this class.
 

Detailed Description

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_gerbview_plugin_impl.h.

Constructor & Destructor Documentation

◆ NL_GERBVIEW_PLUGIN_IMPL()

NL_GERBVIEW_PLUGIN_IMPL::NL_GERBVIEW_PLUGIN_IMPL ( )

Initializes a new instance of the NL_GERBVIEW_PLUGIN_IMPL.

Definition at line 57 of file nl_gerbview_plugin_impl.cpp.

◆ ~NL_GERBVIEW_PLUGIN_IMPL()

NL_GERBVIEW_PLUGIN_IMPL::~NL_GERBVIEW_PLUGIN_IMPL ( )
virtual

Definition at line 63 of file nl_gerbview_plugin_impl.cpp.

Member Function Documentation

◆ exportCommandsAndImages()

void NL_GERBVIEW_PLUGIN_IMPL::exportCommandsAndImages ( )
private

Export the invocable actions and images to the 3Dconnexion UI.

Definition at line 167 of file nl_gerbview_plugin_impl.cpp.

References ACTION_MANAGER::GetActionList(), image, INVALID_BITMAP, KiBitmap(), m_logTrace, name, and try_add_category().

Referenced by SetCanvas().

◆ GetCameraMatrix()

long NL_GERBVIEW_PLUGIN_IMPL::GetCameraMatrix ( navlib::matrix_t & aMatrix) const
overrideprivate

Definition at line 247 of file nl_gerbview_plugin_impl.cpp.

References m_view, and m_viewPosition.

◆ GetCoordinateSystem()

long NL_GERBVIEW_PLUGIN_IMPL::GetCoordinateSystem ( navlib::matrix_t & aMatrix) const
overrideprivate

Definition at line 393 of file nl_gerbview_plugin_impl.cpp.

◆ GetFrontView()

long NL_GERBVIEW_PLUGIN_IMPL::GetFrontView ( navlib::matrix_t & aMatrix) const
overrideprivate

Definition at line 401 of file nl_gerbview_plugin_impl.cpp.

◆ GetHitLookAt()

long NL_GERBVIEW_PLUGIN_IMPL::GetHitLookAt ( navlib::point_t & aPosition) const
overrideprivate

Definition at line 552 of file nl_gerbview_plugin_impl.cpp.

◆ GetIsSelectionEmpty()

long NL_GERBVIEW_PLUGIN_IMPL::GetIsSelectionEmpty ( navlib::bool_t & aEmpty) const
overrideprivate

Definition at line 408 of file nl_gerbview_plugin_impl.cpp.

References empty().

◆ GetIsViewPerspective()

long NL_GERBVIEW_PLUGIN_IMPL::GetIsViewPerspective ( navlib::bool_t & aPerspective) const
overrideprivate

Definition at line 302 of file nl_gerbview_plugin_impl.cpp.

◆ GetIsViewRotatable()

long NL_GERBVIEW_PLUGIN_IMPL::GetIsViewRotatable ( navlib::bool_t & isRotatable) const
overrideprivate

Definition at line 415 of file nl_gerbview_plugin_impl.cpp.

◆ GetModelExtents()

long NL_GERBVIEW_PLUGIN_IMPL::GetModelExtents ( navlib::box_t & aExtents) const
overrideprivate

◆ GetPivotPosition()

long NL_GERBVIEW_PLUGIN_IMPL::GetPivotPosition ( navlib::point_t & aPosition) const
overrideprivate

Definition at line 522 of file nl_gerbview_plugin_impl.cpp.

◆ GetPivotVisible()

long NL_GERBVIEW_PLUGIN_IMPL::GetPivotVisible ( navlib::bool_t & aVisible) const
overrideprivate

Definition at line 540 of file nl_gerbview_plugin_impl.cpp.

◆ GetPointerPosition()

long NL_GERBVIEW_PLUGIN_IMPL::GetPointerPosition ( navlib::point_t & aPosition) const
overrideprivate

Definition at line 267 of file nl_gerbview_plugin_impl.cpp.

References m_view, m_viewport2D, VECTOR2< T >::x, and VECTOR2< T >::y.

◆ GetSelectionExtents()

long NL_GERBVIEW_PLUGIN_IMPL::GetSelectionExtents ( navlib::box_t & aExtents) const
overrideprivate

Definition at line 504 of file nl_gerbview_plugin_impl.cpp.

◆ GetSelectionTransform()

long NL_GERBVIEW_PLUGIN_IMPL::GetSelectionTransform ( navlib::matrix_t & aTransform) const
overrideprivate

Definition at line 510 of file nl_gerbview_plugin_impl.cpp.

◆ GetViewExtents()

long NL_GERBVIEW_PLUGIN_IMPL::GetViewExtents ( navlib::box_t & aExtents) const
overrideprivate

◆ GetViewFOV()

long NL_GERBVIEW_PLUGIN_IMPL::GetViewFOV ( double & aFov) const
overrideprivate

Definition at line 492 of file nl_gerbview_plugin_impl.cpp.

◆ GetViewFrustum()

long NL_GERBVIEW_PLUGIN_IMPL::GetViewFrustum ( navlib::frustum_t & aFrustum) const
overrideprivate

Definition at line 498 of file nl_gerbview_plugin_impl.cpp.

◆ IsUserPivot()

long NL_GERBVIEW_PLUGIN_IMPL::IsUserPivot ( navlib::bool_t & aUserPivot) const
overrideprivate

Definition at line 528 of file nl_gerbview_plugin_impl.cpp.

◆ SetActiveCommand()

◆ SetCameraMatrix()

long NL_GERBVIEW_PLUGIN_IMPL::SetCameraMatrix ( const navlib::matrix_t & aMatrix)
overrideprivate

Definition at line 310 of file nl_gerbview_plugin_impl.cpp.

References equals(), m_view, m_viewPosition, and result.

◆ SetCameraTarget()

long NL_GERBVIEW_PLUGIN_IMPL::SetCameraTarget ( const navlib::point_t & aPosition)
overrideprivate

Definition at line 582 of file nl_gerbview_plugin_impl.cpp.

◆ SetCanvas()

void NL_GERBVIEW_PLUGIN_IMPL::SetCanvas ( EDA_DRAW_PANEL_GAL * aViewport)

Sets the viewport controlled by the SpaceMouse.

Parameters
aViewportis the viewport to be navigated.

Definition at line 80 of file nl_gerbview_plugin_impl.cpp.

References exportCommandsAndImages(), m_view, m_viewport2D, m_viewportWidth, and SafeNavlibInit().

◆ SetFocus()

void NL_GERBVIEW_PLUGIN_IMPL::SetFocus ( bool aFocus)

Set the connection to the 3Dconnexion driver to the focus state so that 3DMouse data is routed here.

Parameters
aFocusis true to set the connection active.

Definition at line 106 of file nl_gerbview_plugin_impl.cpp.

References m_logTrace.

◆ SetHitAperture()

long NL_GERBVIEW_PLUGIN_IMPL::SetHitAperture ( double aAperture)
overrideprivate

Definition at line 558 of file nl_gerbview_plugin_impl.cpp.

◆ SetHitDirection()

long NL_GERBVIEW_PLUGIN_IMPL::SetHitDirection ( const navlib::vector_t & aDirection)
overrideprivate

Definition at line 564 of file nl_gerbview_plugin_impl.cpp.

◆ SetHitLookFrom()

long NL_GERBVIEW_PLUGIN_IMPL::SetHitLookFrom ( const navlib::point_t & aPosition)
overrideprivate

Definition at line 570 of file nl_gerbview_plugin_impl.cpp.

◆ SetHitSelectionOnly()

long NL_GERBVIEW_PLUGIN_IMPL::SetHitSelectionOnly ( bool aSelectionOnly)
overrideprivate

Definition at line 576 of file nl_gerbview_plugin_impl.cpp.

◆ SetMotionFlag()

long NL_GERBVIEW_PLUGIN_IMPL::SetMotionFlag ( bool aValue)
overrideprivate

Definition at line 475 of file nl_gerbview_plugin_impl.cpp.

References m_isMoving.

◆ SetPivotPosition()

long NL_GERBVIEW_PLUGIN_IMPL::SetPivotPosition ( const navlib::point_t & aPosition)
overrideprivate

Definition at line 534 of file nl_gerbview_plugin_impl.cpp.

◆ SetPivotVisible()

long NL_GERBVIEW_PLUGIN_IMPL::SetPivotVisible ( bool aVisible)
overrideprivate

Definition at line 546 of file nl_gerbview_plugin_impl.cpp.

◆ SetSelectionTransform()

long NL_GERBVIEW_PLUGIN_IMPL::SetSelectionTransform ( const navlib::matrix_t & aMatrix)
overrideprivate

Definition at line 516 of file nl_gerbview_plugin_impl.cpp.

◆ SetSettingsChanged()

long NL_GERBVIEW_PLUGIN_IMPL::SetSettingsChanged ( long aChangeNumber)
overrideprivate

Definition at line 469 of file nl_gerbview_plugin_impl.cpp.

◆ SetTransaction()

long NL_GERBVIEW_PLUGIN_IMPL::SetTransaction ( long aValue)
overrideprivate

Definition at line 483 of file nl_gerbview_plugin_impl.cpp.

References L, and m_viewport2D.

◆ SetViewExtents()

long NL_GERBVIEW_PLUGIN_IMPL::SetViewExtents ( const navlib::box_t & aExtents)
overrideprivate

Definition at line 334 of file nl_gerbview_plugin_impl.cpp.

References equals(), m_view, m_viewportWidth, result, and scale.

◆ SetViewFOV()

long NL_GERBVIEW_PLUGIN_IMPL::SetViewFOV ( double aFov)
overrideprivate

Definition at line 357 of file nl_gerbview_plugin_impl.cpp.

◆ SetViewFrustum()

long NL_GERBVIEW_PLUGIN_IMPL::SetViewFrustum ( const navlib::frustum_t & aFrustum)
overrideprivate

Definition at line 363 of file nl_gerbview_plugin_impl.cpp.

Member Data Documentation

◆ m_isMoving

bool NL_GERBVIEW_PLUGIN_IMPL::m_isMoving = false
private

Definition at line 134 of file nl_gerbview_plugin_impl.h.

Referenced by SetMotionFlag().

◆ m_view

KIGFX::VIEW* NL_GERBVIEW_PLUGIN_IMPL::m_view = nullptr
private

◆ m_viewport2D

EDA_DRAW_PANEL_GAL* NL_GERBVIEW_PLUGIN_IMPL::m_viewport2D = nullptr
private

◆ m_viewportWidth

double NL_GERBVIEW_PLUGIN_IMPL::m_viewportWidth = 0.0
mutableprivate

Definition at line 135 of file nl_gerbview_plugin_impl.h.

Referenced by GetViewExtents(), SetCanvas(), and SetViewExtents().

◆ m_viewPosition

VECTOR2D NL_GERBVIEW_PLUGIN_IMPL::m_viewPosition
mutableprivate

Definition at line 136 of file nl_gerbview_plugin_impl.h.

Referenced by GetCameraMatrix(), and SetCameraMatrix().


The documentation for this class was generated from the following files: