Frustum::VisType Frustum::IsBoxVisible (const Vector3& min, const Vector3& max) { bool full = true; Vector3 c,f; float dc, df; for(int a=0;a<planes.size();a++) { BoxPlaneVerts (min, max, planes[a].GetVector(), c, f); dc = planes[a].Dist (&c); df = planes[a].Dist (&f); if(dc < 0.0f || df < 0.0f) full=false; if(dc < 0.0f && df < 0.0f) return Outside; } return full ? Inside : Partial; }
Frustum::VisType Frustum::IsBoxVisible (const Vector3& min, const Vector3& max) { bool full = true; Vector3 c,f; float dc, df; std::vector<Plane>::iterator p; for(p=planes.begin(); p!=planes.end(); ++p) { BoxPlaneVerts (min, max, p->GetVector(), c, f); dc = p->Dist (&c); df = p->Dist (&f); if(dc < 0.0f || df < 0.0f) full=false; if(dc < 0.0f && df < 0.0f) return Outside; } return full ? Inside : Partial; }