KiCad PCB EDA Suite
PANEL_PREV_3D Class Reference

#include <panel_prev_model.h>

Inheritance diagram for PANEL_PREV_3D:
PANEL_PREV_3D_BASE

Public Member Functions

 PANEL_PREV_3D (wxWindow *aParent, S3D_CACHE *aCacheManager, MODULE *aModuleCopy, COLORS_DESIGN_SETTINGS *aColors, std::vector< S3D_INFO > *aParentInfoList=NULL)
 
 ~PANEL_PREV_3D ()
 
void SetModelDataIdx (int idx, bool aReloadPreviewModule=false)
 SetModelDataIdx - This will set the index of the INFO list that was set on the parent. More...
 
void ResetModelData (bool aReloadPreviewModule=false)
 ResetModelData - Clear the values and reload the preview board. More...
 
void UpdateModelName (wxString const &aModel)
 
bool ValidateWithMessage (wxString &aErrorMessage)
 verify X,Y and Z scale factors are acceptable (> 0.001 and < 1000.0) More...
 
bool Validate () override
 

Protected Attributes

wxStaticText * m_staticText1
 
wxTextCtrl * xscale
 
wxSpinButton * m_spinXscale
 
wxStaticText * m_staticText2
 
wxTextCtrl * yscale
 
wxSpinButton * m_spinYscale
 
wxStaticText * m_staticText3
 
wxTextCtrl * zscale
 
wxSpinButton * m_spinZscale
 
wxStaticText * m_staticText11
 
wxTextCtrl * xrot
 
wxSpinButton * m_spinXrot
 
wxStaticText * m_staticText21
 
wxTextCtrl * yrot
 
wxSpinButton * m_spinYrot
 
wxStaticText * m_staticText31
 
wxTextCtrl * zrot
 
wxSpinButton * m_spinZrot
 
wxStaticText * m_staticText12
 
wxTextCtrl * xoff
 
wxSpinButton * m_spinXoffset
 
wxStaticText * m_staticText22
 
wxTextCtrl * yoff
 
wxSpinButton * m_spinYoffset
 
wxStaticText * m_staticText32
 
wxTextCtrl * zoff
 
wxSpinButton * m_spinZoffset
 
wxBoxSizer * m_SizerPanelView
 
wxFlexGridSizer * m_fgSizerButtons
 
wxBitmapButton * m_bpvISO
 
wxBitmapButton * m_bpvLeft
 
wxBitmapButton * m_bpvFront
 
wxBitmapButton * m_bpvTop
 
wxBitmapButton * m_bpUpdate
 
wxBitmapButton * m_bpvRight
 
wxBitmapButton * m_bpvBack
 
wxBitmapButton * m_bpvBottom
 

Private Member Functions

void initPanel ()
 
void updateOrientation (wxCommandEvent &event) override
 updateOrientation - it will receive the events from editing the fields More...
 
void onMouseWheelScale (wxMouseEvent &event) override
 
void onMouseWheelRot (wxMouseEvent &event) override
 
void onMouseWheelOffset (wxMouseEvent &event) override
 
void onIncrementRot (wxSpinEvent &event) override
 
void onDecrementRot (wxSpinEvent &event) override
 
void onIncrementScale (wxSpinEvent &event) override
 
void onDecrementScale (wxSpinEvent &event) override
 
void onIncrementOffset (wxSpinEvent &event) override
 
void onDecrementOffset (wxSpinEvent &event) override
 
void getOrientationVars (SGPOINT &aScale, SGPOINT &aRotation, SGPOINT &aOffset)
 getOrientationVars - gets the transformation from entries and validate it More...
 
void updateListOnModelCopy ()
 updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dummy board More...
 
void onEnterPreviewCanvas (wxMouseEvent &event)
 
void View3DISO (wxCommandEvent &event) override
 
void View3DLeft (wxCommandEvent &event) override
 
void View3DFront (wxCommandEvent &event) override
 
void View3DTop (wxCommandEvent &event) override
 
void View3DUpdate (wxCommandEvent &event) override
 
void View3DRight (wxCommandEvent &event) override
 
void View3DBack (wxCommandEvent &event) override
 
void View3DBottom (wxCommandEvent &event) override
 

Private Attributes

wxString currentModelFile
 Used to check if the model file was changed. More...
 
S3D_FILENAME_RESOLVERm_resolver
 Used to get the full path name. More...
 
EDA_3D_CANVASm_previewPane
 The 3D canvas. More...
 
BOARDm_dummyBoard
 A dummy board used to store the copy moduled. More...
 
CINFO3D_VISUm_settings3Dviewer
 The settings that will be used for this 3D viewer canvas. More...
 
MODULEm_copyModule
 A pointer to a new copy of the original module. More...
 
std::vector< S3D_INFO > * m_parentInfoList
 A pointer to the parent S3D_INFO list that we will use to copy to the preview module. More...
 
int m_currentSelectedIdx
 The current selected index of the S3D_INFO list. More...
 
S3D_INFO m_modelInfo
 Current S3D_INFO that is being edited. More...
 

Detailed Description

Definition at line 73 of file panel_prev_model.h.

Constructor & Destructor Documentation

PANEL_PREV_3D::PANEL_PREV_3D ( wxWindow *  aParent,
S3D_CACHE aCacheManager,
MODULE aModuleCopy,
COLORS_DESIGN_SETTINGS aColors,
std::vector< S3D_INFO > *  aParentInfoList = NULL 
)

Definition at line 45 of file panel_prev_model.cpp.

References BOARD::Add(), FRAME_PCB_DISPLAY3D, COGL_ATT_LIST::GetAttributesList(), S3D_CACHE::GetResolver(), initPanel(), m_copyModule, m_dummyBoard, m_parentInfoList, m_previewPane, m_resolver, m_settings3Dviewer, PANEL_PREV_3D_BASE::m_SizerPanelView, onEnterPreviewCanvas(), and BOARD::SetColorsSettings().

