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

MGBoundary is a boundary of more than 1 manifold dimension. [詳解]

MGBoundary の継承関係図
MGComplex MGTopology MGObject MGAttribedGel MGGel MGLoop MGShell

公開メンバ関数

 MGBoundary ()
 Void constructor. [詳解]
 
 MGBoundary (MGCellNB *pcell)
 Constructor of one parameter cell. [詳解]
 
 MGBoundary (std::list< MGCellNB * > &pcells)
 Constructor from list of member pcells. [詳解]
 
 MGBoundary (const MGBoundary &boundary)
 Boundary data pcells that constitute complex. [詳解]
 
virtual ~MGBoundary ()
 original boundary. [詳解]
 
virtual MGBoundaryoperator= (const MGBoundary &gel2)
 
virtual MGBoundaryoperator+= (const MGVector &v)
 Object transformation. [詳解]
 
virtual MGBoundaryoperator-= (const MGVector &v)
 
virtual MGBoundaryoperator*= (double scale)
 
virtual MGBoundaryoperator*= (const MGMatrix &mat)
 
virtual MGBoundaryoperator*= (const MGTransf &tr)
 
virtual bool active () const =0
 Test if this is an active boundary. [詳解]
 
virtual MGBoundaryclone (MGCell &parent) const =0
 Return the box of this boundary. [詳解]
 
virtual MGBoundaryclone () const =0
 
virtual MGBoundaryclone_without_binders (MGCell &parent) const =0
 Make a clone that has not binders. [詳解]
 
virtual MGBoundaryclone_without_binders () const =0
 
virtual bool closed () const =0
 Test if this is closed boundary. [詳解]
 
MGUnit_vector direction_star (int i) const
 
bool empty ()
 
bool equal_direction (int i, const MGBoundary &bound2, int j) const
 
virtual long identify_type () const =0
 Return Object's type ID (TID) [詳解]
 
virtual int manifold_dimension () const =0
 Get manifold dimension. [詳解]
 
virtual void negate ()
 
virtual void negate_as_boundary (const MGCellNB *parent=0)
 
int number_of_pcells () const
 Obtain how many parameter cells are included in the boundary. [詳解]
 
virtual std::ostream & out (std::ostream &) const
 Output virtual function. [詳解]
 
void set_binder (int i, MGCellNB &binder) const
 
MGCellset_parent (MGCell &new_parent) const
 
const MGCellNBstar () const
 Get the star cell. [詳解]
 
MGCellNBstar ()
 
virtual std::string whoami () const
 
- 基底クラス MGComplex に属する継承公開メンバ関数
 MGComplex ()
 Void constructor. [詳解]
 
 MGComplex (const MGComplex &complex)
 
 MGComplex (const MGCellNB &cell)
 
 MGComplex (MGCellNB *cell)
 
virtual ~MGComplex ()
 
virtual MGComplexoperator= (const MGGel &gel2)
 
virtual MGComplexoperator= (const MGComplex &gel2)
 
MGComplex operator+ (const MGVector &v) const
 
MGComplex operator- (const MGVector &v) const
 
MGComplex operator* (double s) const
 
MGComplex operator* (const MGMatrix &mat) const
 
MGComplex operator* (const MGTransf &tr) const
 
MGComplex operator/ (double s) const
 
virtual bool operator< (const MGComplex &gel2) const
 comparison [詳解]
 
virtual bool operator< (const MGGel &gel2) const
 
const_bcellItr bcell_begin () const
 Obtain first bcell iterator. [詳解]
 
bcellItr bcell_begin ()
 
const_bcellItr bcell_end () const
 Obtain end bcell iterator(next of the last bcell). [詳解]
 
bcellItr bcell_end ()
 
const MGCellNBbcelli (int i) const
 Obtain i-the pcell in the m_bcells sequence. MGCellNB version. [詳解]
 
MGCellNBbcelli (int i)
 
const_bcellItr bcellIterator (int i) const
 Obtain i-the pcell in the m_bcells sequence. MGCellNB version. [詳解]
 
bcellItr bcellIterator (int i)
 
bool bcell_exist () const
 Cehck if bcell exist. [詳解]
 
