Commit 7bf0ca4
Add polygon face support to MeshT (#1066)
Summary:
MeshT currently only stores triangle faces (std::vector<Eigen::Vector3i> faces).
Characters can have arbitrary polygon topology (quads, n-gons) which is lost
during FBX loading when polygons are fan-triangulated. This adds a redundant
polygon representation alongside the existing triangle faces so that polygon
topology can be preserved. The existing faces field stays unchanged and all
downstream code continues to work.
Three new fields are added to MeshT:
- polyFaces: packed polygon vertex indices (all polygons concatenated)
- polyFaceSizes: number of vertices per polygon face
- polyTexcoordFaces: packed polygon texcoord indices (shares polyFaceSizes)
Also updates cast()/reset(), adds tests, updates compareMeshes(), adds Python
bindings with validation, and regenerates .pyi stubs.
Reviewed By: nickyhe-gemini
Differential Revision: D945772961 parent 2e8a9b8 commit 7bf0ca4
File tree
5 files changed
+205
-4
lines changed- momentum
- math
- test
- character
- math
- pymomentum/geometry
5 files changed
+205
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
| |||
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
86 | 92 | | |
87 | 93 | | |
88 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
59 | 79 | | |
60 | 80 | | |
61 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
103 | 109 | | |
104 | 110 | | |
105 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
41 | 44 | | |
42 | 45 | | |
43 | 46 | | |
| |||
166 | 169 | | |
167 | 170 | | |
168 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
169 | 177 | | |
170 | 178 | | |
171 | 179 | | |
| |||
179 | 187 | | |
180 | 188 | | |
181 | 189 | | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
182 | 193 | | |
183 | 194 | | |
184 | 195 | | |
| |||
195 | 206 | | |
196 | 207 | | |
197 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
198 | 212 | | |
199 | 213 | | |
200 | 214 | | |
| |||
225 | 239 | | |
226 | 240 | | |
227 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
228 | 246 | | |
229 | 247 | | |
230 | 248 | | |
| |||
238 | 256 | | |
239 | 257 | | |
240 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
241 | 262 | | |
242 | 263 | | |
243 | 264 | | |
| |||
351 | 372 | | |
352 | 373 | | |
353 | 374 | | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
354 | 378 | | |
355 | 379 | | |
356 | 380 | | |
| |||
462 | 486 | | |
463 | 487 | | |
464 | 488 | | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
32 | 78 | | |
33 | 79 | | |
34 | 80 | | |
| |||
38 | 84 | | |
39 | 85 | | |
40 | 86 | | |
41 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
42 | 91 | | |
43 | 92 | | |
44 | 93 | | |
| |||
110 | 159 | | |
111 | 160 | | |
112 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
113 | 170 | | |
114 | 171 | | |
115 | 172 | | |
| |||
136 | 193 | | |
137 | 194 | | |
138 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
139 | 199 | | |
140 | 200 | | |
141 | 201 | | |
| |||
146 | 206 | | |
147 | 207 | | |
148 | 208 | | |
149 | | - | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
150 | 213 | | |
151 | 214 | | |
152 | 215 | | |
| |||
188 | 251 | | |
189 | 252 | | |
190 | 253 | | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
191 | 272 | | |
192 | 273 | | |
193 | 274 | | |
| |||
204 | 285 | | |
205 | 286 | | |
206 | 287 | | |
207 | | - | |
| 288 | + | |
208 | 289 | | |
209 | 290 | | |
210 | 291 | | |
211 | 292 | | |
212 | | - | |
| 293 | + | |
| 294 | + | |
213 | 295 | | |
214 | 296 | | |
215 | 297 | | |
| |||
0 commit comments