リージョンの生成 (ランレングス配列または点群)

Namespace: FVIL.Data
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual void Create(
	IEnumerable runs
)
Visual Basic
Public Overridable Sub Create ( 
	runs As IEnumerable
)

Parameters

runs
Type: System.Collections..::..IEnumerable
ランレングス配列または点群

Remarks

ランレングス配列または点群からリージョンを作成してオブジェクトを構築します。
点群が指定された場合は、各点を長さ1のランレングスに変換します。


ランレングス配列:
点群:
  • F_DEDGE のコレクションまたは固定長配列
  • F_EDGE のコレクションまたは固定長配列
  • DEDGE_T のコレクションまたは固定長配列
  • DPNT_T のコレクションまたは固定長配列
  • PNT_T のコレクションまたは固定長配列
  • CFviEdgeData のコレクションまたは固定長配列
  • CFviPoint のコレクションまたは固定長配列
  • System.Drawing.Point のコレクションまたは固定長配列
  • System.Drawing.PointF のコレクションまたは固定長配列

生成に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
1FVIL.ErrorCode.FAILED_TO_ALLOCATEメモリ不足の為、生成に失敗しました。
11FVIL.ErrorCode.INVALID_PARAMETER引数に指定された値が不正です。

Examples

ソースコード:
C# Copy imageCopy
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace User.SampleCode.Data
{
    public partial class Region
    {
        /// <summary>
        /// [リージョン構造クラス]
        /// 初期値指定コンストラクタ (ランレングス配列)
        /// </summary>
        [FvPluginExecute]
        public void Array_ctor()
        {
            // 0) 配列の作成
            FVIL.Data.CFviRunLength[] array = new FVIL.Data.CFviRunLength[4];
            array[0] = new FVIL.Data.CFviRunLength(2, 4, 5);
            array[1] = new FVIL.Data.CFviRunLength(1, 3, 6);
            array[2] = new FVIL.Data.CFviRunLength(2, 4, 7);
            array[3] = new FVIL.Data.CFviRunLength(4, 6, 9);

            // 1) インスタンスの準備とリージョンの生成.
            FVIL.Data.CFviRegion region = new FVIL.Data.CFviRegion(array);

            // E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir + "\\RegionArray_ctor.png");
        }
        /// <summary>
        /// [リージョン構造クラス]
        /// リージョンの生成 (ランレングス配列)
        /// </summary>
        [FvPluginExecute]
        public void Array_Create()
        {
            // 0) 配列の作成
            FVIL.Data.CFviRunLength[] array = new FVIL.Data.CFviRunLength[4];
            array[0] = new FVIL.Data.CFviRunLength(2, 4, 5);
            array[1] = new FVIL.Data.CFviRunLength(1, 3, 6);
            array[2] = new FVIL.Data.CFviRunLength(2, 4, 7);
            array[3] = new FVIL.Data.CFviRunLength(4, 6, 9);

            // 1) インスタンスの準備.
            FVIL.Data.CFviRegion region = new FVIL.Data.CFviRegion();

            // 2) リージョンの生成.
            region.Create( array );

            // E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir + "\\RegionArray_Create.png");
        }
    }
}


Visual Basic Copy imageCopy
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Namespace SampleCode.Data
    Public Partial Class Region
        ''' <summary>
        ''' [リージョン構造クラス]
        ''' 初期値指定コンストラクタ (ランレングス配列)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub Array_ctor()
            ' 0) 配列の作成
            Dim array As FVIL.Data.CFviRunLength() = New FVIL.Data.CFviRunLength(3) {}
            array(0) = New FVIL.Data.CFviRunLength(2, 4, 5)
            array(1) = New FVIL.Data.CFviRunLength(1, 3, 6)
            array(2) = New FVIL.Data.CFviRunLength(2, 4, 7)
            array(3) = New FVIL.Data.CFviRunLength(4, 6, 9)

            ' 1) インスタンスの準備とリージョンの生成.
            Dim region As New FVIL.Data.CFviRegion(array)

            ' E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir & "\RegionArray_ctor.png")
        End Sub
        ''' <summary>
        ''' [リージョン構造クラス]
        ''' リージョンの生成 (ランレングス配列)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub Array_Create()
            ' 0) 配列の作成
            Dim array As FVIL.Data.CFviRunLength() = New FVIL.Data.CFviRunLength(3) {}
            array(0) = New FVIL.Data.CFviRunLength(2, 4, 5)
            array(1) = New FVIL.Data.CFviRunLength(1, 3, 6)
            array(2) = New FVIL.Data.CFviRunLength(2, 4, 7)
            array(3) = New FVIL.Data.CFviRunLength(4, 6, 9)

            ' 1) インスタンスの準備.
            Dim region As New FVIL.Data.CFviRegion()

            ' 2) リージョンの生成.
            region.Create(array)

            ' E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir & "\RegionArray_Create.png")
        End Sub
    End Class