48  :
49  PANEL_PREV_3D_BASE( aParent, wxID_ANY )
50  {
51  initPanel();
52 
53  // Initialize the color settings to draw the board and the footprint
54  if( aColors )
55  m_dummyBoard->SetColorsSettings( aColors );
56  else
57  {
58  static COLORS_DESIGN_SETTINGS defaultColors( FRAME_PCB_DISPLAY3D );
59  m_dummyBoard->SetColorsSettings( &defaultColors );
60  }
61 
62  if( NULL != aCacheManager )
63  m_resolver = aCacheManager->GetResolver();
64 
65  m_parentInfoList = aParentInfoList;
66 
67  m_dummyBoard->Add( (MODULE*)aModuleCopy );
68  m_copyModule = aModuleCopy;
69 
70  // Set 3d viewer configuration for preview
72 
73  // Create the 3D canvas
74  m_previewPane = new EDA_3D_CANVAS( this,
78  aCacheManager );
79 
80  m_SizerPanelView->Add( m_previewPane, 1, wxEXPAND );
81 
82  m_previewPane->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler(
84  }
void SetColorsSettings(COLORS_DESIGN_SETTINGS *aColorsSettings)
Function SetColorsSettings.
Definition: class_board.h:569
MODULE * m_copyModule
A pointer to a new copy of the original module.
CINFO3D_VISU * m_settings3Dviewer
The settings that will be used for this 3D viewer canvas.
static const int * GetAttributesList(bool aUseAntiAliasing)
Get a list of attributes to pass to wxGLCanvas.
PANEL_PREV_3D_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(503, 371), long style=wxTAB_TRAVERSAL)
Class EDA_3D_CANVAS Implement a canvas based on a wxGLCanvas.
Definition: eda_3d_canvas.h:53
wxBoxSizer * m_SizerPanelView
S3D_FILENAME_RESOLVER * m_resolver
Used to get the full path name.
void onEnterPreviewCanvas(wxMouseEvent &event)
void Add(BOARD_ITEM *aItem, ADD_MODE aMode=ADD_INSERT) override
Adds an item to the container.
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
Class CINFO3D_VISU Helper class to handle information needed to display 3D board. ...
Definition: cinfo3d_visu.h:70
S3D_FILENAME_RESOLVER * GetResolver(void)
Definition: 3d_cache.cpp:739
Class COLORS_DESIGN_SETTINGS is a list of color settings for designs in Pcbnew.
BOARD * m_dummyBoard
A dummy board used to store the copy moduled.
std::vector< S3D_INFO > * m_parentInfoList
A pointer to the parent S3D_INFO list that we will use to copy to the preview module.
PANEL_PREV_3D::~PANEL_PREV_3D ( )

Definition at line 87 of file panel_prev_model.cpp.

References m_dummyBoard, m_previewPane, m_settings3Dviewer, and onEnterPreviewCanvas().

88 {
89  m_previewPane->Disconnect( wxEVT_ENTER_WINDOW,
90  wxMouseEventHandler( PANEL_PREV_3D::onEnterPreviewCanvas ), NULL, this );
91 
92  delete m_settings3Dviewer;
93  delete m_dummyBoard;
94  delete m_previewPane;
95 }
CINFO3D_VISU * m_settings3Dviewer
The settings that will be used for this 3D viewer canvas.
void onEnterPreviewCanvas(wxMouseEvent &event)
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
BOARD * m_dummyBoard
A dummy board used to store the copy moduled.

Member Function Documentation

void PANEL_PREV_3D::getOrientationVars ( SGPOINT aScale,
SGPOINT aRotation,
SGPOINT aOffset 
)
private

getOrientationVars - gets the transformation from entries and validate it

Parameters
aScaleoutput scale var
aRotationoutput rotation var
aOffsetoutput offset var

Definition at line 537 of file panel_prev_model.cpp.

References checkRotation(), DEGREES, g_UserUnit, INCHES, MILLIMETRES, UNSCALED_UNITS, SGPOINT::x, PANEL_PREV_3D_BASE::xoff, PANEL_PREV_3D_BASE::xrot, PANEL_PREV_3D_BASE::xscale, SGPOINT::y, PANEL_PREV_3D_BASE::yoff, PANEL_PREV_3D_BASE::yrot, PANEL_PREV_3D_BASE::yscale, SGPOINT::z, PANEL_PREV_3D_BASE::zoff, PANEL_PREV_3D_BASE::zrot, and PANEL_PREV_3D_BASE::zscale.

Referenced by updateOrientation().

538 {
539  if( NULL == xscale || NULL == yscale || NULL == zscale
540  || NULL == xrot || NULL == yrot || NULL == zrot
541  || NULL == xoff || NULL == yoff || NULL == zoff )
542  {
543  return;
544  }
545 
546  xscale->GetValue().ToDouble( &aScale.x );
547  yscale->GetValue().ToDouble( &aScale.y );
548  zscale->GetValue().ToDouble( &aScale.z );
549 
550  xrot->GetValue().ToDouble( &aRotation.x );
551  yrot->GetValue().ToDouble( &aRotation.y );
552  zrot->GetValue().ToDouble( &aRotation.z );
553 
554  checkRotation( aRotation.x );
555  checkRotation( aRotation.y );
556  checkRotation( aRotation.z );
557 
558  xoff->GetValue().ToDouble( &aOffset.x );
559  yoff->GetValue().ToDouble( &aOffset.y );
560  zoff->GetValue().ToDouble( &aOffset.z );
561 
562  switch( g_UserUnit )
563  {
564  case MILLIMETRES:
565  // Convert to Inches. Offset is stored in inches.
566  aOffset.x = aOffset.x / 25.4;
567  aOffset.y = aOffset.y / 25.4;
568  aOffset.z = aOffset.z / 25.4;
569  break;
570 
571  case INCHES:
572  // It is already in Inches
573  break;
574 
575  case DEGREES:
576  case UNSCALED_UNITS:
577  default:
578  wxASSERT(0);
579  }
580 
581  return;
582 }
double x
Definition: sg_base.h:70
double y
Definition: sg_base.h:71
Definition: common.h:145
EDA_UNITS_T g_UserUnit
Global variables definitions.
Definition: common.cpp:56
double z
Definition: sg_base.h:72
static void checkRotation(double &aRotation)
checkRotation Ensure -MAX_ROTATION <= rotation <= MAX_ROTATION aRotation will be normalized between -...
void PANEL_PREV_3D::initPanel ( )
private

