MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
LEPoint.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGLEPoint_HH_
6 #define _MGLEPoint_HH_
7 
12 #include "mg/Unit_vector.h"
13 #include "topo/Complex.h"
14 
15 class MGLCisect;
16 class MGLPoint;
17 class MGLoop;
18 class MGEdge;
19 
20 //
21 //Define MGLEPoint Class.
22 
24 
28 class MG_DLL_DECLR MGLEPoint{
29 
30 public:
31 
33 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGLEPoint& );
34 
36 MGLEPoint(){;};
39  double t)
40  :m_i(i), m_t(t){;};
41 
43 MGLEPoint(
44  const MGLoop& lp,
45  int i,
46  double t
47 );
48 
50 MGLEPoint(const MGLCisect& lci);
51 
53 MGLEPoint(
54  const MGLoop& loop1,
55  const MGLEPoint& lep,
56  const MGLoop& loop2
57 );
58 
60 
62 bool operator< (const MGLEPoint& lp)const;
63 bool operator> (const MGLEPoint& lp)const;
64 bool operator<= (const MGLEPoint& lp)const;
65 bool operator>= (const MGLEPoint& lp)const;
66 bool operator== (const MGLEPoint& lp)const;
67 bool operator!= (const MGLEPoint& lp)const{return !operator==(lp);};
68 
70 
72 const MGEdge* edge() const;
73 MGEdge* edge_to_update() const;
74 
76 int edge_num()const;
77 
81 MGVector eval(int nderi=0)const;
82 
89 MGVector eval_star(int nderi=0)const;
90 
92 bool equal_edge(const MGLEPoint& le2) const{return m_i==le2.m_i;};
93 
95 bool equal_position(const MGLEPoint& le2) const;
96 
98 bool equal_position(const MGPosition& P) const;
99 
102 MGUnit_vector inner_vector()const;
103 
105 bool is_end_point()const;
106 
108 bool is_start_point()const;
109 
111 bool is_Edge_end_point()const;
112 
114 bool is_Edge_start_point()const;
115 
118 
120 const MGLoop* loop()const;
121 
123 double param()const{return m_t;};
124 
126 void set(
128  double t
129 );
130 
132 void set(
133  double t
134 ){m_t=t;};
135 
136 //Get the start point of the next edge in the loop sequence.
137 MGLEPoint end_of_pre_edge()const;
138 
139 //Get the start point of the next edge in the loop sequence.
140 MGLEPoint start_of_next_edge()const;
141 
142 private:
144  double m_t;
145 
146 
147 };
148  // end of IsectContainer group
150 #endif
void set(double t)
Update only parameter value of the edge.
Definition: LEPoint.h:132
bool equal_edge(const MGLEPoint &le2) const
Test if two LEPoints are of the same edge.
Definition: LEPoint.h:92
MGComplex::const_pcellItr iterator() const
Return the iterator of the edge.
Definition: LEPoint.h:117
container_type::const_iterator const_pcellItr
Definition: Complex.h:34
MGLPoint is to represent Loop's point.
Definition: LPoint.h:23
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
MGLCisect is to represent Loop and curve intersection point of a parent face parameter space...
Definition: LCisect.h:25
double param() const
Return edge's curve parameter value.
Definition: LEPoint.h:123
MGEdge is an instance of MGCellNB, represents a boundary element of 2D manifold.
Definition: Edge.h:33
Represent a positional data.
Definition: Position.h:28
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
MGLEPoint(MGComplex::const_pcellItr i, double t)
Definition: LEPoint.h:37
MGLEPoint()
Definition: LEPoint.h:36
Define a unit vector, is a MGVector.
Definition: Unit_vector.h:17