76 AST_PROPERT(useHomotopy)
77 AST_PROPERT(numHomotopySteps)
78 AST_PROPERT(useLineSearch)
79 AST_PROPERT(lineSearchTolerance)
80 AST_PROPERT(lineSearchMaxNumCalls)
81 AST_PROPERT(lineSearchLowerBound)
82 AST_PROPERT(lineSearchUpperBound)
83 AST_PROPERT(maxIterations)
84 using ControlVector = std::vector<SharedPtr<ShooterControl>>;
85 using ResultVector = std::vector<SharedPtr<ShooterResult>>;
86 using TargeterGraphVector = std::vector<SharedPtr<TargeterGraph>>;
98 errc_t executeRelatedCommand()
const;
101 Sequence* getRelatedSequence()
const;
104 Command* getRelatedCommand()
const;
106 bool useHomotopy()
const{
return useHomotopy_;}
107 void setUseHomotopy(
bool useHomotopy){useHomotopy_ = useHomotopy;}
109 int numHomotopySteps()
const{
return numHomotopySteps_;}
110 void setNumHomotopySteps(
int numHomotopySteps){numHomotopySteps_ = numHomotopySteps;}
113 bool useLineSearch()
const{
return useLineSearch_;}
114 void setUseLineSearch(
bool useLineSearch){useLineSearch_ = useLineSearch;}
116 double lineSearchTolerance()
const{
return lineSearchTolerance_;}
117 void setLineSearchTolerance(
double tolerance){lineSearchTolerance_ = tolerance;}
119 int lineSearchMaxNumCalls()
const{
return lineSearchMaxNumCalls_;}
120 void setLineSearchMaxNumCalls(
int maxNumCalls){lineSearchMaxNumCalls_ = maxNumCalls;}
122 double lineSearchLowerBound()
const{
return lineSearchLowerBound_;}
123 void setLineSearchLowerBound(
double lowerBound){lineSearchLowerBound_ = lowerBound;}
125 double lineSearchUpperBound()
const{
return lineSearchUpperBound_;}
126 void setLineSearchUpperBound(
double upperBound){lineSearchUpperBound_ = upperBound;}
128 int maxIterations()
const{
return maxIterations_;}
129 void setMaxIterations(
int maxIterations){maxIterations_ = maxIterations;}
141 void setScaleControls(
EScaleControls controls){scaleControls_ = controls;}
143 EScaleGoals scaleGoals()
const{
return scaleGoals_;}
144 void setScaleGoals(
EScaleGoals goals){scaleGoals_ = goals;}
146 const ControlVector& controls()
const{
return controls_;}
147 void setControls(
const ControlVector& controls){controls_ = controls;}
149 const ResultVector& results()
const{
return results_;}
150 void setResults(
const ResultVector& results){results_ = results;}
157 EConvergenceCriteria convergenceCriteria_{EConvergenceCriteria::eEqualityConstraintsWithinTolerance};
159 double lineSearchLowerBound_ = 1e-6;
160 double lineSearchUpperBound_ = 10.0;
161 double lineSearchTolerance_ = 1e-6;
162 int lineSearchMaxNumCalls_ = 10;
163 int maximumRunsToLog_ = 25;
164 int maxIterations_ = 50;
165 int numHomotopySteps_ = 1;
168 EScaleGoals scaleGoals_{EScaleGoals::eByDesiredValue};
169 bool useHomotopy_ =
false;
170 bool useLineSearch_ =
false;
172 ControlVector controls_;
173 ResultVector results_;
174 TargeterGraphVector graphs_;