Value io #126

Closed
wants to merge 78 commits into
from

Projects

None yet

4 participants

@clothbot
Contributor

I finally got around to figuring out how to add Value::POLYSET support and associated functions into the openscad:value refactoring.

See example024.scad for some simple examples.

Of note, there is now a dependency on ImageMagick++ for broader image data read support.

Magick++ API details can be found here: http://www.imagemagick.org/Magick++/Image.html

clothbot added some commits Jun 7, 2012
@clothbot clothbot Adding hooks for imagemagick import code 7145c2a
@clothbot clothbot Added Value::POLYSET, polyset() primitive and read_* functions
Infrastructure for reading in DXF, STL and image data into a
pre-rendering Value::POLYSET type for processing and parameter passing
usage.
6a6e42e
@clothbot clothbot Added example024 test
Exercises read_image() with ImageMagick dependencies.
af8b7a0
@clothbot clothbot Excluding dumptest_example024
Forgot to exclude dumptest_example024 so all main tests pass.
4a49823
@kintel
Member
kintel commented Jun 23, 2012

Sorry for late answer, I'm out traveling.
One question to imagemagick.pri:

Why do you change the QT include variable?
QMAKE_INCDIR_QT = $$IMAGEMAGICK_INCLUDEPATH $$QMAKE_INCDIR_QT

Would the standard method do the same job?:
QMAKE_INCDIR += $$IMAGEMAGICK_INCLUDEPATH

@clothbot
Contributor

I'll give it a try. I used eigen2.pri as my template since it uses a similar "include/eigen2" subdirectory to contain its .h files.

@kintel
Member
kintel commented Jun 23, 2012

oh, I see - that's was probably a hack to ensure that the custom build version is preferred over any standard location which may be shared with other libraries. I suggest just leave it as it is then.

@kintel
Member
kintel commented Jun 23, 2012

I feel these new feature need a bit of thinking to avoid complicating the language concept too much.
I'll comment on things here hoping to start clear up what I'm thinking:

  1. (trivial) I think the read_* functions should not be explicitly named after which file format is read. Just like the import module imports any supported file format.

  2. import modules vs. read functions. These fulfill the same task, except import returns an object into the object tree while read returns a value to be used later. Can these two be merged or in any other way be synchronized into one feature?

  3. polyset() vs. surface() modules. These appear to do something very similar. Can we merge these? alternatively mark surface as obsolete and use the new module?

PS. You're also including polyutils.h from a number of files which don't use polyutils.

@clothbot
Contributor

Issue 1 is now taken care of. The "read()" function handles dxf, simple image and STL file reading. Since "read_rgb()" is still rather experimental I've kept it stand-alone.

I've cleaned up the unnecessary polyutils.h includes in the tests/*.cc files.

Re. Issue 2: I need to compare the code I re-used from the import modules (from a while back) against what's currently there. Once any/all recent changes are accounted for in the polyutils variant I'll swap in calls to those functions in the import code.

Re. Issue 3: A "read(.dat)" variant should do the trick. I also want to get a "read(.csv)" variant in there as well.

donbright and others added some commits Jul 8, 2012
@donbright donbright fix aptitude package list for ubuntu build in README b960247
@jasonblewis jasonblewis added auto-loads to scad-mode.el so when it is installed via
elpa/marmalade it sets everything up for the user so they don't have
to edit their init.el file.

scad-mode should turn on automatically for any files that end in .scad
ac0b7f1
@kintel kintel Merge pull request #140 from jasonblewis/feature-scad-mode-autoload
added auto-loads to scad-mode.el for emacs
875def8
@kintel kintel Qt 4.8 requires explicit QMAKESPEC d8ca1de
@kintel kintel Tweaks for Qt 4.8 and correct mpfr download link 38a4585
@donbright donbright features: build CGAL/OpenCSG alone. customize BASEDIR more easily b2c12d2
@donbright donbright script to auto-download/install dependency packages in OpenSUSE 631ac46
@donbright donbright make name match other build script names better 4440cb8
@donbright donbright rewrite to be compatible with ubuntu 'dash' shell bf22cef
@donbright donbright add build script for ubuntu that downloads binary packages too cb287b2
@donbright donbright update documentation. update glew version for ubuntu package d/l 54f6fb2
@donbright donbright update documentation c89ff6a
@donbright donbright create an easy build-script for fedora 17 154e2c7
@donbright donbright update README, add build-essentials and ubuntu version detection beac717
@donbright donbright detect debian version. give advice if too old. 3d94628
@donbright donbright fix bug in ubuntu script. tweak README to match MacOSX section. 2cf86fc
@donbright donbright check versions of libraries at compile time - warn users. fix FIXME i…
…n openscad.pro
018211a
@donbright donbright add reminder to env-var script to re-run qmake a872691
@donbright donbright detect cmake version. enable build_git a2a31e7
@donbright donbright improve wording of CGAL warning + env var warning e1fe9a3
@kintel kintel Merge pull request #142 from openscad/opensuse
Opensuse
a7a8679
@kintel kintel Merge branch 'master' into version_check 1395af1
@kintel kintel Merge branch 'master' of github.com:openscad/openscad
Conflicts:
	scripts/linux-build-dependencies.sh
