Syntax: intFib moveLimbElement( const char cType='u',
const unsignedIntFib elementPoint=0,
const intFib iHowfar=1,
bool bAbsolute=false )
Diese Methode verschiebt das Fib-Element vom angegeben Typ cType
, welches das elementPoint
'te Fib-Element vom Typ cType
ist, über iHowfar
Fib-Element. Wenn iHowfar
positiv ist, wird das Fib-Element nach unten verschoben, sonst nach oben. Es können nur cFibLimb
verschoben werden, also nur Fib-Element die genau ein Unterobject haben.
Das Verschieben des Fib-Elements wird abgebrochen, wenn durch ein weiteres Verschieben ein ungültiges Fib-Objekt entstehen würde. Die Anzahl der Fib-Elemente, über die das zu verschiebende Fib-Element verschoben wurde, wird zurückgegeben. Wobei der zurückgegebene Wert negativ ist, wenn nach oben verschoben wurde. (für die Definition von Oben und Unten siehe Abschnitt 14.3 auf Seite )
Ein Fib-Element kann beispielsweise nicht verschoben werden, wenn es ein Punktelement ist oder wenn es über ein Fib-Element verschoben werden soll, welches eine Variable definiert, die das zu verschiebende Fib-Element benötigt.
Eine besondere Betrachtung beim Verschieben benötigt die Verzweigungselemente (cFibBranch
). Wird ein Fib-Element über ein Verzeweigungselemente nach unter verschoben, wandert es in alle Unterobjekte des Verzweigungselemente, in denen es bzw. eine Variable die es definiert benötigt wird, wobei in allen außer einem Unterobjekt natürlich Kopien des Fib-Element verwendet werden. Wird die vom zu verschiebenden Fib-Element definierte Variable in keinem Unterobjekt benötigt, wird es nur in das erste Unterobjekt verschoben. Das zu verschiebende Fib-Element wird dann in allen Unterobjekt die noch verbleibenden Schritte weiter nach unten verschoben. Zurückgegeben wird die Summe der Fib-Elemente, über die das zu verschiebende Fib-Element oder eine Kopie dessen verschoben wurde.
Auch eine Verschiebung über das und vom aktuellem Fib-Element ist möglich.
Eingabeparameter:
cType
: Der Typ des Fib-Elements, welches verschoben werden soll. Standardmäßig werden Fib-Elemente aller Typen betrachtet/ gezählt.
elementPoint
: Die Nummer des Fib-Elements, die es unter den Fib-Elementen vom cType
haben soll. Standardmäßig wird diese mit belegt und damit das aktuelle Fib-Element verschoben.
iHowfar
: Die Anzahl der Fib-Elemente über die das zu verschiebende Fib-Element verschoben werden soll. Wenn iHowfar
positiv ist, wird das Fib-Element nach unten verschoben, sonst nach oben. Standardmäßig wird das zu verschiebene Fib-Element um ein Fib-Element nach unter verschoben.
bAbsolute
: Wenn bAbsolute
gleich true
(=wahr) ist, bezieht sich die Ordnung auf das gesamte Fib-Objekt. Ansonsten, wenn bAbsolute
gleich false
(=falsch) ist, bezieht sich Ordnung auf das Fib-Element von dem aus die Methode aufgerufen wurde. Standardwert ist false
.
Rückgabe: Die Anzahl der Fib-Elemente, über die das zu verschiebene Fib-Element verschoben wurde. Wobei der zurückgegebene Wert negativ ist, wenn nach oben verschoben wurde, und sonst positiv ist.