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; }
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; }