Definition at line 98 of file panel_prev_model.cpp.

References currentModelFile, KiBitmap(), PANEL_PREV_3D_BASE::m_bpUpdate, PANEL_PREV_3D_BASE::m_bpvBack, PANEL_PREV_3D_BASE::m_bpvBottom, PANEL_PREV_3D_BASE::m_bpvFront, PANEL_PREV_3D_BASE::m_bpvISO, PANEL_PREV_3D_BASE::m_bpvLeft, PANEL_PREV_3D_BASE::m_bpvRight, PANEL_PREV_3D_BASE::m_bpvTop, m_currentSelectedIdx, m_dummyBoard, m_resolver, PANEL_PREV_3D_BASE::m_spinXoffset, PANEL_PREV_3D_BASE::m_spinXrot, PANEL_PREV_3D_BASE::m_spinXscale, PANEL_PREV_3D_BASE::m_spinYoffset, PANEL_PREV_3D_BASE::m_spinYrot, PANEL_PREV_3D_BASE::m_spinYscale, PANEL_PREV_3D_BASE::m_spinZoffset, PANEL_PREV_3D_BASE::m_spinZrot, and PANEL_PREV_3D_BASE::m_spinZscale.

Referenced by PANEL_PREV_3D().

99 {
100  m_resolver = NULL;
101  currentModelFile.clear();
102  m_dummyBoard = new BOARD();
104 
105  // Set the bitmap of 3D view buttons:
106  m_bpvTop->SetBitmap( KiBitmap( axis3d_top_xpm ) );
107  m_bpvFront->SetBitmap( KiBitmap( axis3d_front_xpm ) );
108  m_bpvBack->SetBitmap( KiBitmap( axis3d_back_xpm ) );
109  m_bpvLeft->SetBitmap( KiBitmap( axis3d_left_xpm ) );
110  m_bpvRight->SetBitmap( KiBitmap( axis3d_right_xpm ) );
111  m_bpvBottom->SetBitmap( KiBitmap( axis3d_bottom_xpm ) );
112  m_bpvISO->SetBitmap( KiBitmap( ortho_xpm ) );
113  m_bpUpdate->SetBitmap( KiBitmap( reload_xpm ) );
114 
115  // Set the min and max values of spin buttons (mandatory on Linux)
116  // They are not used, so they are set to min and max 32 bits int values
117  // (the min and max values supported by a wxSpinButton)
118  // It avoids blocking the up or down arrows when reaching this limit after
119  // a few clicks.
120  wxSpinButton* spinButtonList[] =
121  {
125  };
126 
127  for( int ii = 0; ii < 9; ii++ )
128  spinButtonList[ii]->SetRange( INT_MIN, INT_MAX );
129 }
wxBitmapButton * m_bpvTop
wxBitmapButton * m_bpvBottom
wxSpinButton * m_spinZoffset
wxSpinButton * m_spinYoffset
wxBitmapButton * m_bpvBack
wxBitmapButton * m_bpvLeft
wxBitmapButton * m_bpUpdate
int m_currentSelectedIdx
The current selected index of the S3D_INFO list.
wxBitmapButton * m_bpvRight
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Function KiBitmap constructs a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:36
wxSpinButton * m_spinZrot
S3D_FILENAME_RESOLVER * m_resolver
Used to get the full path name.
wxSpinButton * m_spinXoffset
wxSpinButton * m_spinYrot
wxSpinButton * m_spinXrot
wxBitmapButton * m_bpvFront
wxSpinButton * m_spinZscale
wxSpinButton * m_spinXscale
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:169
wxBitmapButton * m_bpvISO
BOARD * m_dummyBoard
A dummy board used to store the copy moduled.
wxString currentModelFile
Used to check if the model file was changed.
wxSpinButton * m_spinYscale
void PANEL_PREV_3D::onDecrementOffset ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 463 of file panel_prev_model.cpp.

References g_UserUnit, INCHES, incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYoffset, PANEL_PREV_3D_BASE::m_spinZoffset, MAX_OFFSET, OFFSET_INCREMENT_MIL, OFFSET_INCREMENT_MM, PANEL_PREV_3D_BASE::xoff, PANEL_PREV_3D_BASE::yoff, and PANEL_PREV_3D_BASE::zoff.

464 {
465  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
466 
467  wxTextCtrl * textCtrl = xoff;
468 
469  if( spinCtrl == m_spinYoffset )
470  textCtrl = yoff;
471  else if( spinCtrl == m_spinZoffset )
472  textCtrl = zoff;
473 
474  double step = OFFSET_INCREMENT_MM;
475 
476  if( g_UserUnit == INCHES )
477  step = OFFSET_INCREMENT_MIL/1000.0;
478 
479  incrementTextCtrl( textCtrl, -step, -MAX_OFFSET, MAX_OFFSET );
480 }
wxSpinButton * m_spinZoffset
wxSpinButton * m_spinYoffset
#define OFFSET_INCREMENT_MM
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
Definition: common.h:145
EDA_UNITS_T g_UserUnit
Global variables definitions.
Definition: common.cpp:56
#define OFFSET_INCREMENT_MIL
#define MAX_OFFSET
void PANEL_PREV_3D::onDecrementRot ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 398 of file panel_prev_model.cpp.

References incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYrot, PANEL_PREV_3D_BASE::m_spinZrot, MAX_ROTATION, ROTATION_INCREMENT, PANEL_PREV_3D_BASE::xrot, PANEL_PREV_3D_BASE::yrot, and PANEL_PREV_3D_BASE::zrot.

