1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +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:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,64 +0,0 @@
-- Created on: 1994-04-01
-- Created by: Modelistation
-- Copyright (c) 1994-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 BRepTopAdaptor
---Purpose:
--
--
-- *** Class2d : Low level algorithm for 2d classification
--
-- *** FClass2d : 2d classification on a Face from TopoDS
-- A face is first loaded and then every
-- classification is computed as a rejection.
-- (call BRepClass algorithms if necessary,
-- ie, when the rejection is not efficient)
--
-- *** TopolTool : Several tools used by the intersection
-- algorithm and topology.
--
--
---Level: Internal
uses Adaptor3d, TopExp, TopoDS, BRepAdaptor, gp, TopAbs, Adaptor2d ,
TColgp,TColStd,TCollection,TopTools, CSLib
is
--class Class2d;
alias SeqOfPtr is SequenceOfAddress from TColStd;
class FClass2d;
class HVertex; -- inherits HVertex from Adaptor3d
class TopolTool; -- inherits TopolTool from Adaptor3d
--- the folowing classes are used to compute and store
-- informations on shapes. ( TopolTool , Bnd_Box ... )
class Tool;
imported MapOfShapeTool;
imported DataMapIteratorOfMapOfShapeTool;
end BRepTopAdaptor;

View File

@@ -1,77 +0,0 @@
-- Created on: 1995-03-22
-- Created by: Laurent BUCHARD
-- Copyright (c) 1995-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.
class FClass2d from BRepTopAdaptor
uses
Pnt2d from gp,
Face from TopoDS,
State from TopAbs,
SequenceOfInteger from TColStd,
SeqOfPtr from BRepTopAdaptor
is
Create(F: Face from TopoDS; Tol: Real from Standard)
returns FClass2d from BRepTopAdaptor;
PerformInfinitePoint(me)
returns State from TopAbs;
Perform(me; Puv: Pnt2d from gp; RecadreOnPeriodic: Boolean from Standard = Standard_True)
returns State from TopAbs;
Destroy(me: in out);
---C++: alias ~
Copy(me; Other: FClass2d from BRepTopAdaptor)
returns FClass2d from BRepTopAdaptor;
---C++: return const &
---C++: alias operator=
--Purpose *** Raise if called ***
TestOnRestriction(me; Puv: Pnt2d from gp;
Tol: Real from Standard;
RecadreOnPeriodic: Boolean from Standard = Standard_True)
returns State from TopAbs;
---Purpose: Test a point with +- an offset (Tol) and returns
-- On if some points are OUT an some are IN
-- (Caution: Internal use . see the code for more details)
fields
TabClass : SeqOfPtr from BRepTopAdaptor;
TabOrien : SequenceOfInteger from TColStd;
Toluv : Real from Standard;
Face : Face from TopoDS;
U1 : Real from Standard;
V1 : Real from Standard;
U2 : Real from Standard;
V2 : Real from Standard;
Umin : Real from Standard;
Umax : Real from Standard;
Vmin : Real from Standard;
Vmax : Real from Standard;
end FClass2d from BRepTopAdaptor;

View File

@@ -18,29 +18,29 @@
#define No_Standard_OutOfRange
#include <BRepTopAdaptor_FClass2d.ixx>
#include <TopoDS_Edge.hxx>
#include <TopoDS.hxx>
#include <BRep_Tool.hxx>
#include <TopAbs_Orientation.hxx>
#include <TopExp_Explorer.hxx>
#include <TColgp_SequenceOfPnt2d.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <Geom2dInt_Geom2dCurveTool.hxx>
#include <BRepAdaptor_Curve2d.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <CSLib_Class2d.hxx>
#include <GeomAbs_SurfaceType.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <TopExp.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <gp_Pnt.hxx>
#include <BRepAdaptor_Curve2d.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <BRepTopAdaptor_FClass2d.hxx>
#include <CSLib_Class2d.hxx>
#include <ElCLib.hxx>
#include <Geom2dInt_Geom2dCurveTool.hxx>
#include <GeomAbs_SurfaceType.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <Precision.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
#include <TColgp_SequenceOfPnt2d.hxx>
#include <TopAbs_Orientation.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#ifdef WNT
#include <stdio.h>

