summaryrefslogtreecommitdiff
path: root/game/geoData.cpp
Commit message (Collapse)AuthorAge
* Set height when reusing vertices during setHeightsDan Goodliffe45 hours
|
* Add sanity checking logic to GeoDataDan Goodliffe5 days
|
* Don't cut internal boundariesDan Goodliffe5 days
| | | | | Existing terrain contains enough nodes, assumes input surface is flat. For non-flat requires, submit several surfaces.
* Don't make arbitrary changes to mesh for triangle boundariesDan Goodliffe5 days
| | | | | | | | | | Making these arbitrary changes can lead to inverted adjacent faces, instead just: a) use the near node where it is, or b) create the edge split along its length without lateral movement Same principal as previous commit, addresses issues where tracing would fail seemingly at random and throws on error now.
* Don't make arbitrary changes to mesh for triangle cornersDan Goodliffe5 days
| | | | | | | | | | Making these arbitrary changes can lead to inverted adjacent faces, instead just: a) use the near node where it is, or b) create the edge split along its length without lateral movement Removes the check that these are already used and/or boundaries as they're not being changed now anyway.
* Reuse close edges when adding new vertices for surfaceDan Goodliffe8 days
|
* Remove GeoData::difference for points, use global versionDan Goodliffe2024-12-01
|
* Update new/moved vertex normalsDan Goodliffe2024-11-27
|
* Surface walk to set face surface propertyDan Goodliffe2024-11-24
|
* Pass setHeights options as a struct with defaultsDan Goodliffe2024-11-23
|
* Remove split face specialisationDan Goodliffe2024-11-23
|
* Share code between boundary and strip edge node reuseDan Goodliffe2024-11-23
|
* Reuse existing vertices when processing strip verticesDan Goodliffe2024-11-16
|
* Reuse existing vertices when processing boundary partsDan Goodliffe2024-11-14
|
* Fix do bounary part iterationDan Goodliffe2024-11-14
| | | | Exit when current vertex is adjacent to the end
* Reverse order of last boundary part additionDan Goodliffe2024-11-14
| | | | It's the manual last end, shame it has to be weird.
* First version rewrite of terrain deformation, much still to doDan Goodliffe2024-11-13
|
* Further template maths functionsDan Goodliffe2024-10-21
|
* Remove abuse of std::adjacent_find from geoDataDan Goodliffe2024-05-25
|
* Simplify new face split loopDan Goodliffe2024-04-26
|
* Set the face surface type when setting heightDan Goodliffe2024-04-26
|
* Don't return newly created faces from splitDan Goodliffe2024-04-26
| | | | | It's not as simple as it looks as adjacent faces may also be split, making this a bit misleading.
* Add GeoData face property for surface typeDan Goodliffe2024-04-08
| | | | Arbitrary int type for now.
* Fix creating a flat terrain of exactly the requested sizeDan Goodliffe2024-04-07
| | | | Which must be a size of multiples of GRID_SIZE, 10m
* Don't garbage collect the terrain meshDan Goodliffe2024-04-04
| | | | Use skipping iterators instead, GC would be implicit during save/load
* Update normals only as requiredDan Goodliffe2024-04-04
|
* Boundary edge and one time split with repeated 4-way split of large facesDan Goodliffe2024-04-01
|
* Replace face 4-way splitDan Goodliffe2024-04-01
| | | | Fixes integer rounding issue and returns the new face handles
* Factor out some helper lambdas into membersDan Goodliffe2024-03-31
|
* Split long boundary edgesDan Goodliffe2024-03-31
|
* Split faces with two large boundary sidesDan Goodliffe2024-03-31
|
* Don't save original face handlesDan Goodliffe2024-03-31
| | | | Not required, likely to change anyway.
* Handle almost straight edges with a simple bisectDan Goodliffe2024-03-30
|
* Dedupe addition of extrusionsDan Goodliffe2024-03-23
|
* Handle and test concave surface boundariesDan Goodliffe2024-03-23
|
* Create extents purely from corner arcsDan Goodliffe2024-03-23
|
* Remove boundary collectionDan Goodliffe2024-03-23
| | | | We can simply walk the boundary as required
* Extract vector_normal helper into libDan Goodliffe2024-03-23
|
* Add helper constructors to ArcDan Goodliffe2024-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 planesDan Goodliffe2024-03-18
| | | | Uses limit directions instead of fake triangles
* maybe_unused return from cut point searchDan Goodliffe2024-03-18
| | | | Only asserted
* Switch to using planes instead of triangles for deformaton cutDan Goodliffe2024-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 extentsDan Goodliffe2024-03-14
|
* Simplify cut loop and termination case searchDan Goodliffe2024-03-14
| | | | Looks for a halfedge from current vertex to end vertex.
* Rewrite most of setHeightsDan Goodliffe2024-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 areaDan Goodliffe2024-03-08
|
* Remove the nosplit listDan Goodliffe2024-02-24
| | | | Not required now we don't randomly wonder into the new edges range
* Psycho-rebased branch deform-terrain on top of mainDan Goodliffe2024-02-24
|\
| * First cut of terrain deformationDan Goodliffe2024-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 resultDan Goodliffe2024-02-13
| |