def _construct_lane_line_in_block(self, lane, construct_left_right=(True, True)):
        """
        Construct lane line in the Panda3d world for getting contact information
        """
        for idx, line_type, line_color, need, in zip([-1, 1], lane.line_types, lane.line_colors, construct_left_right):
            if not need:
                continue
            seg_len = PGDrivableAreaProperty.LANE_SEGMENT_LENGTH
            lateral = idx * lane.width / 2
            if line_type == PGLineType.CONTINUOUS:
                self._construct_continuous_line(lane.get_polyline(seg_len, lateral=lateral), line_color, line_type)
            elif line_type == PGLineType.BROKEN:
                self._construct_broken_line(lane, lateral, line_color, line_type)
            elif line_type == PGLineType.SIDE:
                self._construct_continuous_line(lane.get_polyline(seg_len, lateral=lateral), line_color, line_type)
                self._generate_sidewalk_from_line(lane)
            elif line_type == PGLineType.GUARDRAIL:
                self._construct_continuous_line(lane.get_polyline(seg_len, lateral=lateral), line_color, line_type)
                self._generate_sidewalk_from_line(
                    lane, sidewalk_height=PGDrivableAreaProperty.GUARDRAIL_HEIGHT, lateral_direction=idx
                )

            elif line_type == PGLineType.NONE:
                continue
            else:
                raise ValueError(
                    "You have to modify this function and implement a constructing method for line type: {}".
                    format(line_type)
                )

        Construct lane line in the Panda3d world for getting contact information
        
metadrive/component/pgblock/pg_block.py