REALAPS -Omni（Ver 1）APIU-Omni.dll
クラス ライブラリ説明書

2022 年 10 月 18 日
株式会社 ビジュアル・テクノロジー研究所 （略称：VTL）

目次

IU-Omni.dll について ........................................................................ 1

II

1.1

U-Omni.dll の概要............................................................................................................................... 1

1.2

U-Omni.dll の呼び出し要件 ................................................................................................................ 1

クラス ライブラリ説明 ...................................................................... 2
1 Illuminance クラス ..............................................................................................2
1.1

メソッド............................................................................................................................................... 2
1

getIlluminanceValues( ) メソッド ............................................................................................... 3

2

getIlluminanceValuesFromOXYZ( ) メソッド ............................................................................ 52 UGR クラス ..........................................................................................................7III

2.1

プロパティ ........................................................................................................................................... 7

2.1

サブクラス IlluminanceContainer クラスとプロパティ.................................................................... 8

2.2

サブクラス Area クラスとプロパティ ............................................................................................... 82.3

サブクラス SightDirection クラスとプロパティ ................................................................................ 8

データ形式 ......................................................................................... 9

1 OXYZ ファイル ......................................................................................................92 LM ファイル ..........................................................................................................9I

U-Omni.dll について
1.1 U-Omni.dll の概要

U-Omni.dll は U-Omni の機能を、C#プログラムや 3D モデリングソフト Rhinoceros のプラグインツー
ル Grasshopper から扱えるように、API 化したものです。

1.2 U-Omni.dll の呼び出し要件

1.

64bit の DLL のため、64bit 呼び出しを行ってください。
フレームワークは .NET Framework 4.7.2 で作成されています。

2.

DLL は REALAPS-Omni をインストールしたフォルダ下にある"RhinoPlugin"フォルダにインストールされます。
Windows スタートメニューの"RhinoPlugin フォルダを開く"で、DLL のあるフォルダが開きます。

1

II
1

クラス ライブラリ説明
Illuminance クラス

1.1 メソッド
メソッド一覧

1

名前説明

getIlluminanceValues( )輝度ファイルや輝度データから算出した 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。

2

getIlluminanceValuesFromOXYZ( )OXYZ ファイルから算出した 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。

2

1

getIlluminanceValues( ) メソッド
輝度ファイルや輝度データから算出した 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。

1-1 輝度ファイルから求めた 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。
UGR クラスに照度値を求める範囲と視線方向を指定することにより、視線方向の 180 度視野からの照度とその範囲の照度とその立体角が書き込まれて戻ります。

【構文】
enmResult getIlluminanceValues(string LM_Filename, ref UGR data)【引数】
string LM_Filename

輝度画像データが CSV 形式で保存されている LM ファイル名

ref UGR data

参照引数です。照度を求める範囲と視線方向を指定した UGR クラスです。
ここに視線方向の 180 度視野からの照度とその範囲の照度とその立体角が格納されて返ります。

【戻り値】
返却値

意味

Success

成功しました。

Ranges_Are_Wrong

指定範囲が間違っています。

SightDirections_Are_Wrong

視線方向が間違っています。

Illuminace_SettingDataError

Illuminance データがありませんでした。

NotReadFileData

輝度データファイルが読み込めませんでした。

NotReadLmHeader

LM ファイルのヘッダが読み込めませんでした。

NotOmniData

全方位画像ではありません。

DataWidth_is_Zero

輝度データの幅サイズがゼロです。

DoErrorCalculatingNow

以前の計算が終了していません。

NullStatus

メソッドの状態異常が発生しました。

UnknownError

不明なエラー3

1-2 輝度ファイルから求めた 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。
UGR クラスに照度値を求める範囲と視線方向を指定することにより、視線方向の 180 度視野からの照度とその範囲の照度とその立体角が書き込まれて戻ります。

【構文】
enmResult getIlluminanceValues(string LM_Filename, ref UGR[ ] data)【引数】
string LM_Filename

輝度画像データが CSV 形式で保存されている LM ファイル名

ref UGR[ ] data

参照引数です。照度を求める範囲と視線方向を指定した UGR クラスの配列です。
ここに視線方向の 180 度視野からの照度とその範囲の照度とその立体角が格納されて返ります。

【戻り値】
返却値

意味

Success

成功しました。

Ranges_Are_Wrong

指定範囲が間違っています。

SightDirections_Are_Wrong

視線方向が間違っています。

Illuminace_SettingDataError

Illuminance データがありませんでした。

NotReadFileData

輝度データファイルが読み込めませんでした。

NotReadLmHeader

LM ファイルのヘッダが読み込めませんでした。

NotOmniData

全方位画像ではありません。

DataWidth_is_Zero

輝度データの幅サイズがゼロです。

DoErrorCalculatingNow

以前の計算が終了していません。

NullStatus

メソッドの状態異常が発生しました。

UnknownError

不明なエラー4

2getIlluminanceValuesFromOXYZ( ) メソッド
OXYZ ファイルから算出した 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。

2-1 OXYZ ファイルの輝度データから求めた 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。
UGR クラスに照度値を求める範囲と視線方向を指定することにより、視線方向の 180 度視野からの照度とその範囲の照度とその立体角が書き込まれて戻ります。

【構文】
enmResult getIlluminanceValuesFromOXYZ(string oxyz_Filename, ref UGR data)【引数】
string oxyz_Filename
OXYZ ファイル名です。

ref UGR data参照引数です。照度を求める範囲と視線方向を指定した UGR クラスです。
ここに視線方向の 180 度視野からの照度とその範囲の照度とその立体角が格納されて返ります。

