Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス GRMesh

グラフィックスシーングラフでの座標系を表す.

#include <GRMesh.h>

GRMeshに対する継承グラフ

Public メソッド

 SPR_OBJECTDEF (GRMesh)
 
 ACCESS_DESC (GRMesh)
 
void CreateList (GRRenderIf *r)
 ディスプレイリストを作成する.
 
float * GetVertexBuffer ()
 
int GetNVertex ()
 頂点数
 
const GRVertexElementGetVertexFormat ()
 
int GetStride ()
 1頂点のデータがfloat何個分か
 
int GetNormalOffset ()
 法線のオフセット(float何個分)
 
int GetPositionOffset ()
 位置のオフセット(float何個分)
 
int GetTexOffset ()
 テクスチャ座標のオフセット(float何個分)
 
void EnableTex3D (bool on=true)
 
bool IsTex3D ()
 3次元テクスチャなら true
 
void EnableAlwaysCreateBuffer (bool on=true)
 
int NVertex ()
 
int NFace ()
 
int NTriangle ()
 
Vec3f * GetVertices ()
 
Vec3f * GetNormals ()
 
int NColors ()
 
Vec4f * GetColors ()
 
Vec2f * GetTexCoords ()
 
GRMeshFaceGetFaces ()
 
GRMeshFaceGetFaceNormals ()
 
GLuint * GetTriangles ()
 
int * GetMaterialIndices ()
 
void SwitchCoordinate ()
 
GRSkinWeightIfCreateSkinWeight (const GRSkinWeightDesc &desc)
 
void CalcBBox (Vec3f &bbmin, Vec3f &bbmax, const Affinef &aff=Affinef())
 
virtual bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t pos)
 子オブジェクトの取得
 
virtual void Print (std::ostream &os) const
 デバッグ用の表示
 
virtual void Render (GRRenderIf *r)
 
virtual void Rendered (GRRenderIf *r)
 
 GRMesh (const GRMeshDesc &desc=GRMeshDesc())
 
- Public メソッド inherited from GRVisual
 SPR_OBJECTDEF_ABST (GRVisual)
 
void Enable (bool on=true)
 
bool IsEnabled ()
 
virtual void SetMaterial (GRMaterialIf *)
 
virtual GRMaterialIfGetMaterial ()
 
- Public メソッド inherited from SceneObject
virtual void SetScene (SceneIf *s)
 
virtual SceneIfGetScene () const
 
virtual SceneObjectIfCloneObject ()
 
- Public メソッド inherited from NamedObject
 NamedObject (const NamedObject &n)
 
NamedObjectoperator= (const NamedObject &n)
 
virtual const char * GetName () const
 名前の取得
 
virtual void SetName (const char *n)
 名前の設定
 
virtual void SetNameManager (NameManagerIf *s)
 NameManagerを設定
 
virtual NameManagerIfGetNameManager () const
 NameManagerの取得
 
- Public メソッド inherited from Object
 SPR_OBJECTDEF (Object)
 クラス名の取得などの基本機能の実装
 
ObjectIfGetObjectIf ()
 
const ObjectIfGetObjectIf () const
 
virtual void PrintShort (std::ostream &os) const
 
virtual ObjectIfCreateObject (const IfInfo *info, const void *desc)
 オブジェクトの作成
 
virtual const ObjectIfGetChildObject (size_t pos) const
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
virtual void Loaded (UTLoadContext *)
 ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 
 
virtual void Setup ()
 ノードの設定をするための関数
 
virtual bool GetDesc (void *desc) const
 デスクリプタの読み出し(コピー版)
 
virtual void SetDesc (const void *desc)
 デスクリプタの設定
 
virtual const void * GetDescAddress () const
 デスクリプタの読み出し(参照版)
 
virtual size_t GetDescSize () const
 デスクリプタのサイズ
 
virtual bool GetState (void *state) const
 状態の読み出し(コピー版)
 
virtual const void * GetStateAddress () const
 状態の読み出し(参照版)
 
virtual void GetStateR (char *&state)
 状態の再帰的な読み出し
 
virtual void SetState (const void *state)
 状態の設定
 
virtual void SetStateR (const char *&state)
 状態の再帰的な設定
 
virtual bool WriteStateR (std::ostream &fout)
 状態のファイルへの書き出し
 
