MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
MGCellBase クラスabstract

Is an abstract class and the super class of MGPVertex and MGCellNB. [詳解]

MGCellBase の継承関係図
MGTopology MGObject MGAttribedGel MGGel MGCellNB MGPVertex MGBVertex MGCell MGEdge MGFace

公開メンバ関数

 MGCellBase ()
 Void constructor. Constructor of pcell. [詳解]
 
 MGCellBase (const MGCellBase &cell)
 
virtual ~MGCellBase ()
 
virtual MGCellBaseoperator= (const MGCellBase &gel2)
 
virtual MGCellBaseoperator+= (const MGVector &v)=0
 Object transformation. [詳解]
 
virtual MGCellBaseoperator-= (const MGVector &v)=0
 
virtual MGCellBaseoperator*= (double scale)=0
 
virtual MGCellBaseoperator*= (const MGMatrix &mat)=0
 
virtual MGCellBaseoperator*= (const MGTransf &tr)=0
 
MGCellNBbinder () const
 Obtain binder. [詳解]
 
const MGBoxbox () const =0
 Obtain the box of the cell. [詳解]
 
virtual MGCellBaseclone () const =0
 
virtual MGCellBaseclone_without_boundaries () const =0
 
virtual void connect (MGCellBase &cell2)
 
virtual void drawWire_in_star (mgVBO &vbo, double span_length, int line_density=1) const
 
virtual void draw3DVertex (mgVBO &vbo) const =0
 
virtual void draw3DVertex_in_star (mgVBO &vbo) const
 
void free_partnership ()
 
virtual bool is_bcell () const =0
 Ask if this is binder cell. [詳解]
 
bool is_pcell () const
 Ask if this is parameter cell. [詳解]
 
virtual MGCellNBmake_binder () const =0
 
const MGCellNBmake_binder_with_extent () const
 
virtual int manifold_dimension () const =0
 Obtain manifold dimension. [詳解]
 
virtual void negate ()=0
 Negate the direction of the cell. [詳解]
 
int number_of_partners () const
 
std::vector< const MGCellBase * > partners () const
 
void set_binder (MGCellNB &binder) const
 
virtual const MGCellNBstar () const =0
 Obtain star cells. [詳解]
 
virtual MGCellNBstar ()=0
 
virtual std::ostream & out (std::ostream &) const
 Output virtual function. [詳解]
 
virtual std::string whoami () const
 
- 基底クラス MGTopology に属する継承公開メンバ関数
 MGTopology ()
 Void constructor(初期化なしでオブジェクトを作成する。) [詳解]
 
 MGTopology (const MGTopology &topo)
 Copy constructor. [詳解]
 
virtual ~MGTopology ()
 
virtual MGTopologyoperator= (const MGTopology &gel2)
 
virtual MGisects intersection (const MGObject &obj2) const
 
virtual MGisects intersection (const MGCurve &obj2) const
 
virtual MGisects intersection (const MGFSurface &obj2) const
 
virtual MGisects intersection (const MGSurface &obj2) const
 
virtual MGisects intersection (const MGFace &obj2) const
 
virtual MGisects intersection (const MGShell &obj2) const
 
MGTopologytopology ()
 Return MGTopology pointer if this MGGel is an MGTopology, else return null. [詳解]
 
const MGTopologytopology () const
 
- 基底クラス MGObject に属する継承公開メンバ関数
 MGObject ()
 Void constructor(初期化なしでオブジェクトを作成する。) [詳解]
 
 MGObject (const MGObject &obj2)
 Copy constructor. [詳解]
 
virtual ~MGObject ()
 Virtual Destructor. [詳解]
 
virtual MGObjectoperator= (const MGObject &obj2)
 
MGAppearanceappearance ()
 
const MGAppearanceappearance () const
 
virtual void drawWire (mgVBO &vbo, double span_length, int line_density=1) const =0
 
