MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
CFisect_vector.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGCFisect_vector_HH_
6 #define _MGCFisect_vector_HH_
7 
12 #include <vector>
13 #include "topo/CFisect.h"
14 
16 
25 class MG_DLL_DECLR MGCFisect_vector{
26 
27 public:
28 
29 std::vector<MGCFisect> m_CFivector;
30 
31 typedef std::vector<MGCFisect>::iterator iterator;
32 typedef std::vector<MGCFisect>::const_iterator const_iterator;
33 
35 MG_DLL_DECLR friend std::ostream & operator << (std::ostream&, const MGCFisect_vector& );
36 
38 
40 MGCFisect_vector(const MGCurve* curve=0):m_curve(curve){;};
41 
43 MGCFisect_vector(const MGCurve* curve,MGCFisect& cfi):m_curve(curve),m_CFivector(1,cfi){;};
44 
47 
50 
52 
55 
56 const MGCFisect& operator[](int i)const{return m_CFivector[i];};
57 MGCFisect& operator[](int i){return m_CFivector[i];};
58 
60 
63 void push_back(MGCFisect& isect){m_CFivector.push_back(isect);};
64 
67 const MGCFisect& back() const{return m_CFivector.back();};
68 MGCFisect& back() {return m_CFivector.back();};
69 
71 iterator begin(){return m_CFivector.begin();}
72 const_iterator begin() const{return m_CFivector.begin();}
73 
75 void clear(){m_CFivector.clear();}
76 
78 const MGCurve* curve()const{return m_curve;};
79 
81 iterator end(){return m_CFivector.end();}
82 const_iterator end() const{return m_CFivector.end();}
83 
85 int size() const{return int(m_CFivector.size());};
86 
89 iterator erase(iterator i){return m_CFivector.erase(i);}
90 
93 const MGCFisect& front() const{return m_CFivector.front();};
94 MGCFisect& front(){return m_CFivector.front();};
95 
97 void insertAt(iterator i, MGCFisect& isect){
98  m_CFivector.insert(i, isect);
99 };
100 
102 bool empty()const{return m_CFivector.empty();};
103 
105 void pop_back(){m_CFivector.pop_back();}
106 
107 private:
108  const MGCurve* m_curve;
109 
110 };
111  // end of IsectContainer group
113 #endif
MGCFisect & front()
Definition: CFisect_vector.h:94
MGCFisect & back()
Definition: CFisect_vector.h:68
MGCurve is an abstract class which represents a whole curve.
Definition: Curve.h:63
const_iterator end() const
Definition: CFisect_vector.h:82
void push_back(MGCFisect &isect)
Definition: CFisect_vector.h:63
iterator erase(iterator i)
Definition: CFisect_vector.h:89
const MGCurve * curve() const
Get the curve pointer.
Definition: CFisect_vector.h:78
iterator end()
Get the pointer of the next of the last element of the m_CFivector.
Definition: CFisect_vector.h:81
MGCFisect_vector defines a vector of MGCFisect.
Definition: CFisect_vector.h:25
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
const MGCFisect & front() const
Definition: CFisect_vector.h:93
void pop_back()
Erase the last element of m_CFivector if not null.
Definition: CFisect_vector.h:105
int size() const
Return the number of items that are in the vector.
Definition: CFisect_vector.h:85
void clear()
Clear all the elements in m_CFivector.
Definition: CFisect_vector.h:75
std::vector< MGCFisect >::iterator iterator
Definition: CFisect_vector.h:31
void insertAt(iterator i, MGCFisect &isect)
Insert MGCFisect at the index position i.
Definition: CFisect_vector.h:97
const MGCFisect & operator[](int i) const
Definition: CFisect_vector.h:56
MGCFisect is to represent an intersection of a face and a curve.
Definition: CFisect.h:24
iterator begin()
Get the pointer of the first element of the m_CFivector.
Definition: CFisect_vector.h:71
bool empty() const
Return true if there are no items in the vector, false(0) otherwise.
Definition: CFisect_vector.h:102
const_iterator begin() const
Definition: CFisect_vector.h:72
std::vector< MGCFisect >::const_iterator const_iterator
Definition: CFisect_vector.h:32
const MGCFisect & back() const
Definition: CFisect_vector.h:67
MGCFisect & operator[](int i)
Definition: CFisect_vector.h:57
MGCFisect_vector(const MGCurve *curve, MGCFisect &cfi)
Constructor of 1 MGCFisect.
Definition: CFisect_vector.h:43
std::vector< MGCFisect > m_CFivector
Definition: CFisect_vector.h:29
MGCFisect_vector(const MGCurve *curve=0)
Void constructor.
Definition: CFisect_vector.h:40