1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-29 14:00: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

7
src/FilletSurf/FILES Normal file
View File

@@ -0,0 +1,7 @@
FilletSurf_Builder.cxx
FilletSurf_Builder.hxx
FilletSurf_ErrorTypeStatus.hxx
FilletSurf_InternalBuilder.cxx
FilletSurf_InternalBuilder.hxx
FilletSurf_StatusDone.hxx
FilletSurf_StatusType.hxx

View File

@@ -1,106 +0,0 @@
-- Created on: 1996-07-26
-- Created by: Maria PUMBORIOS
-- Copyright (c) 1996-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 FilletSurf
---Purpose: This package contains the API giving
-- only geometric informations about fillets
-- for Toyota Project UV4.
uses
TopoDS,
TopTools,
ChFi3d,
ChFiDS,
BRepAdaptor,
Adaptor3d,
math,
Geom,
Geom2d,
gp,
StdFail,
TopAbs
is
----------------------------------------------------------
-- enumeration used to describe the status of start and end section
-- of the fillet
-- TwoExtremityOnEdge
-- OneExtremityOnEdge
-- NoExtremityOnEdge
----------------------------------------------------------
--
--
enumeration StatusType is TwoExtremityOnEdge, OneExtremityOnEdge,
NoExtremityOnEdge
end StatusType;
----------------------------------------------------------
-- enumeration used to describe the status of the computation of the fillet
-- IsOk
-- IsNotOk
-- IsPartial
--
----------------------------------------------------------
enumeration StatusDone is IsOk, IsNotOk,IsPartial
end StatusDone;
----------------------------------------------------------
-- enumeration used to describe the status error
-- EmptyList
-- EdgeNotG1
-- FacesNotG1
-- EdgeNotOnShape
-- NotSharpEdge
-- PbFilletCompute
----------------------------------------------------------
enumeration ErrorTypeStatus is EmptyList, EdgeNotG1,FacesNotG1,EdgeNotOnShape,
NotSharpEdge, PbFilletCompute
end ErrorTypeStatus ;
-- this class is the API giving geometric informations about fillets:
class Builder;
-- this class is private and is only used by the class Builder:
private class InternalBuilder;
end FilletSurf;

View File

