5 #ifndef _MGBoundarynD_HH_
6 #define _MGBoundarynD_HH_
10 #include "topo/Complex.h"
49 std::list<MGCellNB*>& pcells);
74 virtual bool active()
const=0;
87 virtual MGBoundary* clone_without_binders()
const=0;
90 virtual bool closed()
const=0;
104 bool equal_direction(
int i,
const MGBoundary& bound2,
int j)
const;
114 virtual void negate();
125 virtual void negate_as_boundary(
const MGCellNB* parent=0);
131 virtual std::ostream&
out(std::ostream&)
const;
136 void set_binder(
int i,
MGCellNB& binder)
const;
147 virtual std::string
whoami()
const{
return "Boundary";};
152 mutable MGCell* m_parent_cell;
174 void connect_bound(
int i,
MGBoundary* bound2,
int j);
178 virtual void copy_boundary(
const MGBoundary& bnd);
182 virtual void copy_boundary_without_binders(
const MGBoundary& bnd);
187 void disconnect(
int i);
virtual MGComplex & operator-=(const MGVector &v)
CellNB is a cell without boundaries(No Boundaries).
Definition: CellNB.h:38
virtual std::string whoami() const
Definition: Boundary.h:147
MGTransf represents a transformation of a space dimension.
Definition: Transf.h:35
virtual std::ostream & out(std::ostream &) const
Output virtual function.
virtual void WriteMembers(MGOfstream &buf) const
Write Object's Member Data.
virtual MGBoundary & operator*=(const MGTransf &tr)
Definition: Boundary.h:69
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
MGCell is a general cell that has bound.
Definition: Cell.h:35
virtual MGBoundary & operator*=(double scale)
Definition: Boundary.h:67
virtual MGComplex * clone() const
int number_of_pcells() const
count number of pcells of the complex
Definition: Complex.h:206
friend class MGCell
Definition: Complex.h:348
virtual void ReadMembers(MGIfstream &buf)
Read Object's member data.
MGLoop is a boundary of a face, a boundary of 2D manifold cell.
Definition: Loop.h:44
virtual int manifold_dimension() const
Get manifold dimension.
virtual MGBoundary & operator+=(const MGVector &v)
Object transformation.
Definition: Boundary.h:65
MGBoundary is a boundary of more than 1 manifold dimension.
Definition: Boundary.h:35
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
virtual MGComplex & operator=(const MGGel &gel2)
virtual long identify_type() const
Return Object's type ID (TID)
MGComplex is a container of parameter cells and binder cells.
Definition: Complex.h:25
virtual MGBoundary & operator*=(const MGMatrix &mat)
Definition: Boundary.h:68
virtual MGComplex & operator+=(const MGVector &v)
Object transformation.
const MGCellNB * star() const
virtual MGBoundary & operator-=(const MGVector &v)
Definition: Boundary.h:66
virtual MGComplex & operator*=(double scale)
Define a unit vector, is a MGVector.
Definition: Unit_vector.h:17
MGMatrix is a matix of m by m, where m is the space dimension.
Definition: Matrix.h:30