예제 #1
0
double KuratowskiConstraint::coeff(ABA_VARIABLE *v) {
	EdgeVar *e = (EdgeVar*)v;
	for (ListConstIterator<nodePair> it = m_subdivision.begin(); it.valid(); ++it) {
		if ( ((*it).v1 == e->sourceNode() && (*it).v2 == e->targetNode()) || 
		     ((*it).v1 == e->targetNode() && (*it).v2 == e->sourceNode()) )
		{return 1.0;}
	}
	return 0.0;
}
예제 #2
0
double MaxPlanarEdgesConstraint::coeff(ABA_VARIABLE *v) {
	//TODO: speedup, we know between which nodepairs edges exist...
	if (m_graphCons) return 1.0;
	
	EdgeVar *e = (EdgeVar*)v;
	ListConstIterator<nodePair> it;
	for (it=m_edges.begin(); it.valid(); ++it) {
		if ( ((*it).v1 == e->sourceNode() && (*it).v2 == e->targetNode()) || 
		     ((*it).v1 == e->targetNode() && (*it).v2 == e->sourceNode()) )
		{return 1.0;}
	}
	return 0.0;
}