MGCL V10
V10
MGCL V10
|
MGComplex is a container of parameter cells and binder cells. [詳解]
公開型 | |
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 |
公開メンバ関数 | |
MGComplex () | |
Void constructor. [詳解] | |
MGComplex (const MGComplex &complex) | |
MGComplex (const MGCellNB &cell) | |
MGComplex (MGCellNB *cell) | |
virtual | ~MGComplex () |
virtual MGComplex & | operator= (const MGGel &gel2) |
virtual MGComplex & | operator= (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 |
virtual MGComplex & | operator+= (const MGVector &v) |
Object transformation. [詳解] | |
virtual MGComplex & | operator-= (const MGVector &v) |
virtual MGComplex & | operator*= (double scale) |
virtual MGComplex & | operator*= (const MGMatrix &mat) |
virtual MGComplex & | operator*= (const MGTransf &tr) |
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 MGCellNB * | bcelli (int i) const |
Obtain i-the pcell in the m_bcells sequence. MGCellNB version. [詳解] | |
MGCellNB * | bcelli (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. [詳解] | |
MGCellNB * | binder (int i) const |
Obtain the binder of i-the pcell, may be null. [詳解] | |
std::vector< MGCellNB * > | binders () const |
const MGBox & | box () const |
Return the box of this complex. [詳解] | |
MGPosition | center () const |
virtual MGComplex * | clone () 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 MGCellNB * | first_pcell () const |
Get fisrt pcell pointer. [詳解] | |
MGCellNB * | first_pcell () |
virtual long | identify_type () const |
Return Object's type ID (TID) [詳解] | |
bool | includes (const MGCellNB *cell) const |
const MGCellNB * | last_pcell () const |
Get last pcell pointer. [詳解] | |
MGCellNB * | last_pcell () |
virtual int | manifold_dimension () const |
Get manifold dimension. [詳解] | |
int | number_of_bcells () const |
count number of bcells of the complex [詳解] | |
int | number_of_pcells () const |
count number of pcells of the complex [詳解] | |
virtual std::ostream & | out (std::ostream &) const |
Output virtual function. [詳解] | |
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 MGCellNB * | pcelli (int i) const |
Obtain i-the pcell. MGCellNB version. [詳解] | |
MGCellNB * | pcelli (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 MGCellNB * | star () const |
MGCellNB * | star () |
基底クラス 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 ¶, 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 |
限定公開メンバ関数 | |
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. [詳解] | |
virtual std::string | whoami () const |
virtual void | ReadMembers (MGIfstream &buf) |
Read Object's member data. [詳解] | |
MGComplex & | set_complex (const MGComplex &comp2) |
virtual void | WriteMembers (MGOfstream &buf) const |
Write Object's Member Data. [詳解] | |
基底クラス MGObject に属する継承限定公開メンバ関数 | |
MGObject & | set_object (const MGObject &gel2) |
限定公開変数類 | |
MGBox | m_box |
基底クラス MGAttribedGel に属する継承限定公開変数類 | |
std::auto_ptr< mgVBO > | m_dlistName |
display name if m_dlistName!=0; [詳解] | |
フレンド | |
MG_DLL_DECLR friend MGComplex | operator* (double s, const MGComplex &complex) |
MGComplex is a container of parameter cells and binder cells.
typedef container_type::iterator MGComplex::bcellItr |
typedef container_type::iterator MGComplex::cellItr |
typedef container_type::const_iterator MGComplex::const_bcellItr |
typedef container_type::const_iterator MGComplex::const_cellItr |
typedef container_type::const_iterator MGComplex::const_pcellItr |
typedef std::list<MGCellNB*> MGComplex::container_type |
typedef container_type::iterator MGComplex::pcellItr |
MGComplex::MGComplex | ( | ) |
Void constructor.
MGComplex::MGComplex | ( | const MGComplex & | complex | ) |
Copy constructor. Copy as a boundary complex of parent. When parent is not specified, this is ordinary world complex. Not a boundary complex.
MGComplex::MGComplex | ( | const MGCellNB & | cell | ) |
Construct of one cell. The second form takes the ownership of the cell, must be newed object.
MGComplex::MGComplex | ( | MGCellNB * | cell | ) |
|
virtual |
|
explicitprotected |
Fundamental constructor. Construct from a list of pcells. This constructor takes the ownership of all pcells in pcells. Fundamental constructor of MGComplex does not take box as input since this constructor has to do binder append treatment that is attached to pcells.
|
protected |
Binder cells of the pcells in complex will be registered in cmap.
Insert a Cell(binder or parameter) before the position loc. loc is the iterator of m_pcells or m_bcells according to pcell.
cell | Cell to insert |
pcell | indicates if input cell is parameter or binder cell. |
loc | Iterator that indicates insert position. Insert cell befoer the iterator loc. |
cellmap to register binder association.
Append a binder to the end of bcell sequence.
Append a PCell to the end of pcell sequence.
|
inline |
Obtain first bcell iterator.
|
inline |
|
inline |
Obtain end bcell iterator(next of the last bcell).
|
inline |
bool MGComplex::bcell_exist | ( | ) | const |
Cehck if bcell exist.
const MGCellNB* MGComplex::bcelli | ( | int | i | ) | const |
Obtain i-the pcell in the m_bcells sequence. MGCellNB version.
MGCellNB* MGComplex::bcelli | ( | int | i | ) |
const_bcellItr MGComplex::bcellIterator | ( | int | i | ) | const |
Obtain i-the pcell in the m_bcells sequence. MGCellNB version.
bcellItr MGComplex::bcellIterator | ( | int | i | ) |
MGCellNB* MGComplex::binder | ( | int | i | ) | const |
Obtain the binder of i-the pcell, may be null.
std::vector<MGCellNB*> MGComplex::binders | ( | ) | const |
Obtain binders of all the pcells of the boundary. i-th binder of the fucntion's returned value is the binder of i-th pcell of the boundary, and may be null.
MGPosition MGComplex::center | ( | ) | const |
Compute barycenter of all the vertex(binder cell of 0D manifold dimension).
|
virtual |
Construct new object by copying to newed area. User must delete this copied object by "delete".
MGObjectを実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
|
protectedvirtual |
Compute the box from the scratch.
|
protected |
Copy all pcells of comp into this, but does not copy binders of the pcells.
|
virtual |
|
virtual |
Draw 3D point(vertex) in star cell's world coordinates. The object is converted to point(s) and is drawn.
|
virtual |
Draw 3D curve in world coordinates. The object is converted to curve(s) and is drawn.
vbo | Target graphic object |
span_length | Line segment span length. |
line_density | line density to draw a surface in wire mode. |
MGObjectを実装しています。
|
virtual |
Draw 3D curve in the topology's star cell world coordinates. The object is converted to curve(s) and is drawn.
vbo | Target graphic object. |
span_length | Line segment span length. |
line_density | line density to draw a surface in wire mode. |
|
protected |
Erase all elements(PCells and BCells). erase_all_elements does free and destruct all the elements. erase_all_elements does not maintain m_box.
void MGComplex::erase_first_pcell | ( | ) |
Erase first pcell element, including binder cells that will be free when the first pcell is erased.
void MGComplex::erase_last_pcell | ( | ) |
erase first pcell.
Erase last pcell element, including binder cells that will be free when the last pcell is erased.
void MGComplex::erase_pcell | ( | MGCellNB * | pcell | ) |
erase last pcell.
Erase the pcell element, including binder cells that will be free when the last pcell is erased.
const MGCellNB* MGComplex::first_pcell | ( | ) | const |
Get fisrt pcell pointer.
MGCellNB* MGComplex::first_pcell | ( | ) |
|
virtual |
bool MGComplex::includes | ( | const MGCellNB * | cell | ) | const |
Test if this complex includes the MGCellNB cell as a contituent. Returns true if cell is included in this complex.
const MGCellNB* MGComplex::last_pcell | ( | ) | const |
Get last pcell pointer.
MGCellNB* MGComplex::last_pcell | ( | ) |
|
virtual |
|
inline |
count number of bcells of the complex
|
inline |
count number of pcells of the complex
MGComplex MGComplex::operator* | ( | double | s | ) | const |
Complexのスケーリングを行い,Complexを作成する。 Scaling of the Complex by a double.
与えられた変換でComplexの変換を行い,Complexを作成する。 Transformation of the Complex by a matrix.
与えられた変換によってトランスフォームをおこないComplexを生成する。 Transformation of the Complex by a MGTransf.
|
virtual |
MGObjectを実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
MGObjectを実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
MGObjectを実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
Complexに平行移動を行ないオブジェクトを生成する。 Translation of the Complex
Complexに逆方向の平行移動を行ないオブジェクトを生成する。 Translation of the Complex
MGObjectを実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
|
inline |
Complexのスケーリングを行い,Complexを作成する。 Scaling of the Complex by a double.
|
virtual |
comparison
MGLoopで再実装されています。
|
virtual |
|
virtual |
|
inline |
Obtain first pcell iterator.
|
inline |
|
inline |
Obtain end pcell iterator(next of the last pcell).
|
inline |
bool MGComplex::pcell_exist | ( | ) | const |
Cehck if pcell exist.
MGCellNB* MGComplex::pcelli | ( | int | i | ) |
const_pcellItr MGComplex::pcellIterator | ( | int | i | ) | const |
Obtain i-th pcell iterator.
pcellItr MGComplex::pcellIterator | ( | int | i | ) |
std::vector<MGCellNB*> MGComplex::pcells | ( | ) |
Obtain pcells that constitute the boundary. Let pcellvec[.] be pcells' return value and bindervec[.] be binders' return value. Then pcellvec[i] corresponds to bindervec[i]. bindervec[i] is binder cell of i-th pcell element of the boundary.
std::vector<const MGCellNB*> MGComplex::pcells | ( | ) | 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.
MGObjectを再実装しています。
Prepend a PCell to the end of pcell sequence.
|
protectedvirtual |
Assighment. When the leaf object of this and topo2 are not equal, this assignment does nothing.
const MGCellNB* MGComplex::star | ( | ) | const |
Get star cell pointer if this complex is a boundary of a cell. Else, null will be returned.
MGCellNB* MGComplex::star | ( | ) |
|
inlineprotectedvirtual |
MGTopologyを再実装しています。
MGLoop, MGShell, MGBoundaryで再実装されています。
|
protectedvirtual |
Complexのスケーリングを行い,Complexを作成する。 Scaling of the Complex by a double.
|
mutableprotected |
Box of the complex. Initially this is null, and will be computed if necessary. ***Currently Box is computed only from pcells, not correct box.