MGCellNBbinder (int i) const
 Obtain the binder of i-the pcell, may be null. [詳解]
 
std::vector< MGCellNB * > binders () const
 
const MGBoxbox () const
 Return the box of this complex. [詳解]
 
MGPosition center () const
 
void drawWire (mgVBO &vbo, double span_length, int line_density=1) const
 
virtual void drawWire_in_star (mgVBO &vbo, double span_length, int line_density=1) const
 
virtual void draw3DVertex (mgVBO &vbo) const
 
virtual void draw3DVertex_in_star (mgVBO &vbo) const
 
void erase_first_pcell ()
 
void erase_last_pcell ()
 erase first pcell. [詳解]
 
void erase_pcell (MGCellNB *pcell)
 erase last pcell. [詳解]
 
const MGCellNBfirst_pcell () const
 Get fisrt pcell pointer. [詳解]
 
MGCellNBfirst_pcell ()
 
bool includes (const MGCellNB *cell) const
 
const MGCellNBlast_pcell () const
 Get last pcell pointer. [詳解]
 
MGCellNBlast_pcell ()
 
int number_of_bcells () const
 count number of bcells of the complex [詳解]
 
int number_of_pcells () const
 count number of pcells of the complex [詳解]
 
const_pcellItr pcell_begin () const
 Obtain first pcell iterator. [詳解]
 
pcellItr pcell_begin ()
 
const_pcellItr pcell_end () const
 Obtain end pcell iterator(next of the last pcell). [詳解]
 
pcellItr pcell_end ()
 
const MGCellNBpcelli (int i) const
 Obtain i-the pcell. MGCellNB version. [詳解]
 
MGCellNBpcelli (int i)
 
const_pcellItr pcellIterator (int i) const
 Obtain i-th pcell iterator. [詳解]
 
pcellItr pcellIterator (int i)
 
bool pcell_exist () const
 Cehck if pcell exist. [詳解]
 
std::vector< MGCellNB * > pcells ()
 
std::vector< const MGCellNB * > pcells () const
 
MGPosition pick_closest (const MGStraight &sl) const
 
const MGCellNBstar () const
 
MGCellNBstar ()
 
- 基底クラス 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 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
 
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 bool operator== (const MGGel &gel2) const
 Comparison. [詳解]
 
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
 
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
 

限定公開メンバ関数

 MGBoundary (const MGBoundary &boundary, MGCellMap &cmap)
 
virtual MGBoundaryclone (MGCell &parent, MGCellMap &cmap) const =0
 
virtual MGBoundaryclone (MGCellMap &cmap) const =0
 
void connect_bound (int i, MGBoundary *bound2, int j)
 
virtual void copy_boundary (const MGBoundary &bnd)
 
virtual void copy_boundary_without_binders (const MGBoundary &bnd)
 
void disconnect (int i)
 
void free_binders ()
 
virtual void ReadMembers (MGIfstream &buf)
 Read Object's member data. [詳解]
 
MGBoundaryset_boundary (const MGBoundary &gel2)
 
virtual void WriteMembers (MGOfstream &buf) const
 Write Object's Member Data. [詳解]
 
- 基底クラス MGComplex に属する継承限定公開メンバ関数
 MGComplex (std::list< MGCellNB * > &pcells)
 
 MGComplex (const MGComplex &complex, MGCellMap &cmap)
 Binder cells of the pcells in complex will be registered in cmap. [詳解]
 
cellItr append_bcell (MGCellNB *cell) const
 cellmap to register binder association. [詳解]
 
cellItr add_cell (MGCellNB *cell, bool pcell, cellItr loc)
 
cellItr append_pcell (MGCellNB *cell)
 Append a PCell to the end of pcell sequence. [詳解]
 
virtual void compute_box () const
 Compute the box from the scratch. [詳解]
 
void copy_without_binders (const MGComplex &comp)
 
void erase_all_elements ()
 
cellItr prepend_pcell (MGCellNB *cell)
 Prepend a PCell to the end of pcell sequence. [詳解]
 
MGComplexset_complex (const MGComplex &comp2)
 
