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

Is an abstract class which represents a whole geometry and a topology. [詳解]

MGObject の継承関係図
MGAttribedGel MGGel MGGeometry MGStl MGTopology MGCurve MGPoint MGSurface MGCellBase MGComplex MGBSumCurve MGCompositeCurve MGEllipse MGLBRep MGRLBRep MGStraight MGSurfCurve MGTrimmedCurve MGBSumSurf MGCylinder MGPlane MGRSBRep MGSBRep MGSphere MGCellNB MGPVertex MGBoundary

公開メンバ関数

 MGObject ()
 Void constructor(初期化なしでオブジェクトを作成する。) [詳解]
 
 MGObject (const MGObject &obj2)
 Copy constructor. [詳解]
 
virtual ~MGObject ()
 Virtual Destructor. [詳解]
 
virtual MGObjectoperator= (const MGObject &obj2)
 
virtual MGObjectoperator+= (const MGVector &v)=0
 Object transformation. [詳解]
 
virtual MGObjectoperator-= (const MGVector &v)=0
 
virtual MGObjectoperator*= (double scale)=0
 
virtual MGObjectoperator*= (const MGMatrix &mat)=0
 
virtual MGObjectoperator*= (const MGTransf &tr)=0
 
virtual std::ostream & out (std::ostream &) const
 Output virtual function. [詳解]
 
MGAppearanceappearance ()
 
const MGAppearanceappearance () const
 
virtual const MGBoxbox () const =0
 Get the box of the object. [詳解]
 
virtual MGObjectclone () const =0
 
virtual void drawWire (mgVBO &vbo, double span_length, int line_density=1) const =0
 
virtual void draw3DVertex (mgVBO &vbo) const =0
 
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 MGObject &obj2) const =0
 
virtual MGisects intersection (const MGPoint &obj2) const
 
virtual MGisects intersection (const MGCurve &obj2) const =0
 
virtual MGisects intersection (const MGFSurface &obj2) const =0
 
virtual MGisects intersection (const MGSurface &obj2) const =0
 
virtual MGisects intersection (const MGFace &obj2) const =0
 
virtual MGisects intersection (const MGShell &obj2) const =0
 
virtual MGPosition pick_closest (const MGStraight &sl) 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 MGGeloperator= (const MGGel &gel2)
 
virtual bool operator== (const MGGel &gel2) const
 Comparison. [詳解]
 
virtual bool operator!= (const MGGel &gel2) const
 
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 int manifold_dimension () 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 MGTopologytopology ()
 Return MGTopology pointer if this MGGel is an MGTopology, else return null. [詳解]
 
virtual const MGTopologytopology () 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
 
virtual long identify_type () const =0
 Return This object's typeID. [詳解]
 
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
 
virtual std::string whoami () const =0
 

限定公開メンバ関数

virtual void ReadMembers (MGIfstream &buf)
 general transformation. [詳解]
 
virtual void WriteMembers (MGOfstream &buf) const
 Write all member data. [詳解]
 
MGObjectset_object (const MGObject &gel2)
 

その他の継承メンバ

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

詳解

Is an abstract class which represents a whole geometry and a topology.

構築子と解体子

MGObject::MGObject ( )

Void constructor(初期化なしでオブジェクトを作成する。)

MGObject::MGObject ( const MGObject obj2)

Copy constructor.

virtual MGObject::~MGObject ( )
virtual

Virtual Destructor.

関数詳解

MGAppearance* MGObject::appearance ( )
inlinevirtual

Get the MGAppearance pointer of this object. If not defined, null will be returned. See ensure_appearance().

MGAttribedGelを実装しています。

const MGAppearance* MGObject::appearance ( ) const
inlinevirtual

MGAttribedGelを実装しています。

virtual const MGBox& MGObject::box ( ) const
pure virtual

Get the box of the object.

MGEdge, MGStl, MGComplex, MGCell, MGCellNB, MGPVertex, MGCellBase, MGGeometry, MGBVertexで実装されています。

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

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

MGGelを実装しています。

MGLBRep, MGSBRep, MGEllipse, MGRSBRep, MGRLBRep, MGStraight, MGCompositeCurve, MGPlane, MGFace, MGSurface, MGSphere, MGCurve, MGLoop, MGCylinder, MGEdge, MGStl, MGSurfCurve, MGComplex, MGTrimmedCurve, MGCell, MGCellNB, MGShell, MGBSumCurve, MGPoint, MGBSumSurf, MGGeometry, MGPVertex, MGBoundary, mgTL2Polyline, MGCellBase, MGBVertex, MGPlaneImage (計32項目)で実装されています。

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

