-- File: IntCurveSurface_QuadricCurveFunc.cdl
-- Created: Thu Aug 19 10:55:26 1993
-- Author: Laurent BUCHARD
--
---Copyright: Matra Datavision 1993
generic class QuadricCurveFunc from IntCurveSurface (
TheQuadric as any; -- as Quadric from IntCurveSurface
TheCurve as any;
TheCurveTool as any) -- as CurveTool from Adaptor3d
inherits FunctionWithDerivative from math
---Purpose: Implements the function Q(w) and its first
-- derivative used by FunctionAllRoots to find the
-- areas where the distance between the quadric and
-- the parametric curves is less than a given
-- tolerance.
--
-- where Q(X,Y,Z) = 0 is the implicit expression of a
-- quadric and (X(w),Y(w),Z(w)) the point of parameter w on
-- a parametric curve.
--
is
Create(Q: TheQuadric; C:TheCurve)
---Purpose: Create the function.
--
returns QuadricCurveFunc from IntCurveSurface;
Value(me: in out; Param: Real from Standard; F: out Real from Standard)
---Purpose: Computes the value of the signed distance between
-- the implicit surface and the point at parameter
-- Param on the parametrised curve.
-- Value always returns True.
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.
-- Derivative always returns True.
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 True.
returns Boolean from Standard
is redefined static;
fields
myQuadric : TheQuadric;
myCurve : TheCurve;
end QuadricCurveFunc;