예제 #1
0
파일: stack.c 프로젝트: mchalupa/mutter
/**
 * stack_do_constrain:
 *
 * Update stack_position and layer to reflect transiency
 * constraints
 */
static void
stack_do_constrain (MetaStack *stack)
{
  Constraint **constraints;

  /* It'd be nice if this were all faster, probably */

  if (!stack->need_constrain)
    return;

  meta_topic (META_DEBUG_STACK,
              "Reapplying constraints\n");

  constraints = g_new0 (Constraint*,
                        stack->n_positions);

  create_constraints (constraints, stack->sorted);

  graph_constraints (constraints, stack->n_positions);

  apply_constraints (constraints, stack->n_positions);

  free_constraints (constraints, stack->n_positions);
  g_free (constraints);

  stack->need_constrain = FALSE;
}
예제 #2
0
void constraint::dh_backtrack(int i, int val, std::stack<int> path) {
	refreshDomainMap();
	constraint_map[i].push_back(val);
	std::sort(constraint_map[i].begin(), constraint_map[i].end());
	std::vector<int> temp;
	apply_constraints(path);	
}