- 基底クラス MGObject に属する継承限定公開メンバ関数
MGObjectset_object (const MGObject &gel2)
 

限定公開変数類

MGCellm_parent_cell
 Cell that has this boundary as a boundary. [詳解]
 
- 基底クラス MGComplex に属する継承限定公開変数類
MGBox m_box
 
- 基底クラス MGAttribedGel に属する継承限定公開変数類
std::auto_ptr< mgVBOm_dlistName
 display name if m_dlistName!=0; [詳解]
 

その他の継承メンバ

- 基底クラス MGComplex に属する継承公開型
typedef std::list< MGCellNB * > container_type
 
typedef container_type::iterator cellItr
 
typedef
container_type::const_iterator 
const_cellItr
 
typedef container_type::iterator pcellItr
 
typedef
container_type::const_iterator 
const_pcellItr
 
typedef container_type::iterator bcellItr
 
typedef
container_type::const_iterator 
const_bcellItr
 

詳解

MGBoundary is a boundary of more than 1 manifold dimension.

A boundary of a face, a volume, or other general manifold dimension's cells. Cells stored in parent class complex constitute this boundary. This boundary cell's geometry's space dimension is the same as the parent cell's manifold dimension, since boundary cell is parameter space world. For edges whose manifold_dimension() is 1, this class is not used. Instead, Edges conatain the parameter cell MGPVertex. (MGPVertex is a parameter cell and also a boundary.) MGBoundary is an abstract class.

構築子と解体子

MGBoundary::MGBoundary ( )

Void constructor.

MGBoundary::MGBoundary ( MGCellNB pcell)
explicit

Constructor of one parameter cell.

MGBoundary::MGBoundary ( std::list< MGCellNB * > &  pcells)
explicit

Constructor from list of member pcells.

MGBoundary::MGBoundary ( const MGBoundary boundary)

Boundary data pcells that constitute complex.

Copy constructor.

virtual MGBoundary::~MGBoundary ( )
virtual

original boundary.

Virtual Destructor

MGBoundary::MGBoundary ( const MGBoundary boundary,
MGCellMap &  cmap 
)
protected

Copy constructor. Binder cells of the pcells in boundary will be registered in cmap.

引数
boundaryoriginal boundary.
cmapcellmap to register binder association.

関数詳解

virtual bool MGBoundary::active ( ) const
pure virtual

Test if this is an active boundary.

MGLoop, MGShellで実装されています。

virtual MGBoundary* MGBoundary::clone ( MGCell parent) const
pure virtual

Return the box of this boundary.

Make a clone. Returned is pointer of newed object, must be deleted. When parent is specified, clone's parent is set to the parent.

MGLoop, MGShellで実装されています。

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

Construct new object by copying to newed area. User must delete this copied object by "delete".

MGComplexを再実装しています。

MGLoop, MGShellで実装されています。

virtual MGBoundary* MGBoundary::clone ( MGCell parent,
MGCellMap &  cmap 
) const
protectedpure virtual

Make a clone. The forms that have cmap as an argumetnt is to register binder association. Binder cells of the pcells in this boundary will be registered in cmap. Returned is pointer of newed object, must be deleted. When parent is specified, clone's parent is set to the parent.

MGLoopで実装されています。

virtual MGBoundary* MGBoundary::clone ( MGCellMap &  cmap) const
protectedpure virtual

MGLoopで実装されています。

virtual MGBoundary* MGBoundary::clone_without_binders ( MGCell parent) const
pure virtual

Make a clone that has not binders.

MGLoop, MGShellで実装されています。

virtual MGBoundary* MGBoundary::clone_without_binders ( ) const
pure virtual

MGLoop, MGShellで実装されています。

virtual bool MGBoundary::closed ( ) const
pure virtual

Test if this is closed boundary.

MGLoop, MGShellで実装されています。

void MGBoundary::connect_bound ( int  i,
MGBoundary bound2,
int  j 
)
protected

Connect i-th pcell of this boundary to j-th pcell of boud2. Returned is the pointer of complex of the parent pcell of this boundary. The parent pcell of this must be a memeber of a complex. If both of this and bound2 are a member of a complex, they must be the same.

