voxcity.simulator_gpu.visibility.SurfaceViewFactorCalculator ============================================================ .. py:class:: voxcity.simulator_gpu.visibility.SurfaceViewFactorCalculator(domain, n_azimuth: int = 120, n_elevation: int = 20, ray_sampling: str = 'grid', n_rays: int = None, precompute_directions: bool = True) GPU-accelerated Surface View Factor calculator. Computes view factors for building surface faces by tracing rays from face centers through the voxel domain. This emulates voxcity.simulator.visibility.view.get_surface_view_factor using Taichi GPU acceleration. .. py:attribute:: domain .. py:attribute:: nx .. py:attribute:: ny .. py:attribute:: nz .. py:attribute:: dx .. py:attribute:: dy .. py:attribute:: dz .. py:attribute:: meshsize .. py:attribute:: n_azimuth :value: 120 .. py:attribute:: n_elevation :value: 20 .. py:attribute:: ray_sampling :value: 'grid' .. py:attribute:: n_rays .. py:method:: compute_surface_view_factor(face_centers: numpy.ndarray, face_normals: numpy.ndarray, voxel_data: numpy.ndarray = None, target_values: Tuple[int, Ellipsis] = (0, ), inclusion_mode: bool = False, tree_k: float = 0.6, tree_lad: float = 1.0, boundary_epsilon: float = None, workspace=None) -> numpy.ndarray Compute view factors for building surface faces. :param face_centers: Array of face center positions (n_faces, 3) in world coords :param face_normals: Array of face normal vectors (n_faces, 3) :param voxel_data: 3D voxel class array :param target_values: Target voxel values for visibility :param inclusion_mode: If True, count hits on targets; if False, count unblocked rays :param tree_k: Tree extinction coefficient :param tree_lad: Leaf area density :param boundary_epsilon: Epsilon for boundary detection :param workspace: Optional pre-allocated SurfaceViewWorkspace whose Taichi fields are reused instead of allocating new ones on every call. :returns: 1D array of view factor values for each face