ブローブの位置情報に基づくソーティング

Namespace: fvalgcli
Assembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)

Syntax

C#
public static int fnFIE_measure_specialsort_list(
	FHANDLE hresult,
	f_measure_special_sort_order order,
	double theta,
	UINT_PTR numbers,
	uint num
)
Visual Basic
Public Shared Function fnFIE_measure_specialsort_list ( 
	hresult As FHANDLE,
	order As f_measure_special_sort_order,
	theta As Double,
	numbers As UINT_PTR,
	num As UInteger
) As Integer

Parameters

hresult
Type: fvalgcli..::..FHANDLE
ブローブ解析結果ハンドル
order
Type: fvalgcli..::..f_measure_special_sort_order
並び替え順
theta
Type: System..::..Double
回転角 (radian 単位)
numbers
Type: fvalgcli..::..UINT_PTR
並び替えるブローブ番号の配列
num
Type: System..::..UInt32
ブローブ番号配列( numbers )の要素数

Return Value

Type: Int32
以下のエラーコードを返します。

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_INVALID_PARAM不正なパラメータが指定された。
F_ERR_INVALID_OBJECThresult に渡された結果ハンドルが不正
F_ERR_NO_LICENCEライセンスエラー、または未初期化エラー

Remarks

Examples

C# Copy imageCopy
//    $Revision: 1.1 $

using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace TC
{
    public partial class FIE
    {
        /// <summary>
        /// ブローブの位置情報に基づくソーティング.
        /// </summary>
        /// <param name="result"></param>
        public void fnFIE_measure_specialsort_list(FHANDLE result)
        {
            int status = 0;
            F_MEASURE_FILTER_RANGE_PTR filters = F_MEASURE_FILTER_RANGE_PTR.Zero; ;
            UINT_PTR numbers = UINT_PTR.Zero;

            try
            {
                uint num = 0;
                uint filter_num = 1;
                filters = F_MEASURE_FILTER_RANGE_PTR.alloc((int)filter_num);
                filters[0] = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 1000);

                status = api.fnFIE_measure_get_list(result, filters, filter_num, ref numbers, ref num);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_measure_get_list でエラーが発生しました。({0})", (f_err)status);
                // 出力.
                Console.WriteLine("fnFIE_measure_get_list: num={0}", num);

                // 配置順でソートし直す.
                status = api.fnFIE_measure_specialsort_list(result, f_measure_special_sort_order.F_MEASURE_UP_TO_LEFT_RIGHT, 0.0, numbers, num);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_measure_specialsort_list でエラーが発生しました。({0})", (f_err)status);

                // 出力.
                Console.WriteLine("fnFIE_measure_specialsort_list");
                for (int i = 0; i < num; i++)
                {
                    Console.WriteLine("numbers[{0}]={1}", i, numbers[i]);
                }
            }
            finally
            {
                filters.Dispose();
                numbers.Dispose();
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Public Partial Class FIE
    ''' <summary>
    ''' ブローブの位置情報に基づくソーティング.
    ''' </summary>
    ''' <param name="result"></param>
    Public Sub fnFIE_measure_specialsort_list(result As FHANDLE)
        Dim status As Integer = 0
        Dim filters As F_MEASURE_FILTER_RANGE_PTR = F_MEASURE_FILTER_RANGE_PTR.Zero


        Dim numbers As UINT_PTR = UINT_PTR.Zero

        Try
            Dim num As UInteger = 0
            Dim filter_num As UInteger = 1
            filters = F_MEASURE_FILTER_RANGE_PTR.alloc(CInt(filter_num))
            filters(0) = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 1000)

            status = api.fnFIE_measure_get_list(result, filters, filter_num, numbers, num)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_measure_get_list でエラーが発生しました。({0})", CType(status, f_err))
            ' 出力.
            Console.WriteLine("fnFIE_measure_get_list: num={0}", num)

            ' 配置順でソートし直す.
            status = api.fnFIE_measure_specialsort_list(result, f_measure_special_sort_order.F_MEASURE_UP_TO_LEFT_RIGHT, 0.0, numbers, num)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_measure_specialsort_list でエラーが発生しました。({0})", CType(status, f_err))

            ' 出力.
            Console.WriteLine("fnFIE_measure_specialsort_list")
            For i As Integer = 0 To CType(num, Integer) - 1
                Console.WriteLine("numbers[{0}]={1}", i, numbers(i))
            Next
        Finally
            filters.Dispose()
            numbers.Dispose()
        End Try
    End Sub
End Class

See Also