(points,
                                    polygon_surfaces,
                                    num_surfaces=None)
return _points_in_convex_polygon_3d_jit(points, polygon_surfaces, normal_vec, d, num_surfaces)
check points is in 3d convex polygons.
    Args:
        points: [num_points, 3] array.
        polygon_surfaces: [num_polygon, max_num_surfaces, 
            max_num_points_of_surface, 3] 
            array. all surfaces' normal vector must direct to internal.
            max_num_points_of_surface must at least 3.
        num_surfaces: [num_polygon] array. indicate how many surfaces 
            a polygon contain
    Returns:
        [num_points, num_polygon] bool array.
check points is in 3d convex polygons.
    Args:
        points: [num_points, 3] array.
        polygon_surfaces: [num_polygon, max_num_surfaces, 
            max_num_points_of_surface, 3] 
            array. all surfaces' normal vector must direct to internal.
            max_num_points_of_surface must at least 3.
        num_surfaces: [num_polygon] array. indicate how many surfaces 
            a polygon contain
    Returns:
        [num_points, num_polygon] bool array.
check points is in 3d convex polygons . Args : points : [ num_points 3 ] array . polygon_surfaces : [ num_polygon max_num_surfaces max_num_points_of_surface 3 ] array . all surfaces normal vector must direct to internal . max_num_points_of_surface must at least 3 . num_surfaces : [ num_polygon ] array . indicate how many surfaces a polygon contain Returns : [ num_points num_polygon ] bool array .
def points_in_convex_polygon_3d_jit(points,
                                    polygon_surfaces,
                                    num_surfaces=None):
    """check points is in 3d convex polygons.
    Args:
        points: [num_points, 3] array.
        polygon_surfaces: [num_polygon, max_num_surfaces, 
            max_num_points_of_surface, 3] 
            array. all surfaces' normal vector must direct to internal.
            max_num_points_of_surface must at least 3.
        num_surfaces: [num_polygon] array. indicate how many surfaces 
            a polygon contain
    Returns:
        [num_points, num_polygon] bool array.
    """
    max_num_surfaces, max_num_points_of_surface = polygon_surfaces.shape[1:3]
    num_points = points.shape[0]
    num_polygons = polygon_surfaces.shape[0]
    if num_surfaces is None:
        num_surfaces = np.full((num_polygons,), 9999999, dtype=np.int64)
    normal_vec, d = surface_equ_3d_jitv2(polygon_surfaces[:, :, :3, :])
    # normal_vec: [num_polygon, max_num_surfaces, 3]
    # d: [num_polygon, max_num_surfaces]
    return _points_in_convex_polygon_3d_jit(points, polygon_surfaces, normal_vec, d, num_surfaces)
def points_in_convex_polygon_3d_jit ( points , polygon_surfaces , num_surfaces = None ) : max_num_surfaces , max_num_points_of_surface = polygon_surfaces . shape [ 1 : 3 ] num_points = points . shape [ 0 ] num_polygons = polygon_surfaces . shape [ 0 ] if num_surfaces is None : num_surfaces = np . full ( ( num_polygons , ) , 9999999 , dtype = np . int64 ) normal_vec , d = surface_equ_3d_jitv2 ( polygon_surfaces [ : , : , : 3 , : ] ) # normal_vec: [num_polygon, max_num_surfaces, 3] # d: [num_polygon, max_num_surfaces] return _points_in_convex_polygon_3d_jit ( points , polygon_surfaces , normal_vec , d , num_surfaces )