399 {
400  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
401 
402  wxTextCtrl * textCtrl = xrot;
403 
404  if( spinCtrl == m_spinYrot )
405  textCtrl = yrot;
406  else if( spinCtrl == m_spinZrot )
407  textCtrl = zrot;
408 
410 }
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define ROTATION_INCREMENT
wxSpinButton * m_spinZrot
wxSpinButton * m_spinYrot
#define MAX_ROTATION
void PANEL_PREV_3D::onDecrementScale ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 428 of file panel_prev_model.cpp.

References incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYscale, PANEL_PREV_3D_BASE::m_spinZscale, MAX_SCALE, SCALE_INCREMENT, PANEL_PREV_3D_BASE::xscale, PANEL_PREV_3D_BASE::yscale, and PANEL_PREV_3D_BASE::zscale.

429 {
430  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
431 
432  wxTextCtrl * textCtrl = xscale;
433 
434  if( spinCtrl == m_spinYscale )
435  textCtrl = yscale;
436  else if( spinCtrl == m_spinZscale )
437  textCtrl = zscale;
438 
440 }
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define SCALE_INCREMENT
wxSpinButton * m_spinZscale
wxSpinButton * m_spinYscale
void PANEL_PREV_3D::onEnterPreviewCanvas ( wxMouseEvent &  event)
inlineprivate

Definition at line 144 of file panel_prev_model.h.

Referenced by PANEL_PREV_3D(), and ~PANEL_PREV_3D().

