| 166 | } |
| 167 | |
| 168 | void WireProfile::initialize(const MatrixFr& loop) { |
| 169 | m_loop = loop; |
| 170 | m_dim = m_loop.cols(); |
| 171 | if (m_dim == 2) { |
| 172 | m_offset_dir = Vector2F(0, 1); |
| 173 | } else if (m_dim == 3) { |
| 174 | m_offset_dir = Vector3F(0, 0, 1); |
| 175 | } |
| 176 | |
| 177 | VectorF center = 0.5 * (m_loop.colwise().minCoeff() + |
| 178 | m_loop.colwise().maxCoeff()); |
| 179 | m_loop.rowwise() -= center.transpose(); |
| 180 | m_radius = m_loop.rowwise().norm().maxCoeff(); |
| 181 | } |
| 182 | |
| 183 | MatrixFr WireProfile::place(const VectorF& end_1, const VectorF& end_2, |
| 184 | Float offset, Float thickness, |
no test coverage detected