| 47 | } |
| 48 | |
| 49 | std::list<std::function<MatrixFr(const MatrixFr&)> > get_tiling_operators( |
| 50 | const VectorF& ref_pt, |
| 51 | const VectorF& cell_size, |
| 52 | const std::vector<VectorI>& indices) { |
| 53 | |
| 54 | std::list<std::function<MatrixFr(const MatrixFr&)> > operators; |
| 55 | for (auto index : indices) { |
| 56 | VectorF cur_pt = cell_size.cwiseProduct(index.cast<Float>()); |
| 57 | VectorF offset = cur_pt - ref_pt; |
| 58 | operators.push_back( |
| 59 | [=] (const MatrixFr& vertices) { |
| 60 | MatrixFr result(vertices); |
| 61 | result.rowwise() += offset.transpose(); |
| 62 | return result; |
| 63 | }); |
| 64 | } |
| 65 | return operators; |
| 66 | } |
| 67 | } |
| 68 | |
| 69 | using namespace AABBTilerHelper; |