最も近い入力点(母点)の探索
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_cg_voronoi_nearest_gnrt( FHANDLE hvrni, PNT_T pnt, ref int near_gnrt_no ) |
Visual Basic |
---|
Public Shared Function fnFIE_cg_voronoi_nearest_gnrt ( hvrni As FHANDLE, pnt As PNT_T, ByRef near_gnrt_no As Integer ) As Integer |
Parameters
- hvrni
- Type: fvalgcli..::..FHANDLE
2次元ボロノイ図のハンドル
- pnt
- Type: fvalgcli..::..PNT_T
調査点
- near_gnrt_no
- Type: System..::..Int32%
最近母点の番号
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 | |
---|---|---|
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | オブジェクトがボロノイ図ではない オープンが完了していないか ボロノイ図が作成されていないか |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | 調査点がボロノイ図の有効範囲に入っていない near_gnrt_no にヌルポインタが渡された |
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 { [FvPluginExecute] public void fnFIE_cg_voronoi_nearest_gnrt() { int status = (int)f_err.F_ERR_NONE; // ボロノイ図オブジェクト作成用パラメータ. FHANDLE hvrni = FHANDLE.Zero; //ボロノイ図オブジェクト [in]. PNT_T_PTR pnts = PNT_T_PTR.Zero; int num; int sx; int sy; int ex; int ey; // 探索用変数. PNT_T pnt; //調査点 [in]. int near_gnrt_no = 1; //最近母点の番号 [out]. int ans_no = 4; try { // 母点の座標を設定. num = 5; pnts = PNT_T_PTR.alloc(num); pnts[0] = PNT_T.init(5, 5); pnts[1] = PNT_T.init(5, 15); pnts[2] = PNT_T.init(15, 5); pnts[3] = PNT_T.init(15, 15); pnts[4] = PNT_T.init(10, 10); // ボロノイ図有効範囲の設定. sx = 0; sy = 0; ex = 20; ey = 20; // ボロノイ図オブジェクトの生成. hvrni = api.fnFIE_cg_voronoi_open(pnts, num, sx, sy, ex, ey); if (hvrni == FHANDLE.Zero) Console.WriteLine("エラーが発生しました"); // 調査点の座標を設定. pnt = PNT_T.init(9, 9); // 最近母点の探索を実行. status = api.fnFIE_cg_voronoi_nearest_gnrt(hvrni, pnt, ref near_gnrt_no); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status); // 結果を出力する. ConsoleOut.WriteFunctionName(":\t"); Console.WriteLine("near_gnrt_no = {0}", near_gnrt_no); Console.Write(" ..."); ConsoleOut.IsTrue(ans_no == near_gnrt_no); } finally { hvrni.Dispose(); pnts.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE <FvPluginExecute> _ Public Sub fnFIE_cg_voronoi_nearest_gnrt() Dim status As Integer = CInt(f_err.F_ERR_NONE) ' ボロノイ図オブジェクト作成用パラメータ. Dim hvrni As FHANDLE = FHANDLE.Zero 'ボロノイ図オブジェクト [in]. Dim pnts As PNT_T_PTR = PNT_T_PTR.Zero Dim num As Integer Dim sx As Integer Dim sy As Integer Dim ex As Integer Dim ey As Integer ' 探索用変数. Dim pnt As PNT_T '調査点 [in]. Dim near_gnrt_no As Integer = 1 '最近母点の番号 [out]. Dim ans_no As Integer = 4 Try ' 母点の座標を設定. num = 5 pnts = PNT_T_PTR.alloc(num) pnts(0) = PNT_T.init(5, 5) pnts(1) = PNT_T.init(5, 15) pnts(2) = PNT_T.init(15, 5) pnts(3) = PNT_T.init(15, 15) pnts(4) = PNT_T.init(10, 10) ' ボロノイ図有効範囲の設定. sx = 0 sy = 0 ex = 20 ey = 20 ' ボロノイ図オブジェクトの生成. hvrni = api.fnFIE_cg_voronoi_open(pnts, num, sx, sy, ex, ey) If hvrni = FHANDLE.Zero Then Console.WriteLine("エラーが発生しました") End If ' 調査点の座標を設定. pnt = PNT_T.init(9, 9) ' 最近母点の探索を実行. status = api.fnFIE_cg_voronoi_nearest_gnrt(hvrni, pnt, near_gnrt_no) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err)) ' 結果を出力する. ConsoleOut.WriteFunctionName(":" & vbTab) Console.WriteLine("near_gnrt_no = {0}", near_gnrt_no) Console.Write(" ...") ConsoleOut.IsTrue(ans_no = near_gnrt_no) Finally hvrni.Dispose() pnts.Dispose() End Try End Sub End Class |