class_docstr: If any point is shared between the following geometry types, they touch:
  
  Used by:
  (Point, MultiPoint)
  (Point, LineString)
  (MultiPoint, Point)
  (MultiPoint, MultiPoint)
  (MultiPoint, LineString)
  (MultiPoint, Polygon)
  (LineString, Point)
  (LineString, MultiPoint)
  (Polygon, MultiPoint)
class_docstr_tok: ["If","any","point","is","shared","between","the","following","geometry","types",",","they","touch",":","Used","by",":","(","Point",",","MultiPoint",")","(","Point",",","LineString",")","(","MultiPoint",",","Point",")","(","MultiPoint",",","MultiPoint",")","(","MultiPoint",",","LineString",")","(","MultiPoint",",","Polygon",")","(","LineString",",","Point",")","(","LineString",",","MultiPoint",")","(","Polygon",",","MultiPoint",")"]
code: def _preprocess(self, lhs, rhs):
      return _basic_equals_any(lhs, rhs)
  
imports: import cupy
  import cudf
  from cuspatial.core.binpreds.basic_predicates import _basic_contains_count, _basic_contains_properly_any, _basic_equals_all, _basic_equals_any, _basic_equals_count, _basic_intersects, _basic_intersects_count, _basic_intersects_pli
  from cuspatial.core.binpreds.binpred_interface import BinPred, ImpossiblePredicate
  from cuspatial.core.binpreds.feature_contains import ContainsPredicate
  from cuspatial.utils.binpred_utils import LineString, MultiPoint, Point, Polygon, _false_series, _pli_points_to_multipoints, _points_and_lines_to_multipoints
label_desc: Use image node_id 1 for calling the TouchesPredicateBase obj's underlying member method code with example usage: obj._preprocess(lhs, rhs) and returns: _basic_equals_any