// =======================================================================
void SelectMgr_TriangularFrustumSet::Build (const TColgp_Array1OfPnt2d& thePoints)
{
- for (SelectMgr_TriangFrustumsIter anIter (myFrustums); anIter.More(); anIter.Next())
- {
- SelectMgr_HTriangularFrustum& aFrust = anIter.ChangeValue();
- aFrust.Nullify();
- }
myFrustums.Clear();
Handle(NCollection_IncAllocator) anAllocator = new NCollection_IncAllocator (MEMORY_BLOCK_SIZE);
aPts[aVertIdx] = aVertex.Coord();
}
- SelectMgr_HTriangularFrustum aTrFrustum = new SelectMgr_TriangularFrustum();
+ Handle(SelectMgr_TriangularFrustum) aTrFrustum = new SelectMgr_TriangularFrustum();
aTrFrustum->SetBuilder (myBuilder);
aTrFrustum->Build (aPts[0], aPts[1], aPts[2]);
myFrustums.Append (aTrFrustum);
for (SelectMgr_TriangFrustumsIter anIter (myFrustums); anIter.More(); anIter.Next())
{
- aRes->myFrustums.Append (NCollection_Handle<SelectMgr_TriangularFrustum>::DownCast (anIter.Value()->Transform (theTrsf)));
+ aRes->myFrustums.Append (Handle(SelectMgr_TriangularFrustum)::DownCast (anIter.Value()->Transform (theTrsf)));
}
return NCollection_Handle<SelectMgr_BaseFrustum> (aRes);
// purpose :
// =======================================================================
Standard_Boolean SelectMgr_TriangularFrustumSet::Overlaps (const SelectMgr_Vec3& theMinPnt,
- const SelectMgr_Vec3& theMaxPnt)
+ const SelectMgr_Vec3& theMaxPnt,
+ Standard_Boolean* /*theInside*/)
{
for (SelectMgr_TriangFrustumsIter anIter (myFrustums); anIter.More(); anIter.Next())
{
- if (anIter.Value()->Overlaps (theMinPnt, theMaxPnt))
+ if (anIter.Value()->Overlaps (theMinPnt, theMaxPnt, NULL))
return Standard_True;
}