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

MGPVertex is a parameter cell of the manifold dimension 0. [詳解]

MGPVertex の継承関係図
MGCellBase MGTopology MGObject MGAttribedGel MGGel

公開メンバ関数

 MGPVertex ()
 Void constructor. [詳解]
 
 MGPVertex (const MGPVertex &v)
 
 MGPVertex (const MGPVertex &v, MGEdge *e)
 
 MGPVertex (double t, MGEdge *e=0)
 
MGPVertex & operator= (const MGGel &gel2)
 
MGPVertex & operator= (const MGPVertex &gel2)
 
MGPVertex & operator+= (const MGVector &v)
 Object transformation. [詳解]
 
MGPVertex & operator-= (const MGVector &v)
 
MGPVertex & operator*= (double scale)
 
MGPVertex & operator*= (const MGMatrix &mat)
 
MGPVertex & operator*= (const MGTransf &tr)
 
bool operator< (const MGPVertex &gel2) const
 Comparison of two objects. [詳解]
 
bool operator< (const MGGel &gel2) const
 
MGBVertex * binder_vertex () const
 Get binder. [詳解]
 
const MGBox & box () const
 Obtain the box into which the topology is included. [詳解]
 
MGPVertex * clone () const
 
MGCellBase * clone_without_boundaries () const
 
void drawWire (mgVBO &vbo, double span_length, int line_density=1) const
 
void draw3DVertex (mgVBO &vbo) const
 
long identify_type () const
 Return Object's type ID (TID) [詳解]
 
bool is_bcell () const
 Ask if this is binder cell. [詳解]
 
bool is_start_vertex () const
 Test if this is the start vertex or end verstex on the edge. [詳解]
 
MGCellNB * make_binder () const
 
int manifold_dimension () const
 Get manifold dimension. [詳解]
 
void negate ()
 Negate the direction of the cell. [詳解]
 
std::ostream & out (std::ostream &) const
 Output function. [詳解]
 
MGPosition pick_closest (const MGStraight &sl) const
 
void set_t (double t)
 Set the parameter value. [詳解]
 
void set_edge (MGEdge *e)
 Set the edge pointer. [詳解]
 
const MGCellNB * star () const
 Obtain star cells. [詳解]
 
MGCellNB * star ()
 
const MGEdge * edge () const
 Return the edge pointer. [詳解]
 
MGEdge * edge ()
 Return the edge pointer. [詳解]
 
double t () const
 Return the parameter value. [詳解]
 
std::string whoami () const
 
- 基底クラス MGCellBase に属する継承公開メンバ関数
 MGCellBase ()
 Void constructor. Constructor of pcell. [詳解]
 
 MGCellBase (const MGCellBase &cell)
 
virtual ~MGCellBase ()
 
virtual MGCellBase & operator= (const MGCellBase &gel2)
 
