センサーの値をイベントにより取得するサンプルコード

TDx.TDxInput.Sensor sensor = null; // Sensorオブジェクト

初期化処理

protected override void OnLoad( EventArgs e )
{
    base.OnLoad( e );

    // Deviceオブジェクトを生成する
    TDx.TDxInput.Device device = new TDx.TDxInput.Device();

    // Sensorオブジェクトを取得する
    this.sensor = device.Sensor;

    // Sensor入力イベントにハンドラを登録する
    this.sensor.SensorInput += new TDx.TDxInput._ISensorEvents_SensorInputEventHandler( sensor_SensorInput );

    // ドライバへ接続する
    device.Connect();
}

終了処理

protected override void Dispose( bool disposing )
{
    if( disposing )
    {
        if( this.sensor != null )
        {
            TDx.TDxInput.Device device = ( TDx.TDxInput.Device )this.sensor.Device;

            if( device != null )
            {
                // Deviceをドライバから切断する
                device.Disconnect();
            }
        }
    }

    base.Dispose( disposing );
}

イベントハンドラ

/// <summary>
/// Sensorの入力イベントハンドラ
/// </summary>
private void sensor_SensorInput()
{
    // SensorオブジェクトからRotationを取得する
    TDx.TDxInput.AngleAxis rotation = this.sensor.Rotation;

    Console.Write( string.Format(
        "Rotation x:{0} y:{1} z:{2} angle:{0}",
        rotation.X,
        rotation.Y,
        rotation.Z,
        rotation.Angle ) );

    // SensorオブジェクトからTranslationを取得する
    TDx.TDxInput.Vector3D translation = this.sensor.Translation;

    Console.Write( string.Format(
        "Translation x:{0} y:{1} z:{2} length:{0}",
        translation.X,
        translation.Y,
        translation.Z,
        translation.Length ) );
}