virtual void shade (mgVBO &vbo, const MGDrawParam &para, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const
 Shade the object in world coordinates. [詳解]
 
MGAppearanceensure_appearance ()
 
virtual void make_display_list (MGCL::VIEWMODE vmode=MGCL::DONTCARE) const
 Make a display list of this gel. [詳解]
 
bool has_common (const MGObject &obj2) const
 
const MGObjectincludes_object () const
 Test if this gel includes an object. [詳解]
 
MGObjectincludes_object ()
 Test if this gel includes an object. [詳解]
 
virtual MGisects intersection (const MGPoint &obj2) const
 
virtual MGPosition pick_closest (const MGStraight &sl) const
 
void remove_appearance ()
 Remove the MGAppearance of this MGAttribedGel. [詳解]
 
virtual MGObjectobject ()
 Return MGObject pointer if this MGGel is an MGObject, else return null. [詳解]
 
virtual const MGObjectobject () const
 
virtual const MGFSurfacefsurface () const
 Get the MGFSurface pointer if this is MGSurface or MGFace. [詳解]
 
virtual MGFSurfacefsurface ()
 
void set_appearance (const MGAppearance &appr2)
 
virtual void transform (const MGVector &v)
 Transform the gel by the argument. [詳解]
 
virtual void transform (double scale)
 translation [詳解]
 
virtual void transform (const MGMatrix &mat)
 scaling. [詳解]
 
virtual void transform (const MGTransf &tr)
 matrix transformation. [詳解]
 
- 基底クラス MGAttribedGel に属する継承公開メンバ関数
 MGAttribedGel ()
 void constructor. [詳解]
 
 MGAttribedGel (const MGAttribedGel &gel2)
 copy constructor. [詳解]
 
virtual MGAttribedGeloperator= (const MGAttribedGel &gel2)
 
virtual ~MGAttribedGel ()
 
void copy_appearance (const MGAttribedGel &gel2)
 
mgVBOdlist_name () const
 
virtual bool displayList_is_made (MGCL::VIEWMODE vmode) const
 Judge if the display list for vmode is made or not. [詳解]
 
void deleteDlistName () const
 
virtual void drawAttrib (mgVBO &vbo, bool no_color=false) const
 Process of draw or render attributes. [詳解]
 
virtual void render_attribute () const
 
virtual int get_draw_attrib_mask () const
 Obtain attribute mask for glPushAttrib(). [詳解]
 
virtual int get_render_attrib_mask () const
 
int getVBOElementsNumber () const
 Get the number of elements of m_dlistName. [詳解]
 
int getVBOShaderElementsNumber () const
 Get the number of shading elements of m_dlistName. [詳解]
 
virtual bool no_display () const
 
void remove_GLattrib (long tid)
 Removed the attribute of specified type. [詳解]
 
virtual void set_GLattrib (MGGLAttrib *attr)
 
virtual void set_display ()
 Set this group as display or no display group. [詳解]
 
virtual void set_no_display ()
 
bool visible () const
 
void set_name (const MGName &newName)
 
const MGNameget_name () const
 
void set_color (const MGColor &newColor)
 
const MGColorget_color () const
 
void setDlistName (mgVBO *vbo=0) const
 
void setDirty (bool is_dirty) const
 Set dirty flag(s) of this VBO(m_dlistName). [詳解]
 
- 基底クラス MGGel に属する継承公開メンバ関数
virtual ~MGGel ()
 Virtual Destructor. [詳解]
 
virtual MGGeloperator= (const MGGel &gel2)
 
virtual bool operator== (const MGGel &gel2) const
 Comparison. [詳解]
 
virtual bool operator!= (const MGGel &gel2) const
 
virtual bool operator< (const MGGel &gel2) const
 
virtual bool operator> (const MGGel &gel2) const
 
virtual int out_to_IGES (MGIgesOfstream &igesfile, int SubordinateEntitySwitch=0) const
 
virtual MGAttribattrib ()
 Return MGAttrib pointer if this MGGel is an MGAttrib, else return null. [詳解]
 
virtual const MGAttribattrib () const
 
virtual MGGroupgroup ()
 Return MGGroup pointer if this MGGel is an MGGroup, else return null. [詳解]
 
virtual const MGGroupgroup () const
 
virtual MGGeometrygeometry ()
 Return MGGeometry pointer if this MGGel is an MGGeometry, else return null. [詳解]
 
virtual const MGGeometrygeometry () const
 
virtual MGPointpoint ()
 Return point pointer if this MGGel is an MGPoint, else return null. [詳解]
 
virtual const MGPointpoint () const
 
virtual MGCurvecurve ()
 Return curve pointer if this MGGel is an MGCurve, else return null. [詳解]
 
virtual const MGCurvecurve () const
 
virtual MGSurfacesurf ()
 Return MGSurface pointer if this MGGel is an MGSurface, else return null. [詳解]
 
virtual const MGSurfacesurf () const
 
virtual MGFaceface ()
 Return MGFace pointer if this MGGel is an MGFace, else return null. [詳解]
 
virtual const MGFaceface () const
 
virtual MGShellshell ()
 Return MGShell pointer if this MGGel is an MGShell, else return null. [詳解]
 
virtual const MGShellshell () const
 
virtual long identify_type () const =0
 Return This object's typeID. [詳解]
 
std::string string_content () const
 
bool type_is (const MGAbstractGels &types) const
 
virtual void display_arrows (mgSysGL &sgl) const
 
virtual void display_break_points (mgSysGL &sgl) const
 
virtual void display_control_polygon (mgSysGL &sgl) const
 
virtual void display_curvatures (mgSysGL &sgl, double scale, int density, bool use_radius) const
 

限定公開メンバ関数

virtual void ReadMembers (MGIfstream &buf)
 Read Object's member data. [詳解]
 
virtual void WriteMembers (MGOfstream &buf) const
 Write Object's Member Data. [詳解]
 
MGCellBaseset_cellbase (const MGCellBase &cb2)
 
- 基底クラス MGObject に属する継承限定公開メンバ関数
MGObjectset_object (const MGObject &gel2)
 

限定公開変数類

MGCellNBm_binder
 
- 基底クラス MGAttribedGel に属する継承限定公開変数類
std::auto_ptr< mgVBOm_dlistName
 display name if m_dlistName!=0; [詳解]
 

詳解

Is an abstract class and the super class of MGPVertex and MGCellNB.

A CellBase includes only a binder cell pointer if exists. There are two types of cells. One is parameter cell(pcell) and the other is binder cell(bcell). They are exclusive, that is, if a cell is a parameter cell, the cell cannot be binder cell and vice versa. Parameter cell is a constituent of a complex. Binder cell is a binder of parameter cells. Plural cells are connected through a binder.

構築子と解体子

MGCellBase::MGCellBase ( )
inline

Void constructor. Constructor of pcell.

MGCellBase::MGCellBase ( const MGCellBase cell)
inline

Copy constructor. The binder will not be copied even if cell had one.

virtual MGCellBase::~MGCellBase ( )
virtual

関数詳解

MGCellNB* MGCellBase::binder ( ) const
inline

Obtain binder.

const MGBox& MGCellBase::box ( ) const
pure virtual

Obtain the box of the cell.

MGObjectを実装しています。

MGEdge, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

virtual MGCellBase* MGCellBase::clone ( ) const
pure virtual

Make a clone of the cell. clone(), clone_without_boundaries() does not copy the binder cell relation.

MGObjectを実装しています。

MGFace, MGEdge, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

virtual MGCellBase* MGCellBase::clone_without_boundaries ( ) const
pure virtual

MGFace, MGEdge, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

virtual void MGCellBase::connect ( MGCellBase cell2)
virtual

Connect this cell to cell2. This cell is a pcell of a boundary of a higher manifold dimension's cell A, and cell2 is also is a pcell of a boundary of another cell B. That is, this cell is a part of a boundary of cell A, and cell2 is a part of a boundary of cell B. If cell A's manifold dimension is n, then this cell's manifold dimension is n-1. B's manifold dimension is same as A's. and cell2's manifold dimension is n-1.

MGEdgeで再実装されています。

virtual void MGCellBase::draw3DVertex ( mgVBO vbo) const
pure virtual

Draw 3D point(vertex) in world coordinates. The object is converted to point(s) and is drawn. This is valid only for topology objects or MGPoint.

MGObjectを実装しています。

MGEdge, MGFace, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

virtual void MGCellBase::draw3DVertex_in_star ( mgVBO vbo) const
virtual

Draw 3D point(vertex) in star cell's world coordinates. The object is converted to point(s) and is drawn.

virtual void MGCellBase::drawWire_in_star ( mgVBO vbo,
double  span_length,
int  line_density = 1 
) const
virtual

Draw 3D curve in the topology's star cell world coordinates. The object is converted to curve(s) and is drawn.

引数
vboTarget graphic object.
span_lengthLine segment span length.
line_densityline density to draw a surface in wire mode.
void MGCellBase::free_partnership ( )

Free partnership relation of this cell. If the binder is prprietry use of this cell, it will be deleted.

virtual bool MGCellBase::is_bcell ( ) const
pure virtual

Ask if this is binder cell.

MGCellNB, MGPVertexで実装されています。

bool MGCellBase::is_pcell ( ) const
inline

Ask if this is parameter cell.

virtual MGCellNB* MGCellBase::make_binder ( ) const
pure virtual

Make a binder cell of this parameter cell. Returned is the binder pointer generated by new. The binder has no geometry, only has binder and parameter cell relationship.

MGFace, MGEdge, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

const MGCellNB* MGCellBase::make_binder_with_extent ( ) const

Make a binder associated with the extent geometry rep. Returned is the binder MGCellNB pointer. If this already had the binder with the extent, make_binder_with_curve() only returns the pointer. If this had the binder without extent, make_binder_with_extent() will generate the extent expression.

virtual int MGCellBase::manifold_dimension ( ) const
pure virtual

Obtain manifold dimension.

MGGelを再実装しています。

MGFace, MGEdge, MGCell, MGCellNB, MGPVertex, MGBVertexで実装されています。

virtual void MGCellBase::negate ( )
pure virtual

Negate the direction of the cell.

MGFace, MGEdge, MGCellNB, MGPVertexで実装されています。

int MGCellBase::number_of_partners ( ) const

Return number of partners. Partners do not inclue own cell.

virtual MGCellBase& MGCellBase::operator*= ( double  scale)
pure virtual

MGObjectを実装しています。

MGEdge, MGCellNB, MGPVertexで実装されています。

virtual MGCellBase& MGCellBase::operator*= ( const MGMatrix mat)
pure virtual

MGObjectを実装しています。

MGEdge, MGCellNB, MGPVertexで実装されています。

virtual MGCellBase& MGCellBase::operator*= ( const MGTransf tr)
pure virtual

MGObjectを実装しています。

MGEdge, MGCellNB, MGPVertexで実装されています。

virtual MGCellBase& MGCellBase::operator+= ( const MGVector v)
pure virtual

Object transformation.

MGObjectを実装しています。

MGEdge, MGCellNB, MGPVertexで実装されています。

virtual MGCellBase& MGCellBase::operator-= ( const MGVector v)
pure virtual

MGObjectを実装しています。

MGEdge, MGCellNB, MGPVertexで実装されています。

virtual MGCellBase& MGCellBase::operator= ( const MGCellBase gel2)
virtual

Assignment. When the leaf object of this and topo2 are not equal, this assignment does nothing.

virtual std::ostream& MGCellBase::out ( std::ostream &  ) const
virtual

Output virtual function.

MGObjectを再実装しています。

MGCellNB, MGCell, MGFace, MGEdge, MGPVertex, MGBVertexで再実装されています。

std::vector<const MGCellBase*> MGCellBase::partners ( ) const

Obtain partner cells. Partners represent same world's(same cell's parameter) coordinates. Parameter cell's partners are parameter cells. Binder cell's partners are binder cells. The partners do not include this pcell except when star cell is connected to the star cell itself(closed only by the star cell). Let prtnrs[.] is the function's output, then prtners[0] is the netxt partner of this, and prtnrs[last] is the previous one of this in the partners array of the binder.

