| 1313 | } |
| 1314 | |
| 1315 | ZCone ZCone::faceContaining(ZVector const &v)const |
| 1316 | { |
| 1317 | assert(n==(int)v.size()); |
| 1318 | assert(contains(v)); |
| 1319 | ZMatrix newEquations=equations; |
| 1320 | ZMatrix newInequalities(0,n); |
| 1321 | for(int i=0;i<inequalities.getHeight();i++) |
| 1322 | if(dot(inequalities[i],v).sign()!=0) |
| 1323 | newInequalities.appendRow(inequalities[i]); |
| 1324 | else |
| 1325 | newEquations.appendRow(inequalities[i]); |
| 1326 | |
| 1327 | ZCone ret(newInequalities,newEquations,(state>=1)?PCP_impliedEquationsKnown:0); |
| 1328 | ret.ensureStateAsMinimum(state); |
| 1329 | return ret; |
| 1330 | } |
| 1331 | |
| 1332 | |
| 1333 | ZMatrix ZCone::getInequalities()const |