| 43 | } |
| 44 | |
| 45 | std::vector<std::vector<XYZW>> LNLib::ControlPointsUtils::ToXYZW(const std::vector<std::vector<XYZ>>& points) |
| 46 | { |
| 47 | int row = points.size(); |
| 48 | int column = points[0].size(); |
| 49 | |
| 50 | std::vector<std::vector<XYZW>> result(row, std::vector<XYZW>(column));; |
| 51 | for (int i = 0; i < row; i++) |
| 52 | { |
| 53 | for (int j = 0; j < column; j++) |
| 54 | { |
| 55 | result[i][j] = XYZW(const_cast<XYZ&>(points[i][j]), 1); |
| 56 | } |
| 57 | } |
| 58 | return result; |
| 59 | } |
| 60 | |
| 61 | std::vector<std::vector<XYZW>> LNLib::ControlPointsUtils::Multiply(const std::vector<std::vector<XYZW>>& points, const std::vector<std::vector<double>>& coefficient) |
| 62 | { |