virtual bool WriteState (std::string fileName)
 
virtual bool ReadStateR (std::istream &fin)
 状態の読み込み
 
virtual bool ReadState (std::string fileName)
 
virtual size_t GetStateSize () const
 状態のサイズ
 
virtual void ConstructState (void *m) const
 メモリブロックを状態型に初期化
 
virtual void DestructState (void *m) const
 状態型をメモリブロックに戻す
 
virtual void DumpObjectR (std::ostream &os, int level=0) const
 メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。
 
- Public メソッド inherited from GRMeshDesc
 SPR_DESCDEF (GRMesh)
 

Public 変数

bool tex3d
 3次元テクスチャの場合 true
 
bool alwaysCreateBuffer
 
bool two_sided =false
 
std::vector< UTRef< GRMaterial > > material
 子オブジェクト [詳細]
 
std::vector< UTRef
< GRSkinWeight > > 
skinWeights
 スキンMeshの場合のskinWeights
 
std::vector< GLuint > triFaces
 facesと、三角形分割する前のXファイルで指定された面との関連付け
(Xファイルからロードされた面は、すべて三角形分割されているため、 どの面がどのマテリアルを適用するのか判断するためのもの) [詳細]
 
std::vector< GLuint > triML
 三角形分割後のマテリアルインデックス
 
- Public 変数 inherited from GRVisual
bool enabled
 
- Public 変数 inherited from GRMeshDesc
std::vector< Vec3f > vertices
 頂点の座標
 
std::vector< GRMeshFacefaces
 面. 面を構成する頂点数と頂点インデックス配列
 
std::vector< Vec3f > normals
 法線
 
std::vector< GRMeshFacefaceNormals
 面の法線
 
std::vector< Vec4f > colors
 頂点の色
 
std::vector< Vec2f > texCoords
 テクスチャUV
 
std::vector< int > materialList
 マテリアルリスト
 

Protected メソッド

Vec3f & Pos (std::vector< float > &v, int i)
 
Vec3f & Normal (std::vector< float > &v, int i)
 
void MakeBuffer ()
 頂点バッファの作成
 
void DrawBuffer (void *vtx)
 頂点バッファの描画
 
void DecomposeFaces ()
 3角形分割
 
void GenerateNormals ()
 法線自動生成
 
void DuplicateVertices ()
 面ごとに頂点を独立させる
 
virtual void AfterSetDesc ()
 SetDesc()のあとに呼ばれる
 
- Protected メソッド inherited from NamedObject
virtual void PrintHeader (std::ostream &os, bool bClose) const
 開き括弧
 
- Protected メソッド inherited from Object
virtual void PrintChildren (std::ostream &os) const
 子オブジェクトをPrint
 
virtual void PrintFooter (std::ostream &os) const
 閉じ括弧
 
virtual void BeforeGetDesc () const
 GetDesc()の前に呼ばれる
 

Protected 変数

UTRef< GRRenderIfrender
 レンダラー
 
unsigned int list
 ディスプレイリストの識別子
 
std::vector< float > vtxs
 頂点フォーマットに合った頂点バッファ
 
std::vector< float > blendedVtxs
 
const GRVertexElementvtxFormat
 
int stride
 1頂点のバイト数
 
int positionOffset
 頂点座標までのオフセット
 
int normalOffset
 法線までのオフセット
 
int texOffset
 テクスチャ座標までのオフセット
 
- Protected 変数 inherited from NamedObject
UTString name
 名前
 
NameManagernameManager
 名前の検索や重複管理をするもの.SceneやSDKなど.
 

Additional Inherited Members

- Static Protected メソッド inherited from Object
static void ConstructState (ObjectIf *o, char *&s)
 sをoのStateとして初期化する.
 
static void DestructState (ObjectIf *o, char *&s)
 sをoのStateからメモリブロックに戻す.
 

関数

float* GetVertexBuffer ( )
inline

< 頂点バッファ(への転送元バッファ)を返す

参照先 GRMesh::vtxs.

const GRVertexElement* GetVertexFormat ( )
inline

< 頂点フォーマットを返す。

変数

std::vector< UTRef<GRMaterial> > material

マテリアル

std::vector<GLuint> triFaces

三角形分割後の面の頂点インデックス


このクラスの説明は次のファイルから生成されました: