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

MGBVertex is 0 manifold dimension binder cell, is an point. [詳解]

MGBVertex の継承関係図
MGCellNB MGCellBase MGTopology MGObject MGAttribedGel MGGel

公開メンバ関数

 MGBVertex ()
 Void constructor. [詳解]
 
 MGBVertex (MGGeometry *geo)
 
 MGBVertex (const MGPosition &V)
 Construct from MGPosition data. [詳解]
 
 ~MGBVertex ()
 
MGBVertexoperator= (const MGGel &gel2)
 
MGBVertexoperator= (const MGBVertex &gel2)
 
bool operator< (const MGBVertex &gel2) const
 Comparison of two objects. [詳解]
 
bool operator< (const MGGel &gel2) const
 
const MGBoxbox () const
 Obtain the box into which the topology is included. [詳解]
 
MGPosition center_param () const
 Obtain the center parameter value of this cell. [詳解]
 
MGBVertexclone () const
 
MGBVertexclone_without_boundaries () const
 
MGBVertexclone_binder (const MGCellBase &c) const
 
void drawWire (mgVBO &vbo, double span_length, int line_density=1) const
 
void draw3DVertex (mgVBO &vbo) const
 
void free_neighbourhood (int i, int j=0)
 Free neighbourhood relation at j-th boundary's i-th pcell of this cell. [詳解]
 
long identify_type () const
 Return Object's type ID (TID) [詳解]
 
MGCellNBmake_binder () const
 
int manifold_dimension () const
 Get manifold dimension. [詳解]
 
const MGPVertexmember_partner_vertex (int i) const
 Obtain the i-th member partner PVertex. [詳解]
 
std::vector< const MGCellNB * > neighbours () const
 
std::ostream & out (std::ostream &) const
 Output function. [詳解]
 
double parameter_error () const
 Return parameter space error of the cell. [詳解]
 
MGPosition pick_closest (const MGStraight &sl) const
 
const MGPointpoint () const
 Return extent data(i.e. MGPoint*), which may be null if this has no extent. [詳解]
 
MGPosition position () const
 
- 基底クラス MGCellNB に属する継承公開メンバ関数
 MGCellNB ()
 Void constructor. Constructor of pcell. [詳解]
 
 MGCellNB (const MGCellNB &cell)
 
 MGCellNB (const MGGeometry &geo)
 
 MGCellNB (MGGeometry *geo)
 
 MGCellNB (MGGeometry *geo, MGCellNB *binder)
 
virtual ~MGCellNB ()
 
virtual MGCellNBoperator= (const MGCellNB &gel2)
 
virtual MGCellNBoperator+= (const MGVector &v)
 Object transformation. [詳解]
 
virtual MGCellNBoperator-= (const MGVector &v)
 
virtual MGCellNBoperator*= (double scale)
 
virtual MGCellNBoperator*= (const MGMatrix &mat)
 
virtual MGCellNBoperator*= (const MGTransf &tr)
 
void add_partner (const MGCellBase &partner)
 
MGPosition center () const
 Obtain the center of this cell. [詳解]
 
virtual MGUnit_vector direction () const
 Obtain the direction of the cell. [詳解]
 
const MGGeometryextent () const
 Get extent geometry, may be null if this does not have extent. [詳解]
 
MGGeometryextent ()
 
MGGeometryfree_extent ()
 
MGComplexfree_from_parent ()
 
void free_partner (const MGCellBase *cellin) const
 Free specified partner(cellin). [詳解]
 
bool is_bcell () const
 Ask if this is binder cell. [詳解]
 
const MGCellBasemember_partner (int i) const
 Obtain the i-th member partner. This must be a binder cell. [詳解]
 
const std::vector< const
MGCellBase * > & 
member_partners () const
 Obtain member partners. This must be a binder cell. [詳解]
 
std::vector< const MGCellBase * > & member_partners ()
 
virtual void negate ()
 Negate the direction of the cell. [詳解]
 
int number_of_partner_members () const
 Return nummber of partners stored in m_partners. [詳解]
 
const MGComplexparent_complex () const
 Obtain parent complex. [詳解]
 
MGComplexparent_complex ()
 
virtual void set_extent (MGGeometry *extent=0)
 Set extent of this cell. [詳解]
 
const MGCellNBstar () const
 Obtain star cells. [詳解]
 
MGCellNBstar ()
 
- 基底クラス MGCellBase に属する継承公開メンバ関数
 MGCellBase ()
 Void constructor. Constructor of pcell. [詳解]
 
 MGCellBase (const MGCellBase &cell)
 
virtual ~MGCellBase ()
 
virtual MGCellBaseoperator= (const MGCellBase &gel2)
 
MGCellNBbinder () const
 Obtain binder. [詳解]
 
virtual void connect (MGCellBase &cell2)
 
virtual void drawWire_in_star (mgVBO &vbo, double span_length, int line_density=1) const
 
virtual void draw3DVertex_in_star (mgVBO &vbo) const
 
void free_partnership ()
 
bool is_pcell () const
 Ask if this is parameter cell. [詳解]
 
const MGCellNBmake_binder_with_extent () const
 
