MGCL V10
V10
MGCL V10
|
Defines a vector mgTL2Fan. [詳解]
公開型 | |
typedef MGPvector< mgTL2Fan > ::iterator | iterator |
typedef MGPvector< mgTL2Fan > ::const_iterator | const_iterator |
公開メンバ関数 | |
mgTL2Fans (const MGLoop &polygon) | |
mgTL2Fans (std::vector< const mgTL2Polyline * > &polylines) | |
mgTL2Fans (const mgTL2LPline pline[4]) | |
mgTL2Fans (const mgTL2Polyline *pline[4]) | |
const mgTL2Fan * | operator[] (int i) const |
mgTL2Fan * | operator[] (int i) |
const_iterator | begin () const |
const_iterator | end () const |
iterator | begin () |
iterator | end () |
int | find3rdV (int alpha, int beta, int &status) |
3点目の頂点(id of m_fans)を求める(頂点は使用点となる) [詳解] | |
void | init_edgeStack (mgTL2FanEdges &edgeStack) |
bool | is_boundary (int alpha, int beta) const |
Test if the edge(alpha, beta) is boundary or not. [詳解] | |
bool | has_isect (int v1, int v2) const |
void | push_back (mgTL2Fan *fan) |
void | push_back (mgTL2Fans &fans) |
void | push1Vaft (int alpha, int beta, int gamma) |
void | push1Vbefore (int alpha, int beta, int gamma) |
void | push2V (int gamma, int alpha, int beta) |
目的:中心点(center)がgammaで頂点(alpha,beta)のものを新規に作成する [詳解] | |
void | set_edge_used (int alpha, int beta) |
Set edge(alpha,j) as used. [詳解] | |
int | size () const |
Get the number of fans included. [詳解] | |
void | triangulate (mgTL2Triangles &triangles) const |
bool | used (int alpha) const |
check if vertex(alpha) is used or not. [詳解] | |
bool | used (int alpha, int beta) const |
check if edge(alpha, beta) is used or not. [詳解] | |
MGPosition | uv (int i) const |
Retrieve surface parameter value (u,v) of the i-th vertex. [詳解] | |
MGPosition | xyz (int i, bool need_normal) const |
Retrieve world coordinate value (x,y,z) of the i-th vertex. [詳解] | |
フレンド | |
std::ostream & | operator<< (std::ostream &out, const mgTL2Fans &fans) |
Defines a vector mgTL2Fan.
private class for tessellation.
typedef MGPvector<mgTL2Fan>::iterator mgTL2Fans::iterator |
mgTL2Fans::mgTL2Fans | ( | const MGLoop & | polygon | ) |
polygon | The target polygon, that is, a outer loop of a MGFace. |
mgTL2Fans::mgTL2Fans | ( | std::vector< const mgTL2Polyline * > & | polylines | ) |
mgTL2Fans::mgTL2Fans | ( | const mgTL2LPline | pline[4] | ) |
pline | Four edges that constitute a closed polygon. |
mgTL2Fans::mgTL2Fans | ( | const mgTL2Polyline * | pline[4] | ) |
pline | Four edges that constitute a closed polygon. |
|
inline |
|
inline |
|
inline |
|
inline |
int mgTL2Fans::find3rdV | ( | int | alpha, |
int | beta, | ||
int & | status | ||
) |
3点目の頂点(id of m_fans)を求める(頂点は使用点となる)
alpha | エッジの始点(id of m_fans) |
beta | エッジの終点(id of m_fans) |
status | ステータス |
bool mgTL2Fans::has_isect | ( | int | v1, |
int | v2 | ||
) | const |
線分(v1,v2)が既存のedgeと交点があるかどうかを調べる Function's return: true if had isect.
v1 | 線分1の点 |
v2 | 線分1の点 |
void mgTL2Fans::init_edgeStack | ( | mgTL2FanEdges & | edgeStack | ) |
Fan生成に必要な変数の準備を行う edgeStackにedgeのstackを積む
bool mgTL2Fans::is_boundary | ( | int | alpha, |
int | beta | ||
) | const |
Test if the edge(alpha, beta) is boundary or not.
|
inline |
|
inline |
void mgTL2Fans::push1Vaft | ( | int | alpha, |
int | beta, | ||
int | gamma | ||
) |
目的:中心点(center)がalphaのmgTL2Fanに対し、頂点gammaを基準betaの 後ろに追加する
alpha | 中心点のインデックス |
beta | 追加する頂点のインデックス |
gamma | 基準となる頂点のインデックス |
void mgTL2Fans::push1Vbefore | ( | int | alpha, |
int | beta, | ||
int | gamma | ||
) |
目的:中心点(center)がalphaのmgTL2Fanに対し、頂点betaを基準gammaの 前に追加する
alpha | 中心点のインデックス |
beta | 追加する頂点のインデックス |
gamma | 基準となる頂点のインデックス |
void mgTL2Fans::push2V | ( | int | gamma, |
int | alpha, | ||
int | beta | ||
) |
目的:中心点(center)がgammaで頂点(alpha,beta)のものを新規に作成する
gamma | γのインデックス |
alpha | αのインデックス |
beta | βのインデックス |
|
inline |
|
inline |
void mgTL2Fans::set_edge_used | ( | int | alpha, |
int | beta | ||
) |
Set edge(alpha,j) as used.
|
inline |
Get the number of fans included.
void mgTL2Fans::triangulate | ( | mgTL2Triangles & | triangles | ) | const |
Triangulate polygon. The result will be appended onto triangles.
triangles | Triangulated data will be appended. |
bool mgTL2Fans::used | ( | int | alpha | ) | const |
check if vertex(alpha) is used or not.
bool mgTL2Fans::used | ( | int | alpha, |
int | beta | ||
) | const |
check if edge(alpha, beta) is used or not.
MGPosition mgTL2Fans::uv | ( | int | i | ) | const |
Retrieve surface parameter value (u,v) of the i-th vertex.
MGPosition mgTL2Fans::xyz | ( | int | i, |
bool | need_normal | ||
) | const |
Retrieve world coordinate value (x,y,z) of the i-th vertex.
|
friend |