d88429d
@kintel kintel Don't use grabMouse() and setFocus(). Attempt to fix #53 2aaccdc
@kintel kintel Merge branch 'timestamp-cache' 13557f1
@kintel kintel Merge branch 'master' of github.com:openscad/openscad 1b38030
@donbright donbright fix compilation and linking issues on mingw crossbuild 263901c
@donbright donbright put obj files in separate dir during mingw win32 cross compilation 14160d2
@donbright donbright allow NUMJOBS and NUMCPU + explanations. fix tabs. d3fd45b
@donbright donbright Merge branch 'winfix1' of github.com:openscad/openscad into mingwcross1 eb58394
@donbright donbright put .o files of cross into separate directory. handle git issue. cd81cec
@donbright donbright improve printout notices 5e2350d
@donbright donbright don't suggest paralell build by default, it can cause parser_yacc pro…
…blem
8e1fee3
@donbright donbright fix bugs in build 8cc4423
@donbright donbright Merge branch 'master' of github.com:openscad/openscad into mingwcross1
Conflicts:
	src/linearextrude.cc
10619bd
@donbright donbright dont use boost-chrono if not doing mingw build 293d66a
@donbright donbright fix documentation 06420a3
@donbright donbright cleanup be9c424
@donbright donbright cleanup2 7963c1c
@donbright donbright create dir if non-existant, bug rept by Brad Pitcher d7e40ae
@donbright donbright fix build bugs on fedora 64-bit d6ae963
@donbright donbright fix build bug on some DSO linux systems 9123ad8
@donbright donbright Merge branch 'master' of github.com:openscad/openscad 9044f7a
@kintel kintel Merge pull request #146 from openscad/mingwcross1
Mingwcross1
3267ba2
@kintel kintel sed parameter bug for build_glew(). Fixes #145 821c064
@donbright donbright create bsd build scripts for freebsd 9. d30775a
@donbright donbright indicate which freebsd tested on 8e3f310
@donbright donbright cgal 4.0.2 has a bugfix re clang and gcc 4.7 ( issue #117 ) eda7a41
@donbright donbright initial steps towards support of clang compiler dec26f8
@donbright donbright enable build of glew + opencsg with clang from script b22951a
@donbright donbright improve clang build of glew and opencsg 448bb14
@donbright donbright build opencsg properly 4e6e390
@donbright donbright fix bug dba4fda
@donbright donbright change back to original directory after opencsg build 924c9cc
@donbright donbright Merge branch 'cgal402' of github.com:openscad/openscad into clang ec01e7f
@donbright donbright fix OpenCSG Warning bug where slots were not connected 2551905
@donbright donbright improve usage on PCBSD e501bdd
@donbright donbright remove debug line 36d2515
@donbright donbright debugging and rearranging to find issue 3c7a85a
@donbright donbright remove debugging statements b33a02b
@donbright donbright on control + mousewheel, zoomin/zoomout text (like firefox, IE, etc) 86b5fc0
@donbright donbright clarify comment 7f64312
@donbright donbright add git clone info to README.md , for openscad and MCAD 354aa17
@donbright donbright remove opencsg code that belongs in another branch 1d40052
@donbright donbright remove code that belongs in another branch 54c7cb2
@donbright donbright update README.md lines to look better on github.com 54bf1cf
@kintel kintel Merge pull request #157 from openscad/freebsdbuilders
Freebsdbuilders
23ad640
@kintel kintel Merge pull request #156 from openscad/git_readme_update
Git readme update
9562565
@kintel kintel Merge pull request #155 from openscad/fontsize_save
Fontsize save
dcb8c20
@kintel kintel Merge branch 'master' of github.com:openscad/openscad
Conflicts:
	scripts/linux-build-dependencies.sh
f1634d5
@donbright donbright update version of CGAL in linux build script 12ff22c
@clothbot clothbot Catching up changes. 0ca66f5
@kintel kintel closed this Oct 31, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment