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

#include <pcbnew_jobs_handler.h>

Inheritance diagram for PCBNEW_JOBS_HANDLER:
JOB_DISPATCHER

Public Member Functions

 PCBNEW_JOBS_HANDLER (KIWAY *aKiway)
 
int JobExportStep (JOB *aJob)
 
int JobExportRender (JOB *aJob)
 
int JobExportSvg (JOB *aJob)
 
int JobExportDxf (JOB *aJob)
 
int JobExportPdf (JOB *aJob)
 
int JobExportGerber (JOB *aJob)
 
int JobExportGerbers (JOB *aJob)
 
int JobExportDrill (JOB *aJob)
 
int JobExportPos (JOB *aJob)
 
int JobExportFpUpgrade (JOB *aJob)
 
int JobExportFpSvg (JOB *aJob)
 
int JobExportDrc (JOB *aJob)
 
int JobExportIpc2581 (JOB *aJob)
 
void Register (const std::string &aJobTypeName, std::function< int(JOB *job)> aHandler)
 
int RunJob (JOB *job)
 
void SetReporter (REPORTER *aReporter)
 
void SetProgressReporter (PROGRESS_REPORTER *aReporter)
 

Protected Attributes

KIWAYm_kiway
 
REPORTERm_reporter
 
PROGRESS_REPORTERm_progressReporter
 

Private Member Functions

void populateGerberPlotOptionsFromJob (PCB_PLOT_PARAMS &aPlotOpts, JOB_EXPORT_PCB_GERBER *aJob)
 
int doFpExportSvg (JOB_FP_EXPORT_SVG *aSvgJob, const FOOTPRINT *aFootprint)
 
void loadOverrideDrawingSheet (BOARD *brd, const wxString &aSheetPath)
 
DS_PROXY_VIEW_ITEMgetDrawingSheetProxyView (BOARD *aBrd)
 

Private Attributes

std::map< std::string, std::function< int(JOB *job)> > m_jobHandlers
 

Detailed Description

Definition at line 34 of file pcbnew_jobs_handler.h.

Constructor & Destructor Documentation

◆ PCBNEW_JOBS_HANDLER()

Member Function Documentation

◆ doFpExportSvg()

◆ getDrawingSheetProxyView()

◆ JobExportDrc()

int PCBNEW_JOBS_HANDLER::JobExportDrc ( JOB aJob)

◆ JobExportDrill()

int PCBNEW_JOBS_HANDLER::JobExportDrill ( JOB aJob)

Definition at line 758 of file pcbnew_jobs_handler.cpp.

