Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (isSolid) {
- if (debug) {
- std::cout << "-x: " << x << std::endl;
- std::cout << "y: " << y << std::endl;
- }
- //emplace edges and vertices
- edges.emplace_back(Edge(sf::Vector2f(x , y ), sf::Vector2f(x + 1 , y )));
- edges.emplace_back(Edge(sf::Vector2f(x + 1 , y ), sf::Vector2f(x + 1 , y + 1 )));
- edges.emplace_back(Edge(sf::Vector2f(x + 1 , y + 1 ), sf::Vector2f(x , y + 1 )));
- edges.emplace_back(Edge(sf::Vector2f(x , y + 1 ), sf::Vector2f(x , y )));
- const float posAngle = atan2(pos->position.y, pos->position.x);
- // POSITION ANGLE
- vertices.emplace_back(Vertex(sf::Vector2f(x , y ), (posAngle - atan2(y , x )) * PIRAD));
- if (debug) std::cout << "1: " << vertices.end()->angle << '\n';
- vertices.emplace_back(Vertex(sf::Vector2f(x + 1 , y ), (posAngle - atan2(y , x + 1.0f)) * PIRAD));
- if (debug) std::cout << "2: " << vertices.end()->angle << '\n';
- vertices.emplace_back(Vertex(sf::Vector2f(x + 1 , y + 1 ), (posAngle - atan2(y + 1.0f, x + 1.0f)) * PIRAD));
- if (debug) std::cout << "3: " << vertices.end()->angle << '\n';
- vertices.emplace_back(Vertex(sf::Vector2f(x , y + 1 ), (posAngle - atan2(y + 1.0f, x )) * PIRAD));
- if (debug) std::cout << "4: " << vertices.end()->angle << '\n';
- }
- }
- }
- //sort vertices by angle
- std::sort(vertices.begin(), vertices.end(),
- [](const Vertex &a, const Vertex &b) {
- return a.angle < b.angle;
- }
- );
- //sweeping angle raycasting and all that stuff
- if (debug) {
- for (int i = 0; i < vertices.size(); i++) {
- std::cout << "vertex angle " << i << ": " << std::to_string(vertices.at(i).angle) << "\n";
- }
- std::cout << "vertex amount: " + std::to_string(vertices.size()) << "\n";
- }
- -x: 0
- y: 0
- 1: -1.67113e-34
- 2: 9.59429e-35
- 3: 6192.01
- 4: -3.93766e+06
- -x: 0
- y: 1
- 1: 4.75538e-10
- 2: 6.19928e+26
- 3: 8.78257e-39
- 4: 16.0106
- -x: 1
- y: 1
- 1: 1.86175e-28
- 2: 4.47129e-36
- 3: 7.56652e-39
- 4: -1.12004e+10
- -x: 2
- y: 1
- 1: 1.01022e-38
- 2: -3.13079e-05
- 3: 1.94565e+24
- 4: 4.08568e+19
- -x: 2
- y: 2
- 1: -2.4297
- 2: 5.08723e-23
- 3: -2.17875
- 4: -2.38511e+19
- -x: 3
- y: 1
- 1: 1.6332e-39
- 2: -2.5861e-37
- 3: -3.27381e-30
- 4: -4.24029e-30
- -x: 3
- y: 2
- 1: -4.06889e+19
- 2: -1.19771e+29
- 3: 7.4648e+28
- 4: -1.35686e-28
- -x: 4
- y: 2
- 1: -4.80056e-10
- 2: 6.03788e-38
- 3: 1.66967e+29
- 4: 1.18395e-30
- -x: 5
- y: 2
- 1: -8.03198e+32
- 2: -4.33929e-30
- 3: 0.00146543
- 4: 4.34687e+09
- -x: 5
- y: 3
- 1: -5.0511e-39
- 2: 2.02044e-38
- 3: 2.02044e-38
- 4: 8.98959e-35
- -x: 6
- y: 2
- 1: 5.92158e-37
- 2: -4.08568e+19
- 3: -3.50489e+34
- 4: -3.57499e+07
- -x: 6
- y: 3
- 1: -2.04352
- 2: -4.91015e-33
- 3: -2.06548e+21
- 4: 1.5961e-26
- -x: 7
- y: 3
- 1: -2.37437e+30
- 2: 0
- 3: 0
- 4: 0
- -x: 8
- y: 3
- 1: 0
- 2: 0
- 3: 0
- 4: 0
- -x: 8
- y: 4
- 1: 0
- 2: 0
- 3: 0
- 4: 0
- -x: 9
- y: 3
- 1: 0
- 2: 0
- 3: 0
- 4: 0
- -x: 9
- y: 4
- 1: 0
- 2: 0
- 3: -339139
- 4: 2.22245e-38
- -x: 10
- y: 4
- 1: 0
- 2: 4.2039e-45
- 3: -nan
- 4: 0
- -x: 11
- y: 4
- 1: 2.52234e-44
- 2: 0
- 3: 0
- 4: 0
- -x: 11
- y: 5
- 1: 1.4013e-45
- 2: 0
- 3: 0
- 4: 0
- vertex angle 0: -200236858022808053900675907584.000000
- vertex angle 1: -417817404899328.000000
- vertex angle 2: -339139.406250
- vertex angle 3: -15.880789
- vertex angle 4: -15.880789
- vertex angle 5: -15.880789
- vertex angle 6: 0.000000
- vertex angle 7: 0.000000
- vertex angle 8: 0.000000
- vertex angle 9: 0.000000
- vertex angle 10: 0.000000
- vertex angle 11: 0.000000
- vertex angle 12: 0.000000
- vertex angle 13: 0.000000
- vertex angle 14: 0.000000
- vertex angle 15: 0.000000
- vertex angle 16: 0.000000
- vertex angle 17: 0.000000
- vertex angle 18: 0.000000
- vertex angle 19: 0.000000
- vertex angle 20: 0.000000
- vertex angle 21: 0.000000
- vertex angle 22: 0.000000
- vertex angle 23: 0.000000
- vertex angle 24: 0.000000
- vertex angle 25: 0.000000
- vertex angle 26: 0.000000
- vertex angle 27: 0.000000
- vertex angle 28: 0.000000
- vertex angle 29: 0.000000
- vertex angle 30: 0.000000
- vertex angle 31: 0.000000
- vertex angle 32: 0.000000
- vertex angle 33: 0.000000
- vertex angle 34: 0.000000
- vertex angle 35: 0.000000
- vertex angle 36: 0.000000
- vertex angle 37: 0.000000
- vertex angle 38: 0.000000
- vertex angle 39: 0.000000
- vertex angle 40: 0.000000
- vertex angle 41: 0.000000
- vertex angle 42: 0.000000
- vertex angle 43: 0.000000
- vertex angle 44: 0.000000
- vertex angle 45: 0.000000
- vertex angle 46: 0.000000
- vertex angle 47: -nan
- vertex angle 48: 0.000000
- vertex angle 49: 0.000000
- vertex angle 50: 0.000000
- vertex angle 51: 0.000000
- vertex angle 52: 0.000000
- vertex angle 53: 0.000000
- vertex angle 54: 0.000000
- vertex angle 55: 0.000000
- vertex angle 56: 0.000000
- vertex angle 57: 0.000000
- vertex angle 58: 0.000000
- vertex angle 59: 0.000000
- vertex angle 60: 0.000000
- vertex angle 61: 0.000000
- vertex angle 62: 0.000000
- vertex angle 63: 0.000000
- vertex angle 64: 0.000000
- vertex angle 65: 0.000000
- vertex angle 66: 0.000000
- vertex angle 67: 0.000000
- vertex angle 68: 0.000000
- vertex angle 69: 0.000000
- vertex angle 70: 9970012414953467521213136896.000000
- vertex angle 71: -nan
- vertex angle 72: 0.000000
- vertex angle 73: 0.000000
- vertex angle 74: 0.000000
- vertex angle 75: 0.000000
- vertex angle 76: 0.000000
- vertex angle 77: 0.000000
- vertex angle 78: 0.000000
- vertex angle 79: 0.000000
- vertex angle 80: 0.000000
- vertex angle 81: 0.000000
- vertex angle 82: 0.000000
- vertex angle 83: 0.000000
- vertex angle 84: 0.000000
- vertex angle 85: 0.000000
- vertex angle 86: 0.000000
- vertex angle 87: 0.000000
- vertex angle 88: 0.000000
- vertex angle 89: 0.000000
- vertex angle 90: 0.000000
- vertex angle 91: 0.000000
- vertex angle 92: 0.000000
- vertex angle 93: 0.000000
- vertex angle 94: 0.000000
- vertex angle 95: 0.000000
- vertex angle 96: 0.000000
- vertex angle 97: 0.000000
- vertex angle 98: 0.000000
- vertex angle 99: 0.000000
- vertex angle 100: 10.684260
- vertex angle 101: 10.684263
- vertex angle 102: 17.809278
- vertex angle 103: 29.119211
- vertex angle 104: 29.119211
- vertex angle 105: 29.119211
- vertex angle 106: 29.119211
- vertex angle 107: 29.119211
- vertex angle 108: 29.119211
- vertex angle 109: 29.119211
- vertex angle 110: 29.119211
- vertex angle 111: 35.459404
- vertex angle 112: 35.551174
- vertex angle 113: 37.249313
- vertex angle 114: 37.249313
- vertex angle 115: 40.429142
- vertex angle 116: 40.429142
- vertex angle 117: 40.429146
- vertex angle 118: 40.429146
- vertex angle 119: 40.429146
- vertex angle 120: 40.429146
- vertex angle 121: 42.113831
- vertex angle 122: 43.155453
- vertex angle 123: 43.155457
- vertex angle 124: 43.155457
- vertex angle 125: 44.374332
- vertex angle 126: 44.374332
- vertex angle 127: 45.064610
- vertex angle 128: 45.064610
- vertex angle 129: 45.508751
- vertex angle 130: 47.554161
- vertex angle 131: 47.554161
- vertex angle 132: 47.554161
- vertex angle 133: 47.554161
- vertex angle 134: 47.554161
- vertex angle 135: 47.554161
- vertex angle 136: 47.554161
- vertex angle 137: 47.554161
- vertex angle 138: 47.554161
- vertex angle 139: 47.554161
- vertex angle 140: 47.554161
- vertex angle 141: 47.554161
- vertex angle 142: 47.554161
- vertex angle 143: 47.554161
- vertex angle 144: 47.554161
- vertex angle 145: 49.675255
- vertex angle 146: 49.675259
- vertex angle 147: 49.675259
- vertex angle 148: 50.156723
- vertex angle 149: 50.156723
- vertex angle 150: 50.156723
- vertex angle 151: 50.156723
- vertex angle 152: 50.920620
- vertex angle 153: 50.920620
- vertex angle 154: 50.920620
- vertex angle 155: 51.499348
- vertex angle 156: 51.499348
- vertex angle 157: 52.317802
- vertex angle 158: 52.317802
- vertex angle 159: 52.317802
- vertex angle 160: 52.317802
- vertex angle 161: 52.317802
- vertex angle 162: 53.563168
- vertex angle 163: 53.563168
- vertex angle 164: 54.136105
- vertex angle 165: 54.136105
- vertex angle 166: 55.684265
- vertex angle 167: 55.684265
- vertex angle 168: 55.684265
- vertex angle 169: 55.684265
- vertex angle 170: 55.684265
- vertex angle 171: 55.684265
- vertex angle 172: 55.684265
- vertex angle 173: 57.419968
- vertex angle 174: 58.173817
- vertex angle 175: 60.082970
- vertex angle 176: 74.119209
- vertex angle 177: 74.119209
- vertex angle 178: 38274870576091758592.000000
- vertex angle 179: 319641308968723157292972769280.000000
- vertex amount: 180
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement