IsoCurves from a Face

Hi all,

I'm trying to get isocurves from a face (it's a simple squared face):

BRepAdaptor_Surface bas(aFace,Standard_True);
GeomAdaptor_Surface S = bas.Surface();
Handle(GeomAdaptor_HSurface) HS = new GeomAdaptor_HSurface(S);
Adaptor3d_IsoCurve C(HS);
DBRep_IsoBuilder IsoBuild(aFace, 1.0e100, 1);
DBRep_Face *DBFace = new DBRep_Face(aFace, IsoBuild.NbDomains(), cor);
Standard_Integer lastIso = IsoBuild.NbDomains();
cout for(int i=0; i {
DBFace->GetIso(i+1, type, param, start, end);
C.Load(type, param, start, end);

The problem is: type, param, start and end variables come form GetIso method, all messed up; with some strange values.
Someone could help me?!


tmacedo29's picture


I re-created DBRep_IsoBuilder and DBRep_Face classes, and changed TColStd_Array1OfInteger and TColStd_Array1OfReal by static std::vector and std::vector respectively. And, in this way, I'm able to get isocurves successfully!
I'm not sure, but it seems to be a memory problem.

I hope it helps someone too.