26#ifndef PANEL_PREVIEW_3D_MODEL_H 
   27#define PANEL_PREVIEW_3D_MODEL_H 
   40#define MAX_SCALE          10000.0 
   41#define MAX_ROTATION       180.0 
   42#define MAX_OFFSET         1000.0 
   44#define SCALE_INCREMENT_FINE       0.02 
   45#define SCALE_INCREMENT            0.1 
   47#define ROTATION_INCREMENT 90       
   48#define ROTATION_INCREMENT_FINE 1   
   50#define OFFSET_INCREMENT_MM        0.5 
   51#define OFFSET_INCREMENT_MM_FINE   0.1 
   53#define OFFSET_INCREMENT_MIL       25.0 
   54#define OFFSET_INCREMENT_MIL_FINE  5.0 
   72#define PANEL_PREVIEW_3D_MODEL_ID  wxID_HIGHEST + 1244 
   78                            std::vector<FP_3DMODEL>* aParentModelList );
 
 
Helper class to handle information needed to display 3D board.
 
Information pertinent to a Pcbnew printed circuit board.
 
A class used to derive camera objects from.
 
Implement a canvas based on a wxGLCanvas.
 
Provide an extensible class to resolve 3D model paths.
 
PANEL_PREVIEW_3D_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
 
void View3DTop(wxCommandEvent &event) override
 
wxString formatOffsetValue(double aValue)
 
void onMouseWheelRot(wxMouseEvent &event) override
 
void View3DSettings(wxCommandEvent &event) override
 
void onOpacitySlider(wxCommandEvent &event) override
 
void View3DFront(wxCommandEvent &event) override
 
void onDecrementRot(wxSpinEvent &event) override
 
void onIncrementScale(wxSpinEvent &event) override
 
void setBodyStyleView(wxCommandEvent &event) override
 
void onMouseWheelScale(wxMouseEvent &event) override
 
EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS m_initialRender
The 3d viewer Render initial settings (must be saved and restored)
 
void UpdateDummyFootprint(bool aRelaodRequired=true)
Copy shapes from the current shape list which are flagged for preview to the copy of footprint that i...
 
~PANEL_PREVIEW_3D_MODEL()
 
wxString formatScaleValue(double aValue)
 
void doIncrementRotation(wxSpinEvent &aEvent, double aSign)
 
void loadSettings()
Load 3D relevant settings from the user configuration.
 
void View3DBack(wxCommandEvent &event) override
 
void OnMenuEvent(wxMenuEvent &aEvent)
The TOOL_DISPATCHER needs these to work around some issues in wxWidgets where the menu events aren't ...
 
void onUnitsChanged(wxCommandEvent &aEvent)
 
BOARD_ADAPTER & GetAdapter()
 
void doIncrementOffset(wxSpinEvent &aEvent, double aSign)
 
wxWindow * GetToolCanvas() const override
Canvas access.
 
BOARD_ADAPTER m_boardAdapter
 
void onIncrementOffset(wxSpinEvent &event) override
 
PANEL_PREVIEW_3D_MODEL(wxWindow *aParent, PCB_BASE_FRAME *aFrame, FOOTPRINT *aFootprint, std::vector< FP_3DMODEL > *aParentModelList)
 
FOOTPRINT * GetDummyFootprint() const
Get the dummy footprint that is used for previewing the 3D model.
 
void onDecrementOffset(wxSpinEvent &event) override
 
PCB_BASE_FRAME * m_parentFrame
 
void SetEmbeddedFilesDelegate(EMBEDDED_FILES *aDelegate)
 
EDA_3D_CANVAS * m_previewPane
 
void doIncrementScale(wxSpinEvent &aEvent, double aSign)
 
void View3DLeft(wxCommandEvent &event) override
 
void updateOrientation(wxCommandEvent &event) override
It will receive the events from editing the fields.
 
void View3DISO(wxCommandEvent &event) override
 
wxString formatRotationValue(double aValue)
 
void onMouseWheelOffset(wxMouseEvent &event) override
 
std::unique_ptr< NL_FOOTPRINT_PROPERTIES_PLUGIN > m_spaceMouse
 
FOOTPRINT * m_dummyFootprint
 
void View3DBottom(wxCommandEvent &event) override
 
TRACK_BALL m_trackBallCamera
 
void onDecrementScale(wxSpinEvent &event) override
 
void onIncrementRot(wxSpinEvent &event) override
 
void onPanelShownEvent(wxCommandEvent &aEvent)
 
void SetSelectedModel(int idx)
Set the currently selected index in the model list so that the scale/rotation/offset controls can be ...
 
void View3DRight(wxCommandEvent &event) override
 
std::vector< FP_3DMODEL > * m_parentModelList
 
CAMERA & GetCurrentCamera()
 
void View3DUpdate(wxCommandEvent &event) override
 
EDA_UNITS m_userUnits
Index into m_parentInfoList.
 
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
 
Cache for storing the 3D shapes.
 
A modified version of the wxInfoBar class that allows us to:
 
wxDECLARE_EVENT(wxCUSTOM_PANEL_SHOWN_EVENT, wxCommandEvent)
 
Declaration for a track ball camera.