parameters: (self, other:  "Geometry3D", padding1: float, padding2: float, maxContacts: int=0)
return_statement: return _robotsim.Geometry3D_contacts(self, other, padding1, padding2, maxContacts)
docstring: r"""
          Returns the set of contact points between this and other. This set is a discrete
          representation of the region of surface overlap, which is defined as all pairs
          of points within distance self.collisionMargin + other.collisionMargin +
          padding1 + padding2.  
  
          Args:
              other (:class:`~klampt.Geometry3D`)
              padding1 (float)
              padding2 (float)
              maxContacts (int, optional): default value 0
  
          For some geometry types (TriangleMesh-TriangleMesh, TriangleMesh-PointCloud,
          PointCloud-PointCloud) padding must be positive to get meaningful contact poitns
          and normals.  
  
          If maxContacts != 0 a clustering postprocessing step is performed.  
  
          Unsupported types:  
  
          *   GeometricPrimitive-GeometricPrimitive subtypes segment vs aabb  
          *   VolumeGrid-GeometricPrimitive any subtypes except point and sphere. also,
              the results are potentially inaccurate for non-convex VolumeGrids.  
          *   VolumeGrid-TriangleMesh  
          *   VolumeGrid-VolumeGrid  
          *   ConvexHull - anything
docstring_summary: r"""
          Returns the set of contact points between this and other. This set is a discrete
          representation of the region of surface overlap, which is defined as all pairs
          of points within distance self.collisionMargin + other.collisionMargin +
          padding1 + padding2.
docstring_tokens: r Returns the set of contact points between this and other . This set is a discrete representation of the region of surface overlap which is defined as all pairs of points within distance self . collisionMargin + other . collisionMargin + padding1 + padding2 .
function: def contacts(self, other:  "Geometry3D", padding1: float, padding2: float, maxContacts: int=0) -> "ContactQueryResult":
          r"""
          Returns the set of contact points between this and other. This set is a discrete
          representation of the region of surface overlap, which is defined as all pairs
          of points within distance self.collisionMargin + other.collisionMargin +
          padding1 + padding2.  
  
          Args:
              other (:class:`~klampt.Geometry3D`)
              padding1 (float)
              padding2 (float)
              maxContacts (int, optional): default value 0
  
          For some geometry types (TriangleMesh-TriangleMesh, TriangleMesh-PointCloud,
          PointCloud-PointCloud) padding must be positive to get meaningful contact poitns
          and normals.  
  
          If maxContacts != 0 a clustering postprocessing step is performed.  
  
          Unsupported types:  
  
          *   GeometricPrimitive-GeometricPrimitive subtypes segment vs aabb  
          *   VolumeGrid-GeometricPrimitive any subtypes except point and sphere. also,
              the results are potentially inaccurate for non-convex VolumeGrids.  
          *   VolumeGrid-TriangleMesh  
          *   VolumeGrid-VolumeGrid  
          *   ConvexHull - anything  
  
          """
          return _robotsim.Geometry3D_contacts(self, other, padding1, padding2, maxContacts)
function_tokens: def contacts ( self , other : "Geometry3D" , padding1 : float , padding2 : float , maxContacts : int = 0 ) -> "ContactQueryResult" : return _robotsim . Geometry3D_contacts ( self , other , padding1 , padding2 , maxContacts )