| 1850 | } |
| 1851 | |
| 1852 | bool MeshAlgorithm::Distance( |
| 1853 | const Base::Vector3f& rclPt, |
| 1854 | FacetIndex ulFacetIdx, |
| 1855 | float fMaxDistance, |
| 1856 | float& rfDistance |
| 1857 | ) const |
| 1858 | { |
| 1859 | const MeshFacetArray& rclFAry = _rclMesh._aclFacetArray; |
| 1860 | const MeshPointArray& rclPAry = _rclMesh._aclPointArray; |
| 1861 | const PointIndex* pulIdx = rclFAry[ulFacetIdx]._aulPoints; |
| 1862 | |
| 1863 | BoundBox3f clBB; |
| 1864 | clBB.Add(rclPAry[*(pulIdx++)]); |
| 1865 | clBB.Add(rclPAry[*(pulIdx++)]); |
| 1866 | clBB.Add(rclPAry[*pulIdx]); |
| 1867 | clBB.Enlarge(fMaxDistance); |
| 1868 | |
| 1869 | if (!clBB.IsInBox(rclPt)) { |
| 1870 | return false; |
| 1871 | } |
| 1872 | |
| 1873 | rfDistance = _rclMesh.GetFacet(ulFacetIdx).DistanceToPoint(rclPt); |
| 1874 | |
| 1875 | return rfDistance < fMaxDistance; |
| 1876 | } |
| 1877 | |
| 1878 | float MeshAlgorithm::CalculateMinimumGridLength( |
| 1879 | float fLength, |
no test coverage detected