5 #ifndef _MGCellBase_HH_
6 #define _MGCellBase_HH_
9 #include "topo/Topology.h"
79 virtual MGCellBase* clone_without_boundaries()
const=0;
92 virtual void drawWire_in_star(
105 virtual void draw3DVertex_in_star(
mgVBO& vbo)
const;
109 void free_partnership();
112 virtual bool is_bcell()
const=0;
120 virtual MGCellNB* make_binder()
const=0;
128 const MGCellNB* make_binder_with_extent()
const;
134 virtual void negate()=0;
138 int number_of_partners()
const;
149 std::vector<const MGCellBase*> partners()
const;
154 void set_binder(
MGCellNB& binder)
const;
157 virtual const MGCellNB* star()
const=0;
161 virtual std::ostream&
out(std::ostream&)
const;
163 virtual std::string
whoami()
const{
return "CellBase";};
183 virtual void copy_all_boundaries(
const MGCellBase& cell2)=0;
188 virtual void copy_all_boundaries(
const MGCellBase& cell2, MGCellMap& cmap)=0;
190 virtual void copy_box(
const MGCellBase& cb)
const=0;
191 virtual void copy_perror(
const MGCellBase& cb)
const=0;
197 MGCellMap* cellmap_parent=0
209 virtual MGGeometry* make_binder_extent()
const=0;
CellNB is a cell without boundaries(No Boundaries).
Definition: CellNB.h:38
Is an abstract class and the super class of MGPVertex and MGCellNB.
Definition: CellBase.h:38
MGCellBase(const MGCellBase &cell)
Definition: CellBase.h:49
MGTransf represents a transformation of a space dimension.
Definition: Transf.h:35
virtual MGTopology & operator=(const MGTopology &gel2)
MGTopology is an abstract class which represents a whole Topology.
Definition: Topology.h:33
MGIfstream is a class to read the serialized data generated by MGOfstream.
Definition: Ifstream.h:30
Vector of a general n space dimension.
Definition: Vector.h:26
MGGeometry is an abstract class which represents a whole geometry.
Definition: Geometry.h:36
Defines a Box of any space dimendion.
Definition: Box.h:34
MGCellBase()
Void constructor. Constructor of pcell.
Definition: CellBase.h:45
MGEdge is an instance of MGCellNB, represents a boundary element of 2D manifold.
Definition: Edge.h:33
virtual MGObject * clone() const =0
virtual MGObject & operator-=(const MGVector &v)=0
virtual void ReadMembers(MGIfstream &buf)
virtual void WriteMembers(MGOfstream &buf) const
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
virtual std::string whoami() const
Definition: CellBase.h:163
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.
MGCellNB * binder() const
Obtain binder.
Definition: CellBase.h:71
bool is_pcell() const
Ask if this is parameter cell.
Definition: CellBase.h:115
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
MGPVertex is a parameter cell of the manifold dimension 0.
Definition: PVertex.h:34
MGMatrix is a matix of m by m, where m is the space dimension.
Definition: Matrix.h:30