View File

@@ -0,0 +1,100 @@
// Created on: 1995-03-22
// Created by: Laurent BUCHARD
// Copyright (c) 1995-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 _BRepTopAdaptor_FClass2d_HeaderFile
#define _BRepTopAdaptor_FClass2d_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <BRepTopAdaptor_SeqOfPtr.hxx>
#include <TColStd_SequenceOfInteger.hxx>
#include <Standard_Real.hxx>
#include <TopoDS_Face.hxx>
#include <TopAbs_State.hxx>
#include <Standard_Boolean.hxx>
class TopoDS_Face;
class gp_Pnt2d;
class BRepTopAdaptor_FClass2d
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT BRepTopAdaptor_FClass2d(const TopoDS_Face& F, const Standard_Real Tol);
Standard_EXPORT TopAbs_State PerformInfinitePoint() const;
Standard_EXPORT TopAbs_State Perform (const gp_Pnt2d& Puv, const Standard_Boolean RecadreOnPeriodic = Standard_True) const;
Standard_EXPORT void Destroy();
~BRepTopAdaptor_FClass2d()
{
Destroy();
}
Standard_EXPORT const BRepTopAdaptor_FClass2d& Copy (const BRepTopAdaptor_FClass2d& Other) const;
const BRepTopAdaptor_FClass2d& operator= (const BRepTopAdaptor_FClass2d& Other) const
{
return Copy(Other);
}
//! Test a point with +- an offset (Tol) and returns
//! On if some points are OUT an some are IN
//! (Caution: Internal use . see the code for more details)
Standard_EXPORT TopAbs_State TestOnRestriction (const gp_Pnt2d& Puv, const Standard_Real Tol, const Standard_Boolean RecadreOnPeriodic = Standard_True) const;
protected:
private:
BRepTopAdaptor_SeqOfPtr TabClass;
TColStd_SequenceOfInteger TabOrien;
Standard_Real Toluv;
TopoDS_Face Face;
Standard_Real U1;
Standard_Real V1;
Standard_Real U2;
Standard_Real V2;
Standard_Real Umin;
Standard_Real Umax;
Standard_Real Vmin;
Standard_Real Vmax;
};
#endif // _BRepTopAdaptor_FClass2d_HeaderFile

View File

@@ -1,90 +0,0 @@
-- Created on: 1994-04-01
-- Created by: Modelistation
-- Copyright (c) 1994-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.
class HVertex from BRepTopAdaptor
---Purpose:
inherits HVertex from Adaptor3d
uses Pnt2d from gp,
Orientation from TopAbs,
Vertex from TopoDS,
HCurve2d from Adaptor2d,
HCurve2d from BRepAdaptor
is
Create(Vtx: Vertex from TopoDS; Curve: HCurve2d from BRepAdaptor)
returns HVertex from BRepTopAdaptor;
Vertex(me)
returns Vertex from TopoDS
---C++: inline
---C++: return const&
is static;
ChangeVertex(me: mutable)
returns Vertex from TopoDS
---C++: inline
---C++: return&
is static;
Value(me: mutable)
returns Pnt2d from gp
is redefined;
Parameter(me: mutable; C: HCurve2d from Adaptor2d)
returns Real from Standard
is redefined;
Resolution(me: mutable; C: HCurve2d from Adaptor2d)
---Purpose: Parametric resolution (2d).
returns Real from Standard
is redefined;
Orientation(me: mutable)
returns Orientation from TopAbs
is redefined;
IsSame(me: mutable; Other: like me)
returns Boolean from Standard
is redefined;
fields -- redefined from HVertex from Adaptor3d
myVtx : Vertex from TopoDS;
myCurve : HCurve2d from BRepAdaptor;
end HVertex;

View File