int number_of_partners () const
 
std::vector< const MGCellBase * > partners () const
 
void set_binder (MGCellNB &binder) 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 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 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
 

限定公開メンバ関数

void bn_binder_tr (const MGVector &v)
 
void bn_binder_tr (double s)
 
void bn_binder_tr (const MGMatrix &mat)
 
void bn_binder_tr (const MGTransf &tr)
 
void set_box_as_null () const
 Set the box data as null. [詳解]
 
MGBVertexclone (MGCellMap &cmap) const
 
void compute_box () const
 compute box of the cell in m_box. [詳解]
 
void copy_all_boundaries (const MGCellBase &cell2)
 Copy boundary data of cell2 into this. [詳解]
 
void copy_all_boundaries (const MGCellBase &cell2, MGCellMap &cmap)
 
void copy_box (const MGCellBase &cell2) const
 Copy m_box data of cell2 into this. [詳解]
 
void copy_perror (const MGCellBase &cell2) const
 Copy m_perror data of cell2 into this. [詳解]
 
void get_all_boundary_binders (std::vector< MGCellNB * > &cvec) const
 
void negate_boundary ()
 Negate the boundary. [詳解]
 
std::string whoami () const
 
void ReadMembers (MGIfstream &buf)
 Read Object's member data. [詳解]
 
void WriteMembers (MGOfstream &buf) const
 Write Object's Member Data. [詳解]
 
- 基底クラス MGCellNB に属する継承限定公開メンバ関数
bool bn_binder_tr_necessary () const
 check if boundary's binder transformation is necessary or not. [詳解]
 
bool is_less_than (const MGCellNB &cell2) const
 Cell comparison. [詳解]
 
MGCellNBset_cellnb (const MGCellNB &cell2)
 
- 基底クラス MGCellBase に属する継承限定公開メンバ関数
MGCellBaseset_cellbase (const MGCellBase &cb2)
 
- 基底クラス MGObject に属する継承限定公開メンバ関数
MGObjectset_object (const MGObject &gel2)
 

その他の継承メンバ

- 基底クラス MGCellNB に属する継承公開型
enum  CELL_KIND { UNKNOWN =0, PCELL =1, BCELL =2 }
 
typedef std::vector
< MGCellBase * >::iterator 
partnerItr
 
typedef std::vector< const
MGCellBase * >::const_iterator 
const_partnerItr
 
typedef std::vector
< MGCellBase * >
::reverse_iterator 
partnerRItr
 
typedef std::vector< const
MGCellBase * >
::const_reverse_iterator 
const_partnerRItr
 
- 基底クラス MGCellNB に属する継承限定公開変数類
MGComplexm_parent_complex
 
MGGeometrym_extent
 Geometry. [詳解]
 
std::vector< const MGCellBase * > m_partners
 vector of partner cells who share this bcell(for bcell). [詳解]
 
- 基底クラス MGCellBase に属する継承限定公開変数類
MGCellNBm_binder
 
- 基底クラス MGAttribedGel に属する継承限定公開変数類
std::auto_ptr< mgVBOm_dlistName
 display name if m_dlistName!=0; [詳解]
 

詳解

MGBVertex is 0 manifold dimension binder cell, is an point.

MGBVertex is a binder cell of MGPVertex, and has manifold dimension 0. MGBVertex is not used as a parameter cell(boundary of an edge). Since MGBVertex's manifold dimension is 0, MGBVertex does not have boundaries.

構築子と解体子

MGBVertex::MGBVertex ( )
inline

Void constructor.

MGBVertex::MGBVertex ( MGGeometry geo)

Copy constructor. MGBVertex(const MGBVertex&v); Fundamental constructor. Construct a BVertex from geometry of manifold dimension 0 (MGPoint*, may be null). The constructor takes the ownership of geo.

MGBVertex::MGBVertex ( const MGPosition V)

Construct from MGPosition data.

MGBVertex::~MGBVertex ( )

関数詳解

void MGBVertex::bn_binder_tr ( const MGVector v)
inlineprotectedvirtual

Transform the boundary binders. Since a vertex has no boundary, no process is done.

MGCellNBを実装しています。

void MGBVertex::bn_binder_tr ( double  s)
inlineprotectedvirtual

MGCellNBを実装しています。

void MGBVertex::bn_binder_tr ( const MGMatrix mat)
inlineprotectedvirtual

MGCellNBを実装しています。

void MGBVertex::bn_binder_tr ( const MGTransf tr)
inlineprotectedvirtual

MGCellNBを実装しています。

const MGBox& MGBVertex::box ( ) const
inlinevirtual

Obtain the box into which the topology is included.

MGCellNBを実装しています。

MGPosition MGBVertex::center_param ( ) const
inlinevirtual

Obtain the center parameter value of this cell.

MGCellNBを実装しています。

MGBVertex* MGBVertex::clone ( ) const
inlinevirtual

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

MGCellNBを実装しています。

MGBVertex* MGBVertex::clone ( MGCellMap &  cmap) const
inlineprotectedvirtual

