|
|
|
|
| cat("=" , rep("=", 70), "\n", sep = "")
|
| cat("Debug: Simple Edge Generation Test\n")
|
| cat("=" , rep("=", 70), "\n\n", sep = "")
|
|
|
| source("R/hexagonal_topology.R")
|
| source("R/hexagonal_neighbors.R")
|
| source("R/hexagonal_bezier_generation.R")
|
| source("R/hexagonal_edge_generation_fixed.R")
|
|
|
| rings <- 3
|
| diameter <- 240
|
| seed <- 1234
|
|
|
| cat("Testing with do_warp=TRUE, do_trunc=TRUE:\n\n")
|
|
|
| edge_data <- generate_hex_edge_map(rings, seed, diameter, tabsize = 20, jitter = 4,
|
| do_warp = TRUE, do_trunc = TRUE)
|
|
|
| cat(sprintf("\nNumber of unique edges: %d\n", edge_data$num_edges))
|
| cat(sprintf("Number of piece_edge_map entries: %d\n", length(edge_data$piece_edge_map)))
|
|
|
|
|
| border_count <- 0
|
| internal_count <- 0
|
| warped_count <- 0
|
|
|
| for (key in names(edge_data$piece_edge_map)) {
|
| edge <- edge_data$piece_edge_map[[key]]
|
| if (edge$type == "border") {
|
| border_count <- border_count + 1
|
| if (!is.null(edge$warped) && edge$warped) {
|
| warped_count <- warped_count + 1
|
| }
|
| } else {
|
| internal_count <- internal_count + 1
|
| }
|
| }
|
|
|
| cat(sprintf("\nEdge counts:\n"))
|
| cat(sprintf(" Border edges: %d\n", border_count))
|
| cat(sprintf(" Internal edges: %d\n", internal_count))
|
| cat(sprintf(" Warped border edges: %d\n", warped_count))
|
|
|
|
|
| cat("\nFirst few border edges:\n")
|
| count <- 0
|
| for (key in names(edge_data$piece_edge_map)) {
|
| edge <- edge_data$piece_edge_map[[key]]
|
| if (edge$type == "border" && count < 5) {
|
| v1 <- edge$start
|
| v2 <- edge$end
|
| dist1 <- sqrt(v1[1]^2 + v1[2]^2)
|
| dist2 <- sqrt(v2[1]^2 + v2[2]^2)
|
| cat(sprintf(" %s: v1_dist=%.2f, v2_dist=%.2f, warped=%s\n",
|
| key, dist1, dist2, if(!is.null(edge$warped)) edge$warped else "NA"))
|
| cat(sprintf(" forward: %s\n", substr(edge$forward, 1, 60)))
|
| count <- count + 1
|
| }
|
| }
|
|
|