クラス SCGL::C3DObject

#include <ScoutCGLib.h>

SCGL::C3DObjectに対する継承グラフ

SCGL::CBasic3DObject SCGL::CGLObject すべてのメンバ一覧

Public メソッド

 C3DObject ()
 初期化
virtual ~C3DObject ()
virtual void Init ()
 初期化
virtual const ID_VERTEX AddVertex (const VERTEX &Vertex)
 頂点の追加:VertexCache拡張
virtual const ID_VERTEX AddVertex (const VECTOR3 &Vector)
 座標データのみを与え頂点追加
virtual const ID_VERTEX AddVertex (double x, double y, double z)
 座標データのみを与え頂点追加
virtual const ID_VERTEX AddVertex ()
 初期化された頂点を追加
virtual void Draw ()=0
 描画関数(純粋仮装関数・要オーバーライド)
void BeginVertexCache ()
 頂点キャッシュ開始
void EndVertexCache ()
 頂点キャッシュ終了
void TransVC (const C3DTrans &Trans)
 頂点キャッシュを変形
const ID_LIST_VERTEX CopyVC ()
 頂点キャッシュをコピー
const ID_LIST_VERTEX CopyWithTransVC (const C3DTrans &Trans)
 頂点キャッシュを変形しながらコピー
const ID_LIST_VERTEX MakeCircle (double Radius, const int VertexNum, VECTOR3 &Normal=VECTOR3(0.0, 0.0, 1.0), VECTOR3 &Center=VECTOR3())
 円周上の点を生成する
const ID_LIST_TRIANGLE MakeWall (const ID_LIST_VERTEX &VertexList1, const ID_LIST_VERTEX &VertexList2, const bool IsLoop=false)
 2つの頂点リストを結合する
const ID_LIST_VERTEX MakeWallFromVC (const ID_LIST_VERTEX &VertexList, const bool IsLoop=false)
 頂点キャッシュと頂点リストを結合する
void MakeWallByVC (const C3DTrans &Trans, const bool IsLoop=false)
 現在の頂点キャッシュと変形後の頂点キャッシュを結合する
void MakeSolidRotation (const ID_LIST_VERTEX &VertexList, int Div, const bool IsLoop=false, const VECTOR3 &BasePos=VECTOR3(0.0, 0.0, 0.0), const double Theta=360.0, const VECTOR3 &Axis=VECTOR3(0.0, 1.0, 0.0))
 円周上の点を生成する
void MakeSolidRotationVC (const int Div, const bool IsLoop=false, const VECTOR3 &BasePos=VECTOR3(0.0, 0.0, 0.0), const double Theta=360.0, const VECTOR3 &Axis=VECTOR3(0.0, 1.0, 0.0))
virtual const ID_VERTEX FindVertex (const VECTOR3 &Vector) const
 座標から頂点を検索する
virtual const ID_VERTEX FineVertex (double x, double y, double z) const
 座標から頂点を検索する
void SetSphere (int detail=2)
 単位球形状を呼び出す
bool LoadOBJFile (char *FileName)
 OBJ形式ファイルを読み込む

Protected メソッド

void C3DObject::subdivide (ID_VERTEX V1_ID, ID_VERTEX V2_ID, ID_VERTEX V3_ID, int depth)
 三角形を分割する

Protected 変数

std::vector< ID_VERTEXm_VertexCache
 頂点バッファキャッシュ
bool VertexIsCached
 キャッシュフラグ

説明

ScoutCGLib.h1334 行で定義されています。


コンストラクタとデストラクタ

C3DObject::C3DObject  ) 
 

初期化

ScoutCGLib.cpp407 行で定義されています。

C3DObject::~C3DObject  )  [virtual]
 

ScoutCGLib.cpp408 行で定義されています。


関数

virtual const ID_VERTEX SCGL::C3DObject::AddVertex  )  [inline, virtual]
 

初期化された頂点を追加

初期化された頂点を追加

戻り値:
頂点番号

SCGL::CBasic3DObjectを再定義しています。

ScoutCGLib.h1346 行で定義されています。

virtual const ID_VERTEX SCGL::C3DObject::AddVertex double  x,
double  y,
double  z
[inline, virtual]
 

座標データのみを与え頂点追加

座標データのみを与え頂点追加

引数:
x x座標データ
y y座標データ
z z座標データ
戻り値:
頂点番号

SCGL::CBasic3DObjectを再定義しています。

ScoutCGLib.h1345 行で定義されています。

virtual const ID_VERTEX SCGL::C3DObject::AddVertex const VECTOR3 Vector  )  [inline, virtual]
 

座標データのみを与え頂点追加

座標データのみを与え頂点追加

引数:
Vector 座標データ
戻り値:
頂点番号

SCGL::CBasic3DObjectを再定義しています。

ScoutCGLib.h1344 行で定義されています。

const ID_TRIANGLE C3DObject::AddVertex const VERTEX Vertex  )  [virtual]
 

頂点の追加:VertexCache拡張

SCGL::CBasic3DObjectを再定義しています。

ScoutCGLib.cpp418 行で定義されています。

void C3DObject::BeginVertexCache  ) 
 

頂点キャッシュ開始

ScoutCGLib.cpp428 行で定義されています。

