Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add GeoData face property for surface type | Dan Goodliffe | 2024-04-08 |
| | | | | Arbitrary int type for now. | ||
* | Fix creating a flat terrain of exactly the requested size | Dan Goodliffe | 2024-04-07 |
| | | | | Which must be a size of multiples of GRID_SIZE, 10m | ||
* | Don't garbage collect the terrain mesh | Dan Goodliffe | 2024-04-04 |
| | | | | Use skipping iterators instead, GC would be implicit during save/load | ||
* | Update normals only as required | Dan Goodliffe | 2024-04-04 |
| | |||
* | Boundary edge and one time split with repeated 4-way split of large faces | Dan Goodliffe | 2024-04-01 |
| | |||
* | Replace face 4-way split | Dan Goodliffe | 2024-04-01 |
| | | | | Fixes integer rounding issue and returns the new face handles | ||
* | Factor out some helper lambdas into members | Dan Goodliffe | 2024-03-31 |
| | |||
* | Split long boundary edges | Dan Goodliffe | 2024-03-31 |
| | |||
* | Split faces with two large boundary sides | Dan Goodliffe | 2024-03-31 |
| | |||
* | Don't save original face handles | Dan Goodliffe | 2024-03-31 |
| | | | | Not required, likely to change anyway. | ||
* | Handle almost straight edges with a simple bisect | Dan Goodliffe | 2024-03-30 |
| | |||
* | Dedupe addition of extrusions | Dan Goodliffe | 2024-03-23 |
| | |||
* | Handle and test concave surface boundaries | Dan Goodliffe | 2024-03-23 |
| | |||
* | Create extents purely from corner arcs | Dan Goodliffe | 2024-03-23 |
| | |||
* | Remove boundary collection | Dan Goodliffe | 2024-03-23 |
| | | | | We can simply walk the boundary as required | ||
* | Extract vector_normal helper into lib | Dan Goodliffe | 2024-03-23 |
| | |||
* | Add helper constructors to Arc | Dan Goodliffe | 2024-03-21 |
| | | | | | | * Two angles, wraps logic ensuring b after a * Two vector directions * Centre and two endpoints, in at least 2 dimensions, uses .xy() | ||
* | Simplify creation of planes | Dan Goodliffe | 2024-03-18 |
| | | | | Uses limit directions instead of fake triangles | ||
* | maybe_unused return from cut point search | Dan Goodliffe | 2024-03-18 |
| | | | | Only asserted | ||
* | Switch to using planes instead of triangles for deformaton cut | Dan Goodliffe | 2024-03-18 |
| | | | | | Removes the hacky need for going a bit too far to account for rounding errors... which didn't really work anyway. | ||
* | Fix generation of halfedge extrusion extents | Dan Goodliffe | 2024-03-14 |
| | |||
* | Simplify cut loop and termination case search | Dan Goodliffe | 2024-03-14 |
| | | | | Looks for a halfedge from current vertex to end vertex. | ||
* | Rewrite most of setHeights | Dan Goodliffe | 2024-03-08 |
| | | | | | Accounts for sensible corners and fixes quite a few bugs and edge cases... introduces a few more, is still a bit glitchy in places | ||
* | Bail out early if the input does not define an area | Dan Goodliffe | 2024-03-08 |
| | |||
* | Remove the nosplit list | Dan Goodliffe | 2024-02-24 |
| | | | | Not required now we don't randomly wonder into the new edges range | ||
* | Psycho-rebased branch deform-terrain on top of main | Dan Goodliffe | 2024-02-24 |
|\ | |||
| * | First cut of terrain deformation | Dan Goodliffe | 2024-02-22 |
| | | | | | | | | | | | | | | | | | | | | This "works" for some definition of works... But it's flawed in many ways, not least the following: * It's glitchy for no obvious reason * It's unreliable; fails if you tweak the parameters * The sides of the modified area are triangulated in the dumbest possible fashion, which results in ill-formed polygons * Probably other things, but... It works, remember... | ||
| * | Include face handle in intersectRay result | Dan Goodliffe | 2024-02-13 |
| | | |||
| * | Add helpers for testing for triangle overlap/containedness | Dan Goodliffe | 2024-02-12 |
| | | |||
| * | Create flat GeoData as 10m squares instead of one big square | Dan Goodliffe | 2024-02-12 |
| | | |||
* | | Simplify vector addition/subtraction with differnt types | Dan Goodliffe | 2024-02-24 |
|/ | | | | | Automatically applies correct rounding with float to int operations, adjusts test expectations accordingly. | ||
* | Template Ray on position type | Dan Goodliffe | 2024-01-07 |
| | |||
* | Unified crossProduct | Dan Goodliffe | 2024-01-07 |
| | |||
* | Use new calc types in geoData | Dan Goodliffe | 2023-12-17 |
| | |||
* | Handle the case where the ray never enters the map | Dan Goodliffe | 2023-12-02 |
| | |||
* | Extend ray for intersect walk to cover the extents of the map | Dan Goodliffe | 2023-12-02 |
| | |||
* | Replace positionAt with pure integer version | Dan Goodliffe | 2023-12-02 |
| | |||
* | Calculate vertex normals only | Dan Goodliffe | 2023-11-26 |
| | | | | | | Doesn't require half edge normals or face normals, which uses Newell's method, which results in integer overflow... Not to mention we don't need all the other normals. | ||
* | Merge branch 'ints' into terrain | Dan Goodliffe | 2023-11-26 |
|\ | | | | | | | | | | | Conflicts fix, compiles, some test failures remain. Trees not added, possibility of OM invalid handle assertion failures, normals broken due to integer overflow in Newell's method. | ||
| * | Model positions as integers | Dan Goodliffe | 2023-11-25 |
| | | | | | | | | | | Introduces test failure in arcs due to rounding, but I don't want to create a complicated fix as link positions are still floats and hopefully that'll go away... somehow | ||
| * | Switch to millimeters for spatial units | Dan Goodliffe | 2023-11-15 |
| | | | | | | | | | | | | Mostly a case of changing far too many magic numbers, something else to fix I guess. I probably missed something. Also there's some hackery when loading 3D models, which are still assumed to be in metres. | ||
| * | Reformat with new clang-format | Dan Goodliffe | 2023-11-07 |
| | | |||
* | | Fix todo for handling a terrain walk from outside the mesh | Dan Goodliffe | 2023-11-05 |
| | | |||
* | | Fix calculating extents | Dan Goodliffe | 2023-11-05 |
| | | |||
* | | Fix and split linesCross | Dan Goodliffe | 2023-11-05 |
| | | | | | | | | | | Previous tested they crossed in a specific direction, which is wrong but useful. Adds linesCrossLtR for this use case. | ||
* | | Add methods to walk the boundary of the terrain mesh | Dan Goodliffe | 2023-11-05 |
| | | |||
* | | Refactor to further simplify line/point operations | Dan Goodliffe | 2023-11-04 |
| | | | | | | | | Adds another perf test | ||
* | | Simplify some logic with the triangle construct | Dan Goodliffe | 2023-11-04 |
| | | |||
* | | Rename TerrainMesh to GeoData to drop inplace | Dan Goodliffe | 2023-11-04 |
|/ | |||
* | Drop .hpp for header only things | Dan Goodliffe | 2023-04-29 |
| | | | | Half of them acquired a .cpp part anyway |