#include <CDQuickHull3D.h>
Definition at line 45 of file CDQuickHull3D.h.
|
使用済みバッファのサイズ
Definition at line 77 of file CDQuickHull3DImp.h. References Spr::CDQHPlanes< TVtx >::begin, and Spr::CDQHPlanes< TVtx >::end. |
|
bからeまでの頂点から凸包を作る.使用した頂点はbからvtxBegin, 使用しなかった頂点は,vtxBeginからeに移動する. beginからendは頂点を3つ含む面になる.それらの面うち凸包に使われた面 は CDQHPlane::deleted が false になっている. Definition at line 100 of file CDQuickHull3DImp.h. References Spr::CDQHPlanes< TVtx >::begin, Spr::CDQHPlanes< TVtx >::buffer, Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), Spr::CDQHPlane< TVtx >::deleted, Spr::CDQHPlane< TVtx >::dist, DSTR, Spr::CDQHPlanes< TVtx >::end, Spr::CDQHPlanes< TVtx >::len, Spr::CDQHPlane< TVtx >::normal, Spr::CDQHPlanes< TVtx >::TreatPlane(), Spr::CDQHPlane< TVtx >::vtx, Spr::CDQHPlanes< TVtx >::vtxBegin, Spr::CDQHPlanes< TVtx >::vtxBeginInput, Spr::CDQHPlanes< TVtx >::vtxEnd, and Spr::CDQHPlanes< TVtx >::vtxEndInput. |
|
最初の凸多面体=2枚の三角形(表裏)を作る. できるだけ大きい3角形を作ると効率が良いので,x最大,x最小, 2点が作る直線から一番遠い頂点で3角形を作る. 使用した頂点は,vtxBeginの手前に移動して,頂点リストからはずす. Definition at line 134 of file CDQuickHull3DImp.h. References Spr::CDQHPlanes< TVtx >::begin, Spr::CDQHPlane< TVtx >::CalcNormal(), Spr::CDQHPlane< TVtx >::Clear(), Spr::CDQHPlanes< TVtx >::end, Spr::CDQHPlane< TVtx >::neighbor, Spr::CDQHPlanes< TVtx >::nPlanes, Spr::CDQHPlane< TVtx >::Reverse(), PTM::VectorImp< SZ, STR, OD >::square(), PTM::VectorImp< SZ, STR, OD >::unitize(), Spr::CDQHPlane< TVtx >::vtx, Spr::CDQHPlanes< TVtx >::vtxBegin, and Spr::CDQHPlanes< TVtx >::vtxEnd. Referenced by Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
horizon を作る. cur が穴をあける面,vtx が新しい頂点. rv にhorizonを辺に持つ3角形を1つ返す. Definition at line 201 of file CDQuickHull3DImp.h. References Spr::CDQHPlane< TVtx >::deleted, Spr::CDQHPlane< TVtx >::neighbor, Spr::CDQHPlanes< TVtx >::nPlanes, Spr::CDQHPlane< TVtx >::Visible(), and Spr::CDQHPlane< TVtx >::vtx. |
|
|
一番遠くの頂点を見つける.見つけたらそれを頂点リストからはずす Definition at line 322 of file CDQuickHull3DImp.h. References Spr::CDQHPlane< TVtx >::CalcDist(), DSTR, Spr::CDQHPlane< TVtx >::vtx, Spr::CDQHPlanes< TVtx >::vtxBegin, and Spr::CDQHPlanes< TVtx >::vtxEnd. Referenced by Spr::CDQHPlanes< TVtx >::TreatPlane(). |
|
一つの面に対する処理を行う.一番遠くの頂点を見つけ, 地平線を調べ,コーンを作り,内部の頂点をはずす. Definition at line 388 of file CDQuickHull3DImp.h. References DSTR, Spr::CDQHPlanes< TVtx >::FindFarthest(), and Spr::CDQHPlanes< TVtx >::vtxBegin. Referenced by Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
残っている頂点の先頭
Definition at line 47 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), and Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
残っている頂点の最後の次 Definition at line 48 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), and Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
バッファへのポインタ new する.
Definition at line 60 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
バッファの長さ
Definition at line 61 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), and Spr::CDQHPlanes< TVtx >::CreateConvexHull(). |
|
最初の面
Definition at line 62 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), Spr::CDQHPlanes< TVtx >::CreateConvexHull(), Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), and Spr::CDQHPlanes< TVtx >::size(). |
|
最後の面の次
Definition at line 63 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), Spr::CDQHPlanes< TVtx >::CreateConvexHull(), Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), and Spr::CDQHPlanes< TVtx >::size(). |
|
残っている頂点の先頭
Definition at line 64 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateConvexHull(), Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), Spr::CDQHPlanes< TVtx >::FindFarthest(), and Spr::CDQHPlanes< TVtx >::TreatPlane(). |
|
残っている頂点の最後の次
Definition at line 65 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateConvexHull(), Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), and Spr::CDQHPlanes< TVtx >::FindFarthest(). |
|
面の数
Definition at line 66 of file CDQuickHull3D.h. Referenced by Spr::CDQHPlanes< TVtx >::CreateCone(), Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), and Spr::CDQHPlanes< TVtx >::FindHorizon(). |