MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
CFisect.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGCFisect_HH_
6 #define _MGCFisect_HH_
7 
11 #include "mg/MGCL.h"
12 #include "mg/CSisect.h"
13 
14 class MGPosition;
15 class MGFSurface;
16 
17 //
18 //Define MGCFisect Class.
19 
21 
24 class MG_DLL_DECLR MGCFisect:public MGisect{
25 
26 public:
28 
30 MGCFisect():m_face(0){;};
31 
34  const MGCSisect& csi,
35  const MGFSurface& face
37 ):m_csi(csi), m_face(&face){;};
38 
40 MGCFisect(
41  const MGPosition& point,
42  const double& t,
43  const MGPosition& uv,
44  const MGFSurface& face
45 );
46 
48 
49 bool operator< (const MGCFisect& fp)const;
50 bool operator> (const MGCFisect& fp)const{return fp<(*this);};
51 bool operator<= (const MGCFisect& fp)const{return !(fp<(*this));};
52 bool operator>= (const MGCFisect& fp)const{return !((*this)<fp);};
53 bool operator== (const MGCFisect& fp)const;
54 bool operator!= (const MGCFisect& fp)const{return !operator==(fp);};
55 
57 bool operator< (const MGisect& is)const;
58 bool operator< (const MGCCisect& is)const{return false;};
59 bool operator< (const MGCSisect& is)const{return false;};
60 bool operator< (const MGSSisect& is)const{return true;};
61 bool operator< (const MGFFisect& is)const{return true;};
62 bool operator== (const MGisect& is)const;
63 
65 
67 const MGCSisect& csi()const{return m_csi;};
68 
70 void exchange12(){;};
71 
73 const MGFSurface& face()const{return *m_face;};
74 
76 const MGObject& isect()const{return m_csi.isect();};
77 
79 MGPosition isect0_param1()const{return m_csi.isect0_param1();};
80 
82 MGPosition isect0_param2()const{return m_csi.isect0_param2();};
83 
88 int manifold_dimension()const{return 0;};
89 
91 std::ostream& out(std::ostream& ostrm)const;
92 
94 const MGPosition& point() const{return m_csi.point();};
95 
98 double param_curve() const{return m_csi.param_curve();};
99 
102 const MGPosition& param_face() const{return m_csi.param_surface();};
103 
107 
108 private:
109  MGCSisect m_csi;
110  const MGFSurface* m_face;
113 
114 };
115  // end of IsectContainer group
117 #endif
const MGPosition & point() const
Return coordinate values(交点の座標値を返却する)
Definition: CFisect.h:94
virtual bool operator==(const MGisect &is) const =0
MGCFisect(const MGCSisect &csi, const MGFSurface &face)
Construct from all the necessary data.
Definition: CFisect.h:33
MGPosition isect0_param2() const
Return the 2nd object's parameter value of the intersection.
Definition: CFisect.h:82
int manifold_dimension() const
Definition: CFisect.h:88
MGFFisect represents one intersection line of a MGFace and MGFace or MGSurface.
Definition: FFisect.h:31
Is a container of one intersection of two curves.
Definition: CCisect.h:24
virtual bool operator<=(const MGisect &is) const
Definition: isect.h:41
MGPosition isect0_param1() const
Return the 1st object's parameter value of the intersection.
Definition: CFisect.h:79
const MGCSisect & csi() const
Return isect data.
Definition: CFisect.h:67
Is an abstract class which represents a whole geometry and a topology.
Definition: Object.h:42
const MGObject & isect() const
Return the object of the intersection(world coordinates representation).
Definition: CFisect.h:76
MGCFisect()
void constructor.
Definition: CFisect.h:30
virtual bool operator>(const MGisect &is) const
Definition: isect.h:40
double param_curve() const
Definition: CFisect.h:98
const MGPosition & param_face() const
Definition: CFisect.h:102
Is an abstract class to provide unified interfaces to handle an intersection of two objects...
Definition: isect.h:26
const MGFSurface & face() const
return the face.
Definition: CFisect.h:73
MGSSisect represents one intersection line of two surfaces.
Definition: SSisect.h:29
One Intersection of curve and surface.
Definition: CSisect.h:26
Represent a positional data.
Definition: Position.h:28
MGCFisect is to represent an intersection of a face and a curve.
Definition: CFisect.h:24
virtual bool operator>=(const MGisect &is) const
Definition: isect.h:42
MGFSurface is an abstract class to provide the comman interfaces to MGFace and MGSurface.
Definition: FSurface.h:33
virtual bool operator!=(const MGisect &is) const
Definition: isect.h:44
virtual std::ostream & out(std::ostream &ostrm) const =0
Output virtual function.
void exchange12()
Exchange 1st and 2nd order of the parameter line representation.
Definition: CFisect.h:70
virtual bool operator<(const MGisect &is) const =0
Ordering functions.