-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Raster Planner: Port of Plane Slicer * Update plane slice planner port * Handle empty toolpaths * Ran clang-format * Replace tool_path_planner version of plane slice raster planner with noether_tpp version * Added CI directory symlink * Export dependencies of noether_tpp * Add Eigen3::Eigen target for Xenial compatibility * Remove unneeded clone function * Removed unused headers Co-authored-by: David Merz, Jr <[email protected]> Co-authored-by: Tyler Marr <[email protected]>
- Loading branch information
1 parent
afa3319
commit bdda731
Showing
9 changed files
with
815 additions
and
706 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.github/workflows/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
52 changes: 52 additions & 0 deletions
52
noether_tpp/include/noether_tpp/tool_path_planners/raster/plane_slicer_raster_planner.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/** | ||
* @file plane_slicer_raster_planner.h | ||
* @copyright Copyright (c) 2021, Southwest Research Institute | ||
* | ||
* @par License | ||
* Software License Agreement (Apache License) | ||
* @par | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* @par | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
#pragma once | ||
|
||
#include <noether_tpp/tool_path_planners/raster/raster_planner.h> | ||
|
||
namespace noether | ||
{ | ||
/** | ||
* @brief An implementation of the Raster Planner using a series of parallel cutting planes. | ||
* This implementation works best on approximately planar parts. | ||
*/ | ||
class PlaneSlicerRasterPlanner : public RasterPlanner | ||
{ | ||
public: | ||
PlaneSlicerRasterPlanner(DirectionGenerator::ConstPtr dir_gen, OriginGenerator::ConstPtr origin_gen); | ||
|
||
void setSearchRadius(const double search_radius); | ||
void setMinSegmentSize(const double min_segment_size); | ||
|
||
protected: | ||
/** | ||
* @brief Implementation of the tool path planning capability | ||
* @param mesh | ||
* @return | ||
*/ | ||
ToolPaths planImpl(const pcl::PolygonMesh& mesh) const; | ||
|
||
private: | ||
/** @brief Minimum length of valid segment (m) */ | ||
double min_segment_size_; | ||
/** @brief Search radius for calculating normals (m) */ | ||
double search_radius_; | ||
}; | ||
|
||
} // namespace noether |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.