virtual void MGBoundary::copy_boundary ( const MGBoundary bnd)
protectedvirtual

Copy boundary. This boundary data is cleared and bnd's boundary is copied into this.

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

virtual void MGBoundary::copy_boundary_without_binders ( const MGBoundary bnd)
protectedvirtual

Copy boundary data, but does not copy the binders. This boundary data is cleared and bnd's boundary is copied into this.

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

MGUnit_vector MGBoundary::direction_star ( int  i) const

Obtain the direction of star cell at the i-th pcell of this boundary. Star cell's direction, not boundary's direction.

void MGBoundary::disconnect ( int  i)
protected

Disconnect i-th pcell of this boundary from its partnership relation. disconnect does not free membership of the parent cell from its parent complex.

bool MGBoundary::empty ( )

Test if PCells exist in this boundary. If no pcells are included, empty() returns true.

bool MGBoundary::equal_direction ( int  i,
const MGBoundary bound2,
int  j 
) const

Test if this boundary's star cell's direction is equal to bounda2's star cell's direction along this boundary's i and bound2's boundary j-th parameter cell. Not testing boundary's direction, but star cell's direction.

void MGBoundary::free_binders ( )
protected

Free all binders of this boundary. That is, if num n of partners of a binder of a pcell of this boundary is one, free from the parent complex, and does not free from the pcell. If n is more than one, free from the pcell, and does not free from the parent complex.

virtual long MGBoundary::identify_type ( ) const
pure virtual

Return Object's type ID (TID)

MGComplexを再実装しています。

MGLoop, MGShellで実装されています。

virtual int MGBoundary::manifold_dimension ( ) const
pure virtual

Get manifold dimension.

MGComplexを再実装しています。

MGLoop, MGShellで実装されています。

virtual void MGBoundary::negate ( )
virtual

Reverse the direction of the boundary. (Coordinate transformation is not performed.)

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

virtual void MGBoundary::negate_as_boundary ( const MGCellNB parent = 0)
virtual

Negate the boundary according to the parent cell negation. That is,

  1. Transform the coordinates of the bondary cell. (This transfromation depends on how the parent cell is transformed when negate() is invoked. So, the member cells of this boundary are transformed by negate_transoform of the parent cell.)
  2. Reverse the direction of the parameter cells(negate each cell).
  3. Reverse the ordering of the parameter cells.

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

int MGBoundary::number_of_pcells ( ) const

Obtain how many parameter cells are included in the boundary.

virtual MGBoundary& MGBoundary::operator*= ( double  scale)
inlinevirtual

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

virtual MGBoundary& MGBoundary::operator*= ( const MGMatrix mat)
inlinevirtual

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

virtual MGBoundary& MGBoundary::operator*= ( const MGTransf tr)
inlinevirtual

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

virtual MGBoundary& MGBoundary::operator+= ( const MGVector v)
inlinevirtual

Object transformation.

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

virtual MGBoundary& MGBoundary::operator-= ( const MGVector v)
inlinevirtual

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

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

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

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

Output virtual function.

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

virtual void MGBoundary::ReadMembers ( MGIfstream buf)
protectedvirtual

Read Object's member data.

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

void MGBoundary::set_binder ( int  i,
MGCellNB binder 
) const

Set binder relation to i-th parameter cell. ***The binder must be newed object and the owenership is transfered to boundary(precisely, to parameter cell that corresponds to the binder).

MGBoundary& MGBoundary::set_boundary ( const MGBoundary gel2)
protected

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

MGCell* MGBoundary::set_parent ( MGCell new_parent) const

Set parent cell. Returned is the conventional parent cell attached to before execution of this set_parent.

const MGCellNB* MGBoundary::star ( ) const

Get the star cell.

MGCellNB* MGBoundary::star ( )
virtual std::string MGBoundary::whoami ( ) const
inlinevirtual

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

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

Write Object's Member Data.

MGComplexを再実装しています。

MGLoop, MGShellで再実装されています。

メンバ詳解

MGCell* MGBoundary::m_parent_cell
mutableprotected

Cell that has this boundary as a boundary.


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