Helper class to step through a list. More...
#include <mitkMultiStepper.h>


Public Types | |
| typedef MultiStepper | Self |
| typedef Stepper | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| void | AddStepper (Stepper::Pointer stepper, unsigned int repeat=1) |
| void | RemoveStepper (Stepper::Pointer stepper, unsigned int repeat=1) |
| void | SetPos (unsigned int pos) |
| void | SetSteps (const unsigned int steps) |
Static Public Member Functions | |
| static Pointer | New () |
Protected Types | |
| typedef std::set < Stepper::Pointer > | StepperSet |
| typedef std::map < Stepper::Pointer, unsigned int > | ScaleFactorMap |
Protected Member Functions | |
| MultiStepper () | |
| virtual | ~MultiStepper () |
| void | UpdateStepCount () |
Protected Attributes | |
| StepperSet | m_SubSteppers |
| ScaleFactorMap | m_ScaleFactors |
| Stepper::Pointer | m_LargestRangeStepper |
Helper class to step through a list.
A helper class to step through a list. Does not contain the list, just the position in the list (between 0 and GetSteps()). Provides methods like First (go to the first element), Next (go to the next one), etc.
Definition at line 39 of file mitkMultiStepper.h.
| typedef itk::SmartPointer<const Self> mitk::MultiStepper::ConstPointer |
Definition at line 42 of file mitkMultiStepper.h.
| typedef itk::SmartPointer<Self> mitk::MultiStepper::Pointer |
Definition at line 42 of file mitkMultiStepper.h.
typedef std::map<Stepper::Pointer,unsigned int> mitk::MultiStepper::ScaleFactorMap [protected] |
Definition at line 58 of file mitkMultiStepper.h.
| typedef MultiStepper mitk::MultiStepper::Self |
Definition at line 42 of file mitkMultiStepper.h.
typedef std::set<Stepper::Pointer> mitk::MultiStepper::StepperSet [protected] |
Definition at line 57 of file mitkMultiStepper.h.
Definition at line 42 of file mitkMultiStepper.h.
| mitk::MultiStepper::MultiStepper | ( | ) | [protected] |
Definition at line 22 of file mitkMultiStepper.cpp.
{
}
| mitk::MultiStepper::~MultiStepper | ( | ) | [protected, virtual] |
Definition at line 26 of file mitkMultiStepper.cpp.
{
}
| void mitk::MultiStepper::AddStepper | ( | Stepper::Pointer | stepper, |
| unsigned int | repeat = 1 |
||
| ) |
Definition at line 29 of file mitkMultiStepper.cpp.
{
m_SubSteppers.insert(stepper);
m_ScaleFactors.insert(std::make_pair(stepper,repeat));
UpdateStepCount();
}
| virtual const char* mitk::MultiStepper::GetClassName | ( | ) | const [virtual] |
| static Pointer mitk::MultiStepper::New | ( | ) | [static] |
Reimplemented from mitk::Stepper.
Referenced by mitkMultiStepperTest().
| void mitk::MultiStepper::RemoveStepper | ( | Stepper::Pointer | stepper, |
| unsigned int | repeat = 1 |
||
| ) |
Definition at line 34 of file mitkMultiStepper.cpp.
{
m_SubSteppers.erase(stepper);
m_ScaleFactors.erase(stepper);
UpdateStepCount();
}
| void mitk::MultiStepper::SetPos | ( | unsigned int | pos ) | [virtual] |
Reimplemented from mitk::Stepper.
Definition at line 60 of file mitkMultiStepper.cpp.
References mitk::Stepper::SetPos().
{
Stepper::SetPos(pos);
for (StepperSet::iterator it = m_SubSteppers.begin(); it != m_SubSteppers.end() ; it++ ) {
unsigned int count = (*it)->GetSteps() * m_ScaleFactors[(*it)];
if ((this->GetSteps() != 0 ) && ((*it)->GetSteps() != 0)) {
(*it)->SetPos((pos * count / this->GetSteps() ) % (*it)->GetSteps()) ;
}
}
};
| void mitk::MultiStepper::SetSteps | ( | const unsigned int | steps ) | [virtual] |
Reimplemented from mitk::Stepper.
Definition at line 70 of file mitkMultiStepper.cpp.
{
assert(false);
};
| void mitk::MultiStepper::UpdateStepCount | ( | ) | [protected] |
Definition at line 74 of file mitkMultiStepper.cpp.
{
m_Steps=0;
m_LargestRangeStepper = NULL;
for (StepperSet::iterator it = m_SubSteppers.begin(); it != m_SubSteppers.end() ; it++ ) {
unsigned int count = (*it)->GetSteps() * m_ScaleFactors[(*it)];
if (count > m_Steps) {
m_Steps = count;
m_LargestRangeStepper = *it;
}
}
}
Stepper::Pointer mitk::MultiStepper::m_LargestRangeStepper [protected] |
Definition at line 61 of file mitkMultiStepper.h.
ScaleFactorMap mitk::MultiStepper::m_ScaleFactors [protected] |
Definition at line 60 of file mitkMultiStepper.h.
StepperSet mitk::MultiStepper::m_SubSteppers [protected] |
Definition at line 59 of file mitkMultiStepper.h.
1.7.2