Modify Earcut and Triangulization Library to Work With Godot::Vector2

Allows use to ease some pain when converting PackedVector2Array
to std::vector<Vector2>.
This commit is contained in:
2025-11-08 09:05:50 -05:00
parent 35a1706e58
commit 2d0408c09e
11 changed files with 34 additions and 77 deletions

View File

@@ -14,20 +14,6 @@ var _v_points = []
var edges = {}
# returns debug lines to be drawn by callers DrawDebug3D
#var _debug_lines: Array[PackedVector3Array]:
#get:
#if !_debug_lines:
#for results in self._triangles:
#var triangle_lines: PackedVector3Array = []
#for vector_index in range(len(results)):
#var v1: Vector2 = results[vector_index]
#var v2: Vector2 = results[(vector_index+1) % CHUNK_RESULT]
#triangle_lines.append(Vector3(v1.x, v1.y, 0))
#triangle_lines.append(Vector3(v2.x, v2.y, 0))
#_debug_lines.push_back(triangle_lines)
#return _debug_lines
func _init(vector_indexes: PackedInt32Array, vector_points: PackedVector2Array, depth: float = -2.0):
assert(len(vector_indexes) % 3 == 0, "Number of vertex points is not divisible by 3, invalid triangle verticies")
surface_array.resize(Mesh.ARRAY_MAX)