Work on applying the probed heightmap.

This commit is contained in:
2023-05-18 07:24:05 +03:00
parent f78aa930d6
commit 4e7e059e22
13 changed files with 334 additions and 37 deletions
+7 -7
View File
@@ -37,13 +37,13 @@ glm::vec<3, double> grbl::line_motion_cmd::interpolate(double ratio) {
return start + delta() * ratio;
}
std::vector<std::shared_ptr<grbl::motion_cmd>> grbl::line_motion_cmd::split(double lngth) {
std::vector<grbl::motion_cmd*> grbl::line_motion_cmd::split(double lngth) {
//don't split up rapid or not fully defined motions
if (rapid || !start_valid || !position_valid[0] || !position_valid[1] || !position_valid[2]) {
return {std::shared_ptr<grbl::motion_cmd>(this)};
return {this};
}
std::vector<std::shared_ptr<motion_cmd>> result;
std::vector<motion_cmd*> result;
int divisions = (int) std::ceil(length() / lngth);
if (divisions < 1) {
@@ -61,7 +61,7 @@ std::vector<std::shared_ptr<grbl::motion_cmd>> grbl::line_motion_cmd::split(doub
immediate->feed = feed;
immediate->position_valid[0] = immediate->position_valid[1] = immediate->position_valid[2] = true;
immediate->start_valid = true;
result.push_back(std::shared_ptr<line_motion_cmd>(immediate));
result.push_back(immediate);
last_end = end;
}
@@ -90,7 +90,7 @@ glm::vec<3, double> grbl::arc_motion_cmd::interpolate(double ratio) {
return interpolation;
}
std::vector<std::shared_ptr<grbl::motion_cmd>> grbl::arc_motion_cmd::split(double lngth) {
std::vector<grbl::motion_cmd*> grbl::arc_motion_cmd::split(double lngth) {
int divisions = (int) ceil(length() / lngth);
if (divisions < 1)
@@ -99,7 +99,7 @@ std::vector<std::shared_ptr<grbl::motion_cmd>> grbl::arc_motion_cmd::split(doubl
glm::vec3 lastEnd = start;
std::vector<std::shared_ptr<grbl::motion_cmd>> result;
std::vector<grbl::motion_cmd*> result;
for (int i = 1; i <= divisions; i++) {
glm::vec<3, double> end = interpolate(((double) i) / divisions);
@@ -113,7 +113,7 @@ std::vector<std::shared_ptr<grbl::motion_cmd>> grbl::arc_motion_cmd::split(doubl
immediate->u = u;
immediate->v = v;
result.push_back(std::shared_ptr<arc_motion_cmd>(immediate));
result.push_back(immediate);
lastEnd = end;
}