平行移動する同次変換行列を作成
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_geotrans_calc_shift_matrix( FMATRIX_PTR mat, double dx, double dy ) |
Visual Basic |
---|
Public Shared Function fnFIE_geotrans_calc_shift_matrix ( mat As FMATRIX_PTR, dx As Double, dy As Double ) As Integer |
Parameters
- mat
- Type: fvalgcli..::..FMATRIX_PTR
同次変換行列
- dx
- Type: System..::..Double
x方向移動量
- dy
- Type: System..::..Double
y方向移動量
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Remarks
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// 平行移動する同次変換行列の作成. /// </summary> [FvPluginExecute] public void fnFIE_geotrans_calc_shift_matrix() { int status = (int)f_err.F_ERR_NONE; FMATRIX_PTR mat = FMATRIX_PTR.Zero; // 同次変換行列. const double dx = 20; // X方向移動量. const double dy = 30; // Y方向移動量. try { // 同次変換行列の確保. mat = api.fnFIE_mat_aalloc(3, 3); // 処理の実行. status = api.fnFIE_geotrans_calc_shift_matrix(mat, dx, dy); // エラー判定. Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status); // 結果出力. ConsoleOut.WriteFunctionName(":\t"); ConsoleOut.IsEqualMatrix( mat, 1, 0, dx, 0, 1, dy, 0, 0, 1 ); ConsoleOut.WriteFMATRIX(mat, 3, 3); } finally { // オブジェクトの開放. mat.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' 平行移動する同次変換行列の作成. ''' </summary> <FvPluginExecute> _ Public Sub fnFIE_geotrans_calc_shift_matrix() Dim status As Integer = CInt(f_err.F_ERR_NONE) Dim mat As FMATRIX_PTR = FMATRIX_PTR.Zero ' 同次変換行列. Const dx As Double = 20 ' X方向移動量. Const dy As Double = 30 ' Y方向移動量. Try ' 同次変換行列の確保. mat = api.fnFIE_mat_aalloc(3, 3) ' 処理の実行. status = api.fnFIE_geotrans_calc_shift_matrix(mat, dx, dy) ' エラー判定. Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err)) ' 結果出力. ConsoleOut.WriteFunctionName(":" & vbTab) ConsoleOut.IsEqualMatrix(mat, 1, 0, dx, 0, 1, _ dy, 0, 0, 1) ConsoleOut.WriteFMATRIX(mat, 3, 3) Finally ' オブジェクトの開放. mat.Dispose() End Try End Sub End Class |