145  {
146  m_previewPane->SetFocus();
147  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void PANEL_PREV_3D::onIncrementOffset ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 443 of file panel_prev_model.cpp.

References g_UserUnit, INCHES, incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYoffset, PANEL_PREV_3D_BASE::m_spinZoffset, MAX_OFFSET, OFFSET_INCREMENT_MIL, OFFSET_INCREMENT_MM, PANEL_PREV_3D_BASE::xoff, PANEL_PREV_3D_BASE::yoff, and PANEL_PREV_3D_BASE::zoff.

444 {
445  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
446 
447  wxTextCtrl * textCtrl = xoff;
448 
449  if( spinCtrl == m_spinYoffset )
450  textCtrl = yoff;
451  else if( spinCtrl == m_spinZoffset )
452  textCtrl = zoff;
453 
454  double step = OFFSET_INCREMENT_MM;
455 
456  if( g_UserUnit == INCHES )
457  step = OFFSET_INCREMENT_MIL/1000.0;
458 
459  incrementTextCtrl( textCtrl, step, -MAX_OFFSET, MAX_OFFSET );
460 }
wxSpinButton * m_spinZoffset
wxSpinButton * m_spinYoffset
#define OFFSET_INCREMENT_MM
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
Definition: common.h:145
EDA_UNITS_T g_UserUnit
Global variables definitions.
Definition: common.cpp:56
#define OFFSET_INCREMENT_MIL
#define MAX_OFFSET
void PANEL_PREV_3D::onIncrementRot ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 383 of file panel_prev_model.cpp.

References incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYrot, PANEL_PREV_3D_BASE::m_spinZrot, MAX_ROTATION, ROTATION_INCREMENT, PANEL_PREV_3D_BASE::xrot, PANEL_PREV_3D_BASE::yrot, and PANEL_PREV_3D_BASE::zrot.

384 {
385  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
386 
387  wxTextCtrl * textCtrl = xrot;
388 
389  if( spinCtrl == m_spinYrot )
390  textCtrl = yrot;
391  else if( spinCtrl == m_spinZrot )
392  textCtrl = zrot;
393 
395 }
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define ROTATION_INCREMENT
wxSpinButton * m_spinZrot
wxSpinButton * m_spinYrot
#define MAX_ROTATION
void PANEL_PREV_3D::onIncrementScale ( wxSpinEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 413 of file panel_prev_model.cpp.

References incrementTextCtrl(), PANEL_PREV_3D_BASE::m_spinYscale, PANEL_PREV_3D_BASE::m_spinZscale, MAX_SCALE, SCALE_INCREMENT, PANEL_PREV_3D_BASE::xscale, PANEL_PREV_3D_BASE::yscale, and PANEL_PREV_3D_BASE::zscale.

414 {
415  wxSpinButton* spinCtrl = (wxSpinButton*) event.GetEventObject();
416 
417  wxTextCtrl * textCtrl = xscale;
418 
419  if( spinCtrl == m_spinYscale )
420  textCtrl = yscale;
421  else if( spinCtrl == m_spinZscale )
422  textCtrl = zscale;
423 
425 }
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define SCALE_INCREMENT
wxSpinButton * m_spinZscale
wxSpinButton * m_spinYscale
void PANEL_PREV_3D::onMouseWheelOffset ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 516 of file panel_prev_model.cpp.

References g_UserUnit, INCHES, incrementTextCtrl(), MAX_OFFSET, OFFSET_INCREMENT_MIL, OFFSET_INCREMENT_MIL_FINE, OFFSET_INCREMENT_MM, and OFFSET_INCREMENT_MM_FINE.

517 {
518  wxTextCtrl* textCtrl = (wxTextCtrl*) event.GetEventObject();
519 
520  double step = OFFSET_INCREMENT_MM;
521  if( event.ShiftDown( ) )
523 
524  if( g_UserUnit == INCHES )
525  {
526  step = OFFSET_INCREMENT_MIL/1000.0;
527  if( event.ShiftDown( ) )
528  step = OFFSET_INCREMENT_MIL_FINE/1000.0;
529  }
530 
531  if( event.GetWheelRotation() >= 0 )
532  step = -step;
533 
534  incrementTextCtrl( textCtrl, step, -MAX_OFFSET, MAX_OFFSET );
535 }
#define OFFSET_INCREMENT_MM_FINE
#define OFFSET_INCREMENT_MM
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
Definition: common.h:145
EDA_UNITS_T g_UserUnit
Global variables definitions.
Definition: common.cpp:56
#define OFFSET_INCREMENT_MIL_FINE
#define OFFSET_INCREMENT_MIL
#define MAX_OFFSET
void PANEL_PREV_3D::onMouseWheelRot ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 499 of file panel_prev_model.cpp.

References incrementTextCtrl(), MAX_ROTATION, ROTATION_INCREMENT_WHEEL, and ROTATION_INCREMENT_WHEEL_FINE.

500 {
501  wxTextCtrl* textCtrl = (wxTextCtrl*) event.GetEventObject();
502 
503  wxKeyboardState kbdState;
504 
505  double step = ROTATION_INCREMENT_WHEEL;
506 
507  if( event.ShiftDown( ) )
509 
510  if( event.GetWheelRotation() >= 0 )
511  step = -step;
512 
513  incrementTextCtrl( textCtrl, step, -MAX_ROTATION, MAX_ROTATION );
514 }
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define ROTATION_INCREMENT_WHEEL_FINE
#define ROTATION_INCREMENT_WHEEL
#define MAX_ROTATION
void PANEL_PREV_3D::onMouseWheelScale ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 483 of file panel_prev_model.cpp.

References incrementTextCtrl(), MAX_SCALE, SCALE_INCREMENT, and SCALE_INCREMENT_FINE.

484 {
485  wxTextCtrl* textCtrl = (wxTextCtrl*) event.GetEventObject();
486 
487  double step = SCALE_INCREMENT;
488 
489  if( event.ShiftDown( ) )
490  step = SCALE_INCREMENT_FINE;
491 
492  if( event.GetWheelRotation() >= 0 )
493  step = -step;
494 
495  incrementTextCtrl( textCtrl, step, 1/MAX_SCALE, MAX_SCALE );
496 }
#define SCALE_INCREMENT_FINE
static void incrementTextCtrl(wxTextCtrl *aTextCtrl, double aInc, double aMinval, double aMaxval)
#define SCALE_INCREMENT
void PANEL_PREV_3D::ResetModelData ( bool  aReloadPreviewModule = false)

ResetModelData - Clear the values and reload the preview board.

Parameters
aReloadPreviewModuleif need to update the preview module

Definition at line 258 of file panel_prev_model.cpp.

References m_currentSelectedIdx, m_previewPane, EDA_3D_CANVAS::ReloadRequest(), EDA_3D_CANVAS::Request_refresh(), updateListOnModelCopy(), PANEL_PREV_3D_BASE::xoff, PANEL_PREV_3D_BASE::xrot, PANEL_PREV_3D_BASE::xscale, PANEL_PREV_3D_BASE::yoff, PANEL_PREV_3D_BASE::yrot, PANEL_PREV_3D_BASE::yscale, PANEL_PREV_3D_BASE::zoff, PANEL_PREV_3D_BASE::zrot, and PANEL_PREV_3D_BASE::zscale.

Referenced by DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), DIALOG_MODULE_MODULE_EDITOR::On3DShapeNameSelected(), DIALOG_MODULE_BOARD_EDITOR::On3DShapeNameSelected(), DIALOG_MODULE_MODULE_EDITOR::Remove3DShape(), and DIALOG_MODULE_BOARD_EDITOR::Remove3DShape().

259 {
261 
262  xscale->SetValue( wxString::FromDouble( 1.0 ) );
263  yscale->SetValue( wxString::FromDouble( 1.0 ) );
264  zscale->SetValue( wxString::FromDouble( 1.0 ) );
265 
266  xrot->SetValue( wxString::FromDouble( 0.0 ) );
267  yrot->SetValue( wxString::FromDouble( 0.0 ) );
268  zrot->SetValue( wxString::FromDouble( 0.0 ) );
269 
270  xoff->SetValue( wxString::FromDouble( 0.0 ) );
271  yoff->SetValue( wxString::FromDouble( 0.0 ) );
272  zoff->SetValue( wxString::FromDouble( 0.0 ) );
273 
274  // This will update the model on the preview board with the current list of 3d shapes
275  if( aReloadPreviewModule )
276  {
278 
279  if( m_previewPane )
280  {
283  }
284  }
285 
286  if( m_previewPane )
287  m_previewPane->SetFocus();
288 }
void Request_refresh(bool aRedrawImmediately=true)
Request_refresh - Schedule a refresh update of the canvas.
void ReloadRequest(BOARD *aBoard=NULL, S3D_CACHE *aCachePointer=NULL)
int m_currentSelectedIdx
The current selected index of the S3D_INFO list.
void updateListOnModelCopy()
updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dumm...
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void PANEL_PREV_3D::SetModelDataIdx ( int  idx,
bool  aReloadPreviewModule = false 
)

SetModelDataIdx - This will set the index of the INFO list that was set on the parent.

So we will update our values to edit based on the index on that list.

Parameters
idx- The index that was selected
aReloadPreviewModuleif need to update the preview module

Definition at line 193 of file panel_prev_model.cpp.

References DEGREES, Format(), g_UserUnit, INCHES, m_currentSelectedIdx, S3D_INFO::m_Filename, S3D_INFO::m_Offset, m_parentInfoList, m_previewPane, S3D_INFO::m_Rotation, S3D_INFO::m_Scale, MILLIMETRES, EDA_3D_CANVAS::ReloadRequest(), EDA_3D_CANVAS::Request_refresh(), UNSCALED_UNITS, updateListOnModelCopy(), UpdateModelName(), SGPOINT::x, PANEL_PREV_3D_BASE::xoff, PANEL_PREV_3D_BASE::xrot, PANEL_PREV_3D_BASE::xscale, SGPOINT::y, PANEL_PREV_3D_BASE::yoff, PANEL_PREV_3D_BASE::yrot, PANEL_PREV_3D_BASE::yscale, SGPOINT::z, PANEL_PREV_3D_BASE::zoff, PANEL_PREV_3D_BASE::zrot, and PANEL_PREV_3D_BASE::zscale.

Referenced by DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_MODULE_EDITOR::Cfg3DPath(), DIALOG_MODULE_BOARD_EDITOR::Cfg3DPath(), DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), DIALOG_MODULE_MODULE_EDITOR::On3DShapeNameSelected(), DIALOG_MODULE_BOARD_EDITOR::On3DShapeNameSelected(), DIALOG_MODULE_MODULE_EDITOR::Remove3DShape(), and DIALOG_MODULE_BOARD_EDITOR::Remove3DShape().

