MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
LLisect_vector.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 #ifndef _MGLLisect_vector_HH_
6 #define _MGLLisect_vector_HH_
7 
12 #include <vector>
13 #include "topo/LLisect.h"
14 
15 //Forward class declaration.
16 class MGCurve;
17 class MGLoop;
18 class MGInterval;
19 
21 
23 class MG_DLL_DECLR MGLLisect_vector{
24 
25 public:
26 
27 typedef std::vector<MGLLisect>::iterator LLiterator;
28 typedef std::vector<MGLLisect>::const_iterator const_LLiterator;
29 typedef std::vector<MGLLisect>::iterator iterator;
30 typedef std::vector<MGLLisect>::const_iterator const_iterator;
31 
32 public:
33 
35 MG_DLL_DECLR friend std::ostream& operator<< (std::ostream&, const MGLLisect_vector& );
36 
39 MGLLisect_vector(const MGLoop& loop);
40 
42 
43 const MGLLisect& operator[](size_t i)const{return m_llisects[i];};
44 MGLLisect& operator[](size_t i){return m_llisects[i];};
45 
48 void append(const MGLLisect& lli);
49 void append(
50  const MGPosition& uv,
51  const MGLEPoint& lp1,
52  const MGLEPoint& lp2
53 );
54 
56 void append(const MGLLisect_vector& list);
57 
58 iterator begin(){return m_llisects.begin();};
59 const_iterator begin()const{return m_llisects.begin();};
60 
61 iterator end(){return m_llisects.end();};
62 const_iterator end()const{return m_llisects.end();};
63 
65 int entries() const{return (int)m_llisects.size();};
66 
69 const MGLLisect& first() const{return m_llisects.front();};
70 
72 void insertAt(LLiterator i, const MGLLisect& llisect)
73 {m_llisects.insert(i, llisect);};
74 
76 bool empty() const{return m_llisects.empty();};
77 
80 const MGLLisect& last() const{return m_llisects.back();};
81 
82 private:
83  std::vector<MGLLisect> m_llisects;
84  double m_error_square;
85 
87 };
88  // end of IsectContainer group
90 #endif
iterator end()
Definition: LLisect_vector.h:61
MGCurve is an abstract class which represents a whole curve.
Definition: Curve.h:63
MGLLisect & operator[](size_t i)
Definition: LLisect_vector.h:44
std::vector< MGLLisect >::const_iterator const_iterator
Definition: LLisect_vector.h:30
const MGLLisect & operator[](size_t i) const
Loop.
Definition: LLisect_vector.h:43
MGLLisect_vector defines a vector of MGLLisect.
Definition: LLisect_vector.h:23
bool empty() const
Return true if there are no items in the list, false otherwise.
Definition: LLisect_vector.h:76
std::ostream & operator<<(std::ostream &ostrm, const MGisect &is)
Debug Function.
Definition: isect.h:95
int entries() const
Return the number of items that are in the list.
Definition: LLisect_vector.h:65
To represent two loops intersection point.
Definition: LLisect.h:23
Interval of 1 dimension, i.e. MGInterval is a real line.
Definition: Interval.h:22
const MGLLisect & last() const
Definition: LLisect_vector.h:80
Represent a positional data.
Definition: Position.h:28
Is to represent a Loop's point.
Definition: LEPoint.h:28
std::vector< MGLLisect >::iterator LLiterator
Definition: LLisect_vector.h:27
MGLoop is a boundary of a face, a boundary of 2D manifold cell.
Definition: Loop.h:44
const_iterator end() const
Definition: LLisect_vector.h:62
std::vector< MGLLisect >::iterator iterator
Definition: LLisect_vector.h:29
const_iterator begin() const
Definition: LLisect_vector.h:59
void insertAt(LLiterator i, const MGLLisect &llisect)
Insert MGLLisect at the position i.
Definition: LLisect_vector.h:72
std::vector< MGLLisect >::const_iterator const_LLiterator
Definition: LLisect_vector.h:28
const MGLLisect & first() const
Definition: LLisect_vector.h:69
iterator begin()
Definition: LLisect_vector.h:58