def set_discdds(self, discdds):
        self.discdds = discdds
        plans = self.plans_generator.get_plans(discdds)
        reducer = DiffeoStructure(discdds, tolerance=self.reduce_tolerance)
        red_plans, _ = reducer.get_minimal_equiv_set(plans)
        # add back the empty plan
        red_plans.append(())
        print('reduced %d plans to %d' % (len(plans), len(red_plans)))
        self.plans = red_plans
        self.actions = [discdds.plan2action(p) for p in self.plans]
        self.actions_i = [a.inverse() for a in self.actions]

        print self.plans
 def set_discdds(self, discdds):
     self.discdds = discdds
     plans = self.plans_generator.get_plans(discdds)
     reducer = DiffeoStructure(discdds, tolerance=self.reduce_tolerance)
     red_plans, _ = reducer.get_minimal_equiv_set(plans)
     # add back the empty plan
     red_plans.append(())
     print('reduced %d plans to %d' % (len(plans), len(red_plans)))
     self.plans = red_plans 
     self.actions = [discdds.plan2action(p) for p in self.plans]
     self.actions_i = [a.inverse() for a in self.actions]
     
     print self.plans