194 {
195  wxASSERT( m_parentInfoList != NULL );
196 
197  if( m_parentInfoList && (idx >= 0) )
198  {
199  wxASSERT( (unsigned int)idx < (*m_parentInfoList).size() );
200 
201  if( (unsigned int)idx < (*m_parentInfoList).size() )
202  {
203  m_currentSelectedIdx = -1; // In case that we receive events on the
204  // next updates, it will set first an
205  // invalid selection
206 
207  const S3D_INFO *aModel = (const S3D_INFO *)&((*m_parentInfoList)[idx]);
208 
209  xscale->SetValue( wxString::Format( "%.4f", aModel->m_Scale.x ) );
210  yscale->SetValue( wxString::Format( "%.4f", aModel->m_Scale.y ) );
211  zscale->SetValue( wxString::Format( "%.4f", aModel->m_Scale.z ) );
212 
213  xrot->SetValue( wxString::Format( "%.2f", aModel->m_Rotation.x ) );
214  yrot->SetValue( wxString::Format( "%.2f", aModel->m_Rotation.y ) );
215  zrot->SetValue( wxString::Format( "%.2f", aModel->m_Rotation.z ) );
216 
217  switch( g_UserUnit )
218  {
219  case MILLIMETRES:
220  xoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.x * 25.4 ) );
221  yoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.y * 25.4 ) );
222  zoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.z * 25.4 ) );
223  break;
224 
225  case INCHES:
226  xoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.x ) );
227  yoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.y ) );
228  zoff->SetValue( wxString::Format( "%.4f", aModel->m_Offset.z ) );
229  break;
230 
231  case DEGREES:
232  case UNSCALED_UNITS:
233  default:
234  wxASSERT(0);
235  }
236 
237  UpdateModelName( aModel->m_Filename );
238 
239  if( aReloadPreviewModule && m_previewPane )
240  {
242 
245  }
246 
247  m_currentSelectedIdx = idx;
248  }
249  }
250 
251  if( m_previewPane )
252  m_previewPane->SetFocus();
253 
254  return;
255 }
double x
Definition: sg_base.h:70
double y
Definition: sg_base.h:71
SGPOINT m_Offset
an offset (unit = inch) for the 3D shape
Definition: 3d_info.h:44
void Request_refresh(bool aRedrawImmediately=true)
Request_refresh - Schedule a refresh update of the canvas.
void ReloadRequest(BOARD *aBoard=NULL, S3D_CACHE *aCachePointer=NULL)
int m_currentSelectedIdx
The current selected index of the S3D_INFO list.
void updateListOnModelCopy()
updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dumm...
Definition: common.h:145
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
EDA_UNITS_T g_UserUnit
Global variables definitions.
Definition: common.cpp:56
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
SGPOINT m_Rotation
an X,Y,Z rotation (unit = degrees) for the 3D shape
Definition: 3d_info.h:43
double z
Definition: sg_base.h:72
SGPOINT m_Scale
scaling factors for the 3D footprint shape
Definition: 3d_info.h:42
std::vector< S3D_INFO > * m_parentInfoList
A pointer to the parent S3D_INFO list that we will use to copy to the preview module.
void UpdateModelName(wxString const &aModel)
wxString m_Filename
The 3D shape filename in 3D library.
Definition: 3d_info.h:45
void PANEL_PREV_3D::updateListOnModelCopy ( )
private

updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dummy board

Definition at line 647 of file panel_prev_model.cpp.

References m_copyModule, m_parentInfoList, and MODULE::Models().

Referenced by ResetModelData(), SetModelDataIdx(), UpdateModelName(), and updateOrientation().

648 {
649  std::list<S3D_INFO>* draw3D = &m_copyModule->Models();
650  draw3D->clear();
651  draw3D->insert( draw3D->end(), m_parentInfoList->begin(), m_parentInfoList->end() );
652 }
MODULE * m_copyModule
A pointer to a new copy of the original module.
std::list< S3D_INFO > & Models()
Definition: class_module.h:150
std::vector< S3D_INFO > * m_parentInfoList
A pointer to the parent S3D_INFO list that we will use to copy to the preview module.
void PANEL_PREV_3D::UpdateModelName ( wxString const &  aModel)

Definition at line 291 of file panel_prev_model.cpp.

References currentModelFile, S3D_INFO::m_Filename, m_modelInfo, m_previewPane, m_resolver, EDA_3D_CANVAS::ReloadRequest(), S3D_FILENAME_RESOLVER::ResolvePath(), and updateListOnModelCopy().

Referenced by DIALOG_MODULE_MODULE_EDITOR::Edit3DShapeFileName(), DIALOG_MODULE_BOARD_EDITOR::Edit3DShapeFileName(), and SetModelDataIdx().

292 {
293  bool newModel = false;
294 
295  m_modelInfo.m_Filename = aModelName;
296 
297  // if the model name is a directory simply clear the current model
298  if( aModelName.empty() || wxFileName::DirExists( aModelName ) )
299  {
300  currentModelFile.clear();
301  m_modelInfo.m_Filename.clear();
302  }
303  else
304  {
305  wxString newModelFile;
306 
307  if( m_resolver )
308  newModelFile = m_resolver->ResolvePath( aModelName );
309 
310  if( !newModelFile.empty() && newModelFile.Cmp( currentModelFile ) )
311  newModel = true;
312 
313  currentModelFile = newModelFile;
314  }
315 
316  if( currentModelFile.empty() || newModel )
317  {
319 
320  if( m_previewPane )
321  {
323  m_previewPane->Refresh();
324  }
325 
326  if( currentModelFile.empty() )
327  return;
328  }
329  else
330  {
331  if( m_previewPane )
332  m_previewPane->Refresh();
333  }
334 
335  if( m_previewPane )
336  m_previewPane->SetFocus();
337 
338  return;
339 }
void ReloadRequest(BOARD *aBoard=NULL, S3D_CACHE *aCachePointer=NULL)
void updateListOnModelCopy()
updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dumm...
S3D_FILENAME_RESOLVER * m_resolver
Used to get the full path name.
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
wxString ResolvePath(const wxString &aFileName)
Function ResolvePath determines the full path of the given file name.
S3D_INFO m_modelInfo
Current S3D_INFO that is being edited.
wxString currentModelFile
Used to check if the model file was changed.
wxString m_Filename
The 3D shape filename in 3D library.
Definition: 3d_info.h:45
void PANEL_PREV_3D::updateOrientation ( wxCommandEvent &  event)
overrideprivatevirtual

