MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
LCisect.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGLCisect_HH_
6 #define _MGLCisect_HH_
7 
12 #include "mg/Position.h"
13 #include "topo/LEPoint.h"
14 
15 //
16 //Define MGLCisect Class.
17 
18 class MGLEPoint;
19 class MGPosition;
20 
22 
25 class MG_DLL_DECLR MGLCisect{
26 
27 public:
28 
30 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGLCisect& );
31 
33 MGLCisect();
34 
35 MGLCisect(
36  const MGLEPoint& lp,
37  double t,
38  const MGPosition&
39 );
40 
42 
47 bool operator< (const MGLCisect& li2)const;
48 bool operator> (const MGLCisect& lci2)const{return lci2<(*this);};
49 bool operator<= (const MGLCisect& lci2)const{return !(lci2<(*this));};
50 bool operator>= (const MGLCisect& lci2)const{return !((*this)<lci2);};
51 bool operator== (const MGLCisect& lci2)const;
52 bool operator!= (const MGLCisect& lci2)const{return !operator==(lci2);};
53 
55 
57 double distance_square(const MGLCisect& is2) const;
58 
60 int edge_num()const{return m_lp.edge_num();};
61 
63 const MGLoop* loop()const{return m_lp.loop();};
64 
66 const MGLEPoint& lp() const{return m_lp;};
67 
68 void set_lepoint(const MGLEPoint& lep){m_lp=lep;};
69 
71 double t() const {return m_t;}
72 
74 const MGPosition& uv()const{return m_uv;};
75 
76 private:
77  MGLEPoint m_lp;
78  double m_t;
79  MGPosition m_uv;
80 
81 };
82  // end of IsectContainer group
84 #endif
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
MGLCisect is to represent Loop and curve intersection point of a parent face parameter space...
Definition: LCisect.h:25
const MGLEPoint & lp() const
Get MGLEPoint.
Definition: LCisect.h:66
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
int edge_num() const
return loop's edge number.
Definition: LCisect.h:60
double t() const
Return parameter of the curve.
Definition: LCisect.h:71
const MGLoop * loop() const
Get loop pointer.
Definition: LCisect.h:63
const MGPosition & uv() const
Return isect data.
Definition: LCisect.h:74
void set_lepoint(const MGLEPoint &lep)
Definition: LCisect.h:68