10 #include "topo/Topology.h"
99 MGComplex operator/ (
double s)
const{
return (*
this)*(1./s);};
112 const_bcellItr
bcell_end()
const{
return m_bcells.end();};
116 const MGCellNB* bcelli(
int i)
const;
120 const_bcellItr bcellIterator(
int i)
const;
121 bcellItr bcellIterator(
int i);
124 bool bcell_exist()
const;
132 std::vector<MGCellNB*> binders()
const;
155 virtual void drawWire_in_star(
170 virtual void draw3DVertex_in_star(
mgVBO& vbo)
const;
174 void erase_first_pcell();
178 void erase_last_pcell();
193 bool includes(
const MGCellNB* cell)
const;
209 virtual std::ostream&
out(std::ostream&)
const;
216 const_pcellItr
pcell_end()
const{
return m_pcells.end();};
220 const MGCellNB* pcelli(
int i)
const;
224 const_pcellItr pcellIterator(
int i)
const;
225 pcellItr pcellIterator(
int i);
228 bool pcell_exist()
const;
234 std::vector<MGCellNB*> pcells();
235 std::vector<const MGCellNB*> pcells()
const;
259 explicit MGComplex(std::list<MGCellNB*>& pcells);
266 cellItr append_bcell(
MGCellNB* cell)
const;
278 cellItr append_pcell(
MGCellNB* cell);
281 virtual void compute_box()
const;
285 void copy_without_binders(
const MGComplex& comp);
290 void erase_all_elements();
293 cellItr prepend_pcell(
MGCellNB* cell);
295 virtual std::string
whoami()
const{
return "Complex";};
310 container_type m_pcells;
311 mutable container_type m_bcells;
322 void binderTr(
double s);
333 void copy_all_elements(
const MGComplex& comp);
337 void copy_all_elements(
CellNB is a cell without boundaries(No Boundaries).
Definition: CellNB.h:38
virtual std::string whoami() const
Definition: Complex.h:295
Is an abstract class and the super class of MGPVertex and MGCellNB.
Definition: CellBase.h:38
container_type::const_iterator const_bcellItr
Definition: Complex.h:37
MGTransf represents a transformation of a space dimension.
Definition: Transf.h:35
const_pcellItr pcell_begin() const
Obtain first pcell iterator.
Definition: Complex.h:212
virtual MGTopology & operator=(const MGTopology &gel2)
virtual bool operator<(const MGGel &gel2) const
virtual long identify_type() const =0
Return This object's typeID.
container_type::iterator bcellItr
Definition: Complex.h:36
container_type::iterator cellItr
Definition: Complex.h:30
container_type::const_iterator const_pcellItr
Definition: Complex.h:34
container_type::const_iterator const_cellItr
Definition: Complex.h:31
MGTopology is an abstract class which represents a whole Topology.
Definition: Topology.h:33
bcellItr bcell_begin()
Definition: Complex.h:109
int number_of_bcells() const
count number of bcells of the complex
Definition: Complex.h:203
MGIfstream is a class to read the serialized data generated by MGOfstream.
Definition: Ifstream.h:30
virtual void drawWire(mgVBO &vbo, double span_length, int line_density=1) const =0
const_bcellItr bcell_end() const
Obtain end bcell iterator(next of the last bcell).
Definition: Complex.h:112
pcellItr pcell_begin()
Definition: Complex.h:213
const_pcellItr pcell_end() const
Obtain end pcell iterator(next of the last pcell).
Definition: Complex.h:216
Vector of a general n space dimension.
Definition: Vector.h:26
Defines a Box of any space dimendion.
Definition: Box.h:34
MGCell is a general cell that has bound.
Definition: Cell.h:35
virtual MGPosition pick_closest(const MGStraight &sl) const
Definition: Object.h:146
MGGel is an abstract class which represents a group element.
Definition: Gel.h:53
MGEdge is an instance of MGCellNB, represents a boundary element of 2D manifold.
Definition: Edge.h:33
int number_of_pcells() const
count number of pcells of the complex
Definition: Complex.h:206
MGStraight is a curve of any space dimension, represent a straight line.
Definition: Straight.h:49
virtual MGObject * clone() const =0
MG_DLL_DECLR MGVector operator*(const MGVector &v, const MGMatrix &m)
Represent a positional data.
Definition: Position.h:28
const_bcellItr bcell_begin() const
Obtain first bcell iterator.
Definition: Complex.h:108
virtual MGObject & operator-=(const MGVector &v)=0
std::list< MGCellNB * > container_type
Definition: Complex.h:28
MGBox m_box
Definition: Complex.h:249
virtual void ReadMembers(MGIfstream &buf)
MGBoundary is a boundary of more than 1 manifold dimension.
Definition: Boundary.h:35
virtual void WriteMembers(MGOfstream &buf) const
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
container_type::iterator pcellItr
Definition: Complex.h:33
MGComplex is a container of parameter cells and binder cells.
Definition: Complex.h:25
virtual std::ostream & out(std::ostream &) const
Output virtual function.
virtual int manifold_dimension() const
Definition: Gel.h:116
virtual void draw3DVertex(mgVBO &vbo) const =0
virtual const MGBox & box() const =0
Get the box of the object.
pcellItr pcell_end()
Definition: Complex.h:217
virtual MGObject & operator+=(const MGVector &v)=0
Object transformation.
virtual MGObject & operator*=(double scale)=0
OpenGL 4 用描画のためのクラス, in other words, display list.
Definition: VBO.h:76
bcellItr bcell_end()
Definition: Complex.h:113
MGMatrix is a matix of m by m, where m is the space dimension.
Definition: Matrix.h:30