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

MGStl is a concrete class which represents an STL information. [詳解]

MGStl の継承関係図
MGObject MGAttribedGel MGGel

公開メンバ関数

 MGStl (void)
 デフォルトコンストラクタ [詳解]
 
 MGStl (const MGStl &stl)
 コピーコンストラクタ [詳解]
 
 MGStl (const mgTL2Triangles &tris)
 conversion constructor from tessellation data. [詳解]
 
 MGStl (double error, const mgTL2Triangles &tris)
 
 MGStl (const std::vector< mgTL2Triangles > &tlDataVector)
 conversion constructor from tessellation data. [詳解]
 
 MGStl (int nTriang, const int *triang, const double *verts)
 
 MGStl (const std::vector< MGPosition > &vertices, const std::vector< int > &indices)
 
 ~MGStl (void)
 仮想デストラクタ. [詳解]
 
MGStloperator+= (const MGVector &v)
 全ての頂点とボックスの座標に指定したMGVectorの値を加算. [詳解]
 
MGStloperator-= (const MGVector &v)
 全ての頂点とボックスの座標から指定したMGVectorの値を引く. [詳解]
 
MGStloperator*= (double scale)
 全ての頂点とボックスの座標に指定した値を掛ける. [詳解]
 
MGStloperator*= (const MGMatrix &mat)
 与えられた変換を行う. [詳解]
 
MGStloperator*= (const MGTransf &tr)
 与えられた変換によるトランスフォームを行う. [詳解]
 
bool operator== (const MGStl &stl)
 2つのMGStlオブジェクトが等しいか判定する. [詳解]
 
MGStloperator= (const MGStl &stl)
 2つのMGStlオブジェクトを代入する. [詳解]
 
std::ostream & out (std::ostream &ostrm) const
 Output virtual function. [詳解]
 
const MGBoxbox () const
 
MGStlclone () const
 
long identify_type () const
 Return This object's typeID. [詳解]
 
void drawWire (mgVBO &vbo, double span_length, int line_density=1) const
 
void draw3DVertex (mgVBO &vbo) const
 
