MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
CCisect.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGCCisect_HH_
6 #define _MGCCisect_HH_
7 
11 #include "mg/MGCL.h"
12 #include "mg/isect.h"
13 #include "mg/Point.h"
14 
15 // MGCCisect.h
16 // Header for MGCCisect
17 
19 
24 class MG_DLL_DECLR MGCCisect:public MGisect{
25 
26 public:
27 
29 
31 MGCCisect();
32 
34 MGCCisect(const MGPosition &is, double t1, double t2,
35  const MGCCRELATION r1=MGCCREL_UNKNOWN);
36 
38 
39 bool operator< (const MGCCisect& cci)const{return m_param1<cci.m_param1;};
40 bool operator> (const MGCCisect& cci)const{return m_param1>cci.m_param1;};
41 bool operator<= (const MGCCisect& cci)const{return m_param1<=cci.m_param1;};
42 bool operator>= (const MGCCisect& cci)const{return m_param1>=cci.m_param1;};
43 bool operator== (const MGCCisect& cci)const;
44 bool operator!= (const MGCCisect& cci)const{return !operator==(cci);};
45 
47 bool operator< (const MGisect& is)const;
48 bool operator< (const MGCSisect& is)const{return true;};
49 bool operator< (const MGCFisect& is)const{return true;};
50 bool operator< (const MGSSisect& is)const{return true;};
51 bool operator< (const MGFFisect& is)const{return true;};
52 bool operator== (const MGisect& is)const;
53 
56 std::ostream& out(std::ostream& ostrm)const;
57 
59 
61 void exchange12();
62 
64 const MGObject& isect()const{return m_ipoint;};
65 
67 MGPosition isect0_param1()const{return MGPosition(1,&m_param1);};
68 
70 MGPosition isect0_param2()const{return MGPosition(1,&m_param2);};
71 
76 int manifold_dimension()const{return 0;};
77 
79 MGCCRELATION rel()const{return m_rel;}
80 MGCCRELATION& rel(){return m_rel;}
81 
83 const MGPosition& point()const{return m_ipoint.position();};
84 MGPosition& point(){return m_ipoint.position();};
85 
88 double param1()const{return m_param1;};
89 double& param1(){return m_param1;};
90 
93 double param2()const{return m_param2;};
94 double& param2(){return m_param2;};
95 
97 void set_param1(double t1){ m_param1=t1;};
98 
100 void set_param2(double t2){ m_param1=t2;};
101 
102 private:
104  MGPoint m_ipoint;
105  double m_param1;
106  double m_param2;
108  MGCCRELATION m_rel;
110 
112 };
113  // end of IsectContainer group
115 #endif
MGCCRELATION rel() const
Return Two curves' relationship(交点での両curve の関係を返却)
Definition: CCisect.h:79
virtual bool operator==(const MGisect &is) const =0
double param1() const
Definition: CCisect.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
MGPoint represents one dimensional manifold, a point in a space.
Definition: Point.h:28
MGCCRELATION
Relation of curve and curve(曲線と曲線の交点の関係).
Definition: MGCL.h:190
const MGObject & isect() const
Return the object of the intersection(world coordinates representation).
Definition: CCisect.h:64
virtual void exchange12()=0
Exchange 1st and 2nd order of the parameter line representation.
MGPosition isect0_param1() const
Return the 1st object's parameter value of the intersection.
Definition: CCisect.h:67
MGCCRELATION & rel()
Definition: CCisect.h:80
Is an abstract class which represents a whole geometry and a topology.
Definition: Object.h:42
virtual bool operator>(const MGisect &is) const
Definition: isect.h:40
double param2() const
Definition: CCisect.h:93
Is an abstract class to provide unified interfaces to handle an intersection of two objects...
Definition: isect.h:26
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
void set_param2(double t2)
Set param2 data.
Definition: CCisect.h:100
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
MGPosition isect0_param2() const
Return the 2nd object's parameter value of the intersection.
Definition: CCisect.h:70
const MGPosition & point() const
Return coordinate values(交点の座標値を返却する)
Definition: CCisect.h:83
virtual bool operator!=(const MGisect &is) const
Definition: isect.h:44
virtual std::ostream & out(std::ostream &ostrm) const =0
Output virtual function.
MGPosition & point()
Definition: CCisect.h:84
virtual bool operator<(const MGisect &is) const =0
Ordering functions.
Definition: MGCL.h:191
double & param1()
Definition: CCisect.h:89
double & param2()
Definition: CCisect.h:94
int manifold_dimension() const
Definition: CCisect.h:76
void set_param1(double t1)
Set param1 data.
Definition: CCisect.h:97