MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
SBRepEndC.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGSBRepEndC_HH_
6 #define _MGSBRepEndC_HH_
7 #include <assert.h>
8 #include <memory>
9 #include "mg/MGCL.h"
10 #include "mg/Vector.h"
11 #include "mg/BPointSeq.h"
12 
13 // MGSBRepEndC.h
14 //
15 
16 class MGNDDArray;
17 class MGCoons;
18 class MGBSumSurf;
19 
25 
51 class MG_DLL_DECLR MGSBRepEndC {
52 public:
53 
55 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGSBRepEndC& );
56 
58 
60 MGSBRepEndC();
61 
64  const MGNDDArray& utau,
65  const MGNDDArray& vtau,
66  const MGCoons& coons
67 );
68 
71  const MGNDDArray& utau,
72  const MGNDDArray& vtau,
73  const MGBSumSurf& bssurf
74 );
75 
77 MGSBRepEndC(const MGSBRepEndC& ec);
78 
80 ~MGSBRepEndC();
81 
83 
84 MGSBRepEndC& operator=(const MGSBRepEndC& ec);
85 
87 
89 void complete_corner_deriv
90  (const MGNDDArray& utau,
91  const MGNDDArray& vtau
92 );
93 
97 MGENDCOND cond(int i) const {assert(i<4); return m_cond[i];}
98 
100 const MGBPointSeq& first(int i) const{assert(i<4);return *(m_1deriv[i]);}
101 const MGBPointSeq& second(int i) const{assert(i<4);return *(m_2deriv[i]);}
102 
106 const MGVector& deriv11(int i) const{assert(i<4);return m_11d[i];}
107 const MGVector& deriv12(int i) const{assert(i<4);return m_12d[i];}
108 const MGVector& deriv21(int i) const{assert(i<4);return m_21d[i];}
109 const MGVector& deriv22(int i) const{assert(i<4);return m_22d[i];}
110 
113 void initialize();
114 
122 void set_1st(int i, const MGBPointSeq& first_deriv);
123 void set_1st(int i, std::auto_ptr<MGBPointSeq>& first_derivp);
124 
132 void set_2nd(int i, const MGBPointSeq& second_deriv);
133 void set_2nd(int i, std::auto_ptr<MGBPointSeq>& second_derivp);
134 
136 void set_11d(int i, const MGVector& deriv);
137 
139 void set_12d(int i, const MGVector& deriv);
140 
142 void set_21d(int i, const MGVector& deriv);
143 
145 void set_22d(int i, const MGVector& deriv);
146 
147 private:
149  MGENDCOND m_cond[4];
150  MGBPointSeq* m_1deriv[4];
153  MGBPointSeq* m_2deriv[4];
155 
157  MGVector m_11d[4];
158  MGVector m_12d[4];
161  MGVector m_21d[4];
162  MGVector m_22d[4];
163  int m_sdim, m_nu, m_nv;
164 
166 };
167  // end of GEORelated group
169 
170 #endif
MGENDCOND cond(int i) const
Definition: SBRepEndC.h:97
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
const MGVector & deriv12(int i) const
Definition: SBRepEndC.h:107
Vector of a general n space dimension.
Definition: Vector.h:26
Defines Boolean sum surface.
Definition: BSumSurf.h:26
Defines Coons Patch surface.
Definition: Coons.h:24
Defines End Condition of Surface B-Representation.
Definition: SBRepEndC.h:51
Defines BPoint seq of a space dimension and of a capacity.
Definition: BPointSeq.h:38
const MGVector & deriv11(int i) const
Definition: SBRepEndC.h:106
const MGBPointSeq & second(int i) const
Definition: SBRepEndC.h:101
const MGBPointSeq & first(int i) const
Return i-th perimeter's first and second derivatives.
Definition: SBRepEndC.h:100
MGENDCOND
End condition to get spline by interpolation.
Definition: MGCL.h:219
Defines non-decreasing double data array.
Definition: NDDArray.h:27
const MGVector & deriv22(int i) const
Definition: SBRepEndC.h:109
const MGVector & deriv21(int i) const
Definition: SBRepEndC.h:108