End Namespace

ソースコード:
C# Copy imageCopy
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace User.SampleCode.Data
{
    public partial class Region
    {
        /// <summary>
        /// [リージョン構造クラス]
        /// 初期値指定コンストラクタ (ランレングス配列)
        /// </summary>
        [FvPluginExecute]
        public void List_ctor()
        {
            // 0) リストの作成
            System.Collections.Generic.List<FVIL.Data.CFviRunLength> list = new List<FVIL.Data.CFviRunLength>();
            list.Add(new FVIL.Data.CFviRunLength(2, 4, 5));
            list.Add(new FVIL.Data.CFviRunLength(1, 3, 6));
            list.Add(new FVIL.Data.CFviRunLength(2, 4, 7));
            list.Add(new FVIL.Data.CFviRunLength(4, 6, 9));

            // 1) インスタンスの準備とリージョンの生成.
            FVIL.Data.CFviRegion region = new FVIL.Data.CFviRegion(list);

            // E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir + "\\RegionList_ctor.png");
        }
        /// <summary>
        /// [リージョン構造クラス]
        /// リージョンの生成 (ランレングス配列)
        /// </summary>
        [FvPluginExecute]
        public void List_Create()
        {
            // 0) リストの作成
            System.Collections.Generic.List<FVIL.Data.CFviRunLength> list = new List<FVIL.Data.CFviRunLength>();
            list.Add(new FVIL.Data.CFviRunLength(2, 4, 5));
            list.Add(new FVIL.Data.CFviRunLength(1, 3, 6));
            list.Add(new FVIL.Data.CFviRunLength(2, 4, 7));
            list.Add(new FVIL.Data.CFviRunLength(4, 6, 9));

            // 1) インスタンスの準備.
            FVIL.Data.CFviRegion region = new FVIL.Data.CFviRegion();

            // 2) リージョンの生成.
            region.Create( list );

            // E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir + "\\RegionList_Create.png");
        }
    }
}


Visual Basic Copy imageCopy
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Namespace SampleCode.Data
    Public Partial Class Region
        ''' <summary>
        ''' [リージョン構造クラス]
        ''' 初期値指定コンストラクタ (ランレングス配列)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub List_ctor()
            ' 0) リストの作成
            Dim list As System.Collections.Generic.List(Of FVIL.Data.CFviRunLength) = New List(Of FVIL.Data.CFviRunLength)()
            list.Add(New FVIL.Data.CFviRunLength(2, 4, 5))
            list.Add(New FVIL.Data.CFviRunLength(1, 3, 6))
            list.Add(New FVIL.Data.CFviRunLength(2, 4, 7))
            list.Add(New FVIL.Data.CFviRunLength(4, 6, 9))

            ' 1) インスタンスの準備とリージョンの生成.
            Dim region As New FVIL.Data.CFviRegion(list)

            ' E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir & "\RegionList_ctor.png")
        End Sub
        ''' <summary>
        ''' [リージョン構造クラス]
        ''' リージョンの生成 (ランレングス配列)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub List_Create()
            ' 0) リストの作成
            Dim list As System.Collections.Generic.List(Of FVIL.Data.CFviRunLength) = New List(Of FVIL.Data.CFviRunLength)()
            list.Add(New FVIL.Data.CFviRunLength(2, 4, 5))
            list.Add(New FVIL.Data.CFviRunLength(1, 3, 6))
            list.Add(New FVIL.Data.CFviRunLength(2, 4, 7))
            list.Add(New FVIL.Data.CFviRunLength(4, 6, 9))

            ' 1) インスタンスの準備.
            Dim region As New FVIL.Data.CFviRegion()

            ' 2) リージョンの生成.
            region.Create(list)

            ' E) 生成されたリージョンの保存.
            region.Save(Defs.ResultDir & "\RegionList_Create.png")
        End Sub
    End Class
End Namespace

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also