29 m_SubSteppers.insert(stepper);
30 m_ScaleFactors.insert(std::make_pair(stepper, repeat));
35 m_SubSteppers.erase(stepper);
36 m_ScaleFactors.erase(stepper);
63 for (
auto it = m_SubSteppers.begin(); it != m_SubSteppers.end(); it++)
65 unsigned int count = (*it)->GetSteps() * m_ScaleFactors[(*it)];
66 if ((this->GetSteps() != 0) && ((*it)->GetSteps() != 0))
68 (*it)->SetPos((pos * count / this->GetSteps()) % (*it)->GetSteps());
81 m_LargestRangeStepper =
nullptr;
82 for (
auto it = m_SubSteppers.begin(); it != m_SubSteppers.end(); it++)
84 unsigned int count = (*it)->GetSteps() * m_ScaleFactors[(*it)];
88 m_LargestRangeStepper = *it;
void AddStepper(Stepper::Pointer stepper, unsigned int repeat=1)
void RemoveStepper(Stepper::Pointer stepper, unsigned int repeat=1)
virtual void SetPos(unsigned int pos)
void SetSteps(const unsigned int steps) override
void SetPos(unsigned int pos) override