References _, JOB_EXPORT_PCB_DRILL::ABS, EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), JOB_EXPORT_PCB_DRILL::DECIMAL, GENDRILL_WRITER_BASE::DECIMAL_FORMAT, JOB_EXPORT_PCB_DRILL::DXF, CLI::EXIT_CODES::ERR_INVALID_OUTPUT_CONFLICT, CLI::EXIT_CODES::ERR_UNKNOWN, JOB_EXPORT_PCB_DRILL::EXCELLON, JOB_EXPORT_PCB_DRILL::GERBER, JOB_EXPORT_PCB_DRILL::GERBER_X2, BOARD_DESIGN_SETTINGS::GetAuxOrigin(), BOARD::GetDesignSettings(), JOB_EXPORT_PCB_DRILL::INCHES, JOB::IsCli(), JOB_EXPORT_PCB_DRILL::KEEP_ZEROS, GENDRILL_WRITER_BASE::KEEP_ZEROS, LoadBoard(), JOB_EXPORT_PCB_DRILL::m_drillOrigin, JOB_EXPORT_PCB_DRILL::m_drillUnits, JOB_EXPORT_PCB_DRILL::m_excellonCombinePTHNPTH, JOB_EXPORT_PCB_DRILL::m_excellonMinimalHeader, JOB_EXPORT_PCB_DRILL::m_excellonMirrorY, JOB_EXPORT_PCB_DRILL::m_excellonOvalDrillRoute, JOB_EXPORT_PCB_DRILL::m_filename, JOB_EXPORT_PCB_DRILL::m_format, JOB_EXPORT_PCB_DRILL::m_generateMap, JOB_EXPORT_PCB_DRILL::m_gerberPrecision, DRILL_PRECISION::m_Lhs, JOB_EXPORT_PCB_DRILL::m_mapFormat, JOB_EXPORT_PCB_DRILL::m_outputDir, JOB_DISPATCHER::m_reporter, DRILL_PRECISION::m_Rhs, JOB_EXPORT_PCB_DRILL::m_zeroFormat, JOB_EXPORT_PCB_DRILL::MILLIMETERS, CLI::EXIT_CODES::OK, JOB_EXPORT_PCB_DRILL::PDF, JOB_EXPORT_PCB_DRILL::POSTSCRIPT, precisionListForInches, precisionListForMetric, REPORTER::Report(), RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, EXCELLON_WRITER::SetFormat(), GERBER_WRITER::SetFormat(), GENDRILL_WRITER_BASE::SetMapFileFormat(), EXCELLON_WRITER::SetOptions(), GERBER_WRITER::SetOptions(), EXCELLON_WRITER::SetRouteModeForOvalHoles(), JOB_EXPORT_PCB_DRILL::SUPPRESS_LEADING, GENDRILL_WRITER_BASE::SUPPRESS_LEADING, JOB_EXPORT_PCB_DRILL::SUPPRESS_TRAILING, GENDRILL_WRITER_BASE::SUPPRESS_TRAILING, and JOB_EXPORT_PCB_DRILL::SVG.

Referenced by PCBNEW_JOBS_HANDLER().

◆ JobExportDxf()

◆ JobExportFpSvg()

◆ JobExportFpUpgrade()

◆ JobExportGerber()

◆ JobExportGerbers()

◆ JobExportIpc2581()

◆ JobExportPdf()

◆ JobExportPos()

◆ JobExportRender()

int PCBNEW_JOBS_HANDLER::JobExportRender ( JOB aJob)

Definition at line 237 of file pcbnew_jobs_handler.cpp.

References _, PROJECT::ApplyTextVars(), JOB_PCB_RENDER::BACK, JOB_PCB_RENDER::BASIC, BOARD_ADAPTER::BiuTo3dUnits(), JOB_PCB_RENDER::BOTTOM, JOB_PCB_RENDER::DEFAULT, DEG2RAD(), EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::differentiate_plated_copper, CLI::EXIT_CODES::ERR_UNKNOWN, JOB_PCB_RENDER::FRONT, BOARD_ADAPTER::g_DefaultBackgroundBot, BOARD_ADAPTER::g_DefaultBackgroundTop, PROJECT_PCB::Get3DCacheManager(), SETTINGS_MANAGER::GetAppSettings(), RENDER_3D_RAYTRACE_RAM::GetBuffer(), CAMERA::GetLookAtPos_T1(), BOARD::GetProject(), RENDER_3D_RAYTRACE_RAM::GetRealBufferSize(), PGM_BASE::GetSettingsManager(), JOB::GetVarOverrides(), JOB_PCB_RENDER::HIGH, image, TRACK_BALL::Interpolate(), JOB::IsCli(), JOB_PCB_RENDER::LEFT, LoadBoard(), JOB_PCB_RENDER::m_bgStyle, BOARD_ADAPTER::m_Cfg, JOB_PCB_RENDER::m_colorPreset, EDA_3D_VIEWER_SETTINGS::m_CurrentPreset, JOB_PCB_RENDER::m_filename, JOB_PCB_RENDER::m_floor, JOB_PCB_RENDER::m_format, JOB_PCB_RENDER::m_height, BOARD_ADAPTER::m_IsBoardView, BOARD_ADAPTER::m_IsPreviewer, JOB_PCB_RENDER::m_outputFile, JOB_PCB_RENDER::m_pan, JOB_PCB_RENDER::m_perspective, JOB_PCB_RENDER::m_pivot, JOB_PCB_RENDER::m_quality, EDA_3D_VIEWER_SETTINGS::m_Render, JOB_DISPATCHER::m_reporter, JOB_PCB_RENDER::m_rotation, JOB_PCB_RENDER::m_side, JOB_PCB_RENDER::m_width, JOB_PCB_RENDER::m_zoom, EDA_IU_SCALE::mmToIU(), CLI::EXIT_CODES::OK, TRACK_BALL::Pan_T1(), CAMERA::ParametersChanged(), pcbIUScale, Pgm(), JOB_PCB_RENDER::PNG, RANGE_SCALE_3D, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_anti_aliasing, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_backfloor, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_post_processing, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_procedural_textures, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_recursivelevel_refractions, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_reflections, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_refractions, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_shadows, RENDER_3D_RAYTRACE_RAM::Redraw(), REPORTER::Report(), JOB_PCB_RENDER::RIGHT, CAMERA::RotateX_T1(), CAMERA::RotateY_T1(), CAMERA::RotateZ_T1(), RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, BOARD_ADAPTER::Set3dCacheManager(), BOARD_ADAPTER::SetBoard(), CAMERA::SetCurWindowSize(), RENDER_3D_RAYTRACE_RAM::SetCurWindowSize(), CAMERA::SetLookAtPos_T1(), CAMERA::SetProjection(), TRACK_BALL::SetT0_and_T1_current_T(), JOB_PCB_RENDER::TOP, JOB_PCB_RENDER::TRANSPARENT, CAMERA::ViewCommand_T1(), VECTOR3< T >::x, VECTOR3< T >::y, VECTOR3< T >::z, and CAMERA::Zoom_T1().