virtual void MGCellBase::ReadMembers ( MGIfstream buf)
protectedvirtual

Read Object's member data.

MGTopologyを再実装しています。

MGFace, MGEdge, MGCell, MGCellNB, MGBVertex, MGPVertexで再実装されています。

void MGCellBase::set_binder ( MGCellNB binder) const

Set binder cell relation to this parameter cell. ***The binder must be newed object and the owenership is transfered to this parameter cell.

MGCellBase& MGCellBase::set_cellbase ( const MGCellBase cb2)
protected

Assignment. When the leaf object of this and topo2 are not equal, this assignment does nothing.

virtual const MGCellNB* MGCellBase::star ( ) const
pure virtual

Obtain star cells.

MGCellNB, MGPVertexで実装されています。

virtual MGCellNB* MGCellBase::star ( )
pure virtual

MGCellNB, MGPVertexで実装されています。

virtual std::string MGCellBase::whoami ( ) const
inlinevirtual

MGTopologyを再実装しています。

MGFace, MGEdge, MGCell, MGCellNB, MGBVertex, MGPVertexで再実装されています。

virtual void MGCellBase::WriteMembers ( MGOfstream buf) const
protectedvirtual

Write Object's Member Data.

MGTopologyを再実装しています。

MGFace, MGEdge, MGCell, MGCellNB, MGBVertex, MGPVertexで再実装されています。

メンバ詳解

MGCellNB* MGCellBase::m_binder
mutableprotected

Binder cell of this cell. Binder cell is always MGCellNB.


このクラス詳解は次のファイルから抽出されました: