| 377 | self._df = df |
| 378 | |
| 379 | def _make_dataframe(self): |
| 380 | |
| 381 | # to-do: Only need to process additional rays not whole dataframe! Optimise! |
| 382 | df = pd.DataFrame() |
| 383 | |
| 384 | # Rays entering the scene |
| 385 | for ray, event in self._store["entrance_rays"]: |
| 386 | rep = asdict(ray) |
| 387 | rep["kind"] = "entrance" |
| 388 | rep["event"] = event.name.lower() |
| 389 | df = df.append(rep, ignore_index=True) |
| 390 | |
| 391 | # Rays exiting the scene |
| 392 | for ray, event in self._store["exit_rays"]: |
| 393 | rep = asdict(ray) |
| 394 | rep["kind"] = "exit" |
| 395 | rep["event"] = event.name.lower() |
| 396 | df = df.append(rep, ignore_index=True) |
| 397 | |
| 398 | self._df = df |
| 399 | return df |
| 400 | |
| 401 | def expand_coords(self, df, column): |
| 402 | """ Returns a dataframe with coordinate column expanded into components. |