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:
7
src/FilletSurf/FILES
Normal file
7
src/FilletSurf/FILES
Normal 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
|
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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,
|
||||
|
162
src/FilletSurf/FilletSurf_Builder.hxx
Normal file
162
src/FilletSurf/FilletSurf_Builder.hxx
Normal 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
|
31
src/FilletSurf/FilletSurf_ErrorTypeStatus.hxx
Normal file
31
src/FilletSurf/FilletSurf_ErrorTypeStatus.hxx
Normal 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
|
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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){
|
||||
|
154
src/FilletSurf/FilletSurf_InternalBuilder.hxx
Normal file
154
src/FilletSurf/FilletSurf_InternalBuilder.hxx
Normal 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
|
28
src/FilletSurf/FilletSurf_StatusDone.hxx
Normal file
28
src/FilletSurf/FilletSurf_StatusDone.hxx
Normal 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
|
28
src/FilletSurf/FilletSurf_StatusType.hxx
Normal file
28
src/FilletSurf/FilletSurf_StatusType.hxx
Normal 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
|
Reference in New Issue
Block a user