|
adamantine
|
#include <ScanPath.hh>
Public Member Functions | |
| ScanPath ()=default | |
| ScanPath (std::string const &scan_path_file, std::string const &file_format, boost::optional< boost::property_tree::ptree const & > const &units_optional_database) | |
| dealii::Point< 3 > | value (double const time, bool const save_time=true) const |
| double | get_power_modifier (double const time) const |
| dealii::Point< 3 > | rotate (double const time, dealii::Point< 3 > const &point) const |
| Quaternion | get_current_quaternion () const |
| std::vector< ScanPathSegment > | get_segment_list () const |
| void | read_file () |
| bool | is_finished () const |
| bool | is_five_axis () const |
Private Member Functions | |
| void | load_segment_scan_path () |
| void | load_event_series_scan_path () |
| void | update_current_segment_info (double time, bool save_segment, unsigned int ¤t_segment, dealii::Point< 3 > &segment_start_point, double &segment_start_time) const |
Private Attributes | |
| bool | _scan_path_end = false |
| bool | _five_axis = false |
| double | _distance_scaling = 1. |
| double | _velocity_scaling = 1. |
| std::string | _scan_path_file |
| std::string | _file_format |
| std::filesystem::file_time_type | _last_write_time |
| std::vector< ScanPathSegment > | _segment_list |
| unsigned int | _old_segment = 0 |
Friends | |
| class | ScanPathTester |
This class calculates the position of the center of a heat source. It also gives the power modifier for the current segment. It reads in the scan path from a text file.
Definition at line 60 of file ScanPath.hh.
|
default |
Default constructor. This creates an empty scan path with no segment.
| adamantine::ScanPath::ScanPath | ( | std::string const & | scan_path_file, |
| std::string const & | file_format, | ||
| boost::optional< boost::property_tree::ptree const & > const & | units_optional_database | ||
| ) |
Construtor.
| [in] | scan_path_file | is the name of the text file containing the scan path |
| [in] | file_format | is the format of the scan path file |
| [in] | units_optional_database | is the units property tree |
Definition at line 15 of file ScanPath.cc.
| Quaternion adamantine::ScanPath::get_current_quaternion | ( | ) | const |
Return the quaternion associated with the current segment.
Definition at line 291 of file ScanPath.cc.
| double adamantine::ScanPath::get_power_modifier | ( | double const | time | ) | const |
Return the power coefficient for the current segment
Definition at line 254 of file ScanPath.cc.
| std::vector< ScanPathSegment > adamantine::ScanPath::get_segment_list | ( | ) | const |
Return the scan path's list of segments
Definition at line 296 of file ScanPath.cc.
| bool adamantine::ScanPath::is_finished | ( | ) | const |
Return true if we reach the end of the scan path.
Definition at line 301 of file ScanPath.cc.
| bool adamantine::ScanPath::is_five_axis | ( | ) | const |
Return true if the scan path includes valid rotations/quaternions.
Definition at line 303 of file ScanPath.cc.
|
private |
Method to load an "event series" scan path file
Definition at line 143 of file ScanPath.cc.
|
private |
Method to load a "segment" scan path file
Definition at line 58 of file ScanPath.cc.
| void adamantine::ScanPath::read_file | ( | ) |
Read the scan path file and update the list of segments.
Definition at line 43 of file ScanPath.cc.
| dealii::Point< 3 > adamantine::ScanPath::rotate | ( | double const | time, |
| dealii::Point< 3 > const & | point | ||
| ) | const |
Return the rotation of the given point according to quaternion active at the given time.
Definition at line 271 of file ScanPath.cc.
|
private |
Method to determine the current segment, its start point, and start time.
Definition at line 197 of file ScanPath.cc.
| dealii::Point< 3 > adamantine::ScanPath::value | ( | double const | time, |
| bool const | save_time = true |
||
| ) | const |
Calculate the location of the scan path at a given time for a single coordinate.
Definition at line 225 of file ScanPath.cc.
|
friend |
Definition at line 62 of file ScanPath.hh.
|
private |
Scaling factor for the distance.
Definition at line 154 of file ScanPath.hh.
|
private |
Format of the scan path file, either segment of event_series.
Definition at line 166 of file ScanPath.hh.
|
private |
Flag is true if quaternions were provided in _scan_path_file.
Definition at line 150 of file ScanPath.hh.
|
private |
Time the last time _scan_path_file was updated.
Definition at line 170 of file ScanPath.hh.
|
mutableprivate |
The index of the old segment in the scan path.
Definition at line 178 of file ScanPath.hh.
|
private |
Flag is true if we have reached the end of _scan_path_file.
Definition at line 146 of file ScanPath.hh.
|
private |
File name of the scan path
Definition at line 162 of file ScanPath.hh.
|
private |
The list of information about each segment in the scan path.
Definition at line 174 of file ScanPath.hh.
|
private |
Scaling factor for the velocity.
Definition at line 158 of file ScanPath.hh.