docs: def _number_shapes_ancestors(self, topoTypeA, topoTypeB, topologicalEntity):
          '''returns the number of shape ancestors
          If you want to know how many edges a faces has:
          _number_shapes_ancestors(self, TopAbs_EDGE, TopAbs_FACE, edg)
          will return the number of edges a faces has
          @param topoTypeA:
          @param topoTypeB:
          @param topologicalEntity:
          '''
          topo_set = set()
          _map = TopTools_IndexedDataMapOfShapeListOfShape()
          topexp_MapShapesAndAncestors(self.myShape, topoTypeA, topoTypeB, _map)
          results = _map.FindFromKey(topologicalEntity)
          if results.IsEmpty():
              return None
          topology_iterator = TopTools_ListIteratorOfListOfShape(results)
          while topology_iterator.More():
              topo_set.add(topology_iterator.Value())
              topology_iterator.Next()
          return len(topo_set)