MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
mgTL2Fans クラス

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 mgTL2Fanoperator[] (int i) const
 
mgTL2Fanoperator[] (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.

型定義メンバ詳解

構築子と解体子

mgTL2Fans::mgTL2Fans ( const MGLoop polygon)
引数
polygonThe target polygon, that is, a outer loop of a MGFace.
mgTL2Fans::mgTL2Fans ( std::vector< const mgTL2Polyline * > &  polylines)
mgTL2Fans::mgTL2Fans ( const mgTL2LPline  pline[4])
引数
plineFour edges that constitute a closed polygon.
mgTL2Fans::mgTL2Fans ( const mgTL2Polyline pline[4])
引数
plineFour edges that constitute a closed polygon.

関数詳解

const_iterator mgTL2Fans::begin ( ) const
inline
iterator mgTL2Fans::begin ( )
inline
const_iterator mgTL2Fans::end ( ) const
inline
iterator mgTL2Fans::end ( )
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.

const mgTL2Fan* mgTL2Fans::operator[] ( int  i) const
inline
mgTL2Fan* mgTL2Fans::operator[] ( int  i)
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βのインデックス
void mgTL2Fans::push_back ( mgTL2Fan fan)
inline
void mgTL2Fans::push_back ( mgTL2Fans fans)
inline
void mgTL2Fans::set_edge_used ( int  alpha,
int  beta 
)

Set edge(alpha,j) as used.

int mgTL2Fans::size ( ) const
inline

Get the number of fans included.

void mgTL2Fans::triangulate ( mgTL2Triangles triangles) const

Triangulate polygon. The result will be appended onto triangles.

引数
trianglesTriangulated 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.

フレンドと関連関数の詳解

std::ostream& operator<< ( std::ostream &  out,
const mgTL2Fans fans 
)
friend

このクラス詳解は次のファイルから抽出されました: