private boolean isInViewVolume( Arc arc ) { float[][] scaledBBox = arc.getBBox(); scaledBBox[0][2] *= zScale; scaledBBox[1][2] *= zScale; return viewRegion.intersects( scaledBBox ); }
/** * Determines if this arc interferes with the given {@link Geometry}. * * @param roi * geometry that is tested for interference * @param zScale * scaling factor applied to z values of the mesh geometry (and bounding boxes) * @return true, if the arc interferes with the geometry, false otherwise */ public boolean interferes( ViewFrustum roi, float zScale ) { float[][] nodeBBox = getBBox(); nodeBBox[0][2] *= zScale; nodeBBox[1][2] *= zScale; return roi.intersects( nodeBBox ); }
private void getObjects( ViewParams viewParams, float[] eye, Set<T> result ) { if ( viewParams.getViewFrustum().intersects( getEnvelope() ) ) { if ( hasCoveringObjects() ) { for ( Entry<T> obj : objectsCoveringEnv ) { double estPixelSize = viewParams.estimatePixelSizeForSpaceUnit( distance ); boolean noPixelError = ( obj.entryValue.getErrorScalar() * estPixelSize ) > maxPixelError; boolean intersects = viewParams.getViewFrustum().intersects( obj.entryEnv ); if ( noPixelError && intersects ) { result.add( obj.entryValue );