MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
MGCL.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 
74 //
75 // MGCL.h
76 
77 #ifndef _MGCL_HH_
78 #define _MGCL_HH_
79 
80 #include <MGCLDefs.h>
81 
87 extern MG_DLL_DECLR const char* _MGCL_VER;
88 extern MG_DLL_DECLR const char* _MGCL_FILE;
89 // Maestro's Geometry Classes Library version 5.30
90 // <<<<<<<<<<4/20/2001>>>>>>>>>>>> //
91 // たとえば4.10の場合は MGCL0410になる。
92 
94 const double mgPAI = 3.1415926535897932384626433833;
95 
98 const double mgHALFPAI = mgPAI/2.;
99 
101 const double mgDBLPAI = mgPAI*2.;
102 
107 const double mgInfiniteVal = 1.e+20;
108 
114 };
115 
126 };
128 
138 };
141 
155 };
156 
162 };
163 
170 };
171 
187 };
188 
192  MGCCREL_ISECT,
197 };
198 
207 };
208 
212  MGSSREL_ISECT,
216 };
217 
219 enum MGENDCOND {
225 };
226 
232 };
233 
235 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGINTERVAL_TYPE rel);
236 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGPSRELATION rel);
237 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGCURVE_TYPE rel);
238 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGELLIPSE_TYPE rel);
239 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGSTRAIGHT_TYPE rel);
240 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGSURFACE_TYPE rel);
241 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGCCRELATION rel);
242 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGCSRELATION rel);
243 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGSSRELATION rel);
244 MG_DLL_DECLR std::ostream& operator<< (std::ostream& out, MGENDCOND rel);
245 
248 namespace MGCL{
249 
251 enum fan_kind{
253 
256 
260 };
261 
267 };
268 
271 enum VIEWMODE{
273  WIRE=1,
277 };
278 
281  UV=0,
284 };
286 
288 extern MG_DLL_DECLR const char* Version();
289 
291 extern MG_DLL_DECLR const char* File_validity();
292 
293 double MG_DLL_DECLR max(double a, double b);
294 double MG_DLL_DECLR min(double a, double b);
295 int MG_DLL_DECLR max(int a, int b);
296 int MG_DLL_DECLR min(int a, int b);
297 
299 double MG_DLL_DECLR Max3(double a1, double a2, double a3);
300 
302 inline double degree_to_radian(double degree){
303  const double coef = mgPAI / 180.;
304  return degree * coef;
305 }
306 
308 inline double radian_to_degree(double radian){
309  const double coef = 180. / mgPAI;
310  return radian * coef;
311 }
312 
314 
317 void MG_DLL_DECLR start_up(
318  bool need_to_GdiStartUp=false
319 );
320 
322 void MG_DLL_DECLR shut_down();
323 
325 double MG_DLL_DECLR decimalAlign(double dValue, int nDigit = 4);
326 
327 
328 static ULONG_PTR m_gdiplusToken;
329 
331 static bool m_gdiplus_initialized;
332 
333 };
334 
335  // end of BASE group
337 #endif
Definition: MGCL.h:137
MGINFINITE_TYPE
Infinite type.
Definition: MGCL.h:110
STRIP triangles may cover multiple rectangles.
Definition: MGCL.h:252
Definition: MGCL.h:276
void MG_DLL_DECLR shut_down()
Shut down the MGCL.
fan_kind
Tessellation parameter to select fan kind for the tessellation.
Definition: MGCL.h:251
double MG_DLL_DECLR min(double a, double b)
SURFACE_CURVATURE_KIND
Definition: MGCL.h:262
double MG_DLL_DECLR decimalAlign(double dValue, int nDigit=4)
桁合わせ、デフォルトでは上から4桁を残し、後は切り捨てる.
double degree_to_radian(double degree)
convert the angle unit from degree to radian.
Definition: MGCL.h:302
Definition: MGCL.h:179
Parallel. 平行
Definition: MGCL.h:135
Tangent. 接する
Definition: MGCL.h:214
const double mgDBLPAI
2.0 * π 値の設定
Definition: MGCL.h:101
Definition: MGCL.h:272
data included are surface parameter (u,v).
Definition: MGCL.h:281
MGSTRAIGHT_TYPE
Straight line type(直線の種類).
Definition: MGCL.h:165
like a csTriFanSet
Definition: MGCL.h:230
Unknown(usually not used).未知
Definition: MGCL.h:220
double MG_DLL_DECLR max(double a, double b)
TL_DATA_KIND
Triangles' data kind.
Definition: MGCL.h:280
Definition: MGCL.h:119
MGCCRELATION
Relation of curve and curve(曲線と曲線の交点の関係).
Definition: MGCL.h:190
no end cond(only positional data)
Definition: MGCL.h:223
MGStraight(Straight line). 直線
Definition: MGCL.h:145
MGTrimmedCurve(Trimmed curve)
Definition: MGCL.h:150
MGPSRELATION
Definition: MGCL.h:131
Auxiliary surface type 1.
Definition: MGCL.h:184
Definition: MGCL.h:123
Plane. 平面
Definition: MGCL.h:175
Intersection at right angle. 直交
Definition: MGCL.h:194
Curve is included in surface. 曲線が曲面に含まれている
Definition: MGCL.h:206
Two curves are tangent. 接する
Definition: MGCL.h:195
Definition: MGCL.h:211
mgTESTRIANG
a set of triangl type(3角形頂点リストのタイプ).
Definition: MGCL.h:228
MG_DLL_DECLR const char * _MGCL_VER
Minus infinite.
Definition: MGCL.h:111
void MG_DLL_DECLR start_up(bool need_to_GdiStartUp=false)
Start up the MGCL.
B-Spline(MGRLBRep)
Definition: MGCL.h:148
STRIP triangles may cover multiple rectangles.
Definition: MGCL.h:255
Half unlimit. 半直線
Definition: MGCL.h:168
const double mgHALFPAI
π/2 値の設定
Definition: MGCL.h:98
Definition: MGCL.h:181
1st deravative provided.
Definition: MGCL.h:221
MGSurfCurve(Parameter line of a surface)
Definition: MGCL.h:149
Auxiliary curve type 1.
Definition: MGCL.h:152
Sphere. 球面
Definition: MGCL.h:177
the maximum curvature
Definition: MGCL.h:266
MULTIPLE_TRIANGLES, but STRIP triangles cover only one tessellated rectagle.
Definition: MGCL.h:259
data included are surface world coordinate (x,y,z).
Definition: MGCL.h:282
the minimum curvature
Definition: MGCL.h:265
both 1st and 2nd deravatives provided.
Definition: MGCL.h:224
Intersection. 交差(接する、一致以外)
Definition: MGCL.h:213
2nd deravative provided.
Definition: MGCL.h:222
Intersection. 交差(直交、接する、一致以外)
Definition: MGCL.h:193
Auxiliary surface type 2.
Definition: MGCL.h:185
Definition: MGCL.h:121
const double mgPAI
π 値の設定
Definition: MGCL.h:94
Unknown. 不明
Definition: MGCL.h:132
double MG_DLL_DECLR Max3(double a1, double a2, double a3)
Compute the difference of min and max of the three doubles a1, a2, and a3.
MG_DLL_DECLR const char * File_validity()
Get the MGCL File validity.
surface mode
Definition: MGCL.h:274
Segment ellipse. セグメント
Definition: MGCL.h:160
mean curvature
Definition: MGCL.h:264
MGELLIPSE_TYPE
Ellipse type(楕円の種類).
Definition: MGCL.h:158
Finite.
Definition: MGCL.h:112
MGCompositeCurve(Composite Curve)
Definition: MGCL.h:151
Tangent from inner of surface.曲面の内側から接している
Definition: MGCL.h:204
Boolean sum curve.
Definition: MGCL.h:154
Plus infinite.
Definition: MGCL.h:113
Coincident. 一致する
Definition: MGCL.h:215
Line segment. 線分
Definition: MGCL.h:167
Definition: Curve.h:1282
B-Spline(MGLBRep). スプライン
Definition: MGCL.h:147
double radian_to_degree(double radian)
convert the angle unit from radian to degree.
Definition: MGCL.h:308
VIEWMODE
Definition: MGCL.h:271
SINGLE_TRIANGLE, but STRIP triangles cover only one tessellated rectagle.
Definition: MGCL.h:258
Empty. 空
Definition: MGCL.h:166
Unknown.
Definition: MGCL.h:229
Auxiliary curve type 2.
Definition: MGCL.h:153
Two curves are coincident. 一致する
Definition: MGCL.h:196
Unknown. 未知
Definition: MGCL.h:201
Torus. 円環面
Definition: MGCL.h:178
MGCURVE_TYPE
Curve type(曲線の種類).
Definition: MGCL.h:143
Unlimit line for both direction. 無限直線
Definition: MGCL.h:169
Closed(Whole) ellipse.閉じた楕円
Definition: MGCL.h:161
Unknown. 不明
Definition: MGCL.h:174
Empty interval. Interval は空集合
Definition: MGCL.h:118
Definition: MGCL.h:125
Cone. 円錐
Definition: MGCL.h:176
MGENDCOND
End condition to get spline by interpolation.
Definition: MGCL.h:219
Boolean sum surface.
Definition: MGCL.h:186
Cylinder surface(A special case of MGSURFACE_CONE)
Definition: MGCL.h:183
MG_DLL_DECLR const char * _MGCL_FILE
Definition: MGCL.h:191
MGINTERVAL_TYPE
MGInterval type.
Definition: MGCL.h:117
Unkown. 不明
Definition: MGCL.h:144
MGEllipse(Ellipse). 楕円
Definition: MGCL.h:146
Torsion. ねじれ
Definition: MGCL.h:133
MGSURFACE_TYPE
Surface type(曲面の種類).
Definition: MGCL.h:173
Intersection. 交差
Definition: MGCL.h:134
ntersection from outer of surface. 曲面の外側からの交点
Definition: MGCL.h:203
const double mgInfiniteVal
Definition: MGCL.h:107
Gaussian curvature.
Definition: MGCL.h:263
(x,y,z,Nx,Ny,Nz).
Definition: MGCL.h:283
MG_DLL_DECLR std::ostream & operator<<(std::ostream &out, MGINTERVAL_TYPE rel)
Dbug function. デバッグ関数
MG_DLL_DECLR const char * Version()
Get the MGCL_Version number.
Tangent from outer of surface.曲面の外側から接している
Definition: MGCL.h:205
MGCSRELATION
Relation of curve and surface(曲線と曲面の交点の関係).
Definition: MGCL.h:200
MGSSRELATION
Relation of Surface and Surface(SurfaceとSurfaceの交線の関係).
Definition: MGCL.h:210
Empty ellipse. 空
Definition: MGCL.h:159
Coincidence. 包含
Definition: MGCL.h:136
wire and surface mode
Definition: MGCL.h:275
Intersection from inner of surface. 曲面の内側からの交点
Definition: MGCL.h:202
wire frame mode
Definition: MGCL.h:273
like a csTriStripSet
Definition: MGCL.h:231