// Copyright (c) 1998-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. //======================================================================= // function: Tolerance // purpose : Returns a current tolerance that must be applied //======================================================================= inline Standard_Integer SelectMgr_ToleranceMap::Tolerance() const { if (myLargestKey < Precision::Confusion()) return 2; // default tolerance value return myCustomTolerance < 0 ? myLargestKey : myLargestKey + myCustomTolerance; } //======================================================================= // function: SetCustomTolerance // purpose : Sets tolerance to the given one and disables adaptive checks //======================================================================= inline void SelectMgr_ToleranceMap::SetCustomTolerance (const Standard_Integer theTolerance) { myCustomTolerance = theTolerance; } //======================================================================= // function: CustomTolerance // purpose : Returns current value of custom tolerance regardless of it is set or not //======================================================================= inline Standard_Integer SelectMgr_ToleranceMap::CustomTolerance() const { return myCustomTolerance; } //======================================================================= // function: IsCustomTolSet // purpose : Checks if custom tolerance value is greater than zero //======================================================================= inline Standard_Boolean SelectMgr_ToleranceMap::IsCustomTolSet() const { return myCustomTolerance > 0; } //======================================================================= // function: ResetDefaults // purpose : Unsets a custom tolerance and enables adaptive checks //======================================================================= inline void SelectMgr_ToleranceMap::ResetDefaults() { myCustomTolerance = -1; } inline Standard_Real SelectMgr_ViewerSelector::Sensitivity() const { return myTolerances.Tolerance(); } inline void SelectMgr_ViewerSelector::Init() { myCurRank = 1; } inline void SelectMgr_ViewerSelector::Next() { myCurRank++; } inline void SelectMgr_ViewerSelector::SetPickClosest (const Standard_Boolean preferClosest) { preferclosest = preferClosest; } inline void SelectMgr_ViewerSelector::InitDetected() { myDetectedIter.Initialize (myMapOfDetected); } inline void SelectMgr_ViewerSelector::NextDetected() { myDetectedIter.Next(); } inline Standard_Boolean SelectMgr_ViewerSelector::MoreDetected() { return myDetectedIter.More(); } inline SelectMgr_SelectingVolumeManager& SelectMgr_ViewerSelector::GetManager() { return mySelectingVolumeMgr; }