void shade (mgVBO &vbo, const MGDrawParam &para, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const
 Shade the object in world coordinates. [詳解]
 
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
 
int manifold_dimension () const
 Get manifold dimension. [詳解]
 
void WriteMembers (MGOfstream &buf) const
 Write all member data. [詳解]
 
void ReadMembers (MGIfstream &buf)
 Read all member data. [詳解]
 
const std::vector< MGPosition > & positions () const
 return the ref to m_vecPos. [詳解]
 
std::vector< MGPosition > & positions ()
 
const std::vector
< MGUnit_vector > & 
normals () const
 return the ref to m_vecPos. [詳解]
 
std::vector< MGUnit_vector > & normals ()
 
int GetTriangleCount () const
 
void GetVertIndices (int i, int pos[3]) const
 指定した三角形の頂点座標が入れられている配列のインデックスを取得する. [詳解]
 
int LoadFile (const TCHAR *strFilePath)
 
int SaveAscii (std::ofstream &fout) const
 
int SaveBinary (const TCHAR *rSTLFilePath) const
 
void push_back_triangle (const MGPosition &pos1, const MGPosition &pos2, const MGPosition &pos3, triangleMap &VertexMap)
 
void display_arrows (mgSysGL &sgl) const
 三角形ごとに法線を表示する. [詳解]
 
void set_all_data (const std::vector< MGPosition > &vertices, const std::vector< int > &indices)
 メンバーデータを直接セットする. [詳解]
 
void update_bounds ()
 Update the bounds. [詳解]
 
void update_normals ()
 Update the all normals of the triangles. [詳解]
 
std::string whoami () const
 オブジェクト名を返却する. [詳解]
 
int SaveObjFormatFromStl (std::ofstream &fout) const
 
- 基底クラス MGObject に属する継承公開メンバ関数
 MGObject ()
 Void constructor(初期化なしでオブジェクトを作成する。) [詳解]
 
 MGObject (const MGObject &obj2)
 Copy constructor. [詳解]
 
virtual ~MGObject ()
 Virtual Destructor. [詳解]
 
virtual MGObjectoperator= (const MGObject &obj2)
 
MGAppearanceappearance ()
 
const MGAppearanceappearance () const
 
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
 
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 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
 
std::string string_content () const
 
bool type_is (const MGAbstractGels &types) 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
 

その他の継承メンバ

- 基底クラス MGObject に属する継承限定公開メンバ関数
MGObjectset_object (const MGObject &gel2)
 
- 基底クラス MGAttribedGel に属する継承限定公開変数類
std::auto_ptr< mgVBOm_dlistName
 display name if m_dlistName!=0; [詳解]
 

詳解

MGStl is a concrete class which represents an STL information.

このクラスは複数の三角形を配列として保持する. 全ての三角形の頂点の座標はファイルから読み込んだ順で、重複を取り除いて配列に格納される. m_indicesにはファイルから読み込んだ順番で各三角形の頂点の並びが格納されており その各要素には該当する頂点座標の配列の添え字が格納される. 例えば、i番目の三角形の各頂点の座標の添え字はindices[i*3]、indices[i*3+1]、indices[i*3+2] という以上の順序で格納されている.

構築子と解体子

MGStl::MGStl ( void  )
inline

デフォルトコンストラクタ

MGStl::MGStl ( const MGStl stl)

コピーコンストラクタ

MGStl::MGStl ( const mgTL2Triangles tris)

conversion constructor from tessellation data.

引数
trismgTL2Triangles whose data depend on tris.get_kind();
MGStl::MGStl ( double  error,
const mgTL2Triangles tris 
)
引数
errorError to regard two points are the same.
trismgTL2Triangles whose data depend on tris.get_kind();
MGStl::MGStl ( const std::vector< mgTL2Triangles > &  tlDataVector)

conversion constructor from tessellation data.

MGStl::MGStl ( int  nTriang,
const int *  triang,
const double *  verts 
)

Constructor from triangle data, index+vertices. This constructor uses the wc_zero to identify different two positions as the same input position.

引数
nTriang三角形の数
triang頂点のid. The id's start from 1. (i*3, i*3+1, i*3+2) for i=0,...,indices.size()/3.
verts頂点の座標. verts[id0], [id1], [id2] make a triangle for id0=triang[i*3], id1=triang[i*3+1], id2=triang[i*3+2] for i=0,...,nTriang.
MGStl::MGStl ( const std::vector< MGPosition > &  vertices,
const std::vector< int > &  indices 
)

Constructor from triangle data, index+vertices. This constructor uses the wc_zero to identify different two positions as the same input position.

引数
verticesvertices[id0], [id1], [id2] make a triangle for id0=indices[i*3], id1=indices[i*3+1], id2=indices[i*3+2] for i=0,...,indices.size()/3.
indices頂点のid. The id's start from 1. (0,1,2),...(i*3, i*3+1, i*3+2) for i=0,...,indices.size()/3.
MGStl::~MGStl ( void  )

仮想デストラクタ.

関数詳解

const MGBox& MGStl::box ( ) const
virtual

STLファイルの図形のbounding boxを取得する. 戻り値:STLファイルの図形のbounding box

MGObjectを実装しています。

MGStl* MGStl::clone ( ) const
virtual

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

MGObjectを実装しています。

void MGStl::display_arrows ( mgSysGL sgl) const
virtual

三角形ごとに法線を表示する.

MGGelを再実装しています。

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

MGObjectを実装しています。

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

int MGStl::GetTriangleCount ( ) const
inline

三角形の個数を取得する. 戻り値:三角形の個数.

void MGStl::GetVertIndices ( int  i,
int  pos[3] 
) const

指定した三角形の頂点座標が入れられている配列のインデックスを取得する.

引数
[in]i:三角形のインデックス(0 <= i < GetTriangleCount)
[out]pos:指定した三角形の各頂点座標の配列の添え字[i, j, k]
long MGStl::identify_type ( ) const
virtual

Return This object's typeID.

MGGelを実装しています。

MGisects MGStl::intersection ( const MGObject obj2) const
inlinevirtual

Compute the intersections of two objects. ***********MGStl does not support the intersection functions.******

MGObjectを実装しています。

MGisects MGStl::intersection ( const MGCurve obj2) const
inlinevirtual

MGObjectを実装しています。

MGisects MGStl::intersection ( const MGFSurface obj2) const
inlinevirtual

MGObjectを実装しています。

MGisects MGStl::intersection ( const MGSurface obj2) const
inlinevirtual

MGObjectを実装しています。

MGisects MGStl::intersection ( const MGFace obj2) const
inlinevirtual

MGObjectを実装しています。

MGisects MGStl::intersection ( const MGShell obj2) const
inlinevirtual

MGObjectを実装しています。

int MGStl::LoadFile ( const TCHAR *  strFilePath)

引数で指定したパスのSTLファイルを読み込みメンバに値を設定する. またMGTolerance::wc_zeroに値を設定する. 戻り値: =0ファイルの読み込が成功 !=0 読み込まなかった。または失敗した(std::ifstreamのエラーコード) 事後条件:m_vecPos, m_vecNorml, m_indices, m_boxに図形の情報が格納される. MGTolerance::wc_zeroに値が設定される.

int MGStl::manifold_dimension ( ) const
inlinevirtual

Get manifold dimension.

MGGelを再実装しています。

const std::vector<MGUnit_vector>& MGStl::normals ( ) const
inline

return the ref to m_vecPos.

std::vector<MGUnit_vector>& MGStl::normals ( )
inline
MGStl& MGStl::operator*= ( double  scale)
virtual

全ての頂点とボックスの座標に指定した値を掛ける.

MGObjectを実装しています。

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

与えられた変換を行う.

MGObjectを実装しています。

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

与えられた変換によるトランスフォームを行う.

MGObjectを実装しています。

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

全ての頂点とボックスの座標に指定したMGVectorの値を加算.

MGObjectを実装しています。

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

全ての頂点とボックスの座標から指定したMGVectorの値を引く.

MGObjectを実装しています。

MGStl& MGStl::operator= ( const MGStl stl)

2つのMGStlオブジェクトを代入する.

bool MGStl::operator== ( const MGStl stl)

2つのMGStlオブジェクトが等しいか判定する.

std::ostream& MGStl::out ( std::ostream &  ) const
virtual

Output virtual function.

MGObjectを再実装しています。

const std::vector<MGPosition>& MGStl::positions ( ) const
inline

return the ref to m_vecPos.

std::vector<MGPosition>& MGStl::positions ( )
inline
void MGStl::push_back_triangle ( const MGPosition pos1,
const MGPosition pos2,
const MGPosition pos3,
triangleMap &  VertexMap 
)
void MGStl::ReadMembers ( MGIfstream buf)
virtual

Read all member data.

MGObjectを再実装しています。

int MGStl::SaveAscii ( std::ofstream &  fout) const

指定されたパスにAscii形式のSTLファイルを保存する. 戻り値: =0ファイルの書き込みが成功 !=0 書き込まなかった。または失敗した(std::ofstreamのエラーコード) 事後条件:rSTLFilePathに指定したパスにAscii形式のSTLファイルが保存される.

int MGStl::SaveBinary ( const TCHAR *  rSTLFilePath) const

指定されたパスにBinary形式のSTLファイルを保存する. 戻り値: =0ファイルの書き込みが成功 !=0 書き込まなかった。または失敗した(std::ofstreamのエラーコード) 事後条件:rSTLFilePathに指定したパスにBinary形式のSTLファイルが保存される. 仕様変更:引数にストリームを渡されるように変更09/09/17.

int MGStl::SaveObjFormatFromStl ( std::ofstream &  fout) const

読み込んだstlデータをobjフォーマットに変換し、出力する 戻り値: =0 ファイルの書き込みが成功 !=0 書き込まなかった。または失敗した(std::ofstreamのエラーコード) 事後条件:指定したパスにobjファイルが保存される.

void MGStl::set_all_data ( const std::vector< MGPosition > &  vertices,
const std::vector< int > &  indices 
)

メンバーデータを直接セットする.

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

Shade the object in world coordinates.

引数
vboThe target graphic object.
paraParameters to draw.
targetThe target vbo element.

MGObjectを再実装しています。

void MGStl::update_bounds ( )

Update the bounds.

void MGStl::update_normals ( )

Update the all normals of the triangles.

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

オブジェクト名を返却する.

MGGelを実装しています。

void MGStl::WriteMembers ( MGOfstream buf) const
virtual

Write all member data.

MGObjectを再実装しています。


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