TriggeredJoints ステータス

適用
フォース動作制限オブジェクトFMR#

解説
監視対象が関節位置のときフォース動作制限の軸ごとの達成状態を返します。

即時実行
いいえ

用法
FGet Object.TriggeredAxes, iVar

  • Object
    オブジェクト名
    オブジェクトは、FMR(数値), FMR(ラベル)のどちらかとして指定します。

  • iVar
    プロパティーの値を示す整数型変数

Bit 結果
0 J1のLowerLevelの達成状態
1 J2のLowerLevelの達成状態
2 J3のLowerLevelの達成状態
3 J4のLowerLevelの達成状態
4 J5のLowerLevelの達成状態
5 J6のLowerLevelの達成状態
6 J7のLowerLevelの達成状態
7 J8のLowerLevelの達成状態
8 J9のLowerLevelの達成状態
9 J1のUpperLevelの達成状態
10 J2のUpperLevelの達成状態
11 J3のUpperLevelの達成状態
12 J4のUpperLevelの達成状態
13 J5のUpperLevelの達成状態
14 J6のUpperLevelの達成状態
15 J7のUpperLevelの達成状態
16 J8のUpperLevelの達成状態
17 J9のUpperLevelの達成状態

各Bitの値
0: 未達成
1: 達成

詳細説明
監視対象が関節位置のとき、フォース動作制限が直前に使用されたときの軸ごとの達成状態を返します。
フォース動作制限の各軸について該当Bitを、条件が達成された場合は、“1”にします。達成されていない場合は、“0”にします。
ただし、PolarityプロパティーがFG_OUT設定の場合は、UpperLevel, LowerLevelごとに“1”、または“0”に設定されます。
FG_IN設定の場合は、条件が達成された軸はUpperLevel, LowerLevelともに“1”となります。
各軸ごとの位置姿勢の達成状態によって処理を分岐する場合に使用します。
Integer型の変数に値を取得した場合、達成状態によっては負の値となることがあります。Int32、またはInt64型の変数を推奨します。

使用例
フォース動作制限の各軸の達成状態によって処理を分岐する例です。

Function TriggeredAxesTest
  Int64 iVar
  FSet FMR1.TriggereMode, FG_ABS_JOINT
  FCKeep FC1 Till FMR1, 10
  FGet FMR1.TriggeredJoint, iVar
  If (iVar And &H01) <> 0 Then
    ' J1のLowerLevel条件を達成した場合の処理
    -
  ElseIf (iVar And &H200) <> 0 Then
    ' J1のUpperLevel条件を達成した場合の処理
    -
  EndIf
Fend

参照
フォース動作制限オブジェクトFMR#