点のアフィン変換
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_geotrans_affine_point(
DPNT_T src,
ref DPNT_T dst,
FMATRIX_PTR mat
) |
Visual Basic |
---|
Public Shared Function fnFIE_geotrans_affine_point (
src As DPNT_T,
ByRef dst As DPNT_T,
mat As FMATRIX_PTR
) As Integer |
Return Value
Type:
Int32
以下のエラーコードを返します。
エラーコード:f_err | 内容 |
---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Remarks
Examples
C# | Copy |
---|
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;
namespace TC
{
public partial class FIE
{
[FvPluginExecute]
public void fnFIE_geotrans_affine_point()
{
int status = (int)f_err.F_ERR_NONE;
DPNT_T src = new DPNT_T();
DPNT_T dst = new DPNT_T();
FMATRIX_PTR mat = FMATRIX_PTR.Zero;
const double shift_dx = 11;
const double shift_dy = 22;
try
{
mat = api.fnFIE_mat_aalloc(3, 3);
api.fnFIE_geotrans_calc_shift_matrix(mat, shift_dx, shift_dy);
src.x = 33;
src.y = 44;
status = api.fnFIE_geotrans_affine_point(src, ref dst, mat);
Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);
ConsoleOut.WriteFunctionName(":\t");
Console.Write("dst({0} , {1}) ...", dst.x, dst.y);
ConsoleOut.IsTrue(
DblEqual(dst.x, src.x + shift_dx) &&
DblEqual(dst.y, src.y + shift_dy)
);
}
finally
{
mat.Dispose();
}
}
}
} |
Visual Basic | Copy |
---|
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli
Public Partial Class FIE
<FvPluginExecute> _
Public Sub fnFIE_geotrans_affine_point()
Dim status As Integer = CInt(f_err.F_ERR_NONE)
Dim src As New DPNT_T()
Dim dst As New DPNT_T()
Dim mat As FMATRIX_PTR = FMATRIX_PTR.Zero
Const shift_dx As Double = 11
Const shift_dy As Double = 22
Try
mat = api.fnFIE_mat_aalloc(3, 3)
api.fnFIE_geotrans_calc_shift_matrix(mat, shift_dx, shift_dy)
src.x = 33
src.y = 44
status = api.fnFIE_geotrans_affine_point(src, dst, mat)
Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))
ConsoleOut.WriteFunctionName(":" & vbTab)
Console.Write("dst({0} , {1}) ...", dst.x, dst.y)
ConsoleOut.IsTrue(DblEqual(dst.x, src.x + shift_dx) AndAlso DblEqual(dst.y, src.y + shift_dy))
Finally
mat.Dispose()
End Try
End Sub
End Class |
See Also