-- Created on: 1992-03-30 -- Created by: Laurent BUCHARD -- Copyright (c) 1992-1999 Matra Datavision -- Copyright (c) 1999-2014 OPEN CASCADE SAS -- -- This file is part of Open CASCADE Technology software library. -- -- This library is free software; you can redistribute it and / or modify it -- under the terms of the GNU Lesser General Public version 2.1 as published -- by the Free Software Foundation, with special exception defined in the file -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT -- distribution for complete text of the license and disclaimer of any warranty. -- -- Alternatively, this file may be used under the terms of Open CASCADE -- commercial license or contractual agreement. generic class ImpParTool from IntImpParGen ( ImpTool as any; -- as ImpTool from IntImpParGen ParCurve as any; ParTool as any) -- as ParTool from IntImpParGen(ParCurve) inherits FunctionWithDerivative from math ---Purpose: Implements the function used by FunctionAllRoots -- to find the areas where the distance between the -- implicit and the parametric curves is less than a -- tolerance. uses Pnt2d from gp, Vec2d from gp is Create(IT: ImpTool; PC: ParCurve) ---Purpose: Constructor of the class. returns ImpParTool from IntImpParGen; Value(me: in out; Param: Real from Standard; F: out Real from Standard) ---Purpose: Computes the value of the signed distance between -- the implicit curve and the point at parameter Param -- on the parametrised curve. returns Boolean from Standard is redefined static; Derivative(me: in out; Param: Real from Standard; D: out Real from Standard) ---Purpose: Computes the derivative of the previous function at -- parameter Param. returns Boolean from Standard is redefined static; Values(me: in out; Param: Real from Standard; F,D: out Real from Standard) ---Purpose: Computes the value and the derivative of the function. returns Boolean from Standard is redefined static; fields TheParCurve : Address from Standard; TheImpTool : ImpTool; end ImpParTool;