mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
-- Created on: 1993-04-23
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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.
|
||||
|
||||
package ApproxInt
|
||||
|
||||
uses
|
||||
Standard,TCollection,math,gp,TColStd,TColgp,
|
||||
IntImp,IntSurf,
|
||||
AppParCurves,StdFail,Approx,MMgt
|
||||
|
||||
is
|
||||
|
||||
deferred class SvSurfaces;
|
||||
generic class PrmPrmSvSurfaces,TheInt2S;
|
||||
generic class ImpPrmSvSurfaces,TheZerImpFunc;
|
||||
generic class MultiLine;
|
||||
generic class MultiLineTool;
|
||||
generic class Approx,ThePrmPrmSvSurfaces,
|
||||
TheImpPrmSvSurfaces,
|
||||
TheMultiLine,
|
||||
TheMultiLineTool,
|
||||
TheComputeLine,
|
||||
TheComputeLineBezier;
|
||||
|
||||
end ApproxInt;
|
@@ -1,179 +0,0 @@
|
||||
-- Created on: 1993-03-17
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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 Approx from ApproxInt (
|
||||
ThePSurface as any;
|
||||
ThePSurfaceTool as any;
|
||||
TheISurface as any;
|
||||
TheISurfaceTool as any;
|
||||
TheWLine as Transient)
|
||||
|
||||
uses
|
||||
MCurvesToBSpCurve from Approx,
|
||||
MultiBSpCurve from AppParCurves,
|
||||
Pnt from gp,
|
||||
Pnt2d from gp,
|
||||
Vec from gp,
|
||||
Vec2d from gp,
|
||||
ParametrizationType from Approx
|
||||
|
||||
raises
|
||||
OutOfRange from Standard,
|
||||
NotDone from StdFail
|
||||
|
||||
class ThePrmPrmSvSurfaces instantiates PrmPrmSvSurfaces from ApproxInt (
|
||||
ThePSurface,
|
||||
ThePSurfaceTool,
|
||||
TheWLine);
|
||||
|
||||
class TheImpPrmSvSurfaces instantiates ImpPrmSvSurfaces from ApproxInt (
|
||||
ThePSurface,
|
||||
ThePSurfaceTool,
|
||||
TheISurface,
|
||||
TheISurfaceTool,
|
||||
TheWLine);
|
||||
|
||||
class TheMultiLine instantiates MultiLine from ApproxInt (
|
||||
TheWLine,
|
||||
SvSurfaces from ApproxInt);
|
||||
|
||||
class TheMultiLineTool instantiates MultiLineTool from ApproxInt(
|
||||
TheMultiLine,
|
||||
SvSurfaces from ApproxInt);
|
||||
|
||||
class TheComputeLine instantiates BSplComputeLine from Approx (
|
||||
TheMultiLine,
|
||||
TheMultiLineTool);
|
||||
|
||||
class TheComputeLineBezier instantiates ComputeLine from Approx (
|
||||
TheMultiLine,
|
||||
TheMultiLineTool);
|
||||
|
||||
is
|
||||
|
||||
Create
|
||||
returns Approx from ApproxInt;
|
||||
|
||||
Perform(me: in out;
|
||||
Surf1,Surf2 : ThePSurface;
|
||||
aLine : TheWLine;
|
||||
ApproxXYZ : Boolean from Standard = Standard_True;
|
||||
ApproxU1V1 : Boolean from Standard = Standard_True;
|
||||
ApproxU2V2 : Boolean from Standard = Standard_True;
|
||||
indicemin : Integer from Standard = 0;
|
||||
indicemax : Integer from Standard = 0)
|
||||
is static;
|
||||
|
||||
Perform(me: in out;
|
||||
aLine : TheWLine;
|
||||
ApproxXYZ : Boolean from Standard = Standard_True;
|
||||
ApproxU1V1 : Boolean from Standard = Standard_True;
|
||||
ApproxU2V2 : Boolean from Standard = Standard_True;
|
||||
indicemin : Integer from Standard = 0;
|
||||
indicemax : Integer from Standard = 0)
|
||||
is static;
|
||||
|
||||
|
||||
SetParameters(me: in out; Tol3d : Real from Standard;
|
||||
Tol2d : Real from Standard;
|
||||
DegMin : Integer from Standard;
|
||||
DegMax : Integer from Standard;
|
||||
NbIterMax : Integer from Standard;
|
||||
ApproxWithTangency : Boolean from Standard = Standard_True;
|
||||
Parametrization : ParametrizationType from Approx = Approx_ChordLength)
|
||||
is static;
|
||||
|
||||
SetParameters(me: in out; Tol3d : Real from Standard;
|
||||
Tol2d : Real from Standard;
|
||||
RelativeTol : Boolean from Standard;
|
||||
DegMin : Integer from Standard;
|
||||
DegMax : Integer from Standard;
|
||||
NbIterMax : Integer from Standard;
|
||||
NbPntMax : Integer from Standard;
|
||||
ApproxWithTangency : Boolean from Standard = Standard_True;
|
||||
Parametrization : ParametrizationType from Approx = Approx_ChordLength)
|
||||
is static;
|
||||
|
||||
Perform(me:in out)
|
||||
is static;
|
||||
|
||||
TolReached3d(me) returns Real from Standard
|
||||
is static;
|
||||
|
||||
TolReached2d(me) returns Real from Standard
|
||||
is static;
|
||||
|
||||
IsDone(me) returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
NbMultiCurves(me) returns Integer from Standard
|
||||
is static ;
|
||||
|
||||
Value(me; Index: Integer from Standard)
|
||||
---C++: return const &
|
||||
returns MultiBSpCurve from AppParCurves
|
||||
is static;
|
||||
|
||||
|
||||
|
||||
---- private methods
|
||||
|
||||
Perform(me: in out ;Surf1 : ThePSurface;
|
||||
Surf2 : TheISurface;
|
||||
aLine : TheWLine;
|
||||
ApproxXYZ : Boolean from Standard;
|
||||
ApproxU1V1 : Boolean from Standard;
|
||||
ApproxU2V2 : Boolean from Standard;
|
||||
indicemin : Integer from Standard;
|
||||
indicemax : Integer from Standard)
|
||||
|
||||
is static private;
|
||||
|
||||
Perform(me: in out ;Surf1 : TheISurface;
|
||||
Surf2 : ThePSurface;
|
||||
aLine : TheWLine;
|
||||
ApproxXYZ : Boolean from Standard;
|
||||
ApproxU1V1 : Boolean from Standard;
|
||||
ApproxU2V2 : Boolean from Standard;
|
||||
indicemin : Integer from Standard;
|
||||
indicemax : Integer from Standard)
|
||||
is static private;
|
||||
|
||||
UpdateTolReached(me: in out)
|
||||
is static private;
|
||||
|
||||
fields
|
||||
myComputeLine : TheComputeLine from ApproxInt;
|
||||
myComputeLineBezier : TheComputeLineBezier from ApproxInt;
|
||||
myBezToBSpl : MCurvesToBSpCurve from Approx;
|
||||
myTolReached : Boolean from Standard;
|
||||
myApproxBez : Boolean from Standard;
|
||||
|
||||
myWithTangency : Boolean from Standard;
|
||||
myTol3d : Real from Standard;
|
||||
myTol2d : Real from Standard;
|
||||
myRelativeTol : Boolean from Standard;
|
||||
myDegMin : Integer from Standard;
|
||||
myDegMax : Integer from Standard;
|
||||
myNbPntMax : Integer from Standard;
|
||||
myNbIterMax : Integer from Standard;
|
||||
|
||||
myMinFactorXYZ : Real from Standard;
|
||||
myMinFactorUV : Real from Standard;
|
||||
myTolReached3d : Real from Standard;
|
||||
myTolReached2d : Real from Standard;
|
||||
|
||||
end Approx;
|
@@ -1,95 +0,0 @@
|
||||
-- Created on: 1993-03-17
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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 ImpPrmSvSurfaces from ApproxInt (
|
||||
ThePSurface as any;
|
||||
ThePSurfaceTool as any;
|
||||
TheISurface as any;
|
||||
TheISurfaceTool as any; -- as ISurfaceTool from IntImp
|
||||
TheLine as Transient)
|
||||
|
||||
inherits SvSurfaces from ApproxInt
|
||||
|
||||
uses
|
||||
Pnt from gp,
|
||||
Pnt2d from gp,
|
||||
Vec from gp,
|
||||
Vec2d from gp
|
||||
|
||||
class TheZerImpFunc instantiates ZerImpFunc from IntImp(
|
||||
ThePSurface,ThePSurfaceTool,TheISurface,TheISurfaceTool);
|
||||
|
||||
is
|
||||
Create(Surf1: ThePSurface; Surf2: TheISurface);
|
||||
|
||||
Create(Surf1: TheISurface; Surf2: ThePSurface);
|
||||
|
||||
Compute(me: in out;
|
||||
u1,v1,u2,v2: in out Real from Standard;
|
||||
Pt: out Pnt from gp;
|
||||
Tg: out Vec from gp;
|
||||
Tguv1,Tguv2: out Vec2d from gp)
|
||||
---Purpose: returns True if Tg,Tguv1 Tguv2 can be computed.
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
Pnt(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
P: out Pnt from gp) is static;
|
||||
Tangency(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
TangencyOnSurf1(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
TangencyOnSurf2(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
fields
|
||||
|
||||
MyParOnS1 : Pnt2d from gp;
|
||||
MyParOnS2 : Pnt2d from gp;
|
||||
MyPnt : Pnt from gp;
|
||||
MyTguv1 : Vec2d from gp;
|
||||
MyTguv2 : Vec2d from gp;
|
||||
MyTg : Vec from gp;
|
||||
MyIsTangent : Boolean from Standard;
|
||||
MyHasBeenComputed : Boolean from Standard;
|
||||
|
||||
|
||||
|
||||
MyParOnS1bis : Pnt2d from gp;
|
||||
MyParOnS2bis : Pnt2d from gp;
|
||||
MyPntbis : Pnt from gp;
|
||||
MyTguv1bis : Vec2d from gp;
|
||||
MyTguv2bis : Vec2d from gp;
|
||||
MyTgbis : Vec from gp;
|
||||
MyIsTangentbis : Boolean from Standard;
|
||||
MyHasBeenComputedbis : Boolean from Standard;
|
||||
|
||||
|
||||
MyImplicitFirst : Boolean from Standard;
|
||||
MyZerImpFunc : TheZerImpFunc from ApproxInt;
|
||||
|
||||
end ImpPrmSvSurfaces;
|
||||
|
||||
|
||||
|
@@ -1,151 +0,0 @@
|
||||
-- Created on: 1993-03-18
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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 MultiLine from ApproxInt (
|
||||
TheLine as Transient;
|
||||
TheSvSurfaces as any)
|
||||
|
||||
uses Array1OfPnt from TColgp,
|
||||
Array1OfPnt2d from TColgp,
|
||||
Array1OfVec from TColgp,
|
||||
Array1OfVec2d from TColgp,
|
||||
Status from Approx,
|
||||
Trsf from gp,
|
||||
Trsf2d from gp
|
||||
|
||||
|
||||
is
|
||||
|
||||
Create(line : TheLine;
|
||||
PtrSvSurfaces : Address from Standard;
|
||||
NbP3d : Integer from Standard;
|
||||
NbP2d : Integer from Standard;
|
||||
xo,ax,yo,ay,zo,az : Real from Standard;
|
||||
u1o,a1u,v1o,a1v : Real from Standard;
|
||||
u2o,a2u,v2o,a2v : Real from Standard;
|
||||
P2DOnFirst : Boolean from Standard;
|
||||
IndMin : Integer from Standard = 0;
|
||||
IndMax : Integer from Standard = 0)
|
||||
|
||||
|
||||
returns MultiLine from ApproxInt;
|
||||
|
||||
---Purpose: The class SvSurfaces is used when the
|
||||
-- approximation algorithm needs some extra points on
|
||||
-- the line <line>. A New line is then created which
|
||||
-- shares the same surfaces and functions.
|
||||
--
|
||||
-- SvSurfaces is a deferred class which allows
|
||||
-- several implementations of this algorithm with
|
||||
-- different surfaces (bi-parametric ones, or
|
||||
-- implicit and biparametric ones)
|
||||
|
||||
Create(line : TheLine;
|
||||
NbP3d : Integer from Standard;
|
||||
NbP2d : Integer from Standard;
|
||||
xo,ax,yo,ay,zo,az : Real from Standard;
|
||||
u1o,a1u,v1o,a1v : Real from Standard;
|
||||
u2o,a2u,v2o,a2v : Real from Standard;
|
||||
P2DOnFirst : Boolean from Standard;
|
||||
IndMin : Integer from Standard = 0;
|
||||
IndMax : Integer from Standard = 0)
|
||||
|
||||
---Purpose: No Extra points will be added on the current line
|
||||
--
|
||||
returns MultiLine from ApproxInt;
|
||||
|
||||
|
||||
FirstPoint(me) returns Integer from Standard is static;
|
||||
|
||||
LastPoint(me) returns Integer from Standard is static;
|
||||
|
||||
NbP2d(me) returns Integer is static;
|
||||
---Purpose: Returns the number of 2d points of a TheLine.
|
||||
--
|
||||
|
||||
NbP3d(me) returns Integer is static;
|
||||
---Purpose: Returns the number of 3d points of a TheLine.
|
||||
--
|
||||
|
||||
WhatStatus(me) returns Status from Approx is static;
|
||||
|
||||
Value(me; MPointIndex: Integer; tabPt: out Array1OfPnt) is static;
|
||||
---Purpose: returns the 3d points of the multipoint <MPointIndex>
|
||||
-- when only 3d points exist.
|
||||
|
||||
Value(me; MPointIndex: Integer;
|
||||
tabPt2d: out Array1OfPnt2d) is static;
|
||||
---Purpose: returns the 2d points of the multipoint <MPointIndex>
|
||||
-- when only 2d points exist.
|
||||
|
||||
Value(me; MPointIndex: Integer;
|
||||
tabPt: out Array1OfPnt; tabPt2d: out Array1OfPnt2d from TColgp) is static;
|
||||
---Purpose: returns the 3d and 2d points of the multipoint
|
||||
-- <MPointIndex>.
|
||||
|
||||
Tangency(me; MPointIndex: Integer; tabV: out Array1OfVec from TColgp)
|
||||
returns Boolean is static;
|
||||
---Purpose: returns the 3d points of the multipoint <MPointIndex>
|
||||
-- when only 3d points exist.
|
||||
|
||||
Tangency(me; MPointIndex: Integer;
|
||||
tabV2d: out Array1OfVec2d)
|
||||
returns Boolean is static;
|
||||
---Purpose: returns the 2d tangency points of the multipoint
|
||||
-- <MPointIndex> only when 2d points exist.
|
||||
|
||||
Tangency(me; MPointIndex: Integer;
|
||||
tabV: out Array1OfVec from TColgp; tabV2d: out Array1OfVec2d from TColgp)
|
||||
returns Boolean is static;
|
||||
---Purpose: returns the 3d and 2d points of the multipoint
|
||||
-- <MPointIndex>.
|
||||
--
|
||||
|
||||
MakeMLBetween(me; Low,High,NbPointsToInsert: Integer from Standard)
|
||||
returns MultiLine from ApproxInt is static;
|
||||
|
||||
Dump(me);
|
||||
---Purpose: Dump of the current multi-line.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
fields
|
||||
PtrOnmySvSurfaces : Address from Standard;
|
||||
myLine : TheLine;
|
||||
indicemin : Integer from Standard;
|
||||
indicemax : Integer from Standard;
|
||||
nbp3d : Integer from Standard;
|
||||
nbp2d : Integer from Standard;
|
||||
p2donfirst : Boolean from Standard;
|
||||
|
||||
|
||||
--- The Points of the line <TheLine> are transformed
|
||||
-- as follow :
|
||||
-- Modified_X = Xo + Ax * TheLine.Point().X()
|
||||
-- Modified_Y = Yo + Ay * TheLine.Point().Y()
|
||||
-- Modified_Z = Zo + Az * TheLine.Point().Z()
|
||||
-- Modified_U1 = U1o + A1u * TheLine.Point().u1()
|
||||
-- Modified_V1 = V1o + A1v * TheLine.Point().v1()
|
||||
-- Modified_U2 = U2o + A2u * TheLine.Point().u2()
|
||||
-- Modified_V2 = V2o + A2v * TheLine.Point().v2()
|
||||
|
||||
Xo,Ax,Yo,Ay,Zo,Az : Real from Standard;
|
||||
U1o,A1u,V1o,A1v : Real from Standard;
|
||||
U2o,A2u,V2o,A2v : Real from Standard;
|
||||
|
||||
end MultiLine;
|
||||
|
||||
|
@@ -1,134 +0,0 @@
|
||||
-- Created on: 1993-03-26
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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 MultiLineTool from ApproxInt (TheMultiLine as any;
|
||||
TheMultiMPoint as any)
|
||||
|
||||
|
||||
uses
|
||||
Status from Approx,
|
||||
Array1OfPnt from TColgp,
|
||||
Array1OfPnt2d from TColgp,
|
||||
Array1OfVec from TColgp,
|
||||
Array1OfVec2d from TColgp
|
||||
|
||||
is
|
||||
|
||||
|
||||
FirstPoint(myclass; ML: TheMultiLine) returns Integer;
|
||||
---C++:inline
|
||||
---Purpose: Returns the number of multipoints of the TheMultiLine.
|
||||
|
||||
LastPoint(myclass; ML: TheMultiLine) returns Integer;
|
||||
---C++:inline
|
||||
---Purpose: Returns the number of multipoints of the TheMultiLine.
|
||||
|
||||
NbP2d(myclass; ML: TheMultiLine) returns Integer;
|
||||
---C++:inline
|
||||
---Purpose: Returns the number of 2d points of a TheMultiLine.
|
||||
|
||||
|
||||
NbP3d(myclass; ML: TheMultiLine) returns Integer;
|
||||
---C++:inline
|
||||
---Purpose: Returns the number of 3d points of a TheMultiLine.
|
||||
|
||||
|
||||
Value(myclass; ML: TheMultiLine; MPointIndex: Integer; tabPt: out Array1OfPnt);
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d points of the multipoint <MPointIndex>
|
||||
-- when only 3d points exist.
|
||||
|
||||
|
||||
Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabPt2d: out Array1OfPnt2d from TColgp);
|
||||
---C++:inline
|
||||
---Purpose: returns the 2d points of the multipoint <MPointIndex>
|
||||
-- when only 2d points exist.
|
||||
|
||||
|
||||
Value(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabPt: out Array1OfPnt from TColgp; tabPt2d: out Array1OfPnt2d);
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d and 2d points of the multipoint
|
||||
-- <MPointIndex>.
|
||||
|
||||
Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; tabV: out Array1OfVec from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d points of the multipoint <MPointIndex>
|
||||
-- when only 3d points exist.
|
||||
|
||||
|
||||
Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabV2d: out Array1OfVec2d from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 2d tangency points of the multipoint
|
||||
-- <MPointIndex> only when 2d points exist.
|
||||
|
||||
|
||||
Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabV: out Array1OfVec from TColgp; tabV2d: out Array1OfVec2d from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d and 2d points of the multipoint
|
||||
-- <MPointIndex>.
|
||||
|
||||
|
||||
--- methods not used but necessary
|
||||
|
||||
|
||||
Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabV: out Array1OfVec from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d curvature of the multipoint <MPointIndex>
|
||||
-- when only 3d points exist.
|
||||
|
||||
|
||||
Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabV2d: out Array1OfVec2d from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 2d curvature points of the multipoint
|
||||
-- <MPointIndex> only when 2d points exist.
|
||||
|
||||
|
||||
Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer;
|
||||
tabV: out Array1OfVec from TColgp;
|
||||
tabV2d: out Array1OfVec2d from TColgp)
|
||||
returns Boolean;
|
||||
---C++:inline
|
||||
---Purpose: returns the 3d and 2d curvature of the multipoint
|
||||
-- <MPointIndex>.
|
||||
|
||||
|
||||
|
||||
MakeMLBetween(myclass; ML: TheMultiLine; I1, I2: Integer;
|
||||
NbPMin: Integer)
|
||||
returns TheMultiLine;
|
||||
---C++:inline
|
||||
---Purpose: Is called if WhatStatus returned "PointsAdded".
|
||||
|
||||
WhatStatus(myclass; ML: TheMultiLine; I1, I2: Integer)
|
||||
---C++:inline
|
||||
returns Status from Approx;
|
||||
|
||||
Dump(myclass; ML: TheMultiLine);
|
||||
---Purpose: Dump of the current multi-line.
|
||||
|
||||
end MultiLineTool;
|
||||
|
@@ -1,87 +0,0 @@
|
||||
-- Created on: 1993-03-17
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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 PrmPrmSvSurfaces from ApproxInt (
|
||||
ThePSurface as any;
|
||||
ThePSurfaceTool as any;
|
||||
TheLine as Transient)
|
||||
|
||||
inherits SvSurfaces from ApproxInt
|
||||
|
||||
uses
|
||||
Pnt from gp,
|
||||
Pnt2d from gp,
|
||||
Vec from gp,
|
||||
Vec2d from gp
|
||||
|
||||
class TheInt2S instantiates Int2S from IntImp(
|
||||
ThePSurface,ThePSurfaceTool);
|
||||
|
||||
is
|
||||
Create(Surf1,Surf2: ThePSurface);
|
||||
|
||||
Compute(me: in out;
|
||||
u1,v1,u2,v2: in out Real from Standard;
|
||||
Pt: out Pnt from gp;
|
||||
Tg: out Vec from gp;
|
||||
Tguv1,Tguv2: out Vec2d from gp)
|
||||
---Purpose: returns True if Tg,Tguv1 Tguv2 can be computed.
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
Pnt(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
P: out Pnt from gp) is static;
|
||||
|
||||
Tangency(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
TangencyOnSurf1(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
TangencyOnSurf2(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is static;
|
||||
|
||||
fields
|
||||
MyParOnS1 : Pnt2d from gp;
|
||||
MyParOnS2 : Pnt2d from gp;
|
||||
MyPnt : Pnt from gp;
|
||||
MyTguv1 : Vec2d from gp;
|
||||
MyTguv2 : Vec2d from gp;
|
||||
MyTg : Vec from gp;
|
||||
MyIsTangent : Boolean from Standard;
|
||||
MyHasBeenComputed : Boolean from Standard;
|
||||
|
||||
MyParOnS1bis : Pnt2d from gp;
|
||||
MyParOnS2bis : Pnt2d from gp;
|
||||
MyPntbis : Pnt from gp;
|
||||
MyTguv1bis : Vec2d from gp;
|
||||
MyTguv2bis : Vec2d from gp;
|
||||
MyTgbis : Vec from gp;
|
||||
MyIsTangentbis : Boolean from Standard;
|
||||
MyHasBeenComputedbis : Boolean from Standard;
|
||||
|
||||
MyIntersectionOn2S : TheInt2S;
|
||||
|
||||
end PrmPrmSvSurfaces;
|
||||
|
||||
|
||||
|
@@ -1,59 +0,0 @@
|
||||
-- Created on: 1993-03-17
|
||||
-- Created by: Laurent BUCHARD
|
||||
-- Copyright (c) 1993-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 License 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.
|
||||
|
||||
deferred class SvSurfaces from ApproxInt
|
||||
|
||||
uses
|
||||
Pnt from gp,
|
||||
Pnt2d from gp,
|
||||
Vec from gp,
|
||||
Vec2d from gp
|
||||
|
||||
is
|
||||
|
||||
Compute(me: in out;
|
||||
u1,v1,u2,v2: in out Real from Standard;
|
||||
Pt: out Pnt from gp;
|
||||
Tg: out Vec from gp;
|
||||
Tguv1,Tguv2: out Vec2d from gp)
|
||||
---Purpose: returns True if Tg,Tguv1 Tguv2 can be computed.
|
||||
returns Boolean from Standard is deferred;
|
||||
|
||||
Pnt(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
P: out Pnt from gp) is deferred;
|
||||
|
||||
Tangency(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec from gp)
|
||||
returns Boolean from Standard is deferred;
|
||||
|
||||
TangencyOnSurf1(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is deferred;
|
||||
|
||||
TangencyOnSurf2(me: in out;
|
||||
u1,v1,u2,v2: in Real from Standard;
|
||||
Tg: out Vec2d from gp)
|
||||
returns Boolean from Standard is deferred;
|
||||
|
||||
---C++: alias " Standard_EXPORT virtual ~ApproxInt_SvSurfaces();"
|
||||
|
||||
end SvSurfaces;
|
||||
|
||||
|
||||
|
@@ -12,7 +12,11 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <ApproxInt_SvSurfaces.ixx>
|
||||
|
||||
#include <ApproxInt_SvSurfaces.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Vec2d.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : ~ApproxInt_SvSurfaces
|
||||
|
74
src/ApproxInt/ApproxInt_SvSurfaces.hxx
Normal file
74
src/ApproxInt/ApproxInt_SvSurfaces.hxx
Normal file
@@ -0,0 +1,74 @@
|
||||
// Created on: 1993-03-17
|
||||
// Created by: Laurent BUCHARD
|
||||
// Copyright (c) 1993-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 License 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.
|
||||
|
||||
#ifndef _ApproxInt_SvSurfaces_HeaderFile
|
||||
#define _ApproxInt_SvSurfaces_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
class gp_Vec2d;
|
||||
|
||||
|
||||
|
||||
class ApproxInt_SvSurfaces
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! returns True if Tg,Tguv1 Tguv2 can be computed.
|
||||
Standard_EXPORT virtual Standard_Boolean Compute (Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2, gp_Pnt& Pt, gp_Vec& Tg, gp_Vec2d& Tguv1, gp_Vec2d& Tguv2) = 0;
|
||||
|
||||
Standard_EXPORT virtual void Pnt (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Pnt& P) = 0;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean Tangency (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec& Tg) = 0;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean TangencyOnSurf1 (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec2d& Tg) = 0;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean TangencyOnSurf2 (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec2d& Tg) = 0;
|
||||
Standard_EXPORT virtual ~ApproxInt_SvSurfaces();
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _ApproxInt_SvSurfaces_HeaderFile
|
@@ -1,2 +1,8 @@
|
||||
ApproxInt_Approx.gxx
|
||||
ApproxInt_ImpPrmSvSurfaces.gxx
|
||||
ApproxInt_MultiLine.gxx
|
||||
ApproxInt_MultiLineTool.gxx
|
||||
|
||||
ApproxInt_MultiLineTool.lxx
|
||||
ApproxInt_PrmPrmSvSurfaces.gxx
|
||||
ApproxInt_SvSurfaces.cxx
|
||||
ApproxInt_SvSurfaces.hxx
|
||||
|
Reference in New Issue
Block a user