@@ -1,215 +0,0 @@
-- Created on: 1996-07-26
-- Created by: Maria PUMBORIOS
-- Copyright (c) 1996-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 Builder from FilletSurf
---Purpose: API giving the following geometric information about fillets
-- list of corresponding NUBS surfaces
-- for each surface:
-- the 2 support faces
-- on each face: the 3d curve and the corresponding 2d curve
-- the 2d curves on the fillet
-- status of start and end section of the fillet
-- first and last parameter on edge of the fillet.
uses
Shape,Edge,Face from TopoDS,
Surface from Geom,
Curve from Geom,
TrimmedCurve from Geom,
ListOfShape from TopTools,
Real from Standard,
Curve from Geom2d,
InternalBuilder, StatusType,ErrorTypeStatus,StatusDone from FilletSurf
raises
NotDone from StdFail,
OutOfRange from Standard
is
Create(S : Shape from TopoDS;
E : ListOfShape from TopTools;
R : Real from Standard;
Ta : Real from Standard= 1.0e-2;
Tapp3d : Real from Standard= 1.0e-4;
Tapp2d : Real from Standard =1.0e-5)
---Purpose: initialize of the informations necessary for the
-- computation of the fillet on the
-- Shape S from a list of edges E and a radius R.
--
-- Ta is the angular tolerance
-- Tapp3d is the 3d approximation tolerance
-- Tapp2d is the 2d approximation tolerance
--
--
--
returns Builder from FilletSurf;
Perform(me:in out);
---Purpose computation of the fillet (list of NUBS)
Simulate (me:in out);
-- computes only the sections used in the computation of the fillet
IsDone(me) returns StatusDone from FilletSurf;
---Purpose: gives the status about the computation of the fillet
-- returns:
-- IsOK :no problem during the computation
-- IsNotOk: no result is produced
-- IsPartial: the result is partial
StatusError(me) returns ErrorTypeStatus from FilletSurf;
---Purpose: gives informations about error status if
-- IsDone=IsNotOk
-- returns
-- EdgeNotG1: the edges are not G1
-- FacesNotG1 : two connected faces on a same support are
-- not G1
-- EdgeNotOnShape: the edge is not on shape
-- NotSharpEdge: the edge is not sharp
-- PbFilletCompute: problem during the computation of the fillet
NbSurface(me) returns Integer from Standard
---Purpose: gives the number of NUBS surfaces of the Fillet.
raises NotDone from StdFail;
SurfaceFillet (me;Index:Integer from Standard) returns Surface from Geom
---Purpose: gives the NUBS surface of index Index.
---C++: return const &
raises NotDone from StdFail,
OutOfRange from Standard;
TolApp3d (me;Index:Integer from Standard) returns Real from Standard
---Purpose: gives the 3d tolerance reached during approximation
-- of surface of index Index
raises NotDone from StdFail,
OutOfRange from Standard;
SupportFace1 (me;Index:Integer from Standard) returns Face from TopoDS
---Purpose:gives the first support face relative to SurfaceFillet(Index);
---C++:return const &
raises NotDone from StdFail,
OutOfRange from Standard;
SupportFace2 (me;Index:Integer from Standard) returns Face from TopoDS
---Purpose:gives the second support face relative to SurfaceFillet(Index);
---C++:return const &
raises NotDone from StdFail,
OutOfRange from Standard;
CurveOnFace1 (me;Index:Integer from Standard) returns Curve from Geom
---C++: return const &
--- Purpose: gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index)
raises NotDone from StdFail,
OutOfRange from Standard;
CurveOnFace2 (me;Index:Integer from Standard) returns Curve from Geom
---C++: return const &
---Purpose: gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index)
raises NotDone from StdFail,
OutOfRange from Standard;
PCurveOnFace1(me;Index:Integer from Standard) returns Curve from Geom2d
---Purpose:gives the PCurve associated to CurvOnSup1(Index) on the support face
---C++: return const&
raises NotDone from StdFail,
OutOfRange from Standard;
PCurve1OnFillet (me;Index:Integer from Standard) returns Curve from Geom2d
---Purpose: gives the PCurve associated to CurveOnFace1(Index) on the Fillet
---C++: return const&
raises NotDone from StdFail,
OutOfRange from Standard;
PCurveOnFace2(me;Index:Integer from Standard) returns Curve from Geom2d
---Purpose: gives the PCurve associated to CurveOnSup2(Index) on the support face
---C++: return const&
raises NotDone from StdFail,
OutOfRange from Standard;
PCurve2OnFillet (me;Index:Integer from Standard) returns Curve from Geom2d
---Purpose: gives the PCurve associated to CurveOnSup2(Index) on the fillet
---C++: return const&
raises NotDone from StdFail,
OutOfRange from Standard;
FirstParameter(me) returns Real from Standard
---Purpose:gives the parameter of the fillet on the first edge.
raises NotDone from StdFail;
LastParameter (me) returns Real from Standard
---Purpose: gives the parameter of the fillet on the last edge
raises NotDone from StdFail;
StartSectionStatus(me) returns StatusType from FilletSurf
-- returns:
-- twoExtremityonEdge: each extremity of start section of the Fillet is
-- on the edge of the corresponding support face.
-- OneExtremityOnEdge: only one of the extremities of start section of the Fillet
-- is on the edge of the corresponding support face.
-- NoExtremityOnEdge any extremity of the start section ofthe fillet is on
-- the edge of the corresponding support face.
raises NotDone from StdFail;
EndSectionStatus(me) returns StatusType from FilletSurf
-- returns:
-- twoExtremityonEdge: each extremity of end section of the Fillet is
-- on the edge of the corresponding support face.
-- OneExtremityOnEdge: only one of the extremities of end section of the Fillet
-- is on the edge of the corresponding support face.
-- NoExtremityOnEdge: any extremity of the end section of the fillet is on
-- the edge of the corresponding support face.
raises NotDone from StdFail;
NbSection(me;IndexSurf:Integer from Standard) returns Integer from Standard
-- gives the number of sections relative to SurfaceFillet(IndexSurf)
raises NotDone from StdFail,
OutOfRange from Standard;
Section(me;IndexSurf:Integer from Standard;IndexSec:Integer from Standard;
Circ: out TrimmedCurve from Geom)
-- gives the arc of circle corresponding to section number
-- IndexSec of SurfaceFillet(IndexSurf) (The basis curve of the
-- trimmed curve is a Geom_Circle)
raises NotDone from StdFail,
OutOfRange from Standard;
fields
myIntBuild : InternalBuilder from FilletSurf;
myisdone : StatusDone from FilletSurf;
myerrorstatus: ErrorTypeStatus from FilletSurf;
end Builder;

