Thu, 08/31/2006 - 11:53
Hi~
I use Visual C++ 6.0
I want to add data member and member function in the OpenCASCADE original class;
Here is my code.
class Geom_BSplineSurface : public Geom_BoundedSurface
{
public:
// original code...
// add data member SubBS[2] to store the surfaces
// Split from "this"
Handle(Geom_BSplineSurface) SubBS[2];
// add member function to Generate BSpline
// surfaces for SubBS[2]
GenerateSubBS();
}
void Geom_BSplineSurface::GenerateSubBS()
{
SubBS[0] = GeomConvert::SplitBSplineSurface
(this, 1, int(NbUPoles()/2), 1, NbVPoles());
}
Compiling is ok, but it can't be execute. I uesd DeBug to check it out.
The member function
"Geom_BSplineSurface::GenerateSubBS()" I add doesn't work.
error messege pop up:
" Unhandled exception in XXX.exe(KERNEL32.DLL):0xE06D7363:Microsoft C++ Exception "
The declaration of GeomConvert::SplitBSplineSurface
static Handle(Geom_BSplineSurface) SplitBSplineSurface
(const Handle(Geom_BSplineSurface)& S,
const Standard_Integer FromUK1,
const Standard_Integer ToUK2,
const Standard_Integer FromVK1,
const Standard_Integer ToVK2,
const Standard_Boolean SameUOrientation
= Standard_True,
const Standard_Boolean SameVOrientation
= Standard_True);
I'm not familiar with "Handle". Maybe it's the point.
please~ thanks.
Mon, 10/02/2006 - 16:27
Hi,
I think you must create a new class, which inherits from Geom_BSplineSurface. And then you add your data members.