- {
- if(SPACEDIM!=2)
- throw INTERP_KERNEL::Exception("MEDCouplingUMesh::getCellsContainingPointsAlg : not implemented yet for POLYGON and QPOLYGON in spaceDim 3 !");
- std::vector<INTERP_KERNEL::Node *> nodes(sz);
- INTERP_KERNEL::QuadraticPolygon *pol(0);
- for(int j=0;j<sz;j++)
- {
- int nodeId(conn[connI[*iter]+1+j]);
- nodes[j]=new INTERP_KERNEL::Node(coords[nodeId*SPACEDIM],coords[nodeId*SPACEDIM+1]);
- }
- if(!INTERP_KERNEL::CellModel::GetCellModel(ct).isQuadratic())
- pol=INTERP_KERNEL::QuadraticPolygon::BuildLinearPolygon(nodes);
- else
- pol=INTERP_KERNEL::QuadraticPolygon::BuildArcCirclePolygon(nodes);
- INTERP_KERNEL::Node *n(new INTERP_KERNEL::Node(pos[i*SPACEDIM],pos[i*SPACEDIM+1]));
- double a(0.),b(0.),c(0.);
- a=pol->normalizeMe(b,c); n->applySimilarity(b,c,a);
- status=pol->isInOrOut2(n);
- delete pol; n->decrRef();
- }
+ status=INTERP_KERNEL::PointLocatorAlgos<DummyClsMCUG<SPACEDIM> >::isElementContainsPoint(pos+i*SPACEDIM,ct,coords,conn+connI[*iter]+1,sz,eps);