View File

@@ -14,22 +14,24 @@
// Modifed: Portage NT 7-5-97 DPF (return)
#include <FilletSurf_Builder.ixx>
#include <FilletSurf_InternalBuilder.hxx>
#include <TopoDS.hxx>
#include <Geom_Surface.hxx>
#include <Geom_Curve.hxx>
#include <Geom2d_Curve.hxx>
#include <ChFi3d_FilletShape.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <StdFail_NotDone.hxx>
#include <FilletSurf_Builder.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx>
#include <FilletSurf_InternalBuilder.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <Standard_OutOfRange.hxx>
#include <StdFail_NotDone.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
//=======================================================================
//function : FilletSurf_Builder
//purpose :
//=======================================================================
FilletSurf_Builder::FilletSurf_Builder(const TopoDS_Shape& S,
const TopTools_ListOfShape& E,
const Standard_Real R,

View File

@@ -0,0 +1,162 @@
// Created on: 1996-07-26
// Created by: Maria PUMBORIOS
// Copyright (c) 1996-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 _FilletSurf_Builder_HeaderFile
#define _FilletSurf_Builder_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <FilletSurf_InternalBuilder.hxx>
#include <FilletSurf_StatusDone.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx>
#include <TopTools_ListOfShape.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <FilletSurf_StatusType.hxx>
class StdFail_NotDone;
class Standard_OutOfRange;
class TopoDS_Shape;
class Geom_Surface;
class TopoDS_Face;
class Geom_Curve;
class Geom2d_Curve;
class Geom_TrimmedCurve;
//! API giving the following geometric information about fillets
//! list of corresponding NUBS surfaces
//! for each surface:
//! the 2 support faces
//! on each face: the 3d curve and the corresponding 2d curve
//! the 2d curves on the fillet
//! status of start and end section of the fillet
//! first and last parameter on edge of the fillet.
class FilletSurf_Builder
{
public:
DEFINE_STANDARD_ALLOC
//! initialize of the informations necessary for the
//! computation of the fillet on the
//! Shape S from a list of edges E and a radius R.
//!
//! Ta is the angular tolerance
//! Tapp3d is the 3d approximation tolerance
//! Tapp2d is the 2d approximation tolerance
Standard_EXPORT FilletSurf_Builder(const TopoDS_Shape& S, const TopTools_ListOfShape& E, const Standard_Real R, const Standard_Real Ta = 1.0e-2, const Standard_Real Tapp3d = 1.0e-4, const Standard_Real Tapp2d = 1.0e-5);
//! ---Purpose computation of the fillet (list of NUBS)
Standard_EXPORT void Perform();
Standard_EXPORT void Simulate();
//! gives the status about the computation of the fillet
//! returns:
//! IsOK :no problem during the computation
//! IsNotOk: no result is produced
//! IsPartial: the result is partial
Standard_EXPORT FilletSurf_StatusDone IsDone() const;
//! gives informations about error status if
//! IsDone=IsNotOk
//! returns
//! EdgeNotG1: the edges are not G1
//! FacesNotG1 : two connected faces on a same support are
//! not G1
//! EdgeNotOnShape: the edge is not on shape
//! NotSharpEdge: the edge is not sharp
//! PbFilletCompute: problem during the computation of the fillet
Standard_EXPORT FilletSurf_ErrorTypeStatus StatusError() const;
//! gives the number of NUBS surfaces of the Fillet.
Standard_EXPORT Standard_Integer NbSurface() const;
//! gives the NUBS surface of index Index.
Standard_EXPORT const Handle(Geom_Surface)& SurfaceFillet (const Standard_Integer Index) const;
//! gives the 3d tolerance reached during approximation
//! of surface of index Index
Standard_EXPORT Standard_Real TolApp3d (const Standard_Integer Index) const;
//! gives the first support face relative to SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Face& SupportFace1 (const Standard_Integer Index) const;
//! gives the second support face relative to SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Face& SupportFace2 (const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index)
Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace1 (const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index)
Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace2 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurvOnSup1(Index) on the support face
Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace1 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnFace1(Index) on the Fillet
Standard_EXPORT const Handle(Geom2d_Curve)& PCurve1OnFillet (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the support face
Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace2 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the fillet
Standard_EXPORT const Handle(Geom2d_Curve)& PCurve2OnFillet (const Standard_Integer Index) const;
//! gives the parameter of the fillet on the first edge.
Standard_EXPORT Standard_Real FirstParameter() const;
//! gives the parameter of the fillet on the last edge
Standard_EXPORT Standard_Real LastParameter() const;
Standard_EXPORT FilletSurf_StatusType StartSectionStatus() const;
Standard_EXPORT FilletSurf_StatusType EndSectionStatus() const;
Standard_EXPORT Standard_Integer NbSection (const Standard_Integer IndexSurf) const;
Standard_EXPORT void Section (const Standard_Integer IndexSurf, const Standard_Integer IndexSec, Handle(Geom_TrimmedCurve)& Circ) const;
protected:
private:
FilletSurf_InternalBuilder myIntBuild;
FilletSurf_StatusDone myisdone;
FilletSurf_ErrorTypeStatus myerrorstatus;
};
#endif // _FilletSurf_Builder_HeaderFile

View File

@@ -0,0 +1,31 @@
// Created on: 1996-07-26
// Created by: Maria PUMBORIOS
// Copyright (c) 1996-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 _FilletSurf_ErrorTypeStatus_HeaderFile
#define _FilletSurf_ErrorTypeStatus_HeaderFile
enum FilletSurf_ErrorTypeStatus
{
FilletSurf_EmptyList,
FilletSurf_EdgeNotG1,
FilletSurf_FacesNotG1,
FilletSurf_EdgeNotOnShape,
FilletSurf_NotSharpEdge,
FilletSurf_PbFilletCompute
};
#endif // _FilletSurf_ErrorTypeStatus_HeaderFile

View File

@@ -1,285 +0,0 @@
-- Created on: 1996-07-26
-- Created by: s: Maria PUMBORIOS
-- Copyright (c) 1996-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.
-- Laurent BOURESCHE
private class InternalBuilder from FilletSurf inherits FilBuilder from ChFi3d
---Purpose: This class is private. It is used by the class Builder
-- from FilletSurf. It computes geometric information about fillets.
uses
SurfData from ChFiDS,
HElSpine from ChFiDS,
Spine from ChFiDS,
SequenceOfSurfData from ChFiDS,
HSurface from BRepAdaptor,
TopolTool from Adaptor3d,
Shape,Edge,Face from TopoDS,
Surface from Geom,
Curve from Geom,
TrimmedCurve from Geom,
FilletShape from ChFi3d,
ListOfShape from TopTools,
Vector from math,
Real from Standard,
Curve from Geom2d,
Pnt from gp,
StatusType,ErrorTypeStatus,StatusDone from FilletSurf,
HCurve2d from BRepAdaptor,
Orientation from TopAbs
is
Create(S : Shape from TopoDS;
FShape : FilletShape from ChFi3d = ChFi3d_Polynomial;
Ta : Real from Standard = 1.0e-2;
Tapp3d : Real from Standard=1.0e-4;
Tapp2d : Real from Standard=1.0e-5)
returns InternalBuilder from FilletSurf;
Add(me : in out;
E : ListOfShape from TopTools;
R : Real from Standard)
---Purpose: Initializes the contour with a list of Edges
-- 0 : no problem
-- 1 : empty list
-- 2 : the edges are not G1
-- 3 : two connected faces on a same support are not G1
-- 4 : the edge is not on shape
-- 5 : NotSharpEdge: the edge is not sharp
returns Integer from Standard;
Perform(me : in out);
--- computation of the fillet
PerformSurf(me : in out;
SeqData : out SequenceOfSurfData from ChFiDS;
Guide : HElSpine from ChFiDS;
Spine : Spine from ChFiDS;
Choix : Integer from Standard;
S1 : HSurface from BRepAdaptor;
I1 : TopolTool from Adaptor3d;
S2 : HSurface from BRepAdaptor;
I2 : TopolTool from Adaptor3d;
MaxStep : Real from Standard;
Fleche : Real from Standard;
TolGuide : Real from Standard;
First,Last : in out Real from Standard;
Inside,Appro : Boolean from Standard;
Forward : Boolean from Standard;
RecOnS1,RecOnS2 : Boolean from Standard;
Soldep : Vector from math;
Intf,Intl : in out Boolean from Standard)
returns Boolean
is redefined protected;
---Purpose: This method calculates the elements of construction of the
-- fillet (constant or evolutive).
--
PerformSurf(me : in out;
SeqData : out SequenceOfSurfData from ChFiDS;
Guide : HElSpine from ChFiDS;
Spine : Spine from ChFiDS;
Choix : Integer from Standard;
S1 : HSurface from BRepAdaptor;
I1 : TopolTool from Adaptor3d;
PC1 : HCurve2d from BRepAdaptor;
Sref1 : HSurface from BRepAdaptor;
PCref1 : HCurve2d from BRepAdaptor;
Decroch1 : out Boolean from Standard;
S2 : HSurface from BRepAdaptor;
I2 : TopolTool from Adaptor3d;
Or2 : Orientation from TopAbs;
MaxStep : Real from Standard;
Fleche : Real from Standard;
TolGuide : Real from Standard;
First,Last : in out Real from Standard;
Inside,Appro,Forward : Boolean from Standard;
RecP,RecS,RecRst : Boolean from Standard;
Soldep : Vector from math)
is redefined protected;
PerformSurf(me : in out;
SeqData : out SequenceOfSurfData from ChFiDS;
Guide : HElSpine from ChFiDS;
Spine : Spine from ChFiDS;
Choix : Integer from Standard;
S1 : HSurface from BRepAdaptor;
I1 : TopolTool from Adaptor3d;
Or1 : Orientation from TopAbs;
S2 : HSurface from BRepAdaptor;
I2 : TopolTool from Adaptor3d;
PC2 : HCurve2d from BRepAdaptor;
Sref2 : HSurface from BRepAdaptor;
PCref2 : HCurve2d from BRepAdaptor;
Decroch2 : out Boolean from Standard;
MaxStep : Real from Standard;
Fleche : Real from Standard;
TolGuide : Real from Standard;
First,Last : in out Real from Standard;
Inside,Appro,Forward : Boolean from Standard;
RecP,RecS,RecRst : Boolean from Standard;
Soldep : Vector from math)
is redefined protected;
PerformSurf(me : in out;
Data : out SequenceOfSurfData from ChFiDS;
Guide : HElSpine from ChFiDS;
Spine : Spine from ChFiDS;
Choix : Integer from Standard;
S1 : HSurface from BRepAdaptor;
I1 : TopolTool from Adaptor3d;
PC1 : HCurve2d from BRepAdaptor;
Sref1 : HSurface from BRepAdaptor;
PCref1 : HCurve2d from BRepAdaptor;
Decroch1 : out Boolean from Standard;
Or1 : Orientation from TopAbs;
S2 : HSurface from BRepAdaptor;
I2 : TopolTool from Adaptor3d;
PC2 : HCurve2d from BRepAdaptor;
Sref2 : HSurface from BRepAdaptor;
PCref2 : HCurve2d from BRepAdaptor;
Decroch2 : out Boolean from Standard;
Or2 : Orientation from TopAbs;
MaxStep : Real from Standard;
Fleche : Real from Standard;
TolGuide : Real from Standard;
First,Last : in out Real from Standard;
Inside,Appro,Forward : Boolean from Standard;
RecP1,RecRst1 : Boolean from Standard;
RecP2,RecRst2 : Boolean from Standard;
Soldep : Vector from math)
is redefined protected;
Done (me) returns Boolean from Standard;
NbSurface(me) returns Integer from Standard;
---Purpose: gives the number of NUBS surfaces of the Fillet.
SurfaceFillet (me;Index:Integer from Standard)
---Purpose: gives the NUBS surface of index Index.
---C++: return const &
returns Surface from Geom;
TolApp3d (me;Index:Integer from Standard) returns Real from Standard;
---Purpose: gives the 3d tolerance reached during approximation
-- of the surface of index Index
SupportFace1 (me;Index:Integer from Standard)
---Purpose:gives the first support face relative to SurfaceFillet(Index);
---C++:return const &
returns Face from TopoDS;
SupportFace2 (me;Index:Integer from Standard)
---Purpose:gives the second support face relative to SurfaceFillet(Index);
---C++:return const &
returns Face from TopoDS;
CurveOnFace1 (me;Index:Integer from Standard)
---C++: return const &
--- Purpose: gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index)
returns Curve from Geom;
CurveOnFace2 (me;Index:Integer from Standard)
---C++: return const &
---Purpose: gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index)
returns Curve from Geom;
PCurveOnFace1(me;Index:Integer from Standard)
---Purpose:gives the PCurve associated to CurvOnSup1(Index) on the support face
---C++: return const&
returns Curve from Geom2d;
PCurve1OnFillet (me;Index:Integer from Standard)
---Purpose: gives the PCurve associated to CurveOnFace1(Index) on the Fillet
---C++: return const&
returns Curve from Geom2d;
PCurveOnFace2(me;Index:Integer from Standard)
---Purpose: gives the PCurve associated to CurveOnSup2(Index) on the support face
---C++: return const&
returns Curve from Geom2d;
PCurve2OnFillet (me;Index:Integer from Standard)
---Purpose: gives the PCurve associated to CurveOnSup2(Index) on the fillet
---C++: return const&
returns Curve from Geom2d;
FirstParameter(me)
---Purpose:gives the parameter of the fillet on the first edge.
--
--
--
returns Real from Standard;
LastParameter (me)
---Purpose: gives the parameter of the fillet on the last edge
--
returns Real from Standard;
StartSectionStatus(me)
-- returns:
-- TwoExtremityOnEdge: each extremity of start section of the Fillet is
-- on the edge of the corresponding support face.
-- OneExtremityOnEdge: only one of the extremities of start section of the Fillet
-- is on the edge of the corresponding support face.
-- NoExtremityOnEdge: any extremity of the start section ofthe fillet is on
-- the edge of the corresponding support face.
returns StatusType from FilletSurf;
EndSectionStatus(me)
-- returns:
-- twoExtremityonEdge : each extremity of end section of the Fillet is
-- on the edge of the corresponding support face.
-- OneExtremityOnEdge: only one of the extremities of end section of the Fillet
-- is on the edge of the corresponding support face.
-- NoExtremityOnEdge : any extremity of the end section of the fillet is on
-- the edge of the corresponding support face.
returns StatusType from FilletSurf;
Simulate (me:in out);
-- computes only the sections used in the computation of the fillet
NbSection(me;IndexSurf:Integer from Standard)
returns Integer from Standard;
-- gives the number of sections relative to SurfaceFillet(IndexSurf)
Section(me;IndexSurf:Integer from Standard;IndexSec:Integer from Standard;
Circ: out TrimmedCurve from Geom);
-- gives the arc of circle corresponding to section number
-- IndexSec of SurfaceFillet(IndexSurf) (The basis curve of the
-- trimmed curve is a Geom_Circle)
end InternalBuilder;

