MGCL V10
V10
MGCL V10
|
Defines a Box of any space dimendion. [詳解]
公開メンバ関数 | |
MGBox (const MGBox &box2) | |
Copy constructor. [詳解] | |
MGBox (int dim=0) | |
MGBox (const MGInterval &xspan, const MGInterval &yspan) | |
MGBox (const MGInterval &xspan, const MGInterval &yspan, const MGInterval &zspan) | |
MGBox (const MGPosition ¢er, double *size) | |
MGBox (const MGPosition ¢er, double size=0.) | |
MGBox (const MGPosition &, const MGPosition &) | |
MGBox (const MGBox &, const MGPosition &) | |
Construct Box which contains both input box and a point. [詳解] | |
MGBox (int dim, const MGInterval *) | |
MGBox (int dim, const MGBox &box, int start1=0, int start2=0) | |
~MGBox () | |
MGBox & | operator= (const MGBox &box2) |
Assignment. [詳解] | |
const MGInterval & | operator[] (int i) const |
Return i-th Inteval. [詳解] | |
const MGInterval & | operator() (int i) const |
MGInterval & | operator[] (int i) |
Access to i-th Inteval. [詳解] | |
MGInterval & | operator() (int i) |
MGBox | operator+ (const MGVector &v) const |
MGBox & | operator+= (const MGVector &) |
MGBox | operator- (const MGVector &) const |
MGBox & | operator-= (const MGVector &) |
MGBox | operator* (double) const |
MGBox | operator* (const MGMatrix &) const |
MGBox | operator* (const MGTransf &) const |
MGBox & | operator*= (double scalar) |
MGBox & | operator*= (const MGMatrix &) |
MGBox & | operator*= (const MGTransf &) |
MGBox | operator/ (double a) const |
MGBox & | operator/= (double) |
MGBox | operator| (const MGBox &) const |
MGBox & | operator|= (const MGBox &) |
MGBox | operator& (const MGBox &) const |
MGBox & | operator&= (const MGBox &) |
bool | operator== (const MGBox &box2) const |
bool | operator!= (const MGBox &box2) const |
bool | operator>> (const MGPosition &) const |
bool | operator>> (const MGBox &) const |
bool | operator<< (const MGPosition &pt) const |
bool | operator<< (const MGBox &box2) const |
bool | crossing (const MGStraight &sl) const |
bool | cutting (const MGPlane &plane) const |
double | distance (const MGPosition &P) const |
Compute the distance from a point to the box. [詳解] | |
int | dump (MGOfstream &) const |
Dump Function. [詳解] | |
int | dump_size () const |
Calculate dump size. [詳解] | |
void | expand () |
void | expand (double len) |
void | expand (double *len) |
void | expand (const MGPosition &P) |
Expand the box so that this contains the position P. [詳解] | |
bool | empty () const |
bool | finite () const |
Return true if box is finite. [詳解] | |
MGPosition | high () const |
MGPosition | low () const |
MGPosition | mid () const |
bool | includes_origin () const |
bool | includes (const MGPosition &P) const |
Test if the point P is included in this box. [詳解] | |
bool | is_null () const |
Test if this is null box. [詳解] | |
double | len () const |
double | length () const |
Return diagonal line length. [詳解] | |
const MGInterval & | ref (int i) const |
Reference to i-th Interval. [詳解] | |
int | restore (MGIfstream &) |
Restore Function. [詳解] | |
int | sdim () const |
Return space dimension. [詳解] | |
MGBox & | set_high (const MGPosition &) |
MGBox & | set_low (const MGPosition &) |
void | set_null () |
Set this box as a null box. [詳解] | |
MGINTERVAL_TYPE | type (int i) const |
Return the type of i-th interval. [詳解] | |
std::vector< MGPosition > | vertex () const |
フレンド | |
MG_DLL_DECLR friend MGBox | operator+ (const MGVector &v, const MGBox &b) |
box translation. [詳解] | |
MG_DLL_DECLR friend MGBox | operator* (double scale, const MGBox &) |
MG_DLL_DECLR friend std::ostream & | operator<< (std::ostream &, const MGBox &) |
Print out Debug Function. [詳解] | |
Defines a Box of any space dimendion.
MGBox expresses n-dimensional space range using MGInterval, which is one dimension range of double values. All of the MGObject's have box.
MGBox::MGBox | ( | const MGBox & | box2 | ) |
Copy constructor.
|
inlineexplicit |
Void constructor. 初期化なしでBoxを生成する。
MGBox::MGBox | ( | const MGInterval & | xspan, |
const MGInterval & | yspan | ||
) |
Construct 2D Box, given x and y intervals. x,yの各インターバルを指定して2D Boxを生成する。
MGBox::MGBox | ( | const MGInterval & | xspan, |
const MGInterval & | yspan, | ||
const MGInterval & | zspan | ||
) |
Construct 3D Box, given x, y, and z intervals. x,y,zの各インターバルを指定して3D Boxを生成する。
MGBox::MGBox | ( | const MGPosition & | center, |
double * | size | ||
) |
Construct Box, given center point and sizes of each coordinates. 中心点と各辺の幅を指定しBoxを生成する。 The size's dimension is center.sdim().
MGBox::MGBox | ( | const MGPosition & | center, |
double | size = 0. |
||
) |
Construct Box, given center point and a size of each coordinates. 中心点と幅を指定しBoxを生成する(すべての辺にたいして同一の値)。 The size is applied to all the coordinates.
MGBox::MGBox | ( | const MGPosition & | , |
const MGPosition & | |||
) |
Construct Box, given two points. 2点からBoxを生成する。
MGBox::MGBox | ( | const MGBox & | , |
const MGPosition & | |||
) |
Construct Box which contains both input box and a point.
MGBox::MGBox | ( | int | dim, |
const MGInterval * | |||
) |
Construct Box by providing each Interval. ****This is the fundamental constructor.****
MGBox::MGBox | ( | int | dim, |
const MGBox & | box, | ||
int | start1 = 0 , |
||
int | start2 = 0 |
||
) |
Construct Box by copying old Box, changing space dimension and ordering of old coordinates. (*this)(start1)=box(start2), and so on.
dim | space dimension. |
box | original box. |
start1 | space dimension subscript of the constructed box for start2. |
start2 | space dimension subscript of the input box. |
MGBox::~MGBox | ( | ) |
bool MGBox::crossing | ( | const MGStraight & | sl | ) | const |
Test if the straight line sl is crossing this box or not. Function's return value is true if a part of sl is included in this box, false if not.
bool MGBox::cutting | ( | const MGPlane & | plane | ) | const |
Test if the plane is cutting this box or not. Function's return value is true: if the plane is cutting the box, false if all of the vertices of the box are in one side of the plane.
double MGBox::distance | ( | const MGPosition & | P | ) | const |
Compute the distance from a point to the box.
int MGBox::dump | ( | MGOfstream & | ) | const |
Dump Function.
int MGBox::dump_size | ( | ) | const |
Calculate dump size.
bool MGBox::empty | ( | ) | const |
Return ture if Box is empty. Boxが empty かどうか返却する
void MGBox::expand | ( | ) |
Expand the box by MGTolerance::rc_zero(). That is, operator*=(1.+ MGTolerance::rc_zero() ) will be executed.
void MGBox::expand | ( | double | len | ) |
void MGBox::expand | ( | double * | len | ) |
void MGBox::expand | ( | const MGPosition & | P | ) |
Expand the box so that this contains the position P.
bool MGBox::finite | ( | ) | const |
Return true if box is finite.
MGPosition MGBox::high | ( | ) | const |
Return maximum(high), minimum(low), or middle(mid) points of the Box. Boxの対角線の両端と中心を返却する。全ての座標値が 最小の点が low () で、最大の点が high () で返却される。
|
inline |
Test if the point P is included in this box.
bool MGBox::includes_origin | ( | ) | const |
Test if this includes the origin(0., 0., ...). 原点が自身のBox内に含まれているか返却する。
|
inline |
Test if this is null box.
double MGBox::len | ( | ) | const |
Return diagonal line length. ボックスの対角線長さを求める
|
inline |
Return diagonal line length.
MGPosition MGBox::low | ( | ) | const |
MGPosition MGBox::mid | ( | ) | const |
|
inline |
Generate a box by and operation (minimum box that is common to both boxes). 自身のBoxと与えられたBoxの共通部分のBoxを生成する。
Uppdate the box by and operation (minimum box that is common to both boxes). 自身のBoxと与えられたBoxの共通部分のBoxを 自身のBoxとする。
|
inline |
|
inline |
MGBox MGBox::operator* | ( | double | ) | const |
Generate a box by scaling the box. The mid_point of the box does not change. The width of each interval is widened(narrowed) by the multiplication of the value scalar. Boxを拡大してできるオブジェクトを生成する。
Generate a box by multiplying matrix to the original one. 与えられたマトリックスでBoxの変換を行いオブジェクトを生成する。
Generate a box by multiplying transformation to the original one. 与えられた変換でBoxの8点のトランスフォームを行い、 それらを囲むBoxのオブジェクトを生成する。
MGBox& MGBox::operator*= | ( | double | scalar | ) |
自身のBoxを拡大し自身のBoxとする。 Update the box by scaling. The mid_point of the box does not change. The width of each interval is widened(narrowed) by the multiplication of the value scalar.
update the box by multiplying matrix. 与えられたマトリックスでBoxの変換を行い自身のBoxとする。
update the box by multiplying transformation. 与えられた変換でBoxの8点のトランスフォームを行い、 それらを囲むBoxを自身のBoxとする。
Generate a box that translates the original one. Boxを順方向に平行移動してできるオブジェクトを生成する。
Update the box by translation. Boxを順方向に平行移動し自身のBoxとする。
Generate a box that translates the original one. Boxを逆方向に平行移動してできるオブジェクトを生成する。
Update the box by translation. Boxを逆方向に平行移動し自身のBoxとする。
MGBox MGBox::operator/ | ( | double | a | ) | const |
Generate a box by scaling the box. The mid_point of the box does not change. The width of each interval is widened(narrowed) by the multiplication of the value a. Boxを縮小してできるオブジェクトを生成する。
MGBox& MGBox::operator/= | ( | double | ) |
Update the box by scaling. The mid_point of the box does not change. The width of each interval is widened(narrowed) by the multiplication of the value scalar. Boxを縮小し自身のBoxとする。
|
inline |
Returns true if the box does not includes the position. 与えられたポジションが自身のBoxの範囲外にあるかどうか返却する。
|
inline |
Returns true if the box does not include the second box. 与えられたBoxが自身のBoxを囲んでいるかどうか返却する。
bool MGBox::operator== | ( | const MGBox & | box2 | ) | const |
Equal and not equal operations of two boxes. 自身と与えられたBoxが等しいかどうかを返却する。 一方のBoxの全ての辺がもう一方の相当する辺に重なる場合 TRUE を返却する。
bool MGBox::operator>> | ( | const MGPosition & | ) | const |
与えられたポジションが自身のBox内に含まれているか返却する。 ポジションがBox内にある場合 TRUE を返却する。 完全にポジションが自身のBox内にある場合、含まれるとみなす。 Returns true if the box includes the position.
bool MGBox::operator>> | ( | const MGBox & | ) | const |
Returns true if the box includes the second box. 自身のBoxが与えられたBoxを囲んでいるか返却する。 与えられたBoxが自身のBox内にある場合 TRUE を返却する。 与えられたBoxがNULL の場合は、FALSE 。
|
inline |
Return i-th Inteval.
|
inline |
Access to i-th Inteval.
Generate a box by or operation(minimum box that includes both boxes). 自身のBoxと与えられたBoxを内包する最小のBoxを生成する。
Update the box by or operation(minimum box that includes both boxes). 自身のBoxと与えられたBoxを内包する最小のBoxを 自身のBoxとする。
const MGInterval& MGBox::ref | ( | int | i | ) | const |
Reference to i-th Interval.
int MGBox::restore | ( | MGIfstream & | ) |
Restore Function.
|
inline |
Return space dimension.
MGBox& MGBox::set_high | ( | const MGPosition & | ) |
Update maximum coordinate values by input data. 自身のBoxの最大座標値を指定された点に変更する.
MGBox& MGBox::set_low | ( | const MGPosition & | ) |
Update minimum coordinate values by input data. 自身のBoxの最小座標値を指定された点に変更する.
void MGBox::set_null | ( | ) |
Set this box as a null box.
|
inline |
Return the type of i-th interval.
std::vector<MGPosition> MGBox::vertex | ( | ) | const |
vertex computes all the vertices of the box. Return array of Position as the vertices.
Boxを拡大してできるオブジェクトを生成する. Generates a box by scaling.
|
friend |
Print out Debug Function.