7.6.3 くり返し依存対象の対応づけ
くり返しファンクションを使用して変換元ノードから変換先ノードへマッピングした場合,そのくり返しファンクションは,自動的に子孫ノードのマッピング元のくり返し対象として対応づけられます。また,くり返しファンクションやマッピング線を削除して,あるノードのくり返しを取り消したとします。その場合,その子孫ノードには,くり返しを取り消したノードの祖先ノードに設定されているくり返しファンクションが,自動的にマッピング元のくり返し対象として対応づけられます。これをくり返しの依存対象といいます。
くり返しの依存対象は次の場合に設定されます。
-
あるノードにくり返しファンクションを使用してくり返しを設定したあと,その子孫ノードをマッピングした場合
あるノードで使用したくり返しファンクションは,自動的にその子孫ノードのマッピング元のくり返し依存対象となります。
-
あるノードをマッピングしたあと,その祖先ノードにくり返しファンクションを使用してくり返しを設定した場合
祖先ノードで使用したくり返しファンクションは,その子孫ノードのマッピング元のくり返し依存対象となります。
-
祖先ノードにくり返しが設定されているノードのくり返しを取り消した場合
祖先ノードに設定されているくり返しファンクションは,くり返しを取り消したノードの子孫ノードで,マッピング元のくり返し依存対象となります。
それぞれの場合のくり返し依存対象が対応づけられるタイミングについて説明します。
- 〈この項の構成〉
(1) あるノードにくり返しを設定したあと,その子孫ノードをマッピングした場合
あるノードにくり返しを設定したあと,その子孫ノードをマッピングした場合の,くり返し依存対象が対応づけられるタイミングを次に示します。
まず,くり返しファンクションを使用して,変換元ノードAから変換先ノードBへマッピングします。
次に,変換元ノードAの子孫ノードであるノードCから,変換先ノードBの子孫ノードであるノードDへマッピングします。
ノードDに接続されたとき,子孫ノードに対してくり返し依存対象が自動的に設定されます。「図7-29」の場合,子孫ノードDのマッピング元のくり返し依存対象に「loop1」が設定されます。
子孫の変換元ノードから変換先ノードへのマッピングで複数のファンクションを使用した場合は,変換先ノードに接続された時点でくり返し依存対象が自動的に設定されます。
(2) あるノードをマッピングさせたあと,その祖先ノードにくり返しを設定した場合
あるノードをマッピングさせたあと,その祖先ノードにくり返しを設定した場合の,くり返し依存対象が対応づけられるタイミングを次に示します。
まず,ある変換元ノードAから変換先ノードBへマッピングします。
次に,変換元ノードAの祖先ノードであるノードCから,変換先ノードBの祖先ノードであるノードDへマッピングします。
ノードCからノードDにマッピングしたとき,子孫ノードに対してくり返し依存対象が自動的に設定されます。「図7-31」の場合,子孫ノードBに対してくり返し依存対象「loop1」が設定されます。
(3) 祖先ノードにくり返しが設定されているノードのくり返しを取り消した場合
祖先ノードにくり返しが設定されているノードのくり返しを取り消した場合の,くり返し依存対象が対応づけられるタイミングを次に示します。
まず,ある変換元ノードAから変換先ノードBへマッピングします。
次に,くり返しファンクションを使用して,変換元ノードAの祖先ノードであるノードCから,変換先ノードBの祖先ノードであるノードDへマッピングします。
そのあと,くり返しファンクションを使用して,変換元ノードAおよび変換元ノードCの祖先ノードである変換元ノードEから,変換先ノードBおよび変換先ノードDの祖先ノードである変換先ノードFへマッピングします。
ノードCからノードDへのマッピングを取り消したとき,マッピングを取り消したノードの子孫ノードに対して,くり返し依存対象が自動的に設定されます。取り消した場合,子孫ノードBに対してくり返し依存対象「loop1」が設定されます。