| 52 | } |
| 53 | |
| 54 | void PeriodicInflator::set_thickness(const VectorF& thickness) { |
| 55 | const size_t thickness_size = thickness.size(); |
| 56 | auto& thickness_params = m_parameter_manager->get_thickness_params(); |
| 57 | for (auto& param : thickness_params) { |
| 58 | VectorI roi = param->get_roi(); |
| 59 | assert(roi.size() > 0); |
| 60 | assert(roi.maxCoeff() < thickness_size); |
| 61 | assert(roi.minCoeff() >= 0); |
| 62 | Float val = thickness[roi[0]]; |
| 63 | |
| 64 | const size_t roi_size = roi.size(); |
| 65 | for (size_t i=1; i<roi_size; i++) { |
| 66 | if (thickness[roi[i]] != val) { |
| 67 | throw RuntimeError("Non-uniform thickness for a single orbit"); |
| 68 | } |
| 69 | } |
| 70 | param->set_value(val); |
| 71 | } |
| 72 | } |
| 73 | |
| 74 | void PeriodicInflator::generate_phantom_mesh() { |
| 75 | PhantomMeshGenerator generator( |
nothing calls this directly
no test coverage detected