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:
@@ -1,9 +1,5 @@
|
||||
extends Node
|
||||
|
||||
@onready var p1 = $Polygon2D
|
||||
@onready var p2 = $Polygon2D2
|
||||
@onready var p3 = $Polygon2D3
|
||||
|
||||
@onready var meshInstance = MeshInstance3D.new()
|
||||
|
||||
var lines = []
|
||||
@@ -16,22 +12,13 @@ func _process(delta: float) -> void:
|
||||
meshInstance.rotate(Vector3.RIGHT, (0.9 * delta))
|
||||
|
||||
func _ready() -> void:
|
||||
var p1_vectors = [Vector2(4, 0), Vector2(4, 4), Vector2(0, 4), Vector2(0, 0)]
|
||||
var p2_vectors = [Vector2(0, 2), Vector2(0, 1), Vector2(2, 1), Vector2(2, 2)]
|
||||
var p3_vectors = [Vector2(2, 2), Vector2(2, 1), Vector2(4, 1), Vector2(4, 2)]
|
||||
var p1 = [Vector2(4, 0), Vector2(4, 4), Vector2(0, 4), Vector2(0, 0)]
|
||||
var p2 = [Vector2(0, 2), Vector2(0, 1), Vector2(2, 1), Vector2(2, 2)]
|
||||
var p3 = [Vector2(2, 2), Vector2(2, 1), Vector2(4, 1), Vector2(4, 2)]
|
||||
|
||||
|
||||
p2_vectors.reverse()
|
||||
p3_vectors.reverse()
|
||||
|
||||
p1.polygon = p1_vectors
|
||||
p2.polygon = p2_vectors
|
||||
p3.polygon = p3_vectors
|
||||
|
||||
p2.color = Color(1, 0, 1)
|
||||
|
||||
var trianglizationInstance = GeoPolyTriangulization.new(p1, [p2, p3], -0.001)
|
||||
var trianglizationInstance = GeoPolyTriangulization.new(PackedVector2Array(p1), [PackedVector2Array(p2), PackedVector2Array(p3)], -0.001)
|
||||
var vector_indexes = trianglizationInstance.triangulate()
|
||||
print(vector_indexes)
|
||||
var vectors_points = trianglizationInstance.vectors
|
||||
|
||||
var meshGenerator = GeoPolyMesh.new(vector_indexes, vectors_points)
|
||||
|
||||
Reference in New Issue
Block a user