34 if( !j.is_array() || j.size() != 3 )
35 throw std::invalid_argument(
"JSON array size should be 3 for VECTOR3D" );
84 JOB(
"render",
false ), m_filename()
89 m_params.emplace_back(
new JOB_PARAM<SIDE>(
"side", &m_side, m_side ) );
92 m_params.emplace_back(
new JOB_PARAM<bool>(
"perspective", &m_perspective, m_perspective ) );
93 m_params.emplace_back(
new JOB_PARAM<bool>(
"floor", &m_floor, m_floor ) );
95 m_params.emplace_back(
new JOB_PARAM<int>(
"width", &m_width, m_width ) );
96 m_params.emplace_back(
new JOB_PARAM<int>(
"height", &m_height, m_height ) );
98 m_params.emplace_back(
new JOB_PARAM<double>(
"pivot_x", &m_pivot.x, m_pivot.x ) );
99 m_params.emplace_back(
new JOB_PARAM<double>(
"pivot_y", &m_pivot.y, m_pivot.y ) );
100 m_params.emplace_back(
new JOB_PARAM<double>(
"pivot_z", &m_pivot.z, m_pivot.z ) );
106 m_params.emplace_back(
new JOB_PARAM<double>(
"rotation_x", &m_rotation.x, m_rotation.x ) );
107 m_params.emplace_back(
new JOB_PARAM<double>(
"rotation_y", &m_rotation.y, m_rotation.y ) );
108 m_params.emplace_back(
new JOB_PARAM<double>(
"rotation_z", &m_rotation.z, m_rotation.z ) );
110 m_params.emplace_back(
new JOB_PARAM<VECTOR3D>(
"light_top_intensity", &m_lightTopIntensity, m_lightTopIntensity ) );
111 m_params.emplace_back(
new JOB_PARAM<VECTOR3D>(
"light_bottom_intensity", &m_lightBottomIntensity, m_lightBottomIntensity ) );
112 m_params.emplace_back(
new JOB_PARAM<VECTOR3D>(
"light_side_intensity", &m_lightSideIntensity, m_lightSideIntensity ) );
113 m_params.emplace_back(
new JOB_PARAM<VECTOR3D>(
"light_camera_intensity", &m_lightCameraIntensity, m_lightCameraIntensity ) );
115 m_params.emplace_back(
new JOB_PARAM<int>(
"light_side_elevation", &m_lightSideElevation, m_lightSideElevation ) );
133 return _(
"Render PCB Job Settings" );
wxString GetDefaultDescription() const override
static std::map< JOB_PCB_RENDER::FORMAT, wxString > & GetFormatNameMap()
wxString GetSettingsDialogTitle() const override
An simple container class that lets us dispatch output jobs to kifaces.
Some functions to handle hotkeys in KiCad.
std::map< JOB_PCB_RENDER::FORMAT, wxString > outputFormatNameMap
NLOHMANN_JSON_SERIALIZE_ENUM(JOB_PCB_RENDER::FORMAT, { { JOB_PCB_RENDER::FORMAT::JPEG, "jpeg" }, { JOB_PCB_RENDER::FORMAT::PNG, "png" } }) NLOHMANN_JSON_SERIALIZE_ENUM(JOB_PCB_RENDER
#define REGISTER_JOB(job_name, title, face, T)
static void to_json(json &j, const VECTOR3D &s)
static void from_json(const json &j, VECTOR3D &s)