リージョンの生成 (ランレングス配列または点群)
Namespace: FVIL.DataAssembly: 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のランレングスに変換します。
ランレングス配列:
- CFviRunLength のコレクションまたは固定長配列
- F_RUNLENGTH のコレクションまたは固定長配列
点群:
- F_DEDGE のコレクションまたは固定長配列
- F_EDGE のコレクションまたは固定長配列
- DEDGE_T のコレクションまたは固定長配列
- DPNT_T のコレクションまたは固定長配列
- PNT_T のコレクションまたは固定長配列
- CFviEdgeData のコレクションまたは固定長配列
- CFviPoint のコレクションまたは固定長配列
- System.Drawing.Point のコレクションまたは固定長配列
- System.Drawing.PointF のコレクションまたは固定長配列
生成に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリ不足の為、生成に失敗しました。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数に指定された値が不正です。 |
Examples
ソースコード:
ソースコード:
C# | Copy |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |