Noether  0.0.0
Loading...
Searching...
No Matches
noether::SplineExtrapolationToolPathModifier Class Reference

Extrapolates the tool path. More...

Detailed Description

This modifier creates additional extrapolation waypoints at the front and/or back of a ToolPathSegment, following the approximate curvature of the tool path (opposed to a linear offset). It works by fitting a spline to the waypoints of each ToolPathSegment and extrapolating beyond the end of the spline using the last polynomial segment. The extrapolated waypoint(s) can also include an optional offset along the waypoint normal (i.e., z-axis).

#include <spline_extrapolation_modifier.h>

Inheritance diagram for noether::SplineExtrapolationToolPathModifier:

Public Member Functions

 SplineExtrapolationToolPathModifier (const double spline_degree, const double extrapolation_distance_front, const double normal_offset_distance_front, const double extrapolation_distance_back, const double normal_offset_distance_back)
 Constructor.
 
ToolPaths modify (ToolPaths tool_path) const override
 

Protected Member Functions

 DECLARE_YAML_FRIEND_CLASSES (SplineExtrapolationToolPathModifier)
 

Protected Attributes

double spline_degree_
 
double extrapolation_distance_front_
 
double normal_offset_distance_front_
 
double extrapolation_distance_back_
 
double normal_offset_distance_back_
 

Additional Inherited Members

- Public Types inherited from noether::ToolPathModifier
using Ptr = std::unique_ptr< ToolPathModifier >
 
using ConstPtr = std::unique_ptr< const ToolPathModifier >
 

Constructor & Destructor Documentation

◆ SplineExtrapolationToolPathModifier()

noether::SplineExtrapolationToolPathModifier::SplineExtrapolationToolPathModifier ( const double  spline_degree,
const double  extrapolation_distance_front,
const double  normal_offset_distance_front,
const double  extrapolation_distance_back,
const double  normal_offset_distance_back 
)
Parameters
spline_degreeDegree of the spline to fit to the tool path (e.g., 2 (parabolic), 3 (cubic))
extrapolation_distance_frontDistance (m) in front of the spline to extrapolate the tool path
normal_offset_distance_frontOffset distance (m) to apply along the front extrapolated waypoint(s) normal (i.e., z-axis)
extrapolation_distance_backDistance (m) beyond the end of the spline to extrapolate the tool path
normal_offset_distance_backOffset distance (m) to apply along the back extrapolated waypoint(s) normal (i.e., z-axis)

Member Function Documentation

◆ modify()

ToolPaths noether::SplineExtrapolationToolPathModifier::modify ( ToolPaths  tool_path) const
overridevirtual

Reimplemented from noether::ToolPathModifier.