+MultiplierIterator::MultiplierIterator(FGGroundReactions* GndReactions)
+: GroundReactions(GndReactions),
+ multiplier(NULL),
+ gearNum(0),
+ entry(0)
+{
+ for (int i=0; i < GroundReactions->GetNumGearUnits(); i++) {
+ FGLGear* gear = GroundReactions->GetGearUnit(i);
+
+ if (!gear->GetWOW()) continue;
+
+ gearNum = i;
+ multiplier = gear->GetMultiplierEntry(0);
+ break;
+ }
+}
+
+MultiplierIterator& MultiplierIterator::operator++()
+{
+ for (int i=gearNum; i < GroundReactions->GetNumGearUnits(); i++) {
+ FGLGear* gear = GroundReactions->GetGearUnit(i);
+
+ if (!gear->GetWOW()) continue;
+
+ multiplier = gear->GetMultiplierEntry(++entry);
+ if (multiplier) {
+ gearNum = i;
+ break;
+ }
+ else
+ entry = -1;
+ }
+
+ return *this;
+}
+
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CLASS IMPLEMENTATION
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/