1
I Use This!
Activity Not Available

Commits : Listings

Analyzed about 1 month ago. based on code collected about 1 month ago.
Jul 21, 2025 — Jul 21, 2026
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Fix stupidity in the triangle simplification; I didn't handle the case where you bolt a triangle onto a convex poly, and both remaining edges of the tri are coincident with the neighbours from the poly. That was a big source of zero-area triangles. More... about 18 years ago
Add color. Now each triangle has metadata, which are preserved in csg ops; so the union of a red part and a blue part has both red and blue faces. And some user interface to pick the color in the text window. More... about 18 years ago
Initial work on the assembly (`import') feature. I can import a part, including all of its entities and the triangle mesh. These are transformed by a rotation and translation, and appear in the sketch; the transformation may be set with constraints. More... about 18 years ago
Oops, Boolean 0 - B was equal to B with the normals flipped, not zero. More... about 18 years ago
Remove stupid "show any datum" link, and replace with a link to show/hide the mesh (drawn as wireframe triangles). More... about 18 years ago
Add the file open/save user interface. This includes a list of recently opened files, that is saved in the registry and displayed in a separate popup menu. More... about 18 years ago
More reasonable default window locations. More... about 18 years ago
Now I can rename groups, using that same edit control in the text window. More... about 18 years ago
Add step and repeat translate, with multiple copies; that all works nicely. And to do that, I've added the user interface to show an edit control in the text window. More... about 18 years ago
Change the workplanes a bit. Now the active workplane is per group, so e.g. a new extrude starts in free space, which is likely what you want. And default to an in-workplane group, and tweak the display of workplanes. More... about 18 years ago
Make it work when I insert against a NULL bsp3. More... about 18 years ago
Many user interface additions. Now I report when the solver fails, and in the case of a singular Jacobian, report which constraints can be removed to fix it. Also a mechanism to hover and select entities and constraints from the text window. More... about 18 years ago
Some ugly hacks; discard zero-area triangles, randomize the triangle list before adding to the BSP, and check if a point in plane lies in multiple triangles and choose the one with the biggest normal magnitude (i.e., area) when testing normal direction. More... about 18 years ago
Even if one vertex is collinear, the other one could be reflex; triangle merging code was screwing up. More... about 18 years ago
When a triangle gets split when it's added, retriangulate in an effort to reduce the number of pieces. More... about 18 years ago
Various tweaks, including a numerical improvement, to make the epsilon in the csg stuff meaningfully apply everywhere to the length. More... about 18 years ago
Add user interface to specify union/difference for extrudes, and implement that. Also make solver work only between the first and last visible group; earlier can just work from previous solve result, and later don't matter. More... about 18 years ago
The rule for when to keep coplanar surfaces was very wrong; fix it. More... over 18 years ago
As we break things against the BSP, keep an arbitrary convex polygon, not just triangles. This helps to avoid needless splitting. Also test if an entire triangle got inserted in multiple pieces; if yes, back things out, and just insert the triangle. More... over 18 years ago
Add a workaround for OpenGL, which likes to tesselate with zero-area triangles, apparently. And make the number of line segments used to approximate a triangle depend on its scale on screen. More... over 18 years ago
Add extra split planes (not coplanar with any triangle) to the BSP while building it. That may improve performance, by building a more balanced tree and actually reducing splitting. Not dramatic improvements, though; half the triangles for some parts, but no change or slightly worse for others. More... over 18 years ago
Make coplanar faces work properly, by implementing a 2d BSP on each set of coplanar faces. The polygon count still gets stupid fast; I'm thinking I can fix that by adding some extra test planes at the top of the 3d BSP, to quickly cull out stuff that doesn't intersect us. More... over 18 years ago
Add code to extrude a triangle mesh, and to perform Boolean ops on a triangle mesh in a BSP. That works, although it splits too often, the initial triangulations are not good quality, and coplanar faces are not yet handled. I'll do the coplanar thing tomorrow. More... over 18 years ago
And add mesh.cpp, which I had forgotten. More... over 18 years ago
Add polygon triangulation, by cheating. I'm using the gl tesselator for that, and storing the triangles instead of rendering them immediately. Not sure if that's smart; in theory could change from implementation to implementation, but the results look much better than I would get myself. More... over 18 years ago
Rip out the boundary rep csg stuff. I'll redo that with a triangle mesh approach. More... over 18 years ago
Add constructive solid geometry ops. These work to some extent, but not very well; I'm doing a b-rep, where the boundaries are complex polygons, and there's too many special cases. I should probably replace this with a triangle mesh solution. More... over 18 years ago
Clear selection etc. after deleting items due to a failed dependency; no telling what might be out of date after that. More... over 18 years ago
Fix a crash; it was possible to attempt to draw in a workplane that's in a group that solves after the current group. This means that the constraint/request gets deleted instantly, and stuff like auto-constraints on the just-created entities blow up. I now check that the active workplane comes from the active group or one solved before it. More... over 18 years ago
Minor tweaks; and always go into the debugger after an oops(). More... over 18 years ago