【戻り値】
返却値

意味Success

成功しました。

Ranges_Are_Wrong

指定範囲が間違っています。

SightDirections_Are_Wrong

視線方向が間違っています。

Illuminace_SettingDataError

Illuminance データがありませんでした。

NotReadFileData

輝度データファイルが読み込めませんでした。

NotReadOxyzHeader

OXYZ ファイルからのヘッダが読み込めませんでした

NotOmniData

全方位画像ではありません。

DataWidth_is_Zero

輝度データの幅サイズがゼロです。

DoErrorCalculatingNow

以前の計算が終了していません。

NullStatus

メソッドの状態異常が発生しました。

UnknownError

不明なエラー52-2 OXYZ ファイルの輝度データから求めた 180 度視野からの照度と指定領域からの照度とその立体角が戻ります。
UGR クラスに照度値を求める範囲と視線方向を指定することにより、視線方向の 180 度視野からの照度とその範囲の照度とその立体角が書き込まれて戻ります。

【構文】
enmResult getIlluminanceValuesFromOXYZ(string oxyz_Filename, ref UGR[ ] data)【引数】
string oxyz_FilenameOXYZ ファイル名です。

ref UGR[ ] data

参照引数です。照度を求める範囲と視線方向を指定した UGR クラスの配列です。
ここに視線方向の 180 度視野からの照度とその範囲の照度とその立体角が格納されて返ります。

【戻り値】
返却値

意味

Success

成功しました。

Ranges_Are_Wrong

指定範囲が間違っています。

SightDirections_Are_Wrong

視線方向が間違っています。

UGR_SettingDataError

UGR データがありませんでした。

NotReadFileData

輝度データファイルが読み込めませんでした。

NotReadOxyzHeader

OXYZ ファイルからのヘッダが読み込めませんでした。

NotOmniData

全方位画像ではありません。

DataWidth_is_Zero

輝度データの幅サイズがゼロです。

DoErrorCalculatingNow

以前の計算が終了していません。

NullStatus

メソッドの状態異常が発生しました。

UnknownError

不明なエラー

6

2

UGR クラス
グレア光源の直視 UGR 値とその立体角と UGR 値を求めるために利用します。
UGR 値を求める範囲とその範囲より求めたグレア光源の直視 UGR 値、その立体角、UGR 値が保持されます。

2.1 プロパティ
プロパティ一覧

1

名前型

説明

UGR_LookingDirectlyDouble

求めた枠内検出グレア光源の直視 UGR 値を保持しています。

2

Steradian_LookingDirectly

求めた枠内検出グレア光源の直視 UGR の立Double

体角を保持しています。
3

UGR_SightLine

求めた枠内検出グレア光源の UGR 値を保持Doubleしています。
4

Threshhold_UGR_N

直視 UGR 値、立体角、UGR 値を求めるた

Doubleめに設定されたグレア光源の閾値を保持します。
5

Illuminances

IlluminanceContainer

180 度視野からの照度と指定領域からの照度とその立体角を保持したプロパティを保持しています。

6

area

UGR クラス内に定義された Area クラスにAreaよって定義された UGR 値などを求める範囲を保持します。
7sightDirection

SightDirection

UGR クラス内に定義された SightDirection
クラスによって定義された視線方向を保持します。

7

2.1 サブクラス IlluminanceContainer クラスとプロパティ180 度視野からの照度と指定領域からの照度とその立体角を保持したプロパティを保持されるクラスです。

プロパティ一覧
名前型

説明

1

EyeIlluminance

Double

指定された方向を見たときの眼前照度を保持しています。

2

AreaSteradian

Double

求めた枠内の立体角を保持しています。

3

AreaIlluminance

Double

求めた枠内の照度を保持しています。

2.2 サブクラス Area クラスとプロパティ
UGR クラス内に定義された Area クラスによって定義された UGR 値などを求める範囲が保持されるクラスです。

プロパティ一覧
名前型

説明

1

rectangle

Rectangle

UGR 値などを求める矩形範囲を設定します。

2

AllArea

Bool

TRUE の場合は画像の全エリアが計算対象となります。

2.3 サブクラス SightDirection クラスとプロパティ
UGR クラス内に定義された SightDirection クラスによって定義された視線方向と画像幅が保持されるクラスです。

プロパティ一覧
名前型

説明

1

PixcelPoint

視線を向ける対象の画像ピクセル座標を設定します。

2

Azimuth

Double

視線を向ける方向の方位角を設定します。-180≦Azimuth＜180の範囲です。

3

Elevation

Double

視線を向ける方向の仰角を設定します。-90≦Elevation≦90 の範囲です。上向きが正です。

4

WidthInt

視線を向ける画像の幅を設定します。

8

III
1

データ形式

OXYZ ファイル
輝度＋XYZ 表色系の色度分布が記述された測光色画像データで、REALAPS 関連ソフトで生成されるデータ形式です。

LM ファイル
輝度分布が記述された輝度画像データで、CSV データ形式です。
先頭の一行目に、画像データの横幅と高さと横幅の画角が CSV 形式で書かれています。
二行目以降は、輝度データが高さ順に上から CSV 形式で並んでいます。

2000, 1000, 360
1206.02,1206.02,1229.603,1239.012,....

高さ分の行数2

1244.147,1189.096,1220.418,1220.452,..
1244.327,1244.327,1244.327,1237.79,....
1248.92,1248.92,1213.452,1213.452,....
...

9

横幅分のデータ数