import torch # intersect.h def ball_intersect(ray_start: torch.Tensor, ray_dir: torch.Tensor, points: torch.Tensor, radius: float, n_max: int) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: ... def aabb_intersect(ray_start: torch.Tensor, ray_dir: torch.Tensor, points: torch.Tensor, voxelsize: float, n_max: int) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: ... def svo_intersect(ray_start: torch.Tensor, ray_dir: torch.Tensor, points: torch.Tensor, children: torch.Tensor, voxelsize: float, n_max: int) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: ... def triangle_intersect(ray_start: torch.Tensor, ray_dir: torch.Tensor, face_points: torch.Tensor, cagesize: float, blur: float, n_max: int) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: ... # octree.h def build_octree(center: torch.Tensor, points: torch.Tensor, depth: int) -> tuple[torch.Tensor, torch.Tensor]: ... # encode.h def multires_hash_encode(levels: int, coarse_levels: int, x: torch.Tensor, res_list: torch.Tensor, hash_table: torch.Tensor, hash_table_offsets: torch.Tensor) -> torch.Tensor: ... def multires_hash_encode_with_grad(levels: int, coarse_levels: int, x: torch.Tensor, res_list: torch.Tensor, hash_table: torch.Tensor, hash_table_offsets: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: ...