Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Learn more about Tcl/Tk at http://www.tcl.tk
Full List of Project Mirrors: http://fossil.etoyoc.com/fossil

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent timeline items

[88c0593dfc] Leaf: Tweak to re-include listutil (user: tne, tags: trunk)
[8157a31334] Moved the package specific information out of library.ini to allow projects like IRM and Toadkit to simply soure that file as part of its own build system rather than have to recreate the steps. (user: tne, tags: trunk)
[5ae59280b9] Reimplemented ODIE_Fuzzy_Compare_TclObj to try to massage numbers for integer comparison, fall back to double, and finally compare strings. Broke up the geometry module. Added a simplified build check in a module for either a module.ini file or a single tcl file with the name of the module. (user: tne, tags: trunk)
[ea8cf8e9e2] Repackaging the fuzzy comparitor as ::tcl::mathfun namespace commands (user: tne, tags: trunk)
[3b686cfbf5] Removed special formatting of doubles for fuzzy values outside the range of 1000-0.001 (user: tne, tags: trunk)
[57d903cc37] Renamed the ::odielib::vexpr_argtype command to ::odielib::matrix_type Changed the form of Odie_GetMatrixFromTclObj to better resemble the argument structure and return codes of Tcl_GetXXXFromObj Devised a more optimal version of Affine4x4Multiply Mostly modifications to resolve inconsitencies I discovered while writing my paper for Tcl2017 (user: hypnotoad, tags: trunk)
[2dae8049d1] Added an add in place function for vectorxyz (user: hypnotoad, tags: trunk)
[c6df01fb20] Added a function to the slicer to compute distance in space between two deck coordinates (user: tne, tags: trunk)
[6b75ee65ec] Fixed the stringrep of matrices Fixed a typo in array4x4::multiply Added an array4x4::multiply_inplace function (user: hypnotoad, tags: trunk)
[6e2fb019c0] Added a fix for cases where odielib is compiled alongside Libtcl. Created a new vector namespace ::vector3d (user: tne, tags: trunk)
[9a2214f2f4] Added a facility to make.tcl to run autoconf if it hasn't already been run. Added a hexgrid_location function to polygon to compute cartesian coordinates of hexagon tiles. (user: hypnotoad, tags: trunk)
[5652dec3aa] Simplified the llama file selector (user: hypnotoad, tags: trunk)
[ca8b628792] Fixed the inputs for the datatype regression tests (user: hypnotoad, tags: trunk)
[0380107604] Fixes to build the heart of odielib as a singular amalgamation (user: hypnotoad, tags: trunk)
[b1826e0bdc] Replaced a defunct option to display deck penetrations when rendering links to a new facility to draw drag nodes on bend points. (user: tne, tags: trunk)
[30904b800f] Fixing a warning on windows that is a failure on mac (user: hypnotoad, tags: trunk)
[7b4bcd768d] Typo fix (user: hypnotoad, tags: trunk)
[5c082166e9] Added a bias to prefer continuing the path of a line rather than turning when connecting a convex point to an edge. Added complex cases from irm compartments to the polygonxyz test (user: tne, tags: trunk)
[713fc8605d] Fine tuning and logic fixes to segset's polygon synthesis (user: tne, tags: trunk)
[3b344f8279] Adding a test file that I'd skipped (user: tne, tags: trunk)
[6c123a106d] Closing the faceset branch and pulling all changes in. (user: tne, tags: trunk)
[cef321fbcc] Pulling together two unintended branches (user: tne, tags: trunk)
[39bbbfdd79] Closed-Leaf: Tweaks to handle edge cases. Added a sawtooth pattern to the tests (user: tne, tags: faceset)
[72df4d4fc9] Resolve a crash in segset if the tclapi changes the modified value without dumping the polygon cache (user: tne, tags: faceset)
[c99de7bffb] Added an optimization to use a quasi-bounding box rule to exclude coincidence checks for vectors that don't share the same region of space (user: tne, tags: faceset)
[5624575d46] Added a looseend check to cleanup Added logic that restricts convex intercepts to points that actually fall on other line segments Revised the logic for check_oblique Added a coincident check in the make_convex method for segsets. Added the ability to monitor and control the "modified" flag for setsets. (user: tne, tags: faceset)
[481a6d544c] 2d polygons now use a similar arrangement to polygonxyz to shimmer AFTER the operation is complete. Added 2d versions of boolean set operations to polygons New implementation of check_oblique that does not depend on polygons having been formed first. Also does a better job with edge cases. Re-added a grid for individual segment sets. But that really doesn't seem to work well when not coupled with odielib grid and vector tolerance (user: tne, tags: faceset)
[5ad290b101] Preliminary merge to get build system changes in, as well as new vectorxyz function needed for IRM. Note that segset and faceset are still not ready for prime time. (user: tne, tags: trunk)
[0b3e53d50e] Added a mechanism to allow polygonxyz and polygon namespace commands to accept inputs from one another. Added a routine to have the segset export 2d polygons directly (user: tne, tags: faceset)
[c767c81bbc] Fixing a typo in VectorXYZ (user: swoods, tags: trunk)
[e9881fc477] Added a polygon decompose function. Fixes to ensure other colinear tests register there and back again loops (user: tne, tags: faceset)
[bbf70d1efb] Added a check to determine a line doubling back on itself is colinear in 2d (user: tne, tags: faceset)
[fe52eed2be] Added a backface exclusion marker to segsets. Segsets now report their bounding box Added tcl api tools to manage 3d and 2d bounding boxes (user: tne, tags: faceset)
[b6b4e20a32] Added checks to break up moby angles and made "make convex" clean up after each phase (user: tne, tags: faceset)
[2040e0bbfd] Moved polygon 3d code back to polygonxyz Reverted 2d polygon implementation back to the old version Added a 2d implemenations of several tests that the old version lacked. Eliminated the grid from segset. Too many conflicts between the internal grid and vector tolerance. (user: tne, tags: faceset)
[6990ffe5ad] Reimplemented SegmentSetNext() to use an absolute angle measurement instead of using bend direction as an early sort. Fixes a lot of pathological cases in IRM. (user: tne, tags: faceset)
[ae31364727] Tweaks to handle edge cases in IRM (user: tne, tags: faceset)
[7bbb6f377d] Fixed a crash in polygon::within Reverted to an older routine for Polygon_WithinUV that seems to be producing better answers Renamed polygon::union to polygon::set_union Renamed polygon::intersection to polygon::set_intersection Renamed polygon::clib to polygon::set_difference. Revised the logic to work on the principle of "return all things NOT this set..." The set operations have reverted to using the "centercoord within" logic, intersect_test_uv does not seem ready for prime time Condending check_coincident, delete_overlapping, and check_intersect into a single method "cleanup" (with similar changes internally in c) Added the concept of an internal grid to segment sets. This causes vertices to always fall at discrete intervals Where needed, the segset's grid will actually change out the Vector_Tolerance to its own grid, and then revert after the operation. Multiple logic and math fixes. Added a polygon_info command to debug the edge cache Added a facewide bend factor to distinguish clockwise from counterclockwise polygons Vector_Tolerance also populates Vector_Tolerance_Sq to allow direct comparison to squared magnetudes without having to perform two square root ops. Revised the logic for VectorXYZ_LineLineCoincident(). The Tcl API function now returns the code and the intercept points. Broke the low level segset tests out ot the polygonxyz test and into a dedicated file Moved in-common utilities for testing into the procs.tcl file Polygon operations now handle all but the most oddball cases. (Case U) (user: tne, tags: faceset)
[78039d873b] Simplifying the process of rendering matrix objects as strings. The prior process was producing a lot of zeros where there were still significant digits. (user: tne, tags: faceset)
19:08 • Edit [cf34a098fce1593e|cf34a098fc]: Move to branch irm2d. Add propagating "closed". Add propagating "hidden". (user: hypnotoad)
[7e331fa74e] Fixed a case where within_concave was counting on the old behavior of polygon within (user: tne, tags: faceset)
[fdc86a9745] Set the polygon within commands arguments to be able to accept either X Y or POINT and moved the ability to evaluate over N polygons to a new command within_set (user: tne, tags: faceset)
[80061598d4] Reset the field order for bounding boxes to match external standards. 2d boxes are now TOP LEFT RIGHT BOTTOM. 3d boxes are XMIN YMIN ZMIN XMAX XMIN ZMIN Added a simplify stage to the native faceset Added an improved gerator to produce polygon access methods and the info function. Removed the left/right facelinks for faceset. Just a number seems to be working better for large sets. Fused the Odie_Polygon_ComputeXYZ and Odie_Polygon_ComputeXY routines into a common Odie_PolygonCompute Combined all of the polygonxyz functions and polygon functions into a unified namespace polygon Reverted the Polygon_WithinUV to the prior version, which seems to manage concave cases better. Removed functions in the polygon namespace that were duplicates of other functions in the shapes namespace Improvements to check_oblique in segset Added a vector::isnull command to allow a test for null without shimmering the object More test cases This version passes all of the polygon visual tests (user: tne, tags: faceset)
[25af608acb] Improvements to faceset. Instead of edge matching in now looks for coplaner faces with areas of intersection. SegmentSet now marks a flag when the cache needs to be rebuilt. Renamed VectorNNN_DotProduct to VectorNNN_Dot_Product (to be consistent with Cross_Product) Added a new coplaner test in the vectorxyz namespace Renamed the face_coords method to face_polygon, and it now exports an Odie_polygon data structure. (user: tne, tags: faceset)
[8beb960bee] Removed debugging code. Added general purpose polygon union, intersection, and clipping tools to the polygonxyz namespace. Currently implemented as pure-tcl, but there is the potential in the future to make them C. (The expensive bits are already C) (user: tne, tags: faceset)
[286181e108] segset: Added independent flags for forward/back segment marking. Removed flags that are no longer used by either segset or wallset. Added a dynamic generator to build the access routines for segment fields. SegSet_Insert_Polygon now operates by looking at the direction of segments relative to its own UV system rather than hoping all polygons are given in clockwise or counter clockwise directions. SegmentSetNext() now takes in a Segment data structure and direction rather than raw coordinates. This allows it to access the segment's internal flags. SegmentSetNext() now prefers edges to non-edges. Edges are defined as a virtual wall, or the side of a non-virtual wall that has been marked with a compartment. On building a the edge cache, if one loop canibalizes another loop it shreds all of the links in the cannibalized loop. The edge cache builder now marks complete loops, and prevents them from being cannibalized. Removed debugging printf() and fflush() calls. Fixed a math error on the number of edges for a segment set in the polygons method. Re-ordered checks in the tests to ensure polygon unions are formed correctly. (user: tne, tags: faceset)
[c6a1ef9cad] Fixed a case in VectorXYZ_LineLineCoincident that was missing intersections of lines. Removed debugging printf() statements. Fixed a test that was wrong. (user: tne, tags: faceset)
[e7bd5f3815] Minor improvements add the ability for edge connection to specify which edge to connect Moved the oblique check to the end. Still producing odd shapes (user: tne, tags: faceset)
[bbadeb37b3] Revert to sprintf() for Vector to string. The extra decimal places are wrecking my regression tests Fixed the size of UV maps in the unified Odie_Polygon data structure Polygon_Within now uses the VectorXY_BendDirection tool instead of rolling its own. (And now actually works to boot...) Implementing a new seed/growth algorithm for forming polygons from segments. (Still not perfect, but its far less easily fooled than the method used by wallset and the method used by the concave decomposition tool.) (user: tne, tags: faceset)
[c48857859c] Renamed several affine_XXXXX series functions Odie_Affine4x4_XXXXX More tweaks to make 2d and 3d bounding boxes play nicely with the same indices Added an inverse rotation to polygons and segment sets. Removed the habit of polygons to add an extra vertex to facilitate looping back to the origin. Added a canvascoords command to polygons to facilitate rending shapes on canvases. Removed the code that forces polygons to be counter clockwise XYZ points always overwrite uv coords for polygons now. The affair between the wallset and segset is, alas, over. Reverted Wallset to the version in Trunk to cut down on possible breakage. Added Segset specific data structures to do the roles that we had copted structures from wallset to accomplish. Segset now uses a "die marker" style of unrolling loops. Like the triangularization tool, it likes to see the world as counterclockwise loops. But instead of shredding the segset as it goes, it marks the edges it traces for each loop, and prevents later traces for stealing them for new loops. Added translation mapping for polygon and segest transforms. Segment sets are now back to useing 3d coordinates internally, The compute UV coordinates on the fly to handle cases where we want the answer from 2d math functions, but in all other respects they use 3d where practical. (user: tne, tags: faceset)