public void FaceListConstructOFF()//(string fileName, float angle) { int vID; for (int i = 0; i < numTriangle; ++i) { var tempF = new Face(); tempF.sidednum = 3; //何角形なのか?この数字が間違っているとまずいです。 //n sided polygon for (int j = 0; j < tempF.sidednum; ++j) { //面を構成する頂点を一つ一つ巡る vID = triangles[i * 3 + j]; //面を構成する頂点の番号を取得 var tempHE = new HalfEdge(); //ポインタなのでnewしないと、前の値に影響を残してしまう tempHE.HalfEdgeConstruct(tempF, sverts[vID]); //tempFに属して、vIDの頂点を根元に持つHalfEdgeを構築 } //tempF->id = i; sfaces.Add(tempF); //配列に格納 } }