diff options
| author | Don Bright <hugh.m.bright@gmail.com> | 2011-09-12 22:40:51 (GMT) | 
|---|---|---|
| committer | Don Bright <hugh.m.bright@gmail.com> | 2011-09-12 22:40:51 (GMT) | 
| commit | f5f06c8e976ca45aebea42fe8c04bf7404357ac8 (patch) | |
| tree | 8d0cdd2698e7806c1b12cc49e743b561e1082961 /doc | |
| parent | 007c40848db9efd704694f2e7596cabed80da50f (diff) | |
| parent | 5ac9162f1c67fd21737ead11d7ebc638bf4eef5f (diff) | |
merge
Merge remote branch 'upstream/visitor' into visitortests
Conflicts:
	src/export.cc
	src/openscad.cc
	src/polyset.cc
	src/transform.cc
	tests/CMakeLists.txt
	tests/FindGLEW.cmake
	tests/csgtermtest.cc
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/OpenSCAD-classes.graffle | bin | 5157 -> 5262 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-classes.pdf | bin | 121443 -> 207883 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-compile.graffle | bin | 4890 -> 4873 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-compile.pdf | bin | 137981 -> 150244 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-csg.graffle | bin | 2680 -> 2662 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-csg.pdf | bin | 0 -> 58300 bytes | |||
| -rw-r--r-- | doc/OpenSCAD-polygons.pdf | bin | 59224 -> 114655 bytes | |||
| -rw-r--r-- | doc/TODO.txt | 31 | ||||
| -rw-r--r-- | doc/testing.txt | 9 | ||||
| -rw-r--r-- | doc/visitor-changes.txt | 7 | 
10 files changed, 21 insertions, 26 deletions
| diff --git a/doc/OpenSCAD-classes.graffle b/doc/OpenSCAD-classes.graffleBinary files differ index ef8c1b8..e067521 100644 --- a/doc/OpenSCAD-classes.graffle +++ b/doc/OpenSCAD-classes.graffle diff --git a/doc/OpenSCAD-classes.pdf b/doc/OpenSCAD-classes.pdfBinary files differ index 5870db0..04b62a9 100644 --- a/doc/OpenSCAD-classes.pdf +++ b/doc/OpenSCAD-classes.pdf diff --git a/doc/OpenSCAD-compile.graffle b/doc/OpenSCAD-compile.graffleBinary files differ index bb505c3..9a09fc3 100644 --- a/doc/OpenSCAD-compile.graffle +++ b/doc/OpenSCAD-compile.graffle diff --git a/doc/OpenSCAD-compile.pdf b/doc/OpenSCAD-compile.pdfBinary files differ index 2c9730d..efc7134 100644 --- a/doc/OpenSCAD-compile.pdf +++ b/doc/OpenSCAD-compile.pdf diff --git a/doc/OpenSCAD-csg.graffle b/doc/OpenSCAD-csg.graffleBinary files differ index ca0a0ff..507c694 100644 --- a/doc/OpenSCAD-csg.graffle +++ b/doc/OpenSCAD-csg.graffle diff --git a/doc/OpenSCAD-csg.pdf b/doc/OpenSCAD-csg.pdfBinary files differ new file mode 100644 index 0000000..0304cf7 --- /dev/null +++ b/doc/OpenSCAD-csg.pdf diff --git a/doc/OpenSCAD-polygons.pdf b/doc/OpenSCAD-polygons.pdfBinary files differ index d2eaa3b..ac18baf 100644 --- a/doc/OpenSCAD-polygons.pdf +++ b/doc/OpenSCAD-polygons.pdf diff --git a/doc/TODO.txt b/doc/TODO.txt index dd9932c..97af30a 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -6,6 +6,7 @@ o Tesselation via GLU sometimes produces strange results  o Export STL: Exports existing CGAL model even though the current model is changed, but not CGAL rendered  o Look into the polygon winding and rotate_extrude() problem reported by Britton  o CGAL Aff_transformation_3 doesn't support non-affine transformations (non-aff-matrix.scad) +o 2D union of polygons with a touching vertex doesn't work. see testdata/scad/bugs/polygon-touch.scad  STL Import BUGS  --------------- @@ -39,12 +40,6 @@ Using STL-imported models is tricky and triggers multiple issues:  CRASH BUGS  ----------  o Broken polyhedron() entities are not correctly detected and cause CGAL segfaults -o linear_extrude(50) square([5,0]); -o union() { -    linear_extrude(height=10, twist=90) circle(5); -    translate([7,-5,0]) linear_extrude(height=10, twist=180) polygon(points = [[0,0], [10,0], [5,10]]); -  } -o non-convex minkowski example from chrysn fails with an exception  USER INTERFACE  -------------- @@ -78,9 +73,12 @@ o 3D View    - overlay indicator displaying current view mode    - OpenCSG rendering: Coincident surfaces causes z-buffer fighting. Is this somehow      avoidable tuning the depth tests in OpenCSG?  -  - Make the 10.000 element OpenCSG klimit configurable (Preferences) ? +  - Make the 10.000 element OpenCSG limit configurable (Preferences) ?    - Use OpenGL picking to facilitate ray-tracing like features like measuring      thicknesses, distances, slot thicknesses etc. +  - When specifying a transparency with the color() statement, +    the object is not sorted and will be rendered wrongly +  - Add option to change lights, e.g. add an optional camera light  o Editor wishlist    - More infrastructure for external editor (allow communication from the outside)    - Preferences GUI for the features below @@ -133,20 +131,16 @@ o 2D Subsystem  o Built-in modules    - extrude*: Allow the base 2D primitive to have a Z value    - rotate_extrude(): Allow for specification of start/stop/sweep angle? -  - Convex hull of multiple 2D or 2D objects +  - Convex hull of 3D objects  o Advanced Transformations    - Add statement for refinement via surface subdivision    - Add statement for intersections in cartesian product of childs +  - non-convex minkowski example from chrysn fails with an exception (testdata/scad/bugs/minkowski-assert.scad)  o Function-Module-Interface    - Pass a module instanciation to a function (e.g. for a volume() function)    - Pass a function to a module instanciation (e.g. for dynamic extrusion paths)  o Language Frontend -  - include statement doesn't support nesting. This can be fixed by -    keeping a nested stack of current input files in the lexer. See -    the "Flex & Bison" O'Reilly book, "Start States and Nested Input -    Files", page 28, for an example.    - Allow local variables and functions everywhere (not only on module level) -  - allow any expression to be evaluated as boolean (!0 = true, 0 = false)    - Rethink for vs. intersection_for vs. group. Should for loops      generate child lists instead, and make these passable to other      modules or accessible by child()? @@ -163,8 +157,6 @@ o Mesh optimization on STL export    - Remove super small triangles (all sides are short)    - Replace super thin triangles (one h is short)  o Misc -  - When specifying a transparency with the color() statement, -    the object is not sorted and will be rendered wrongly    - Go through default values of parameters (e.g. cube() has x,y,z=1 while linear_extrude() has height=100)    - Add support for symbolic names to child() statement     - Add 'lines' object type for non-solid 2d drawings @@ -176,7 +168,6 @@ o Misc  o Grammar    - dim->name -> dim->label    - A random(seed) function -  - import_*() -> *_import() (consistent prefix vs. postfix)    - linear_extrude()/rotate_extrude(): Cumbersome names? -> (extrude, revolve, lathe, sweep ?)   o Hollow donut problem    When extruding a 2D CSG tree (e.g. a polygon with a hole), the hole @@ -184,7 +175,8 @@ o Hollow donut problem    extrusions, this has only a minor visual impact, but for rotate    extrusion, the resulting CGAL models will lose the hole. The OpenCSG    rendering keeps the hole, but renders slightly incorrect. - +o CGAL issues +  - CGAL doesn't handle almost planar polygons. Consider splitting into triangles ourselves. See WillamAdams/dodec.scad  IDEAS FOR LANGUAGE CHANGES @@ -223,11 +215,6 @@ o Caching and MDI looks suspicious when the code relies on external resources    which might be loaded from difference locations in different documents    -> we might get a false cache hit  o Are contructs like "child(0)" cached? Could this give false cache hits? -o Write some cmd-line apps that dump an openscad file to misc. formats -  (dump, stl, dxf) -o Write a simple test script that collects verified and current STL renderings -  and displays them side-by-side or smth. -o Write simple driver scripts for comparing output of above command  o Collect "all" available OpenSCAD scripts from the internets and run the integration    tests on them all  o dumptest tests: diff --git a/doc/testing.txt b/doc/testing.txt index 417a3b9..b64d5a4 100644 --- a/doc/testing.txt +++ b/doc/testing.txt @@ -16,12 +16,13 @@ Adding  a new regression test:  1) create a test file at an appropriate location under testdata/  2) if the test is non-obvious, create a human readable description of the test in the same directory (e.g testdata/scad/mytest.txt) -3) if a new test app was written, this must be added to tests/CMakeLists -4) run the test with the environment variable TEST_GENERATE=1, e.g.: +3) if a new test app was written, this must be added to tests/CMakeLists.txt +4) Add the tests to the test apps for which you want them to run (in tests/CMakeLists.txt) +5) run the test with the environment variable TEST_GENERATE=1, e.g.:     $ TEST_GENERATE=1 ctest -R mytest     (this will generate a mytest-expected.txt file which is used for regression testing) -5) manually verify that the output is correct (test-data/scad/mytest-expected.txt) -6) run the test normally and verify that it passes: +6) manually verify that the output is correct (tests/regression/<testapp>/mytest-expected.<suffix>) +7) run the test normally and verify that it passes:    $ ctest -R mytest  Note that test files which don't have an *-expected.<suffix> file will diff --git a/doc/visitor-changes.txt b/doc/visitor-changes.txt new file mode 100644 index 0000000..e9df8eb --- /dev/null +++ b/doc/visitor-changes.txt @@ -0,0 +1,7 @@ +Changes in visitor branch: +o import_dxf(): layername="" imports all layers. Importing a single layer with a zero-length name is no longer supported. FIXME: The same prob. goes for dims +o cylinder(): the r parameter will now always be used in place of a missing r1 or r2 +o for(): +  - with scalar argument now works, e.g.: for (i=23) echo(i) +  - empty for loop is not evaluated, e.g. for () echo(i)  +  - for loop with illegal value is not evaluated, e.g. for ([0:true:2]) | 
