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

Defines End Condition of Surface B-Representation. [詳解]

公開メンバ関数

 MGSBRepEndC ()
 Default Constructor. [詳解]
 
 MGSBRepEndC (const MGNDDArray &utau, const MGNDDArray &vtau, const MGCoons &coons)
 Construct from a Coon's patch. [詳解]
 
 MGSBRepEndC (const MGNDDArray &utau, const MGNDDArray &vtau, const MGBSumSurf &bssurf)
 Construct from a Coon's patch. [詳解]
 
 MGSBRepEndC (const MGSBRepEndC &ec)
 Copy Constructor. [詳解]
 
 ~MGSBRepEndC ()
 
MGSBRepEndCoperator= (const MGSBRepEndC &ec)
 
void complete_corner_deriv (const MGNDDArray &utau, const MGNDDArray &vtau)
 Complete corner derivatives(twist vectors and higher order derivatives) [詳解]
 
MGENDCOND cond (int i) const
 
const MGBPointSeqfirst (int i) const
 Return i-th perimeter's first and second derivatives. [詳解]
 
const MGBPointSeqsecond (int i) const
 
const MGVectorderiv11 (int i) const
 
const MGVectorderiv12 (int i) const
 
const MGVectorderiv21 (int i) const
 
const MGVectorderiv22 (int i) const
 
void initialize ()
 
void set_1st (int i, const MGBPointSeq &first_deriv)
 
void set_1st (int i, std::auto_ptr< MGBPointSeq > &first_derivp)
 
void set_2nd (int i, const MGBPointSeq &second_deriv)
 
void set_2nd (int i, std::auto_ptr< MGBPointSeq > &second_derivp)
 
void set_11d (int i, const MGVector &deriv)
 Set m_11d[i] inf(d2f/(du*dv)) of i-th corner. [詳解]
 
void set_12d (int i, const MGVector &deriv)
 Set m_12d[i] inf(d3f/(du*dv**2)) of i-th corner. [詳解]
 
void set_21d (int i, const MGVector &deriv)
 Set m_21d[i] inf(d3f/(du**2*dv)) of i-th corner. [詳解]
 
void set_22d (int i, const MGVector &deriv)
 Set m_22d[i] inf(d4f/du**2*dv**2) of i-th corner. [詳解]
 

フレンド

MG_DLL_DECLR friend std::ostream & operator<< (std::ostream &, const MGSBRepEndC &)
 

詳解

Defines End Condition of Surface B-Representation.

Class for MGSBRep constructor like: MGSBRep( ///BLG4SP...Derivative Inf. MGSBRepEndC& endc, ///end condition const MGNDDArray& utaui, ///Data point of u-direction of value const MGNDDArray& vtaui, ///Data point of v-direction of value const MGSPointSeq& value, ///Data point ordinate int &error); ///Error flag. Provides four perimeter end conditions and four corners end conditions. For a perimeter, four types of conditions can be applied: MGENDC_NO: no end cond(only positional data) MGENDC_1D: 1st deravative provided. MGENDC_2D: 2nd deravative provided. MGENDC_12D: both 1st and 2nd deravatives provided. When m_cond[0]=MGENDC_1D and m_cond[1]=MGENDC_1D, twist vector d2f/(du*dv) is necessary at the corner of u=max and v=min. Although users can provide the data, complete_corner_deriv computes the data from given data if not provided. At other corners or for other conditions, the same.

To construct MGSBRepEndC, first construct through void constructor. Then use set_1st(), set_2nd, set_11d(), set_12d(), set_21d(), or set_22d() to complete. Any of set_11d(), set_12d(), set_21d(), or set_22d() can be omitted. complete_corner_deriv will compute instead. This is done in SBRep constructor.

構築子と解体子

MGSBRepEndC::MGSBRepEndC ( )

Default Constructor.

MGSBRepEndC::MGSBRepEndC ( const MGNDDArray utau,
const MGNDDArray vtau,
const MGCoons coons 
)

Construct from a Coon's patch.

MGSBRepEndC::MGSBRepEndC ( const MGNDDArray utau,
const MGNDDArray vtau,
const MGBSumSurf bssurf 
)

Construct from a Coon's patch.

MGSBRepEndC::MGSBRepEndC ( const MGSBRepEndC ec)

Copy Constructor.

MGSBRepEndC::~MGSBRepEndC ( )

関数詳解

void MGSBRepEndC::complete_corner_deriv ( const MGNDDArray utau,
const MGNDDArray vtau 
)

Complete corner derivatives(twist vectors and higher order derivatives)

引数
utauu-direction data point
vtauv-direction data point
MGENDCOND MGSBRepEndC::cond ( int  i) const
inline

Return i-th perimeter's condition. i=0, 2 are v=min and max u-parameter line. i=1, 3 are u=max and min v-parameter line.

const MGVector& MGSBRepEndC::deriv11 ( int  i) const
inline

Return i-th corner's derivative inf. i=0:(u-min, v-min), =1:(u-max, v-min), =2:(u-max, v-max), =3:(u-min, v-max)

const MGVector& MGSBRepEndC::deriv12 ( int  i) const
inline
const MGVector& MGSBRepEndC::deriv21 ( int  i) const
inline
const MGVector& MGSBRepEndC::deriv22 ( int  i) const
inline
const MGBPointSeq& MGSBRepEndC::first ( int  i) const
inline

Return i-th perimeter's first and second derivatives.

void MGSBRepEndC::initialize ( )

Initialize the instance. Will be set to the same as constructed by the void constructor.

MGSBRepEndC& MGSBRepEndC::operator= ( const MGSBRepEndC ec)
const MGBPointSeq& MGSBRepEndC::second ( int  i) const
inline
void MGSBRepEndC::set_11d ( int  i,
const MGVector deriv 
)

Set m_11d[i] inf(d2f/(du*dv)) of i-th corner.

void MGSBRepEndC::set_12d ( int  i,
const MGVector deriv 
)

Set m_12d[i] inf(d3f/(du*dv**2)) of i-th corner.

void MGSBRepEndC::set_1st ( int  i,
const MGBPointSeq first_deriv 
)

Set 1st deriv of i-th perimeter and change condition type to MGENDC_1D or MGENDC_12D. For i=0 and 2, first_deriv=df/dv, for i=1 and 3 first_deriv=df/du 1st form is to copy first_deriv, and 2nd form is to transfer the ownership of the first_derivp to SBRepEndC. 2nd form is recommended since no copy takes place.

void MGSBRepEndC::set_1st ( int  i,
std::auto_ptr< MGBPointSeq > &  first_derivp 
)
void MGSBRepEndC::set_21d ( int  i,
const MGVector deriv 
)

Set m_21d[i] inf(d3f/(du**2*dv)) of i-th corner.

void MGSBRepEndC::set_22d ( int  i,
const MGVector deriv 
)

Set m_22d[i] inf(d4f/du**2*dv**2) of i-th corner.

void MGSBRepEndC::set_2nd ( int  i,
const MGBPointSeq second_deriv 
)

Set 2nd deriv of i-th perimeter and change condition type to MGENDC_2D or MGENDC_12D. For i=0 and 2, first_deriv=d2f/dv**2, for i=1 and 3 first_deriv=d2f/du**2 1st form is to copy second_deriv, and 2nd form is to transfer the ownership of the second_derivp to SBRepEndC. 2nd form is recommended since no copy takes place.

void MGSBRepEndC::set_2nd ( int  i,
std::auto_ptr< MGBPointSeq > &  second_derivp 
)

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

MG_DLL_DECLR friend std::ostream& operator<< ( std::ostream &  ,
const MGSBRepEndC  
)
friend

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