typedef struct {
int bV;
int eV;
} Side;
和
struct side {
int bV;
int eV;
}Side;
是有區(qū)別的,
上面的是類型定義只是給結(jié)構(gòu)體struct {
int bV;
int eV;
} 定義一個(gè)別名叫做:Side。Side是一個(gè)類型。
而下面的是定義好類型后又用定義好的類型side定義了一個(gè)變量Side。
在.h文件中經(jīng)常用到第一種定義方式,注意定義一個(gè)結(jié)構(gòu)體類型時(shí)不要緊跟著定義一個(gè)變量,以防止頭文件被重復(fù)包含時(shí)同一個(gè)變量被重復(fù)定義而報(bào)錯(cuò)。
posted @
2008-04-21 12:51 天書(shū) 閱讀(183) |
評(píng)論 (0) |
編輯 收藏
1://頭文件中定義結(jié)構(gòu)體類型的時(shí)候不要寫(xiě)上變量名,以免頭文件被重復(fù)包含的時(shí)候重復(fù)定義變量。
struct TreeNode
{
D3DXPLANE *optPlane; // 分割平面
bool isLeaf;
vector<int> overTri; // 在分割平面上的三角形
vector<int> Tri; //如果不是葉子節(jié)點(diǎn),則該數(shù)組存放被分割的三角形
//如果該節(jié)點(diǎn)是葉子節(jié)點(diǎn),該數(shù)組存放的是局部空間內(nèi)的三角形。
TreeNode* lchild;
TreeNode* rchild;
}
struct TreeNode
{
D3DXPLANE *optPlane; // 分割平面
bool isLeaf;
vector<int> overTri; // 在分割平面上的三角形
vector<int> Tri; //如果不是葉子節(jié)點(diǎn),則該數(shù)組存放被分割的三角形
//如果該節(jié)點(diǎn)是葉子節(jié)點(diǎn),該數(shù)組存放的是局部空間內(nèi)的三角形。
TreeNode* lchild;
TreeNode* rchild;
}node; //錯(cuò)誤出現(xiàn)在此
2://當(dāng)一個(gè).cpp文件中定義的變量想在另一個(gè).cpp文件中使用的時(shí)候要加上extern 聲明一下已經(jīng)定義過(guò)了extern vector<D3DXPLANE> g_PlaneList;
extern vector<Triangle> g_TriList;
extern const float EPS = 1e-4;
posted @
2008-03-22 11:46 天書(shū) 閱讀(282) |
評(píng)論 (0) |
編輯 收藏
1 #include <iterator>
2 #include <algorithm>
3
4 vector<D3DXPLANE> PlaneOfTri(vector<Triangle> TriCon)
5 {
6 vector<D3DXPLANE> Plane;
7 D3DXPLANE pOut;
8 for(int i = 0; i < TriCon.size(); i++)
9 {
10 D3DXPlaneFromPoints(&pOut, &TriCon[i].p0, &TriCon[i].p1,&TriCon[i].p2);
11
12 vector<D3DXPLANE>::iterator iter;//遍歷器
13 iter = find(Plane.begin(), Plane.end(), pOut);//全局方法find的應(yīng)用
14 if(iter == Plane.end())
15 {
16 break;
17 }
18 else
19 {
20 Plane.push_back(pOut);
21 }
22 }
23 return Plane;
24 }
25
posted @
2008-03-21 13:14 天書(shū) 閱讀(161) |
評(píng)論 (0) |
編輯 收藏
今天開(kāi)始正式啟用博客,呵呵
posted @
2008-03-19 13:53 天書(shū) 閱讀(127) |
評(píng)論 (0) |
編輯 收藏