View File

@@ -12,61 +12,57 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <FilletSurf_InternalBuilder.ixx>
#include <FilletSurf_StatusDone.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx>
#include <FilletSurf_StatusType.hxx>
#include <ChFi3d_FilBuilder.hxx>
#include <ChFi3d_Builder_0.hxx>
#include <ChFiDS_HData.hxx>
#include <ChFiDS_FilSpine.hxx>
#include <ChFiDS_HElSpine.hxx>
#include <ChFiDS_Stripe.hxx>
#include <ChFiDS_ListOfStripe.hxx>
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
#include <ChFiDS_SurfData.hxx>
#include <ChFiDS_SequenceOfSurfData.hxx>
#include <ChFiDS_FaceInterference.hxx>
#include <ChFiDS_CommonPoint.hxx>
#include <ChFiDS_CircSection.hxx>
#include <ChFiDS_SecHArray1.hxx>
#include <BRepBlend_Line.hxx>
#include <Adaptor3d_TopolTool.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_HCurve.hxx>
#include <BRepAdaptor_HCurve2d.hxx>
#include <BRepAdaptor_HSurface.hxx>
#include <BRepBlend_ConstRad.hxx>
#include <BRepBlend_ConstRadInv.hxx>
#include <TopoDS.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_HCurve.hxx>
#include <BRepBlend_Line.hxx>
#include <BRepExtrema_DistShapeShape.hxx>
#include <ChFi3d_Builder_0.hxx>
#include <ChFi3d_FilBuilder.hxx>
#include <ChFiDS_CircSection.hxx>
#include <ChFiDS_CommonPoint.hxx>
#include <ChFiDS_FaceInterference.hxx>
#include <ChFiDS_FilSpine.hxx>
#include <ChFiDS_HData.hxx>
#include <ChFiDS_HElSpine.hxx>
#include <ChFiDS_ListIteratorOfListOfStripe.hxx>
#include <ChFiDS_ListOfStripe.hxx>
#include <ChFiDS_SecHArray1.hxx>
#include <ChFiDS_SequenceOfSurfData.hxx>
#include <ChFiDS_Spine.hxx>
#include <ChFiDS_Stripe.hxx>
#include <ChFiDS_SurfData.hxx>
#include <ElSLib.hxx>
#include <FilletSurf_ErrorTypeStatus.hxx>
#include <FilletSurf_InternalBuilder.hxx>
#include <FilletSurf_StatusDone.hxx>
#include <FilletSurf_StatusType.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Surface.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomAdaptor_HCurve.hxx>
#include <GeomAdaptor_HSurface.hxx>
#include <GeomAdaptor_Surface.hxx>
#include <GeomAbs_Shape.hxx>
#include <TopOpeBRepDS_HDataStructure.hxx>
#include <Geom_Surface.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Curve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <Geom_Circle.hxx>
#include <GeomAdaptor_HCurve.hxx>
#include <ElSLib.hxx>
#include <gp_Circ.hxx>
#include <gp_Pln.hxx>
#include <IntCurveSurface_HInter.hxx>
#include <IntCurveSurface_IntersectionPoint.hxx>
#include <BRepExtrema_DistShapeShape.hxx>
#include <Standard_ConstructionError.hxx>
#include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopOpeBRepDS_HDataStructure.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
static Standard_Boolean isinlist(const TopoDS_Shape& E,
const TopTools_ListOfShape& L){

View File

@@ -0,0 +1,154 @@
// Created on: 1996-07-26
// Created by: s: Maria PUMBORIOS
// Copyright (c) 1996-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 _FilletSurf_InternalBuilder_HeaderFile
#define _FilletSurf_InternalBuilder_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <ChFi3d_FilBuilder.hxx>
#include <ChFi3d_FilletShape.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <TopTools_ListOfShape.hxx>
#include <Standard_Boolean.hxx>
#include <ChFiDS_SequenceOfSurfData.hxx>
#include <math_Vector.hxx>
#include <TopAbs_Orientation.hxx>
#include <FilletSurf_StatusType.hxx>
class TopoDS_Shape;
class ChFiDS_HElSpine;
class ChFiDS_Spine;
class BRepAdaptor_HSurface;
class Adaptor3d_TopolTool;
class BRepAdaptor_HCurve2d;
class Geom_Surface;
class TopoDS_Face;
class Geom_Curve;
class Geom2d_Curve;
class Geom_TrimmedCurve;
//! This class is private. It is used by the class Builder
//! from FilletSurf. It computes geometric information about fillets.
class FilletSurf_InternalBuilder : public ChFi3d_FilBuilder
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT FilletSurf_InternalBuilder(const TopoDS_Shape& S, const ChFi3d_FilletShape FShape = ChFi3d_Polynomial, const Standard_Real Ta = 1.0e-2, const Standard_Real Tapp3d = 1.0e-4, const Standard_Real Tapp2d = 1.0e-5);
//! Initializes the contour with a list of Edges
//! 0 : no problem
//! 1 : empty list
//! 2 : the edges are not G1
//! 3 : two connected faces on a same support are not G1
//! 4 : the edge is not on shape
//! 5 : NotSharpEdge: the edge is not sharp
Standard_EXPORT Standard_Integer Add (const TopTools_ListOfShape& E, const Standard_Real R);
Standard_EXPORT void Perform();
Standard_EXPORT Standard_Boolean Done() const;
//! gives the number of NUBS surfaces of the Fillet.
Standard_EXPORT Standard_Integer NbSurface() const;
//! gives the NUBS surface of index Index.
Standard_EXPORT const Handle(Geom_Surface)& SurfaceFillet (const Standard_Integer Index) const;
//! gives the 3d tolerance reached during approximation
//! of the surface of index Index
Standard_EXPORT Standard_Real TolApp3d (const Standard_Integer Index) const;
//! gives the first support face relative to SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Face& SupportFace1 (const Standard_Integer Index) const;
//! gives the second support face relative to SurfaceFillet(Index);
Standard_EXPORT const TopoDS_Face& SupportFace2 (const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index)
Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace1 (const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index)
Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace2 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurvOnSup1(Index) on the support face
Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace1 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnFace1(Index) on the Fillet
Standard_EXPORT const Handle(Geom2d_Curve)& PCurve1OnFillet (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the support face
Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace2 (const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the fillet
Standard_EXPORT const Handle(Geom2d_Curve)& PCurve2OnFillet (const Standard_Integer Index) const;
//! gives the parameter of the fillet on the first edge.
Standard_EXPORT Standard_Real FirstParameter() const;
//! gives the parameter of the fillet on the last edge
Standard_EXPORT Standard_Real LastParameter() const;
Standard_EXPORT FilletSurf_StatusType StartSectionStatus() const;
Standard_EXPORT FilletSurf_StatusType EndSectionStatus() const;
Standard_EXPORT void Simulate();
Standard_EXPORT Standard_Integer NbSection (const Standard_Integer IndexSurf) const;
Standard_EXPORT void Section (const Standard_Integer IndexSurf, const Standard_Integer IndexSec, Handle(Geom_TrimmedCurve)& Circ) const;
protected:
//! This method calculates the elements of construction of the
//! fillet (constant or evolutive).
Standard_EXPORT virtual Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector& Soldep, Standard_Boolean& Intf, Standard_Boolean& Intl) Standard_OVERRIDE;
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& SeqData, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector& Soldep) Standard_OVERRIDE;
Standard_EXPORT virtual void PerformSurf (ChFiDS_SequenceOfSurfData& Data, const Handle(ChFiDS_HElSpine)& Guide, const Handle(ChFiDS_Spine)& Spine, const Standard_Integer Choix, const Handle(BRepAdaptor_HSurface)& S1, const Handle(Adaptor3d_TopolTool)& I1, const Handle(BRepAdaptor_HCurve2d)& PC1, const Handle(BRepAdaptor_HSurface)& Sref1, const Handle(BRepAdaptor_HCurve2d)& PCref1, Standard_Boolean& Decroch1, const TopAbs_Orientation Or1, const Handle(BRepAdaptor_HSurface)& S2, const Handle(Adaptor3d_TopolTool)& I2, const Handle(BRepAdaptor_HCurve2d)& PC2, const Handle(BRepAdaptor_HSurface)& Sref2, const Handle(BRepAdaptor_HCurve2d)& PCref2, Standard_Boolean& Decroch2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real& First, Standard_Real& Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector& Soldep) Standard_OVERRIDE;
private:
};
#endif // _FilletSurf_InternalBuilder_HeaderFile

View File

@@ -0,0 +1,28 @@
// Created on: 1996-07-26
// Created by: Maria PUMBORIOS
// Copyright (c) 1996-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 _FilletSurf_StatusDone_HeaderFile
#define _FilletSurf_StatusDone_HeaderFile
enum FilletSurf_StatusDone
{
FilletSurf_IsOk,
FilletSurf_IsNotOk,
FilletSurf_IsPartial
};
#endif // _FilletSurf_StatusDone_HeaderFile

View File

@@ -0,0 +1,28 @@
// Created on: 1996-07-26
// Created by: Maria PUMBORIOS
// Copyright (c) 1996-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 _FilletSurf_StatusType_HeaderFile
#define _FilletSurf_StatusType_HeaderFile
enum FilletSurf_StatusType
{
FilletSurf_TwoExtremityOnEdge,
FilletSurf_OneExtremityOnEdge,
FilletSurf_NoExtremityOnEdge
};
#endif // _FilletSurf_StatusType_HeaderFile