void SCGL::C3DObject::C3DObject::subdivide ID_VERTEX  V1_ID,
ID_VERTEX  V2_ID,
ID_VERTEX  V3_ID,
int  depth
[protected]
 

三角形を分割する

3つの頂点IDをもつ三角形から、各辺の中点を用いて4つの三角形に分割する。

引数:
V1_ID 頂点1
V2_ID 頂点2
V3_ID 頂点3
depth 分割(再帰)回数

const ID_LIST_VERTEX C3DObject::CopyVC  ) 
 

頂点キャッシュをコピー

ScoutCGLib.cpp448 行で定義されています。

const ID_LIST_VERTEX C3DObject::CopyWithTransVC const C3DTrans Trans  ) 
 

頂点キャッシュを変形しながらコピー

ScoutCGLib.cpp458 行で定義されています。

virtual void SCGL::C3DObject::Draw  )  [pure virtual]
 

描画関数(純粋仮装関数・要オーバーライド)

SCGL::CGLObjectで実装されています。

void C3DObject::EndVertexCache  ) 
 

頂点キャッシュ終了

ScoutCGLib.cpp434 行で定義されています。

const ID_TRIANGLE C3DObject::FindVertex const VECTOR3 Vector  )  const [virtual]
 

座標から頂点を検索する

座標データに一致する頂点を検索して、IDを返す

引数:
Vector 座標データ
戻り値:
頂点番号

ScoutCGLib.cpp720 行で定義されています。

const ID_TRIANGLE C3DObject::FineVertex double  x,
double  y,
double  z
const [virtual]
 

座標から頂点を検索する

座標データに一致する頂点を検索して、IDを返す

引数:
x x座標データ
y y座標データ
z z座標データ
戻り値:
頂点番号

ScoutCGLib.cpp729 行で定義されています。

void C3DObject::Init  )  [virtual]
 

初期化

SCGL::CBasic3DObjectを再定義しています。

ScoutCGLib.cpp411 行で定義されています。

bool C3DObject::LoadOBJFile char *  FileName  ) 
 

OBJ形式ファイルを読み込む

OBJ形式ファイルの読み込み

引数:
filename ファイル名

ScoutCGLib.cpp740 行で定義されています。

const ID_LIST_VERTEX C3DObject::MakeCircle double  Radius,
const int  VertexNum,
VECTOR3 Normal = VECTOR3(0.0, 0.0, 1.0),
VECTOR3 Center = VECTOR3()
 

円周上の点を生成する

円周上の点を生成する

引数:
Radius 半径
戻り値:
VertexNum 頂点数

Normal 円の向き

Center 中心点

ScoutCGLib.cpp569 行で定義されています。

void C3DObject::MakeSolidRotation const ID_LIST_VERTEX VertexList,
int  Div,
const bool  IsLoop = false,
const VECTOR3 BasePos = VECTOR3(0.0, 0.0, 0.0),
const double  Theta = 360.0,
const VECTOR3 Axis = VECTOR3(0.0, 1.0, 0.0)
 

円周上の点を生成する

頂点リストの回転体を生成する

引数:
VertexList 頂点リスト
戻り値:
Div 分割数

IsLoop 頂点リストのループフラグ

BasePos 回転の中心

Theta 回転角度

Axis 回転軸

ScoutCGLib.cpp601 行で定義されています。

void C3DObject::MakeSolidRotationVC const int  Div,
const bool  IsLoop = false,
const VECTOR3 BasePos = VECTOR3(0.0, 0.0, 0.0),
const double  Theta = 360.0,
const VECTOR3 Axis = VECTOR3(0.0, 1.0, 0.0)
 

ScoutCGLib.cpp629 行で定義されています。

const ID_LIST_VERTEX C3DObject::MakeWall const ID_LIST_VERTEX VertexList1,
const ID_LIST_VERTEX VertexList2,
const bool  IsLoop = false
 

2つの頂点リストを結合する

ScoutCGLib.cpp475 行で定義されています。

void C3DObject::MakeWallByVC const C3DTrans Trans,
const bool  IsLoop = false
 

現在の頂点キャッシュと変形後の頂点キャッシュを結合する

ScoutCGLib.cpp540 行で定義されています。

const ID_LIST_VERTEX C3DObject::MakeWallFromVC const ID_LIST_VERTEX VertexList,
const bool  IsLoop = false
 

頂点キャッシュと頂点リストを結合する

ScoutCGLib.cpp508 行で定義されています。

void C3DObject::SetSphere int  detail = 2  ) 
 

単位球形状を呼び出す

球状の三角形メッシュを生成する

引数:
detail ポリゴンの精度

ScoutCGLib.cpp653 行で定義されています。

void C3DObject::TransVC const C3DTrans Trans  ) 
 

頂点キャッシュを変形

ScoutCGLib.cpp439 行で定義されています。


変数

std::vector<ID_VERTEX> SCGL::C3DObject::m_VertexCache [protected]
 

頂点バッファキャッシュ

ScoutCGLib.h1445 行で定義されています。

bool SCGL::C3DObject::VertexIsCached [protected]
 

キャッシュフラグ

ScoutCGLib.h1446 行で定義されています。


このクラスの説明は次のファイルから生成されました:
ScoutCGLibに対してSat Jun 17 15:19:37 2006に生成されました。  doxygen 1.4.6-NO