MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
TrimLoop.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGTrimLoop_HH_
6 #define _MGTrimLoop_HH_
7 
8 #include <iosfwd>
9 #include "topo/LEPoint.h"
10 
11 class MGLoop;
12 
17 
21 class MG_DLL_DECLR MGTrimLoop{
22 
23 public:
24 
26  MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGTrimLoop&);
27 
28  MGTrimLoop():m_loop(0){;}
29  MGTrimLoop(const MGTrimLoop& linf2);
30  MGTrimLoop( MGLoop* loop,int star_loop_id,MGLEPoint& start_lep,int end_loop_id,MGLEPoint& end_lep);
31 
32  ~MGTrimLoop();
33  MGTrimLoop& operator=(const MGTrimLoop& loop2);
34  MGVector eval_start_deriv()const;
35  MGVector eval_end_deriv()const;
36  bool is_null()const{return m_loop==0;};
37  MGLoop* loop(){return m_loop;};
38  MGLoop* release_loop();
39 
40  bool start_is_on_boundary(){return m_start_loopid==4 || m_start_loopid<0;};
41  MGLEPoint start_lep()const{return m_start;};
42 
44  int start_loopid()const;
45 
46  bool end_is_on_boundary(){return m_end_loopid==4 || m_end_loopid<0;};
47  MGLEPoint end_lep()const{return m_end;};
48 
50  int end_loopid()const;
51 
52  void set_null();
53 
55  void set_used_loop_flag(std::vector<bool>& used_loops)const;
56 
57 private:
58  MGLoop* m_loop;
59  int m_start_loopid;
62  MGLEPoint m_start;
63 
65  int m_end_loopid;
68  MGLEPoint m_end;
69 
71 };
72  // end of TOPORelated group
74 #endif
MGTrimLoop()
Definition: TrimLoop.h:28
MGLEPoint start_lep() const
Definition: TrimLoop.h:41
bool is_null() const
Definition: TrimLoop.h:36
MGLoop * loop()
Definition: TrimLoop.h:37
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
Vector of a general n space dimension.
Definition: Vector.h:26
MGTrimLoop is a private and utility class to implement trimming of MGFSurface.
Definition: TrimLoop.h:21
MGLEPoint end_lep() const
Definition: TrimLoop.h:47
bool end_is_on_boundary()
Definition: TrimLoop.h:46
Is to represent a Loop's point.
Definition: LEPoint.h:28
MGLoop is a boundary of a face, a boundary of 2D manifold cell.
Definition: Loop.h:44
bool start_is_on_boundary()
Definition: TrimLoop.h:40