
Tue, 03/30/2010 - 05:51
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);
IsoBuild.LoadIsos(DBFace);
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?!
Regards
Wed, 03/31/2010 - 03:49
Hi,
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.
Regards,