MGCellNB * binder () 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 MGCellNB * make_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 MGTopology & operator= (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
 
MGTopology * topology ()
 Return MGTopology pointer if this MGGel is an MGTopology, else return null. [詳解]
 
const MGTopology * topology () const
 
- 基底クラス MGObject に属する継承公開メンバ関数
 MGObject ()
 Void constructor(初期化なしでオブジェクトを作成する。) [詳解]
 
 MGObject (const MGObject &obj2)
 Copy constructor. [詳解]
 
virtual ~MGObject ()
 Virtual Destructor. [詳解]
 
virtual MGObject & operator= (const MGObject &obj2)
 
MGAppearance * appearance ()
 
const MGAppearance * appearance () const
 
virtual void shade (mgVBO &vbo, const MGDrawParam &para, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const
 Shade the object in world coordinates. [詳解]
 
MGAppearance * ensure_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 MGObject * includes_object () const
 Test if this gel includes an object. [詳解]
 
MGObject * includes_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 MGObject * object ()
 Return MGObject pointer if this MGGel is an MGObject, else return null. [詳解]
 
virtual const MGObject * object () const
 
virtual const MGFSurface * fsurface () const
 Get the MGFSurface pointer if this is MGSurface or MGFace. [詳解]
 
virtual MGFSurface * fsurface ()
 
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 MGAttribedGel & operator= (const MGAttribedGel &gel2)
 
virtual ~MGAttribedGel ()
 
void copy_appearance (const MGAttribedGel &gel2)
 
mgVBO * dlist_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 MGName * get_name () const
 
void set_color (const MGColor &newColor)
 
const MGColor * get_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 MGAttrib * attrib ()
 Return MGAttrib pointer if this MGGel is an MGAttrib, else return null. [詳解]
 
virtual const MGAttrib * attrib () const
 
virtual MGGroup * group ()
 Return MGGroup pointer if this MGGel is an MGGroup, else return null. [詳解]
 
virtual const MGGroup * group () const
 
virtual MGGeometry * geometry ()
 Return MGGeometry pointer if this MGGel is an MGGeometry, else return null. [詳解]
 
virtual const MGGeometry * geometry () const
 
virtual MGPoint * point ()
 Return point pointer if this MGGel is an MGPoint, else return null. [詳解]
 
virtual const MGPoint * point () const
 
virtual MGCurve * curve ()
 Return curve pointer if this MGGel is an MGCurve, else return null. [詳解]
 
virtual const MGCurve * curve () const
 
virtual MGSurface * surf ()
 Return MGSurface pointer if this MGGel is an MGSurface, else return null. [詳解]
 
virtual const MGSurface * surf () const
 
virtual MGFace * face ()
 Return MGFace pointer if this MGGel is an MGFace, else return null. [詳解]
 
virtual const MGFace * face () const
 
virtual MGShell * shell ()
 Return MGShell pointer if this MGGel is an MGShell, else return null. [詳解]
 
virtual const MGShell * shell () 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 ReadMembers (MGIfstream &buf)
 Read Object's member data. [詳解]
 
void WriteMembers (MGOfstream &buf) const
 Write Object's Member Data. [詳解]
 
- 基底クラス MGCellBase に属する継承限定公開メンバ関数
MGCellBase & set_cellbase (const MGCellBase &cb2)
 
- 基底クラス MGObject に属する継承限定公開メンバ関数
MGObject & set_object (const MGObject &gel2)
 

その他の継承メンバ

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

詳解

MGPVertex is a parameter cell of the manifold dimension 0.

MGPVertex is a boundary of an Edge(start or end) to hold edge's parameter data. Logically PVertex has characters of both a parameter cell and a boundary. MGPVertex cannot be a binder cell, and so does not have partner cells. MGPvertex can be only partners of a binder. This is the reason that MGPVertex is a subclass of MGCellBase. Since MGPVertex's manifold dimension is 0, MGPVertex does not have boundaries.

構築子と解体子

MGPVertex::MGPVertex ( )
inline

Void constructor.

MGPVertex::MGPVertex ( const MGPVertex &  v)
inline

Copy constructor. Parent edge will be cleared.

MGPVertex::MGPVertex ( const MGPVertex &  v,
MGEdge *  e 
)
inline

Copy constructor with parent edge. e is set as the parent edge.

MGPVertex::MGPVertex ( double  t,
MGEdge *  e = 0 
)
inlineexplicit

Fundamental constructor. Construct from the parameter value t of edge. e is set as the parent edge.

関数詳解

MGBVertex* MGPVertex::binder_vertex ( ) const

Get binder.

const MGBox& MGPVertex::box ( ) const
inlinevirtual

Obtain the box into which the topology is included.

MGCellBaseを実装しています。

MGPVertex* MGPVertex::clone ( ) const
virtual

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

MGCellBaseを実装しています。

MGCellBase* MGPVertex::clone_without_boundaries ( ) const
inlinevirtual

MGCellBaseを実装しています。

void MGPVertex::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.

引数
vboThe target graphic object.

MGCellBaseを実装しています。

void MGPVertex::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.

引数
vboThe target graphic object.
span_lengthLine segment span length.
line_densityline density to draw a surface in wire mode.

MGObjectを実装しています。

const MGEdge* MGPVertex::edge ( ) const
inline

Return the edge pointer.

MGEdge* MGPVertex::edge ( )
inline

Return the edge pointer.

long MGPVertex::identify_type ( ) const
virtual

Return Object's type ID (TID)

MGGelを実装しています。

bool MGPVertex::is_bcell ( ) const
inlinevirtual

Ask if this is binder cell.

MGCellBaseを実装しています。

bool MGPVertex::is_start_vertex ( ) const

Test if this is the start vertex or end verstex on the edge.

MGCellNB* MGPVertex::make_binder ( ) const
virtual

Make a binder cell of this parameter cell. This is a parameter cell and the binder will be newed. Returned is the binder pointer generated. The binder has no geometry, only has binder and parameter cell relationship.

MGCellBaseを実装しています。

int MGPVertex::manifold_dimension ( ) const
inlinevirtual

Get manifold dimension.

MGCellBaseを実装しています。

void MGPVertex::negate ( )
inlinevirtual

Negate the direction of the cell.

MGCellBaseを実装しています。

MGPVertex& MGPVertex::operator*= ( double  scale)
virtual

MGCellBaseを実装しています。

MGPVertex& MGPVertex::operator*= ( const MGMatrix &  mat)
virtual

MGCellBaseを実装しています。

MGPVertex& MGPVertex::operator*= ( const MGTransf &  tr)
virtual

MGCellBaseを実装しています。

MGPVertex& MGPVertex::operator+= ( const MGVector &  v)
virtual

Object transformation.

MGCellBaseを実装しています。

MGPVertex& MGPVertex::operator-= ( const MGVector &  v)
virtual

MGCellBaseを実装しています。

bool MGPVertex::operator< ( const MGPVertex &  gel2) const

Comparison of two objects.

bool MGPVertex::operator< ( const MGGel &  gel2) const
virtual

MGGelを再実装しています。

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

Assignment. does not change binder and partner relation. edge pointer will be cleared.

MGGelを再実装しています。

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

Output function.

MGCellBaseを再実装しています。

MGPosition MGPVertex::pick_closest ( const MGStraight &  sl) const
inlinevirtual

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を再実装しています。

void MGPVertex::ReadMembers ( MGIfstream &  buf)
protectedvirtual

Read Object's member data.

MGCellBaseを再実装しています。

void MGPVertex::set_edge ( MGEdge *  e)
inline

Set the edge pointer.

void MGPVertex::set_t ( double  t)
inline

Set the parameter value.

const MGCellNB* MGPVertex::star ( ) const
virtual

Obtain star cells.

MGCellBaseを実装しています。

MGCellNB* MGPVertex::star ( )
virtual

MGCellBaseを実装しています。

double MGPVertex::t ( ) const
inline

Return the parameter value.

std::string MGPVertex::whoami ( ) const
inlinevirtual

MGCellBaseを再実装しています。

void MGPVertex::WriteMembers ( MGOfstream &  buf) const
protectedvirtual

Write Object's Member Data.

MGCellBaseを再実装しています。


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