(The documentation of function merge_3d_data_argument)
Last Update: 2023/12/13
◆機能・用途(Purpose)
引数で列挙された複数の3次元データを統合する。
Merge multiple 3-D data enumerated by arguments.
◆形式(Format)
#include <3d_data/operation.h>
inline struct _3d_data merge_3d_data_arguments(const int N,...)
◆引数(Arguments)
N
統合する入力3次元データの個数。
The number of input 3-D data to merge.
...
統合する入力3次元データ。
The input 3-D data to merge.
◆戻り値(Return value)
引数で与えられた全ての入力3次元データをマージした3次元データ。
入力3次元データの定義域に領域や抜けがある場合はエラーとなる。
A 3-D data obtained by merging all input 3-D data given by the arguments.
If the definition ranges of the input 3-D data had overlaps or gaps,
the program finishes as an error.
入力3次元データの定義域は互いに重複なく、
かつ全体として1つの直方体領域をなす必要がある。
The definition ranges of the input 3-D data must not have overlaps,
and they must constitute a rectangular-solid volume as a whole.
例えば[0,1000]×[0,1000]×[0,1000]の範囲で定義された3次元データと
[500,1500]×[0,1000]×[0,1000]の範囲で定義された3次元データは
定義域に重複があるのでマージできない。
For example, 3-D data
defined in [0,1000]×[0,1000]×[0,1000]
and [500,1500]×[0,1000]×[0,1000]
cannot be merged because they have overlaps in the definition ranges.
また、[0,1000]×[0,1000]×[0,1000]の範囲で定義された3次元データ、
[1000,2000]×[0,1000]×[0,1000]の範囲で定義された3次元データ、
[1000,2000]×[1000,2000]×[0,1000]の範囲で定義された3次元データ
の3つをマージすることも出来ない。
というのは、この3つのデータをマージすると定義域は
[0,2000]×[0,2000]×[0,1000]となるが、
このうちの[0,1000]×[1000,2000]×[0,1000]の範囲のデータが
存在しないからである。
Another failed example is three 3-D data defined in
[0,1000]×[0,1000]×[0,1000],
[1000,2000]×[0,1000]×[0,1000],
and [1000,2000]×[1000,2000]×[0,1000];
they cannot be merged because
the definition range of the marged 3-D data would be
[0,2000]×[0,2000]×[0,1000]
that consists of a region of no data
in [0,1000]×[1000,2000]×[0,1000].