MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
FOuterCurve.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGFOuterCurve_HH_
6 #define _MGFOuterCurve_HH_
7 
8 #include <iosfwd>
9 #include "mg/MGCL.h"
10 class MGLoop;
11 
12 //
13 //Define MGFOuterCurve Class.
14 
16 
18 
21 class MG_DLL_DECLR MGFOuterCurve{
22 
23 public:
24 
26 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGFOuterCurve& );
27 
29 MGFOuterCurve(){;};
30 
32 MGFOuterCurve(
33  int peri_id,
34  double t1,
35  double t2
36 ):m_peri_id(peri_id){m_t[0]=t1;m_t[1]=t2;};
37 
39 MGFOuterCurve(
40  const MGLoop* loop
41 ):m_peri_id(-1), m_loop(loop){;};
42 
44 
46 
48 bool is_perimeter_curve() const{return m_peri_id>=0;};
49 
51 bool is_loop() const{return m_peri_id<0;};
52 
54 const MGLoop* loop() const{return m_loop;};
55 
57 int perimeter_id() const{return m_peri_id;};
58 
60 void range(double& t0, double& t1)const{ t0=m_t[0]; t1=m_t[1];};
61 
62 private:
63  int m_peri_id;
64  const MGLoop* m_loop;
66  double m_t[2];
68 
70 };
71 
73 #endif
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
MGLoop is a boundary of a face, a boundary of 2D manifold cell.
Definition: Loop.h:44