updateOrientation - it will receive the events from editing the fields

Parameters
event

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 342 of file panel_prev_model.cpp.

References getOrientationVars(), m_currentSelectedIdx, m_modelInfo, S3D_INFO::m_Offset, m_previewPane, S3D_INFO::m_Rotation, S3D_INFO::m_Scale, scale, and updateListOnModelCopy().

343 {
344  wxTextCtrl *textCtrl = (wxTextCtrl *)event.GetEventObject();
345 
346  if( textCtrl == NULL )
347  return;
348 
349  if( textCtrl->GetLineLength(0) == 0 ) // This will skip the got and event with empty field
350  return;
351 
352  if( textCtrl->GetLineLength(0) == 1 )
353  if( (textCtrl->GetLineText(0).compare( "." ) == 0) ||
354  (textCtrl->GetLineText(0).compare( "," ) == 0) )
355  return;
356 
357  SGPOINT scale;
358  SGPOINT rotation;
359  SGPOINT offset;
360 
361  getOrientationVars( scale, rotation, offset );
362 
364  m_modelInfo.m_Offset = offset;
365  m_modelInfo.m_Rotation = rotation;
366 
367  if( m_currentSelectedIdx >= 0 )
368  {
369  // This will update the parent list with the new data
370  (*m_parentInfoList)[m_currentSelectedIdx] = m_modelInfo;
371 
372  // It will update the copy model in the preview board
374 
375  // Since the OpenGL render does not need to be reloaded to update the
376  // shapes position, we just request to redraw again the canvas
377  if( m_previewPane )
378  m_previewPane->Refresh();
379  }
380 }
void getOrientationVars(SGPOINT &aScale, SGPOINT &aRotation, SGPOINT &aOffset)
getOrientationVars - gets the transformation from entries and validate it
SGPOINT m_Offset
an offset (unit = inch) for the 3D shape
Definition: 3d_info.h:44
int m_currentSelectedIdx
The current selected index of the S3D_INFO list.
void updateListOnModelCopy()
updateListOnModelCopy - copy the current shape list to the copy of module that is on the preview dumm...
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
const int scale
SGPOINT m_Rotation
an X,Y,Z rotation (unit = degrees) for the 3D shape
Definition: 3d_info.h:43
SGPOINT m_Scale
scaling factors for the 3D footprint shape
Definition: 3d_info.h:42
S3D_INFO m_modelInfo
Current S3D_INFO that is being edited.
bool PANEL_PREV_3D::Validate ( )
inlineoverride

Definition at line 215 of file panel_prev_model.h.

References ValidateWithMessage().

216  {
217  wxString temp;
218  return ValidateWithMessage(temp);
219  }
bool ValidateWithMessage(wxString &aErrorMessage)
verify X,Y and Z scale factors are acceptable (> 0.001 and < 1000.0)
bool PANEL_PREV_3D::ValidateWithMessage ( wxString &  aErrorMessage)

verify X,Y and Z scale factors are acceptable (> 0.001 and < 1000.0)

Returns
false if one (or more) value is not acceptable.
Parameters
aErrorMessageis a wxString to store error messages, if any

Definition at line 585 of file panel_prev_model.cpp.

References Format(), S3D_INFO::m_Filename, m_parentInfoList, S3D_INFO::m_Scale, MAX_SCALE, scale, SGPOINT::x, SGPOINT::y, and SGPOINT::z.

Referenced by DIALOG_MODULE_MODULE_EDITOR::TransferDataFromWindow(), DIALOG_MODULE_BOARD_EDITOR::TransferDataFromWindow(), and Validate().

586 {
587  bool invalidScale = false;
588 
589  for( unsigned int idx = 0; idx < m_parentInfoList->size(); ++idx )
590  {
591  wxString msg;
592  bool addError = false;
593  S3D_INFO& s3dshape = (*m_parentInfoList)[idx];
594 
595  SGPOINT scale = s3dshape.m_Scale;
596 
597  if( 1/MAX_SCALE > scale.x || MAX_SCALE < scale.x )
598  {
599  invalidScale = true;
600  addError = true;
601  msg += _( "Invalid X scale" );
602  }
603 
604  if( 1/MAX_SCALE > scale.y || MAX_SCALE < scale.y )
605  {
606  invalidScale = true;
607  addError = true;
608 
609  if( !msg.IsEmpty() )
610  msg += "\n";
611 
612  msg += _( "Invalid Y scale" );
613  }
614 
615  if( 1/MAX_SCALE > scale.z || MAX_SCALE < scale.z )
616  {
617  invalidScale = true;
618  addError = true;
619 
620  if( !msg.IsEmpty() )
621  msg += "\n";
622 
623  msg += _( "Invalid Z scale" );
624  }
625 
626  if( addError )
627  {
628  msg.Prepend( s3dshape.m_Filename + "\n" );
629 
630  if( !aErrorMessage.IsEmpty() )
631  aErrorMessage += "\n\n";
632 
633  aErrorMessage += msg;
634  }
635  }
636 
637  if( !aErrorMessage.IsEmpty() )
638  {
639  aErrorMessage += "\n\n";
640  aErrorMessage += wxString::Format( "Min value = %.4f and max value = %.4f",
641  1/MAX_SCALE, MAX_SCALE );
642  }
643 
644  return invalidScale == false;
645 }
double x
Definition: sg_base.h:70
double y
Definition: sg_base.h:71
const int scale
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
double z
Definition: sg_base.h:72
SGPOINT m_Scale
scaling factors for the 3D footprint shape
Definition: 3d_info.h:42
std::vector< S3D_INFO > * m_parentInfoList
A pointer to the parent S3D_INFO list that we will use to copy to the preview module.
wxString m_Filename
The 3D shape filename in 3D library.
Definition: 3d_info.h:45
void PANEL_PREV_3D::View3DBack ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 181 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