Referenced by PCBNEW_JOBS_HANDLER().

◆ JobExportStep()

int PCBNEW_JOBS_HANDLER::JobExportStep ( JOB aJob)

Definition at line 112 of file pcbnew_jobs_handler.cpp.

References _, PROJECT::ApplyTextVars(), JOB_EXPORT_PCB_3D::BREP, EXPORTER_STEP_PARAMS::BREP, FILEEXT::BrepFileExtension, BOARD::ComputeBoundingBox(), CLI::EXIT_CODES::ERR_UNKNOWN, EXPORTER_STEP::Export(), EXPORTER_VRML::ExportVRML_File(), BOX2< Vec >::GetCenter(), BOARD::GetFileName(), BOARD::GetProject(), JOB::GetVarOverrides(), JOB_EXPORT_PCB_3D::GLB, EXPORTER_STEP_PARAMS::GLB, FILEEXT::GltfBinaryFileExtension, JOB_EXPORT_PCB_3D::INCHES, JOB::IsCli(), EDA_IU_SCALE::IUTomm(), LoadBoard(), JOB_EXPORT_PCB_3D::m_boardOnly, EXPORTER_STEP_PARAMS::m_boardOnly, JOB_EXPORT_PCB_3D::m_BoardOutlinesChainingEpsilon, EXPORTER_STEP_PARAMS::m_BoardOutlinesChainingEpsilon, JOB_EXPORT_PCB_3D::m_exportBoardBody, EXPORTER_STEP_PARAMS::m_exportBoardBody, JOB_EXPORT_PCB_3D::m_exportComponents, EXPORTER_STEP_PARAMS::m_exportComponents, JOB_EXPORT_PCB_3D::m_exportInnerCopper, EXPORTER_STEP_PARAMS::m_exportInnerCopper, JOB_EXPORT_PCB_3D::m_exportTracks, EXPORTER_STEP_PARAMS::m_exportTracksVias, JOB_EXPORT_PCB_3D::m_exportZones, EXPORTER_STEP_PARAMS::m_exportZones, JOB_EXPORT_PCB_3D::m_filename, JOB_EXPORT_PCB_3D::m_format, EXPORTER_STEP_PARAMS::m_format, JOB_EXPORT_PCB_3D::m_fuseShapes, EXPORTER_STEP_PARAMS::m_fuseShapes, JOB_EXPORT_PCB_3D::m_hasUserOrigin, JOB_EXPORT_PCB_3D::m_includeDNP, EXPORTER_STEP_PARAMS::m_includeDNP, JOB_EXPORT_PCB_3D::m_includeUnspecified, EXPORTER_STEP_PARAMS::m_includeUnspecified, JOB_EXPORT_PCB_3D::m_netFilter, EXPORTER_STEP_PARAMS::m_netFilter, JOB_EXPORT_PCB_3D::m_optimizeStep, EXPORTER_STEP_PARAMS::m_optimizeStep, EXPORTER_STEP_PARAMS::m_origin, JOB_EXPORT_PCB_3D::m_outputFile, EXPORTER_STEP::m_outputFile, JOB_EXPORT_PCB_3D::m_overwrite, EXPORTER_STEP_PARAMS::m_overwrite, JOB_DISPATCHER::m_reporter, JOB_EXPORT_PCB_3D::m_substModels, EXPORTER_STEP_PARAMS::m_substModels, JOB_EXPORT_PCB_3D::m_useDrillOrigin, EXPORTER_STEP_PARAMS::m_useDrillOrigin, JOB_EXPORT_PCB_3D::m_useGridOrigin, EXPORTER_STEP_PARAMS::m_useGridOrigin, JOB_EXPORT_PCB_3D::m_vrmlModelDir, JOB_EXPORT_PCB_3D::m_vrmlRelativePaths, JOB_EXPORT_PCB_3D::m_vrmlUnits, JOB_EXPORT_PCB_3D::m_xOrigin, JOB_EXPORT_PCB_3D::m_yOrigin, JOB_EXPORT_PCB_3D::METERS, JOB_EXPORT_PCB_3D::MILLIMETERS, CLI::EXIT_CODES::OK, pcbIUScale, REPORTER::Report(), RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, scale, JOB_EXPORT_PCB_3D::STEP, EXPORTER_STEP_PARAMS::STEP, FILEEXT::StepFileExtension, JOB_EXPORT_PCB_3D::TENTHS, JOB_EXPORT_PCB_3D::VRML, FILEEXT::VrmlFileExtension, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by PCBNEW_JOBS_HANDLER().

