10 #include "mg/Default.h"
11 #include "mg/drawParam.h"
12 #include "mg/Pvector.h"
13 #include "mg/Position_list.h"
14 #include "mg/FPoint.h"
15 #include "topo/Complex.h"
16 #include "topo/Boundary.h"
17 #include "topo/CFisect_vector.h"
18 #include "topo/Face.h"
19 #include "topo/HHisect.h"
20 #include "topo/HHisect_vector.h"
63 std::list<MGCellNB*> boundaries
90 std::ostream&
out(std::ostream& ostrm)
const;
96 int SubordinateEntitySwitch=0
134 void ensure_BVertices_of_ModelEdges()
const;
206 bool merge_at_common_edge(
const MGFace& face);
207 bool merge_at_common_edge(
MGFace* face);
208 bool merge_at_common_edge(
const MGFSurface& face);
224 std::vector<MGFPoint> perps(
const MGPosition& point)
const;
257 std::vector<mgTL2Triangles>& trisVec
274 virtual std::string
whoami()
const{
return "Shell";};
335 std::vector< std::vector<SHLL_COM_EDGES> >& polylines
int number_of_pcells() const
Obtain how many parameter cells are included in the boundary.
virtual long identify_type() const =0
Return Object's type ID (TID)
MGCurve is an abstract class which represents a whole curve.
Definition: Curve.h:63
MGTransf represents a transformation of a space dimension.
Definition: Transf.h:35
virtual MGFace * face()
Return MGFace pointer if this MGGel is an MGFace, else return null.
Definition: Gel.h:151
virtual int out_to_IGES(MGIgesOfstream &igesfile, int SubordinateEntitySwitch=0) const
Definition: Gel.h:93
MGShell()
Default constructor.
Definition: Shell.h:39
TL_DATA_KIND
Triangles' data kind.
Definition: MGCL.h:280
bool closed() const
Test if this is closed boundary.
Definition: Shell.h:120
MGCFisect_vector defines a vector of MGCFisect.
Definition: CFisect_vector.h:25
virtual void ReadMembers(MGIfstream &buf)
Read Object's member data.
MGIfstream is a class to read the serialized data generated by MGOfstream.
Definition: Ifstream.h:30
const MGShell * shell() const
Definition: Shell.h:263
Is an abstract class which represents a whole geometry and a topology.
Definition: Object.h:42
MGShell is a composition of MGFace's(trimmed surface).
Definition: Shell.h:32
Vector of a general n space dimension.
Definition: Vector.h:26
MGShell * shell()
Return MGShell pointer if this MGGel is an MGShell, else return null.
Definition: Shell.h:262
MGShell & operator*=(const MGTransf &tr)
Definition: Shell.h:82
MGCell is a general cell that has bound.
Definition: Cell.h:35
virtual MGBoundary * clone() const =0
Defines parameters to draw MGObject, maily to approximate by lines and facets.
Definition: drawParam.h:53
MGFace is a trimmed surface.
Definition: Face.h:51
virtual MGBoundary & operator*=(double scale)
Definition: Boundary.h:67
MGShell & operator+=(const MGVector &v)
Object transformation.
Definition: Shell.h:78
MGGel is an abstract class which represents a group element.
Definition: Gel.h:53
virtual void WriteMembers(MGOfstream &buf) const
Write Object's Member Data.
virtual MGBoundary * clone_without_binders() const =0
cellItr append_pcell(MGCellNB *cell)
Append a PCell to the end of pcell sequence.
Represent a positional data.
Definition: Position.h:28
MGSurface is an abstract class of 3D surface.
Definition: Surface.h:54
MGShell & operator-=(const MGVector &v)
Definition: Shell.h:79
ELEMENT_TARGET
Definition: VBO.h:84
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
VIEWMODE
Definition: MGCL.h:271
virtual MGisects intersection(const MGObject &obj2) const
void append_face(MGFace *f)
Definition: Shell.h:107
virtual bool operator<(const MGComplex &gel2) const
comparison
MGFSurface is an abstract class to provide the comman interfaces to MGFace and MGSurface.
Definition: FSurface.h:33
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
int number_of_faces() const
Get the number of faces included in this shell.
Definition: Shell.h:212
MGPosition_list provides a list of Positions.
Definition: Position_list.h:27
MGHHisect_vector defines a vector of MGHHisect.
Definition: HHisect_vector.h:28
MGOgesIfstream write out to *.iges file, transforming MGCL objects to IGES objects.
Definition: IgesOfstream.h:26
container_type::iterator iterator
Definition: Position_list.h:33
void triangulate(const MGLoop &polygon, mgTL2Triangles &triangles)
virtual void shade(mgVBO &vbo, const MGDrawParam ¶, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const
Shade the object in world coordinates.
Definition: Object.h:101
MGShell & operator*=(const MGMatrix &mat)
Definition: Shell.h:81
MGFPoint is to represent a Face or Surface point.
Definition: FPoint.h:20
virtual std::string whoami() const
Definition: Shell.h:274
virtual std::ostream & out(std::ostream &) const
Output virtual function.
void MG_DLL_DECLR set_up_shell_shade(const MGShell &shell, MGDrawParam ¶, MGPvector< MGLBRep > &boudaries, std::vector< std::vector< SHLL_COM_EDGES > > &polylines)
bool active() const
Test if this is an active boundary.
Definition: Shell.h:102
virtual MGBoundary & operator-=(const MGVector &v)
Definition: Boundary.h:66
MGisects defines a vector of MGisect.
Definition: isects.h:44
mgSysGL is a class to provide a facility to draw temporal pictures.
Definition: sysGL.h:26
int manifold_dimension() const
Get manifold dimension.
Definition: Shell.h:187
OpenGL 4 用描画のためのクラス, in other words, display list.
Definition: VBO.h:76
virtual void make_display_list(MGCL::VIEWMODE vmode=MGCL::DONTCARE) const
Make a display list of this gel.
virtual void display_control_polygon(mgSysGL &sgl) const
Definition: Gel.h:194
virtual MGBoundary & operator=(const MGBoundary &gel2)
MGShell & operator*=(double scale)
Definition: Shell.h:80
virtual void display_arrows(mgSysGL &sgl) const
Definition: Gel.h:192
MGMatrix is a matix of m by m, where m is the space dimension.
Definition: Matrix.h:30