MGCL V10
V10
MGCL V10
|
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 () | |
MGSBRepEndC & | operator= (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 MGBPointSeq & | first (int i) const |
Return i-th perimeter's first and second derivatives. [詳解] | |
const MGBPointSeq & | second (int i) const |
const MGVector & | deriv11 (int i) const |
const MGVector & | deriv12 (int i) const |
const MGVector & | deriv21 (int i) const |
const MGVector & | deriv22 (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)
utau | u-direction data point |
vtau | v-direction data point |
|
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.
|
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)
|
inline |
|
inline |
|
inline |
|
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 | ) |
|
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 | ||
) |
|
friend |