@@ -12,16 +12,19 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <BRepTopAdaptor_HVertex.ixx>
#include <Adaptor2d_HCurve2d.hxx>
#include <Adaptor3d_HVertex.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_HCurve2d.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <BRep_Tool.hxx>
#include <BRepTopAdaptor_HVertex.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Vec.hxx>
#include <gp_Vec2d.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Vertex.hxx>
BRepTopAdaptor_HVertex::BRepTopAdaptor_HVertex
(const TopoDS_Vertex& V,

View File

@@ -0,0 +1,88 @@
// Created on: 1994-04-01
// Created by: Modelistation
// Copyright (c) 1994-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 _BRepTopAdaptor_HVertex_HeaderFile
#define _BRepTopAdaptor_HVertex_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Vertex.hxx>
#include <Adaptor3d_HVertex.hxx>
#include <Standard_Real.hxx>
#include <TopAbs_Orientation.hxx>
#include <Standard_Boolean.hxx>
class BRepAdaptor_HCurve2d;
class TopoDS_Vertex;
class gp_Pnt2d;
class Adaptor2d_HCurve2d;
class Adaptor3d_HVertex;
class BRepTopAdaptor_HVertex;
DEFINE_STANDARD_HANDLE(BRepTopAdaptor_HVertex, Adaptor3d_HVertex)
class BRepTopAdaptor_HVertex : public Adaptor3d_HVertex
{
public:
Standard_EXPORT BRepTopAdaptor_HVertex(const TopoDS_Vertex& Vtx, const Handle(BRepAdaptor_HCurve2d)& Curve);
const TopoDS_Vertex& Vertex() const;
TopoDS_Vertex& ChangeVertex();
Standard_EXPORT virtual gp_Pnt2d Value() Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Real Parameter (const Handle(Adaptor2d_HCurve2d)& C) Standard_OVERRIDE;
//! Parametric resolution (2d).
Standard_EXPORT virtual Standard_Real Resolution (const Handle(Adaptor2d_HCurve2d)& C) Standard_OVERRIDE;
Standard_EXPORT virtual TopAbs_Orientation Orientation() Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Boolean IsSame (const Handle(Adaptor3d_HVertex)& Other) Standard_OVERRIDE;
DEFINE_STANDARD_RTTI(BRepTopAdaptor_HVertex,Adaptor3d_HVertex)
protected:
private:
TopoDS_Vertex myVtx;
Handle(BRepAdaptor_HCurve2d) myCurve;
};
#include <BRepTopAdaptor_HVertex.lxx>
#endif // _BRepTopAdaptor_HVertex_HeaderFile

View File

@@ -0,0 +1,25 @@
// Created on: 1994-04-01
// Created by: Modelistation
// Copyright (c) 1994-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 _BRepTopAdaptor_SeqOfPtr_HeaderFile
#define _BRepTopAdaptor_SeqOfPtr_HeaderFile
#include <TColStd_SequenceOfAddress.hxx>
typedef TColStd_SequenceOfAddress BRepTopAdaptor_SeqOfPtr;
#endif // _BRepTopAdaptor_SeqOfPtr_HeaderFile

View File

@@ -1,70 +0,0 @@
-- Created on: 1997-10-07
-- Created by: Laurent BUCHARD
-- Copyright (c) 1997-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.
class Tool from BRepTopAdaptor
uses
Face from TopoDS,
TopolTool from BRepTopAdaptor,
HSurface from Adaptor3d
is
Create
returns Tool from BRepTopAdaptor;
Create(F : Face from TopoDS;
Tol2d : Real from Standard)
returns Tool from BRepTopAdaptor;
Create(Surface: HSurface from Adaptor3d;
Tol2d : Real from Standard)
returns Tool from BRepTopAdaptor;
Init(me : in out;
F : Face from TopoDS;
Tol2d : Real from Standard);
Init(me : in out;
Surface: HSurface from Adaptor3d;
Tol2d : Real from Standard);
----
GetTopolTool(me: in out)
returns TopolTool from BRepTopAdaptor;
SetTopolTool(me: in out ;
TT: TopolTool from BRepTopAdaptor);
GetSurface(me: in out)
returns HSurface from Adaptor3d;
---
Destroy(me: in out) ;
---C++: alias ~
fields
myloaded : Boolean from Standard;
myTopolTool : TopolTool from BRepTopAdaptor;
myHSurface : HSurface from Adaptor3d;
end Tool;

View File

@@ -14,12 +14,12 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <BRepTopAdaptor_Tool.ixx>
#include <BRepTopAdaptor_TopolTool.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <Adaptor3d_HSurface.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <BRepTopAdaptor_Tool.hxx>
#include <BRepTopAdaptor_TopolTool.hxx>
#include <TopoDS_Face.hxx>
BRepTopAdaptor_Tool::BRepTopAdaptor_Tool() {
myTopolTool = new BRepTopAdaptor_TopolTool();

View File

@@ -0,0 +1,87 @@
// Created on: 1997-10-07
// Created by: Laurent BUCHARD
// Copyright (c) 1997-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 _BRepTopAdaptor_Tool_HeaderFile
#define _BRepTopAdaptor_Tool_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
class BRepTopAdaptor_TopolTool;
class Adaptor3d_HSurface;
class TopoDS_Face;
class BRepTopAdaptor_Tool
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT BRepTopAdaptor_Tool();
Standard_EXPORT BRepTopAdaptor_Tool(const TopoDS_Face& F, const Standard_Real Tol2d);
Standard_EXPORT BRepTopAdaptor_Tool(const Handle(Adaptor3d_HSurface)& Surface, const Standard_Real Tol2d);
Standard_EXPORT void Init (const TopoDS_Face& F, const Standard_Real Tol2d);
Standard_EXPORT void Init (const Handle(Adaptor3d_HSurface)& Surface, const Standard_Real Tol2d);
Standard_EXPORT Handle(BRepTopAdaptor_TopolTool) GetTopolTool();
Standard_EXPORT void SetTopolTool (const Handle(BRepTopAdaptor_TopolTool)& TT);
Standard_EXPORT Handle(Adaptor3d_HSurface) GetSurface();
Standard_EXPORT void Destroy();
~BRepTopAdaptor_Tool()
{
Destroy();
}
protected:
private:
Standard_Boolean myloaded;
Handle(BRepTopAdaptor_TopolTool) myTopolTool;
Handle(Adaptor3d_HSurface) myHSurface;
};
#endif // _BRepTopAdaptor_Tool_HeaderFile

View File

@@ -1,239 +0,0 @@
-- Created on: 1994-04-01
-- Created by: Modelistation
-- Copyright (c) 1994-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.
class TopolTool from BRepTopAdaptor
inherits TopolTool from Adaptor3d
uses HSurface from Adaptor3d,
HCurve2d from Adaptor2d,
HCurve2d from BRepAdaptor,
HVertex from Adaptor3d,
Pnt2d from gp,
Pnt from gp,
State from TopAbs,
Orientation from TopAbs,
Explorer from TopExp,
Face from TopoDS,
FClass2d from BRepTopAdaptor,
ListOfTransient from TColStd,
ListIteratorOfListOfTransient from TColStd
raises DomainError from Standard
is
Create
returns TopolTool from BRepTopAdaptor;
Create(Surface: HSurface from Adaptor3d)
returns TopolTool from BRepTopAdaptor;
Initialize(me: mutable)
is redefined;
Initialize(me: mutable; S: HSurface from Adaptor3d)
is redefined;
Initialize(me: mutable; Curve: HCurve2d from Adaptor2d)
is redefined;
--- Arc iterator
Init(me: mutable)
is redefined;
More(me: mutable)
returns Boolean from Standard
is redefined;
Value(me: mutable)
returns HCurve2d from Adaptor2d
raises DomainError from Standard
is redefined;
Next(me: mutable)
is redefined;
--modified by NIZNHY-PKV Wed Mar 21 11:37:11 2001 f
Edge (me)
returns Address from Standard
is redefined;
--modified by NIZNHY-PKV Wed Mar 21 11:37:17 2001 t
--- Vertex iterator
InitVertexIterator(me: mutable)
is redefined;
MoreVertex(me: mutable)
returns Boolean from Standard
is redefined;
Vertex(me: mutable)
returns HVertex from Adaptor3d
raises DomainError from Standard
is redefined;
NextVertex(me: mutable)
is redefined;
Classify(me: mutable; P2d: Pnt2d from gp;
Tol: Real from Standard;
RecadreOnPeriodic : Boolean from Standard = Standard_True)
returns State from TopAbs
is redefined;
IsThePointOn(me: mutable; P2d: Pnt2d from gp;
Tol: Real from Standard;
RecadreOnPeriodic : Boolean from Standard = Standard_True)
---Purpose (caution: see the code for specifications)
returns Boolean from Standard
is redefined;
Orientation(me: mutable; C: HCurve2d from Adaptor2d)
---Purpose: If the function returns the orientation of the arc.
-- If the orientation is FORWARD or REVERSED, the arc is
-- a "real" limit of the surface.
-- If the orientation is INTERNAL or EXTERNAL, the arc is
-- considered as an arc on the surface.
returns Orientation from TopAbs
is redefined;
Orientation(me: mutable; C: HVertex from Adaptor3d)
---Purpose: If the function returns the orientation of the arc.
-- If the orientation is FORWARD or REVERSED, the arc is
-- a "real" limit of the surface.
-- If the orientation is INTERNAL or EXTERNAL, the arc is
-- considered as an arc on the surface.
returns Orientation from TopAbs
is redefined;
Destroy(me: mutable);
---C++: alias ~
Has3d(me)
---Purpose: answers if arcs and vertices may have 3d representations,
-- so that we could use Tol3d and Pnt methods.
returns Boolean from Standard
is redefined;
Tol3d(me; C: HCurve2d from Adaptor2d)
---Purpose: returns 3d tolerance of the arc C
returns Real from Standard
raises DomainError from Standard
is redefined;
Tol3d(me; V: HVertex from Adaptor3d)
---Purpose: returns 3d tolerance of the vertex V
returns Real from Standard
raises DomainError from Standard
is redefined;
Pnt(me; V: HVertex from Adaptor3d)
---Purpose: returns 3d point of the vertex V
returns Pnt from gp
raises DomainError from Standard
is redefined;
--- samples tools
ComputeSamplePoints(me: mutable)
is redefined;
NbSamplesU(me: mutable)
---Purpose: compute the sample-points for the intersections algorithms
returns Integer from Standard
is redefined;
NbSamplesV(me: mutable)
---Purpose: compute the sample-points for the intersections algorithms
returns Integer from Standard
is redefined;
NbSamples(me: mutable)
---Purpose: compute the sample-points for the intersections algorithms
returns Integer from Standard
is redefined;
SamplePoint(me: mutable; Index: Integer from Standard;
P2d : out Pnt2d from gp;
P3d : out Pnt from gp)
is redefined;
DomainIsInfinite(me: mutable)
returns Boolean from Standard
is redefined;
fields -- redefined from TopolTool from Adaptor3d
myVIterator : Explorer from TopExp;
myFace : Face from TopoDS;
myFClass2d : Address from Standard;
myCurve : HCurve2d from BRepAdaptor;
-- MSV: replace myEIterator by myCIterator to return the same HCurve2d
-- for the same edge each time the user calls Value()
myCurves : ListOfTransient from TColStd;
myCIterator : ListIteratorOfListOfTransient from TColStd;
--myS : HSurface from Adaptor3d; now inherits myS from Adaptor3d_TopolTool
myU0 : Real from Standard;
myV0 : Real from Standard;
myDU : Real from Standard;
myDV : Real from Standard;
--myNbSamplesU: Integer from Standard; now inherits myS from Adaptor3d_TopolTool
--myNbSamplesV: Integer from Standard; now inherits myS from Adaptor3d_TopolTool
end TopolTool;

View File

@@ -12,27 +12,29 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Standard_NotImplemented.hxx>
#include <BRepTopAdaptor_TopolTool.ixx>
#include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <Adaptor2d_HCurve2d.hxx>
#include <Adaptor3d_HSurface.hxx>
#include <Adaptor3d_HVertex.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_HCurve2d.hxx>
#include <BRepTopAdaptor_HVertex.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <BRepClass_FaceExplorer.hxx>
#include <TopoDS.hxx>
#include <Precision.hxx>
#include <BRepTopAdaptor_FClass2d.hxx>
#include <BRep_Tool.hxx>
#include <TColgp_Array2OfPnt.hxx>
#include <BRepTopAdaptor_HVertex.hxx>
#include <BRepTopAdaptor_TopolTool.hxx>
#include <Geom_BezierSurface.hxx>
#include <Geom_BSplineSurface.hxx>
#include <Adaptor2d_HCurve2d.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NotImplemented.hxx>
#include <Standard_Type.hxx>
#include <TColgp_Array2OfPnt.hxx>
#include <TopoDS.hxx>
static
void Analyse(const TColgp_Array2OfPnt& array2,

View File

@@ -0,0 +1,166 @@
// Created on: 1994-04-01
// Created by: Modelistation
// Copyright (c) 1994-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 _BRepTopAdaptor_TopolTool_HeaderFile
#define _BRepTopAdaptor_TopolTool_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS_Face.hxx>
#include <Standard_Address.hxx>
#include <TColStd_ListOfTransient.hxx>
#include <TColStd_ListIteratorOfListOfTransient.hxx>
#include <Standard_Real.hxx>
#include <Adaptor3d_TopolTool.hxx>
#include <Standard_Boolean.hxx>
#include <TopAbs_State.hxx>
#include <TopAbs_Orientation.hxx>
#include <Standard_Integer.hxx>
class BRepAdaptor_HCurve2d;
class Standard_DomainError;
class Adaptor3d_HSurface;
class Adaptor2d_HCurve2d;
class Adaptor3d_HVertex;
class gp_Pnt2d;
class gp_Pnt;
class BRepTopAdaptor_TopolTool;
DEFINE_STANDARD_HANDLE(BRepTopAdaptor_TopolTool, Adaptor3d_TopolTool)
class BRepTopAdaptor_TopolTool : public Adaptor3d_TopolTool
{
public:
Standard_EXPORT BRepTopAdaptor_TopolTool();
Standard_EXPORT BRepTopAdaptor_TopolTool(const Handle(Adaptor3d_HSurface)& Surface);
Standard_EXPORT virtual void Initialize() Standard_OVERRIDE;
Standard_EXPORT virtual void Initialize (const Handle(Adaptor3d_HSurface)& S) Standard_OVERRIDE;
Standard_EXPORT virtual void Initialize (const Handle(Adaptor2d_HCurve2d)& Curve) Standard_OVERRIDE;
Standard_EXPORT virtual void Init() Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Boolean More() Standard_OVERRIDE;
Standard_EXPORT virtual Handle(Adaptor2d_HCurve2d) Value() Standard_OVERRIDE;
Standard_EXPORT virtual void Next() Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Address Edge() const Standard_OVERRIDE;
Standard_EXPORT virtual void InitVertexIterator() Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Boolean MoreVertex() Standard_OVERRIDE;
Standard_EXPORT virtual Handle(Adaptor3d_HVertex) Vertex() Standard_OVERRIDE;
Standard_EXPORT virtual void NextVertex() Standard_OVERRIDE;
Standard_EXPORT virtual TopAbs_State Classify (const gp_Pnt2d& P2d, const Standard_Real Tol, const Standard_Boolean RecadreOnPeriodic = Standard_True) Standard_OVERRIDE;
//! see the code for specifications)
Standard_EXPORT virtual Standard_Boolean IsThePointOn (const gp_Pnt2d& P2d, const Standard_Real Tol, const Standard_Boolean RecadreOnPeriodic = Standard_True) Standard_OVERRIDE;
//! If the function returns the orientation of the arc.
//! If the orientation is FORWARD or REVERSED, the arc is
//! a "real" limit of the surface.
//! If the orientation is INTERNAL or EXTERNAL, the arc is
//! considered as an arc on the surface.
Standard_EXPORT virtual TopAbs_Orientation Orientation (const Handle(Adaptor2d_HCurve2d)& C) Standard_OVERRIDE;
//! If the function returns the orientation of the arc.
//! If the orientation is FORWARD or REVERSED, the arc is
//! a "real" limit of the surface.
//! If the orientation is INTERNAL or EXTERNAL, the arc is
//! considered as an arc on the surface.
Standard_EXPORT virtual TopAbs_Orientation Orientation (const Handle(Adaptor3d_HVertex)& C) Standard_OVERRIDE;
Standard_EXPORT void Destroy();
~BRepTopAdaptor_TopolTool()
{
Destroy();
}
//! answers if arcs and vertices may have 3d representations,
//! so that we could use Tol3d and Pnt methods.
Standard_EXPORT virtual Standard_Boolean Has3d() const Standard_OVERRIDE;
//! returns 3d tolerance of the arc C
Standard_EXPORT virtual Standard_Real Tol3d (const Handle(Adaptor2d_HCurve2d)& C) const Standard_OVERRIDE;
//! returns 3d tolerance of the vertex V
Standard_EXPORT virtual Standard_Real Tol3d (const Handle(Adaptor3d_HVertex)& V) const Standard_OVERRIDE;
//! returns 3d point of the vertex V
Standard_EXPORT virtual gp_Pnt Pnt (const Handle(Adaptor3d_HVertex)& V) const Standard_OVERRIDE;
Standard_EXPORT virtual void ComputeSamplePoints() Standard_OVERRIDE;
//! compute the sample-points for the intersections algorithms
Standard_EXPORT virtual Standard_Integer NbSamplesU() Standard_OVERRIDE;
//! compute the sample-points for the intersections algorithms
Standard_EXPORT virtual Standard_Integer NbSamplesV() Standard_OVERRIDE;
//! compute the sample-points for the intersections algorithms
Standard_EXPORT virtual Standard_Integer NbSamples() Standard_OVERRIDE;
Standard_EXPORT virtual void SamplePoint (const Standard_Integer Index, gp_Pnt2d& P2d, gp_Pnt& P3d) Standard_OVERRIDE;
Standard_EXPORT virtual Standard_Boolean DomainIsInfinite() Standard_OVERRIDE;
DEFINE_STANDARD_RTTI(BRepTopAdaptor_TopolTool,Adaptor3d_TopolTool)
protected:
private:
TopExp_Explorer myVIterator;
TopoDS_Face myFace;
Standard_Address myFClass2d;
Handle(BRepAdaptor_HCurve2d) myCurve;
TColStd_ListOfTransient myCurves;
TColStd_ListIteratorOfListOfTransient myCIterator;
Standard_Real myU0;
Standard_Real myV0;
Standard_Real myDU;
Standard_Real myDV;
};
#endif // _BRepTopAdaptor_TopolTool_HeaderFile

View File

@@ -1,2 +1,12 @@
BRepTopAdaptor_MapOfShapeTool.hxx
BRepTopAdaptor_DataMapIteratorOfMapOfShapeTool.hxx
BRepTopAdaptor_FClass2d.cxx
BRepTopAdaptor_FClass2d.hxx
BRepTopAdaptor_HVertex.cxx
BRepTopAdaptor_HVertex.hxx
BRepTopAdaptor_HVertex.lxx
BRepTopAdaptor_MapOfShapeTool.hxx
BRepTopAdaptor_SeqOfPtr.hxx
BRepTopAdaptor_Tool.cxx
BRepTopAdaptor_Tool.hxx
BRepTopAdaptor_TopolTool.cxx
BRepTopAdaptor_TopolTool.hxx