MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
Coons.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGCoons_HH_
6 #define _MGCoons_HH_
7 
8 #include <iosfwd>
9 #include "mg/Pvector.h"
10 
11 // MGCoons.h
12 
13 // Forward Declaration
14 class MGCurve;
15 class MGLBRep;
16 class MGSPointSeq;
17 
23 class MG_DLL_DECLR MGCoons {
25 
26 public:
27 
29 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGCoons& );
30 
32 
33 //Default constructor.
34 //MGCoons(){;};
35 
36 MGCoons(
37  MGPvector<MGLBRep>& perimeters,
38  MGPvector<MGLBRep>& derivatives
39 );
40 
41 MGCoons(
42  MGPvector<MGCurve>& perimeters,
43  MGPvector<MGCurve>& derivatives
44 );
45 
46 //Copy constructor.
47 //MGCoons(const MGCoons& rhs);
48 
50 
51 //~MGCoons();
52 
54 
55 //MGCoons& operator=(const MGCoons&); ///Assignment
56 
58 
60 const MGVector& d2fdvu(int i)const;
61 
63 const MGCurve& derivative(int i)const{return *(m_derivatives[i]);};
64 
68  double u,
69  double v
70  , int ndu=0
71  , int ndv=0
72  ) const;
73 
74 void eval(
75  const MGNDDArray& utau,
76  const MGNDDArray& vtau,
77  MGSPointSeq& spoint
78 )const;
79 
81 int sdim()const;
82 
84 
85 private:
86 
87  MGPvector<MGCurve> m_perimeters;
88  MGPvector<MGCurve> m_derivatives;
91 
97  MGVector m_f00, m_f01, m_f10, m_f11;
98  MGVector m_dfdu00, m_dfdu01, m_dfdu10, m_dfdu11;
99  MGVector m_dfdv00, m_dfdv01, m_dfdv10, m_dfdv11;
100  MGVector m_df2duv00, m_df2dvu00;
101  MGVector m_df2duv01, m_df2dvu01;
102  MGVector m_df2duv10, m_df2dvu10;
103  MGVector m_df2duv11, m_df2dvu11;
104 
105 void eval_corner();
106 MGVector eval_inner(
107  double u, double v
108  ) const;
110 };
111  // end of GEORelated group
113 #endif
MGCurve is an abstract class which represents a whole curve.
Definition: Curve.h:63
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
MGLBRep is a class for B-SPline representation.
Definition: LBRep.h:41
Vector of a general n space dimension.
Definition: Vector.h:26
Defines Coons Patch surface.
Definition: Coons.h:24
const MGCurve & derivative(int i) const
Return perimeter i's derivative data.
Definition: Coons.h:63
Defines non-decreasing double data array.
Definition: NDDArray.h:27
Defines Spoint seq of a space dimension and of a size.
Definition: SPointSeq.h:36