MGCL V10
V10
MGCL V10
|
MGShell is a composition of MGFace's(trimmed surface). [詳解]
公開メンバ関数 | |
MGShell () | |
Default constructor. [詳解] | |
MGShell (const MGFace &face) | |
MGShell (MGFace *face) | |
MGShell (const MGFSurface &face) | |
MGShell (MGFSurface *face) | |
MGShell (std::list< MGCellNB * > boundaries) | |
MGShell & | operator= (const MGGel &gel2) |
MGShell & | operator= (const MGShell &gel2) |
MGShell & | operator+= (const MGVector &v) |
Object transformation. [詳解] | |
MGShell & | operator-= (const MGVector &v) |
MGShell & | operator*= (double scale) |
MGShell & | operator*= (const MGMatrix &mat) |
MGShell & | operator*= (const MGTransf &tr) |
bool | operator< (const MGShell &gel2) const |
comparison [詳解] | |
bool | operator< (const MGGel &gel2) const |
std::ostream & | out (std::ostream &ostrm) const |
Debug Function. [詳解] | |
int | out_to_IGES (MGIgesOfstream &igesfile, int SubordinateEntitySwitch=0) const |
bool | active () const |
Test if this is an active boundary. [詳解] | |
void | append_face (MGFace *f) |
MGShell * | clone (MGCell &parent) const |
MGShell * | clone () const |
MGShell * | clone_without_binders (MGCell &parent) const |
Make a clone that has not binders. [詳解] | |
MGShell * | clone_without_binders () const |
bool | closed () const |
Test if this is closed boundary. [詳解] | |
MGFPoint | closest (const MGPosition &point) const |
Compute the closest point from a point to this shell. [詳解] | |
virtual void | display_arrows (mgSysGL &sgl) const |
Judge if the display list for vmode is made or not. [詳解] | |
virtual void | display_control_polygon (mgSysGL &sgl) const |
void | ensure_BVertices_of_ModelEdges () const |
MGFace * | face (pcellItr i) |
Get the face pointer from its iterator in MGComplex of MGBoudarynD. [詳解] | |
const MGFace * | face (const_pcellItr i) const |
MGFace * | face (int i) |
Get the face pointer from its pcell id in MGComplex of MGBoudarynD. [詳解] | |
const MGFace * | face (int i) const |
long | identify_type () const |
Return This object's typeID. [詳解] | |
MGisects | intersection (const MGObject &obj2) const |
MGisects | intersection (const MGCurve &obj2) const |
MGisects | intersection (const MGFSurface &obj2) const |
MGisects | intersection (const MGSurface &obj2) const |
MGisects | intersection (const MGFace &obj2) const |
MGisects | intersection (const MGShell &obj2) const |
MGCFisect_vector | isect (const MGCurve &curve) const |
Intersection of a shell and a curve. [詳解] | |
MGHHisect_vector | isect (const MGShell &shell2) const |
Intersection of two shells. [詳解] | |
MGHHisect_vector | isect (const MGSurface &surf) const |
MGHHisect_vector | isect (const MGFace &face) const |
MGHHisect_vector | isect (const MGFSurface &face) const |
void | make_display_list (MGCL::VIEWMODE vmode=MGCL::DONTCARE) const |
Make 2 types of display list of this gel(wire and shading). [詳解] | |
int | manifold_dimension () const |
Get manifold dimension. [詳解] | |
bool | merge_at_common_edge (const MGFace &face) |
bool | merge_at_common_edge (MGFace *face) |
bool | merge_at_common_edge (const MGFSurface &face) |
bool | merge_at_common_edge (MGFSurface *face) |
int | number_of_faces () const |
Get the number of faces included in this shell. [詳解] | |
bool | on (const MGPosition &point, MGFPoint &fp) const |
std::vector< MGFPoint > | perps (const MGPosition &point) const |
Obtain perpendicular points of a shell from a point. [詳解] | |
int | project (const MGCurve &crv, MGHHisect_vector &lines, const MGVector &vec=mgNULL_VEC) const |
void | shade (mgVBO &vbo, const MGDrawParam ¶, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const |
Shade the object in world coordinates. [詳解] | |
virtual void | triangulate (const MGDrawParam ¶, MGCL::TL_DATA_KIND dkind, std::vector< mgTL2Triangles > &trisVec) const |
Triangulate this object(MGShell, MGFace, or MGSurface is the target). [詳解] | |
MGShell * | shell () |
Return MGShell pointer if this MGGel is an MGShell, else return null. [詳解] | |
const MGShell * | shell () const |
MGPvector< MGCurve > | skeleton (int density=1) const |
MGPvector< MGCurve > | skeleton_at_knots () const |
Obtain all the parameter curves at knots of u and v knot vector. [詳解] | |
virtual std::string | whoami () const |
基底クラス MGBoundary に属する継承公開メンバ関数 | |
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 MGBoundary & | operator= (const MGBoundary &gel2) |
MGUnit_vector | direction_star (int i) const |
bool | empty () |
bool | equal_direction (int i, const MGBoundary &bound2, int j) const |
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. [詳解] | |
void | set_binder (int i, MGCellNB &binder) const |
MGCell * | set_parent (MGCell &new_parent) const |
const MGCellNB * | star () const |
Get the star cell. [詳解] | |
MGCellNB * | star () |
基底クラス MGComplex に属する継承公開メンバ関数 | |
MGComplex () | |
Void constructor. [詳解] | |
MGComplex (const MGComplex &complex) | |
MGComplex (const MGCellNB &cell) | |
MGComplex (MGCellNB *cell) | |
virtual | ~MGComplex () |
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 |
MGComplex | operator/ (double s) const |
virtual bool | operator< (const MGComplex &gel2) const |
comparison [詳解] | |
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 |
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 () |
bool | includes (const MGCellNB *cell) const |
const MGCellNB * | last_pcell () const |
Get last pcell pointer. [詳解] | |
MGCellNB * | last_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 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) |
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 |
MGAppearance * | ensure_appearance () |
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 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 |
std::string | string_content () const |
bool | type_is (const MGAbstractGels &types) const |
virtual void | display_break_points (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. [詳解] | |
基底クラス MGBoundary に属する継承限定公開メンバ関数 | |
MGBoundary (const MGBoundary &boundary, MGCellMap &cmap) | |
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 () |
MGBoundary & | set_boundary (const MGBoundary &gel2) |
基底クラス 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. [詳解] | |
MGComplex & | set_complex (const MGComplex &comp2) |
基底クラス MGObject に属する継承限定公開メンバ関数 | |
MGObject & | set_object (const MGObject &gel2) |
その他の継承メンバ | |
基底クラス 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 に属する継承限定公開変数類 | |
MGCell * | m_parent_cell |
Cell that has this boundary as a boundary. [詳解] | |
基底クラス MGComplex に属する継承限定公開変数類 | |
MGBox | m_box |
基底クラス MGAttribedGel に属する継承限定公開変数類 | |
std::auto_ptr< mgVBO > | m_dlistName |
display name if m_dlistName!=0; [詳解] | |
|
inline |
Default constructor.
MGShell::MGShell | ( | const MGFace & | face | ) |
Construct a shell of one face. Copy version of face.
|
explicit |
Construct a shell of one face. face is a pointer to newed face, and the ownership will be transfered to MGShell.
MGShell::MGShell | ( | const MGFSurface & | face | ) |
Construct a shell of one face. Copy version of face.
|
explicit |
Construct a shell of one face. face is a pointer to newed face, and the ownership will be transfered to MGShell.
MGShell::MGShell | ( | std::list< MGCellNB * > | boundaries | ) |
Fundamental constructor. Construct from boundary complex(i.e. MGLoop). This constructor takes the ownership of MGCell* in boundary.
boundaries | Boundary data of the super class MGBoundary. List of faces. |
|
inlinevirtual |
Test if this is an active boundary.
MGBoundaryを実装しています。
|
inline |
Append a face this is independent or connected to the already member faces of this shell. append_face() does not make any face join process. f must be a newed object, and the ownership will be transfered to this shell.
Make a clone. Returned is pointer of newed object, must be deleted. When parent is specified, clone's parent is set to the parent.
MGBoundaryを実装しています。
|
virtual |
Construct new object by copying to newed area. User must delete this copied object by "delete".
MGBoundaryを実装しています。
Make a clone that has not binders.
MGBoundaryを実装しています。
|
virtual |
MGBoundaryを実装しています。
|
inlinevirtual |
Test if this is closed boundary.
MGBoundaryを実装しています。
MGFPoint MGShell::closest | ( | const MGPosition & | point | ) | const |
Compute the closest point from a point to this shell.
|
virtual |
Judge if the display list for vmode is made or not.
MGGelを再実装しています。
void MGShell::ensure_BVertices_of_ModelEdges | ( | ) | const |
Get the face pointer from its iterator in MGComplex of MGBoudarynD.
const MGFace* MGShell::face | ( | const_pcellItr | i | ) | const |
const MGFace* MGShell::face | ( | int | i | ) | const |
|
virtual |
Return This object's typeID.
MGBoundaryを実装しています。
Compute the intersections of two objects. Intersections are obtained from two objects, which are known using the MGisects::object1() and object2(). ****NOTE**** When two objects' manifold dimension are the same, object1 is this object at the invocation of MGObject::intersection(), and object2 is the argument object. However, their manifold dimension are not the same, object1 is always the lower dimension's object and object2 is the higer dimension's object.
MGTopologyを再実装しています。
MGTopologyを再実装しています。
|
virtual |
MGTopologyを再実装しています。
MGTopologyを再実装しています。
MGTopologyを再実装しています。
MGTopologyを再実装しています。
MGCFisect_vector MGShell::isect | ( | const MGCurve & | curve | ) | const |
Intersection of a shell and a curve.
MGHHisect_vector MGShell::isect | ( | const MGShell & | shell2 | ) | const |
Intersection of two shells.
MGHHisect_vector MGShell::isect | ( | const MGSurface & | surf | ) | const |
Intersection of a shell and a surface. This shell's face is face1 in HHisect and face2 is null.
MGHHisect_vector MGShell::isect | ( | const MGFace & | face | ) | const |
Intersection of a shell and a face. This shell's face is face1 in HHisect and face2 is face.
MGHHisect_vector MGShell::isect | ( | const MGFSurface & | face | ) | const |
Intersection of a shell and a face. This shell's face is face1 in HHisect and face2 is face.
|
virtual |
Make 2 types of display list of this gel(wire and shading).
MGObjectを再実装しています。
|
inlinevirtual |
Get manifold dimension.
MGBoundaryを実装しています。
bool MGShell::merge_at_common_edge | ( | const MGFace & | face | ) |
Merge a face at free edges of this shell. Function's return value is false: merge was not done because no common edges were found. true: merge of the shell and the face was done. Case of true includes that merge was done only partialy. This case occurs when after some common edges are merged, some common edges are found to have contradictionary direction. Merge is done only for the first common edges found to have same direction. When the function's return value is false, the face will not be added to the shell. Merge negates the input face direction when this shell's direction is not the same as the input face's one along the common edge(s). The second form is a pointer version. The face must be newed object and will be destructed after merge when function's return value is true (merge was processed). This shell may be dummy shell. In this case, the face is added to the 1st face in the shell.
bool MGShell::merge_at_common_edge | ( | MGFace * | face | ) |
bool MGShell::merge_at_common_edge | ( | const MGFSurface & | face | ) |
bool MGShell::merge_at_common_edge | ( | MGFSurface * | face | ) |
|
inline |
Get the number of faces included in this shell.
bool MGShell::on | ( | const MGPosition & | point, |
MGFPoint & | fp | ||
) | const |
Test if a point is on the shell or not. Function's return value is true if the point is on the shell, and false if not. The point parameter of the shell is returned in fp if true is returned. If false is returned, the closest point of the shell will be returned in fp.
point | Target point. |
fp | Shell's point parameter value. |
|
inlinevirtual |
MGBoundaryを再実装しています。
MGBoundaryを再実装しています。
MGBoundaryを再実装しています。
Object transformation.
MGBoundaryを再実装しています。
MGBoundaryを再実装しています。
bool MGShell::operator< | ( | const MGShell & | gel2 | ) | const |
comparison
Assignment. When the leaf object of this and bnd2 are not equal, this assignment does nothing.
MGComplexを再実装しています。
|
virtual |
Debug Function.
MGBoundaryを再実装しています。
|
virtual |
IGES output function Function's return value is the directory entry id created.
MGGelを再実装しています。
std::vector<MGFPoint> MGShell::perps | ( | const MGPosition & | point | ) | const |
Obtain perpendicular points of a shell from a point.
int MGShell::project | ( | const MGCurve & | crv, |
MGHHisect_vector & | lines, | ||
const MGVector & | vec = mgNULL_VEC |
||
) | const |
Obtain the projected curves of a curve onto the shell. The direction of the projection is along the vector vec if the vec is not NULL, and normal to the shell if the vec is NULL. Output of 'project' is two kind of curves: one is general world coordinate curves(iline() of the MGHHisect members of lines), and the other is (u,v) curves of the parameter space of the surfaces (uvline1() of the MGHHisect members of lines ). *** uvline2() of the MGHHisect members of lines is a deque of length zero (not used). Function's return value is the number of curves obtained. When <0 is returned, some internal error occured.
crv | given world coordinate curve to project. |
lines | World coordinates (x,y,z) lines and (u,v) lines of the projected curves will be returned in lines. |
vec | projection direction. if vec = NULL, then projection that is normal to the shell. |
|
protectedvirtual |
Read Object's member data.
MGBoundaryを再実装しています。
|
virtual |
Shade the object in world coordinates.
MGObjectを再実装しています。
|
inlinevirtual |
Obtain boundary and main parameter lines of the FSurface. skeleton includes boundary() and inner parameter lines. density indicates how many inner parameter lines are necessary for both u and v directions.
Obtain all the parameter curves at knots of u and v knot vector.
|
virtual |
Triangulate this object(MGShell, MGFace, or MGSurface is the target).
|
inlinevirtual |
MGBoundaryを再実装しています。
|
protectedvirtual |
Write Object's Member Data.
MGBoundaryを再実装しています。