182  {
183  m_previewPane->SetView3D( 'y' );
184  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DBottom ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 186 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

187  {
188  m_previewPane->SetView3D( 'Z' );
189  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DFront ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 160 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

161  {
162  m_previewPane->SetView3D( 'Y' );
163  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DISO ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 149 of file panel_prev_model.h.

References CINFO3D_VISU::CameraGet(), and CCAMERA::ToggleProjection().

150  {
152  m_previewPane->Refresh();
153  }
CINFO3D_VISU * m_settings3Dviewer
The settings that will be used for this 3D viewer canvas.
void ToggleProjection()
Definition: ccamera.cpp:417
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
CCAMERA & CameraGet() const
CameraGet - get current camera in use.
Definition: cinfo3d_visu.h:210
void PANEL_PREV_3D::View3DLeft ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 155 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

156  {
157  m_previewPane->SetView3D( 'X' );
158  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DRight ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 176 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

177  {
178  m_previewPane->SetView3D( 'x' );
179  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DTop ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 165 of file panel_prev_model.h.

References EDA_3D_CANVAS::SetView3D().

166  {
167  m_previewPane->SetView3D( 'z' );
168  }
EDA_3D_CANVAS * m_previewPane
The 3D canvas.
void SetView3D(int keycode)
SetView3D - Helper function to call view commands.
void PANEL_PREV_3D::View3DUpdate ( wxCommandEvent &  event)
inlineoverrideprivatevirtual

Reimplemented from PANEL_PREV_3D_BASE.

Definition at line 170 of file panel_prev_model.h.

References EDA_3D_CANVAS::ReloadRequest().

171  {
173  m_previewPane->Refresh();
174  }
void ReloadRequest(BOARD *aBoard=NULL, S3D_CACHE *aCachePointer=NULL)
EDA_3D_CANVAS * m_previewPane
The 3D canvas.

Member Data Documentation

wxString PANEL_PREV_3D::currentModelFile
private

Used to check if the model file was changed.

Definition at line 84 of file panel_prev_model.h.

Referenced by initPanel(), and UpdateModelName().

wxBitmapButton* PANEL_PREV_3D_BASE::m_bpUpdate
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvBack
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvBottom
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvFront
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvISO
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvLeft
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvRight
protectedinherited
wxBitmapButton* PANEL_PREV_3D_BASE::m_bpvTop
protectedinherited
MODULE* PANEL_PREV_3D::m_copyModule
private

A pointer to a new copy of the original module.

Definition at line 97 of file panel_prev_model.h.

Referenced by PANEL_PREV_3D(), and updateListOnModelCopy().

int PANEL_PREV_3D::m_currentSelectedIdx
private

The current selected index of the S3D_INFO list.

Definition at line 103 of file panel_prev_model.h.

Referenced by initPanel(), ResetModelData(), SetModelDataIdx(), and updateOrientation().

BOARD* PANEL_PREV_3D::m_dummyBoard
private

A dummy board used to store the copy moduled.

Definition at line 91 of file panel_prev_model.h.

Referenced by initPanel(), PANEL_PREV_3D(), and ~PANEL_PREV_3D().

wxFlexGridSizer* PANEL_PREV_3D_BASE::m_fgSizerButtons
protectedinherited

Definition at line 70 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

S3D_INFO PANEL_PREV_3D::m_modelInfo
private

Current S3D_INFO that is being edited.

Definition at line 106 of file panel_prev_model.h.

Referenced by UpdateModelName(), and updateOrientation().

std::vector<S3D_INFO>* PANEL_PREV_3D::m_parentInfoList
private

A pointer to the parent S3D_INFO list that we will use to copy to the preview module.

Definition at line 100 of file panel_prev_model.h.

Referenced by PANEL_PREV_3D(), SetModelDataIdx(), updateListOnModelCopy(), and ValidateWithMessage().

EDA_3D_CANVAS* PANEL_PREV_3D::m_previewPane
private
S3D_FILENAME_RESOLVER* PANEL_PREV_3D::m_resolver
private

Used to get the full path name.

Definition at line 85 of file panel_prev_model.h.

Referenced by initPanel(), PANEL_PREV_3D(), and UpdateModelName().

CINFO3D_VISU* PANEL_PREV_3D::m_settings3Dviewer
private

The settings that will be used for this 3D viewer canvas.

Definition at line 94 of file panel_prev_model.h.

Referenced by PANEL_PREV_3D(), and ~PANEL_PREV_3D().

wxBoxSizer* PANEL_PREV_3D_BASE::m_SizerPanelView
protectedinherited

Definition at line 69 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D(), and PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxSpinButton* PANEL_PREV_3D_BASE::m_spinXoffset
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinXrot
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinXscale
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinYoffset
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinYrot
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinYscale
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinZoffset
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinZrot
protectedinherited
wxSpinButton* PANEL_PREV_3D_BASE::m_spinZscale
protectedinherited
wxStaticText* PANEL_PREV_3D_BASE::m_staticText1
protectedinherited

Definition at line 42 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText11
protectedinherited

Definition at line 51 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText12
protectedinherited

Definition at line 60 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText2
protectedinherited

Definition at line 45 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText21
protectedinherited

Definition at line 54 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText22
protectedinherited

Definition at line 63 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText3
protectedinherited

Definition at line 48 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText31
protectedinherited

Definition at line 57 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().

wxStaticText* PANEL_PREV_3D_BASE::m_staticText32
protectedinherited

Definition at line 66 of file panel_prev_3d_base.h.

Referenced by PANEL_PREV_3D_BASE::PANEL_PREV_3D_BASE().


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