MGEdge, MGFace, MGStl, MGComplex, MGCell, MGPoint, MGCellNB, MGGeometry, MGCellBase, MGPVertex, MGBVertexで実装されています。

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

Draw the object in wire mode, in the 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.

MGCurve, MGStraight, MGSurface, MGEdge, MGFace, MGPlane, MGStl, MGComplex, MGPoint, MGPVertex, MGBVertex, MGPlaneImageで実装されています。

MGAppearance* MGObject::ensure_appearance ( )
virtual

make this group has appearance and get the MGAppearance pointer. See appearance().

MGAttribedGelを実装しています。

virtual const MGFSurface* MGObject::fsurface ( ) const
inlinevirtual

Get the MGFSurface pointer if this is MGSurface or MGFace.

MGSurface, MGFaceで再実装されています。

virtual MGFSurface* MGObject::fsurface ( )
inlinevirtual

MGSurface, MGFaceで再実装されています。

bool MGObject::has_common ( const MGObject obj2) const

Test if this and 2nd object has common area about their box(), taking error into account.

const MGObject* MGObject::includes_object ( ) const
inlinevirtual

Test if this gel includes an object.

MGGelを実装しています。

MGObject* MGObject::includes_object ( )
inlinevirtual

Test if this gel includes an object.

MGGelを実装しています。

virtual MGisects MGObject::intersection ( const MGObject obj2) const
pure virtual

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.

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual MGisects MGObject::intersection ( const MGPoint obj2) const
inlinevirtual
virtual MGisects MGObject::intersection ( const MGCurve obj2) const
pure virtual

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual MGisects MGObject::intersection ( const MGFSurface obj2) const
pure virtual

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual MGisects MGObject::intersection ( const MGSurface obj2) const
pure virtual

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual MGisects MGObject::intersection ( const MGFace obj2) const
pure virtual

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual MGisects MGObject::intersection ( const MGShell obj2) const
pure virtual

MGSurface, MGCurve, MGFace, MGStl, MGPoint, MGShell, MGTopologyで実装されています。

virtual void MGObject::make_display_list ( MGCL::VIEWMODE  vmode = MGCL::DONTCARE) const
virtual

Make a display list of this gel.

MGGelを再実装しています。

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

virtual MGObject* MGObject::object ( )
inlinevirtual

Return MGObject pointer if this MGGel is an MGObject, else return null.

MGGelを再実装しています。

virtual const MGObject* MGObject::object ( ) const
inlinevirtual

MGGelを再実装しています。

virtual MGObject& MGObject::operator*= ( double  scale)
pure virtual
virtual MGObject& MGObject::operator*= ( const MGMatrix mat)
pure virtual
virtual MGObject& MGObject::operator*= ( const MGTransf tr)
pure virtual
virtual MGObject& MGObject::operator+= ( const MGVector v)
pure virtual
virtual MGObject& MGObject::operator-= ( const MGVector v)
pure virtual
virtual MGObject& MGObject::operator= ( const MGObject obj2)
inlinevirtual

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

virtual std::ostream& MGObject::out ( std::ostream &  ) const
virtual
virtual MGPosition MGObject::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.

MGSurface, MGCurve, MGFace, MGEdge, MGComplex, MGPVertex, MGBVertexで再実装されています。

virtual void MGObject::ReadMembers ( MGIfstream buf)
protectedvirtual
void MGObject::remove_appearance ( )
virtual

Remove the MGAppearance of this MGAttribedGel.

MGAttribedGelを実装しています。

void MGObject::set_appearance ( const MGAppearance appr2)
virtual

MGAttribedGelを実装しています。

MGObject& MGObject::set_object ( const MGObject gel2)
protected

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

virtual void MGObject::shade ( mgVBO vbo,
const MGDrawParam para,
mgVBO::ELEMENT_TARGET  target = mgVBO::SHADING 
) const
inlinevirtual

Shade the object in world coordinates.

MGSurface, MGPlane, MGFace, MGShell, MGStl, MGPlaneImageで再実装されています。

virtual void MGObject::transform ( const MGVector v)
inlinevirtual

Transform the gel by the argument.

MGGelを再実装しています。

virtual void MGObject::transform ( double  scale)
inlinevirtual

translation

MGGelを再実装しています。

virtual void MGObject::transform ( const MGMatrix mat)
inlinevirtual

scaling.

MGGelを再実装しています。

virtual void MGObject::transform ( const MGTransf tr)
inlinevirtual

matrix transformation.

MGGelを再実装しています。

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

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