Generate a new MGCellBase pointer by newing the original MGCellBase. This is a proprietry routine of MGComplex copy. Copy all boundary data, (but does not copy own binder cell relation) and register boundary binder association of new and old into cmap.

MGCellNBを再実装しています。

MGBVertex* MGBVertex::clone_binder ( const MGCellBase c) const
virtual

Make a clone of this(this is a binder), and set binder and member partner relation between the new binder and the cell c.

MGCellNBを実装しています。

MGBVertex* MGBVertex::clone_without_boundaries ( ) const
inlinevirtual

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

MGCellNBを実装しています。

void MGBVertex::compute_box ( ) const
inlineprotectedvirtual

compute box of the cell in m_box.

MGCellNBを実装しています。

void MGBVertex::copy_all_boundaries ( const MGCellBase cell2)
inlineprotectedvirtual

Copy boundary data of cell2 into this.

MGCellNBを実装しています。

void MGBVertex::copy_all_boundaries ( const MGCellBase cell2,
MGCellMap &  cmap 
)
inlineprotectedvirtual

Copy all boundaries of cell into this, and binders association of the boundaries in the cmap. Binder cells of cell will be registered in cmap.

MGCellNBを実装しています。

void MGBVertex::copy_box ( const MGCellBase cell2) const
inlineprotectedvirtual

Copy m_box data of cell2 into this.

MGCellNBを実装しています。

void MGBVertex::copy_perror ( const MGCellBase cell2) const
inlineprotectedvirtual

Copy m_perror data of cell2 into this.

MGCellNBを実装しています。

void MGBVertex::draw3DVertex ( mgVBO vbo) const
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.

MGCellNBを実装しています。

void MGBVertex::drawWire ( mgVBO vbo,
double  span_length,
int  line_density = 1 
) const
virtual

Draw 3D curve in 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.

MGObjectを実装しています。

void MGBVertex::free_neighbourhood ( int  i,
int  j = 0 
)
inlinevirtual

Free neighbourhood relation at j-th boundary's i-th pcell of this cell.

MGCellNBを実装しています。

void MGBVertex::get_all_boundary_binders ( std::vector< MGCellNB * > &  cvec) const
inlineprotectedvirtual

Get boundary biders of all the boundaries. Binders will be appended to cvec.

MGCellNBを実装しています。

long MGBVertex::identify_type ( ) const
virtual

Return Object's type ID (TID)

MGCellNBを実装しています。

MGCellNB* MGBVertex::make_binder ( ) const
virtual

Make a binder cell of this cell. Returned is the binder pointer newed. The binder has no geometry, only has binder and partner member relationship.

MGCellNBを実装しています。

int MGBVertex::manifold_dimension ( ) const
inlinevirtual

Get manifold dimension.

MGCellNBを実装しています。

const MGPVertex* MGBVertex::member_partner_vertex ( int  i) const

Obtain the i-th member partner PVertex.

void MGBVertex::negate_boundary ( )
inlineprotectedvirtual

Negate the boundary.

MGCellNBを実装しています。

std::vector<const MGCellNB*> MGBVertex::neighbours ( ) const
inlinevirtual

Obtain all the neighbours. The neighbours do not contain this cell except when this cell is connected to this cell itself(closed cell). A vertex has no boundaries, and has no neighbours.

MGCellNBを実装しています。

bool MGBVertex::operator< ( const MGBVertex gel2) const

Comparison of two objects.

bool MGBVertex::operator< ( const MGGel gel2) const
virtual

MGGelを再実装しています。

MGBVertex& MGBVertex::operator= ( const MGGel gel2)
virtual

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

MGGelを再実装しています。

MGBVertex& MGBVertex::operator= ( const MGBVertex gel2)
std::ostream& MGBVertex::out ( std::ostream &  ) const
virtual

Output function.

MGCellNBを再実装しています。

double MGBVertex::parameter_error ( ) const
inlinevirtual

Return parameter space error of the cell.

MGCellNBを実装しています。

MGPosition MGBVertex::pick_closest ( const MGStraight sl) const
virtual

Compute the parameter value of the closest point from the straight to this object. sl is the eye projection line whose direction is from yon to hither, and if sl had multiple intersection points, The closest point to the eye will be selected. This will be never invoked.

MGObjectを再実装しています。

const MGPoint* MGBVertex::point ( ) const
virtual

Return extent data(i.e. MGPoint*), which may be null if this has no extent.

MGGelを再実装しています。

MGPosition MGBVertex::position ( ) const

Get the position data of this vertex. Returns MGPoint data if this has extent. Otherwise obtain from partner's star edge by evaluating the edge's data.

void MGBVertex::ReadMembers ( MGIfstream buf)
protectedvirtual

Read Object's member data.

MGCellNBを再実装しています。

void MGBVertex::set_box_as_null ( ) const
inlineprotectedvirtual

Set the box data as null.

MGCellNBを実装しています。

std::string MGBVertex::whoami ( ) const
inlineprotectedvirtual

MGCellNBを再実装しています。

void MGBVertex::WriteMembers ( MGOfstream buf) const
protectedvirtual

Write Object's Member Data.

MGCellNBを再実装しています。


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