-- File: GeomFill_Fixed.cdl -- Created: Tue Dec 9 18:33:12 1997 -- Author: Philippe MANGIN -- ---Copyright: Matra Datavision 1997 class Fixed from GeomFill inherits TrihedronLaw from GeomFill ---Purpose: Defined an constant TrihedronLaw uses Shape from GeomAbs, Array1OfReal from TColStd, Vec from gp raises OutOfRange, ConstructionError is Create(Tangent, Normal : Vec from gp) returns Fixed from GeomFill raises ConstructionError; -- if and are colinear Copy(me) returns TrihedronLaw from GeomFill is redefined; -- -- --========== To compute Location and derivatives Location -- D0(me : mutable; Param: Real; Tangent : out Vec from gp; Normal : out Vec from gp; BiNormal : out Vec from gp) ---Purpose: compute Triedrhon on curve at parameter returns Boolean is redefined; D1(me : mutable; Param: Real; Tangent : out Vec from gp; DTangent : out Vec from gp; Normal : out Vec from gp; DNormal : out Vec from gp; BiNormal : out Vec from gp; DBiNormal : out Vec from gp) ---Purpose: compute Triedrhon and derivative Trihedron on curve -- at parameter -- Warning : It used only for C1 or C2 aproximation returns Boolean is redefined; D2(me : mutable; Param: Real; Tangent : out Vec from gp; DTangent : out Vec from gp; D2Tangent : out Vec from gp; Normal : out Vec from gp; DNormal : out Vec from gp; D2Normal : out Vec from gp; BiNormal : out Vec from gp; DBiNormal : out Vec from gp; D2BiNormal : out Vec from gp) ---Purpose: compute Trihedron on curve -- first and seconde derivatives. -- Warning : It used only for C2 aproximation returns Boolean is redefined; -- -- =================== Management of continuity =================== -- NbIntervals(me; S : Shape from GeomAbs) ---Purpose: Returns the number of intervals for continuity -- . -- May be one if Continuity(me) >= returns Integer is redefined; Intervals(me; T : in out Array1OfReal from TColStd; S : Shape from GeomAbs) ---Purpose: Stores in the parameters bounding the intervals -- of continuity . -- -- The array must provide enough room to accomodate -- for the parameters. i.e. T.Length() > NbIntervals() raises OutOfRange from Standard is redefined; -- ===================== To help computation of Tolerance ============ GetAverageLaw(me : mutable; ATangent : out Vec from gp; ANormal : out Vec from gp; ABiNormal : out Vec from gp) ---Purpose: Get average value of Tangent(t) and Normal(t) it is usfull to -- make fast approximation of rational surfaces. is redefined; -- =================== To help Particular case =============== IsConstant(me) ---Purpose: Return True. returns Boolean is redefined; fields T, N, B : Vec from gp; end Fixed;