◆ JobExportSvg()

◆ loadOverrideDrawingSheet()

◆ populateGerberPlotOptionsFromJob()

◆ Register()

void JOB_DISPATCHER::Register ( const std::string &  aJobTypeName,
std::function< int(JOB *job)>  aHandler 
)
inherited

◆ RunJob()

int JOB_DISPATCHER::RunJob ( JOB job)
inherited

◆ SetProgressReporter()

void JOB_DISPATCHER::SetProgressReporter ( PROGRESS_REPORTER aReporter)
inherited

Definition at line 60 of file job_dispatcher.cpp.

References JOB_DISPATCHER::m_progressReporter.

◆ SetReporter()

void JOB_DISPATCHER::SetReporter ( REPORTER aReporter)
inherited

Definition at line 53 of file job_dispatcher.cpp.

References JOB_DISPATCHER::m_reporter.

Member Data Documentation

◆ m_jobHandlers

std::map<std::string, std::function<int( JOB* job )> > JOB_DISPATCHER::m_jobHandlers
privateinherited

Definition at line 49 of file job_dispatcher.h.

Referenced by JOB_DISPATCHER::Register(), and JOB_DISPATCHER::RunJob().

◆ m_kiway

KIWAY* JOB_DISPATCHER::m_kiway
protectedinherited

Definition at line 44 of file job_dispatcher.h.

Referenced by JobExportDrc(), and EESCHEMA_JOBS_HANDLER::JobSchErc().

◆ m_progressReporter

PROGRESS_REPORTER* JOB_DISPATCHER::m_progressReporter
protectedinherited

◆ m_reporter


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