Skip to content

Commit fc912cb

Browse files
PovRay export (openscad#5288)
1 parent cd7a6fc commit fc912cb

File tree

18 files changed

+887
-5
lines changed

18 files changed

+887
-5
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,8 @@ set(CORE_SOURCES
832832
src/io/export_pdf.cc
833833
src/io/export_stl.cc
834834
src/io/export_svg.cc
835+
src/io/export_pov.cc
836+
src/io/export_param.cc
835837
src/io/export_wrl.cc
836838
src/io/fileutils.cc
837839
src/io/import_amf.cc

resources/common.qrc.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@
5353
<file>icons/svg-default/export-obj-white.svg</file>
5454
<file>icons/svg-default/export-off.svg</file>
5555
<file>icons/svg-default/export-off-white.svg</file>
56+
<file>icons/svg-default/export-pov.svg</file>
57+
<file>icons/svg-default/export-pov-white.svg</file>
5658
<file>icons/svg-default/export-pdf.svg</file>
5759
<file>icons/svg-default/export-pdf-white.svg</file>
5860
<file>icons/svg-default/export-png.svg</file>

resources/icons/svg-default/export-pov-white.svg

Lines changed: 289 additions & 0 deletions
Loading

resources/icons/svg-default/export-pov.svg

Lines changed: 289 additions & 0 deletions
Loading

resources/icons/svg-default/icons.scad

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ icons = [
2727
["export-csg"],
2828
["export-pdf"],
2929
["export-png"],
30+
["export-pov"],
3031
["preview"],
3132
["render"],
3233
["send"],
@@ -84,6 +85,7 @@ icon(selected_icon) {
8485
export("CSG");
8586
export("PDF");
8687
export("PNG");
88+
export("POV");
8789
preview();
8890
render_();
8991
send();

scripts/github-ci.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ do_build() {
3131
mkdir "$BUILDDIR"
3232
(
3333
cd "$BUILDDIR"
34-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=ON -DPROFILE=ON -DUSE_BUILTIN_OPENCSG=1 ${EXPERIMENTAL} ${PYTHON_DEFINE} ${USE_QT6} .. && make $PARALLEL_MAKE
34+
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_UNITY_BUILD=OFF -DPROFILE=ON -DUSE_BUILTIN_OPENCSG=1 ${EXPERIMENTAL} ${PYTHON_DEFINE} ${USE_QT6} .. && make $PARALLEL_MAKE
3535
)
3636
if [[ $? != 0 ]]; then
3737
echo "Build failure"

src/geometry/Polygon2d.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "geometry/cgal/cgalutils.h"
1414
#include "Feature.h"
1515
#include "geometry/PolySet.h"
16+
#include "glview/RenderSettings.h"
1617

1718

1819
Polygon2d::Polygon2d(Outline2d outline) : sanitized(true) {

src/gui/MainWindow.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,8 @@ QAction *getExport3DAction(const MainWindow *mainWindow) {
232232
return mainWindow->fileActionExportOFF;
233233
} else if (format == "WRL") {
234234
return mainWindow->fileActionExportWRL;
235+
} else if (format == "POV") {
236+
return mainWindow->fileActionExportPOV;
235237
} else if (format == "AMF") {
236238
return mainWindow->fileActionExportAMF;
237239
} else if (format == "3MF") {
@@ -494,6 +496,7 @@ MainWindow::MainWindow(const QStringList& filenames)
494496
connect(this->fileActionExportOBJ, SIGNAL(triggered()), this, SLOT(actionExportOBJ()));
495497
connect(this->fileActionExportOFF, SIGNAL(triggered()), this, SLOT(actionExportOFF()));
496498
connect(this->fileActionExportWRL, SIGNAL(triggered()), this, SLOT(actionExportWRL()));
499+
connect(this->fileActionExportPOV, SIGNAL(triggered()), this, SLOT(actionExportPOV()));
497500
connect(this->fileActionExportAMF, SIGNAL(triggered()), this, SLOT(actionExportAMF()));
498501
connect(this->fileActionExportDXF, SIGNAL(triggered()), this, SLOT(actionExportDXF()));
499502
connect(this->fileActionExportSVG, SIGNAL(triggered()), this, SLOT(actionExportSVG()));
@@ -651,6 +654,7 @@ MainWindow::MainWindow(const QStringList& filenames)
651654
initActionIcon(fileActionExportOBJ, ":/icons/svg-default/export-obj.svg", ":/icons/svg-default/export-obj-white.svg");
652655
initActionIcon(fileActionExportOFF, ":/icons/svg-default/export-off.svg", ":/icons/svg-default/export-off-white.svg");
653656
initActionIcon(fileActionExportWRL, ":/icons/svg-default/export-wrl.svg", ":/icons/svg-default/export-wrl-white.svg");
657+
initActionIcon(fileActionExportPOV, ":/icons/svg-default/export-pov.svg", ":/icons/svg-default/export-pov-white.svg");
654658
initActionIcon(fileActionExportDXF, ":/icons/svg-default/export-dxf.svg", ":/icons/svg-default/export-dxf-white.svg");
655659
initActionIcon(fileActionExportSVG, ":/icons/svg-default/export-svg.svg", ":/icons/svg-default/export-svg-white.svg");
656660
initActionIcon(fileActionExportCSG, ":/icons/svg-default/export-csg.svg", ":/icons/svg-default/export-csg-white.svg");
@@ -2958,6 +2962,11 @@ void MainWindow::actionExportWRL()
29582962
actionExport(FileFormat::WRL, "WRL", ".wrl", 3);
29592963
}
29602964

2965+
void MainWindow::actionExportPOV()
2966+
{
2967+
actionExport(FileFormat::POV, "POV", ".pov", 3);
2968+
}
2969+
29612970
void MainWindow::actionExportAMF()
29622971
{
29632972
actionExport(FileFormat::AMF, "AMF", ".amf", 3);

src/gui/MainWindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ private slots:
268268
void actionExportOBJ();
269269
void actionExportOFF();
270270
void actionExportWRL();
271+
void actionExportPOV();
271272
void actionExportAMF();
272273
void actionExportDXF();
273274
void actionExportSVG();

src/gui/MainWindow.ui

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
</property>
230230
<addaction name="fileActionExportSTL"/>
231231
<addaction name="fileActionExportOBJ"/>
232+
<addaction name="fileActionExportPOV"/>
232233
<addaction name="fileActionExportOFF"/>
233234
<addaction name="fileActionExportWRL"/>
234235
<addaction name="fileActionExportAMF"/>
@@ -1048,6 +1049,11 @@
10481049
<string>Export as &amp;OBJ...</string>
10491050
</property>
10501051
</action>
1052+
<action name="fileActionExportPOV">
1053+
<property name="text">
1054+
<string>Export as &amp;POV...</string>
1055+
</property>
1056+
</action>
10511057
<action name="fileActionExportOFF">
10521058
<property name="text">
10531059
<string>Export as &amp;OFF...</string>

0 commit comments

Comments
 (0)