-- Created on: 1997-05-13 -- Created by: Stagiaire Francois DUMONT -- Copyright (c) 1997-1999 Matra Datavision -- Copyright (c) 1999-2012 OPEN CASCADE SAS -- -- The content of this file is subject to the Open CASCADE Technology Public -- License Version 6.5 (the "License"). You may not use the content of this file -- except in compliance with the License. Please obtain a copy of the License -- at http://www.opencascade.org and read it completely before using this file. -- -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. -- -- The Original Code and all software distributed under the License is -- distributed on an "AS IS" basis, without warranty of any kind, and the -- Initial Developer hereby disclaims all such warranties, including without -- limitation, any warranties of merchantability, fitness for a particular -- purpose or non-infringement. Please see the License for the specific terms -- and conditions governing the rights and limitations under the License. class DenominatorMultiplier from GeomLib ---Purpose: this class is used to construct the BSpline curve -- from an Approximation ( ApproxAFunction from AdvApprox). uses BSplineSurface from Geom, Array1OfReal from TColStd raises OutOfRange from Standard, ConstructionError from Standard is Create( Surface : BSplineSurface from Geom ; KnotVector : Array1OfReal from TColStd) returns DenominatorMultiplier from GeomLib raises ConstructionError from Standard; ---Purpose: if the surface is rational this will define the evaluator -- of a real function of 2 variables a(u,v) such that -- if we define a new surface by : -- a(u,v) * N(u,v) -- NewF(u,v) = ---------------- -- a(u,v) * D(u,v) Value(me; UParameter : in Real from Standard ; VParameter : in Real from Standard) returns Real from Standard raises OutOfRange from Standard ---Purpose: Returns the value of -- a(UParameter,VParameter)= -- -- H0(UParameter)/Denominator(Umin,Vparameter) -- -- D Denominator(Umin,Vparameter) -- - ------------------------------[H1(u)]/(Denominator(Umin,Vparameter)^2) -- D U -- -- + H3(UParameter)/Denominator(Umax,Vparameter) -- -- D Denominator(Umax,Vparameter) -- - ------------------------------[H2(u)]/(Denominator(Umax,Vparameter)^2) -- D U is static; fields mySurface : BSplineSurface from Geom ; myKnotFlatVector : Array1OfReal from TColStd ; end MakeCurvefromApprox;