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

27
src/IGESToBRep/FILES Normal file
View File

@@ -0,0 +1,27 @@
IGESToBRep.cxx
IGESToBRep.hxx
IGESToBRep_Actor.cxx
IGESToBRep_Actor.hxx
IGESToBRep_AlgoContainer.cxx
IGESToBRep_AlgoContainer.hxx
IGESToBRep_AlgoContainer.lxx
IGESToBRep_BasicCurve.cxx
IGESToBRep_BasicCurve.hxx
IGESToBRep_BasicSurface.cxx
IGESToBRep_BasicSurface.hxx
IGESToBRep_BRepEntity.cxx
IGESToBRep_BRepEntity.hxx
IGESToBRep_CurveAndSurface.cxx
IGESToBRep_CurveAndSurface.hxx
IGESToBRep_CurveAndSurface.lxx
IGESToBRep_IGESBoundary.cxx
IGESToBRep_IGESBoundary.hxx
IGESToBRep_IGESBoundary.lxx
IGESToBRep_Reader.cxx
IGESToBRep_Reader.hxx
IGESToBRep_ToolContainer.cxx
IGESToBRep_ToolContainer.hxx
IGESToBRep_TopoCurve.cxx
IGESToBRep_TopoCurve.hxx
IGESToBRep_TopoSurface.cxx
IGESToBRep_TopoSurface.hxx

View File

@@ -1,131 +0,0 @@
-- Created on: 1994-03-22
-- Created by: Frederic UNTEREINER
-- 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 IGESToBRep
---Purpose : Provides tools in order to transfer IGES entities
-- to CAS.CADE.
uses
Interface,
Transfer,
MoniTool,
Message,
IGESData,
IGESBasic,
IGESGeom,
IGESSolid,
gp,
Geom,
Geom2d,
TColGeom,
TColGeom2d,
TColStd,
TopoDS,
TopTools,
ShapeExtend,
ShapeAnalysis
is
class CurveAndSurface;
class BasicSurface;
class BasicCurve;
class TopoSurface;
class TopoCurve;
class BRepEntity;
class IGESBoundary;
class Reader;
class Actor;
class AlgoContainer;
class ToolContainer;
Init;
---Purpose: Creates and initializes default AlgoContainer.
SetAlgoContainer (aContainer: AlgoContainer from IGESToBRep);
---Purpose: Sets default AlgoContainer
AlgoContainer returns AlgoContainer from IGESToBRep;
---Purpose: Returns default AlgoContainer
IsCurveAndSurface(start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferCurveAndSurface.
-- ex: All IGESEntity from IGESGeom
IsBasicCurve (start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferBasicCurve.
-- ex: CircularArc, ConicArc, Line, CopiousData,
-- BSplineCurve, SplineCurve... from IGESGeom :
-- 104,110,112,126
IsBasicSurface(start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferBasicSurface.
-- ex: BSplineSurface, SplineSurface... from IGESGeom :
-- 114,128
IsTopoCurve(start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferTopoCurve.
-- ex: all Curves from IGESGeom :
-- all basic curves,102,130,142,144
IsTopoSurface(start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferTopoSurface.
-- ex: All Surfaces from IGESGeom :
-- all basic surfaces,108,118,120,122,141,143
IsBRepEntity (start : IGESEntity from IGESData)
returns Boolean;
---Purpose: Return True if the IGESEntity can be transfered by
-- TransferBRepEntity.
-- ex: VertexList, EdgeList, Loop, Face, Shell,
-- Manifold Solid BRep Object from IGESSolid :
-- 502, 504, 508, 510, 514, 186.
WriteShape(shape : Shape from TopoDS;
number : Integer from Standard);
---Purpose: Creates a file Shape_'number' with the shape being
-- able to be restored by Draw.
IGESCurveToSequenceOfIGESCurve (curve : IGESEntity from IGESData;
sequence: out HSequenceOfTransient from TColStd)
returns Integer;
TransferPCurve (fromedge: Edge from TopoDS;
toedge : Edge from TopoDS;
face : Face from TopoDS)
returns Boolean;
end IGESToBRep;

View File

@@ -18,83 +18,72 @@
// 06.01.99 pdn transmission from ShapeTool_MakeWire back to BRepAPI_MakeWire
// 19.03.99 abv //:q5: code improvement, unnecessary includes removed
//S4181 pdn 15.04.99 Recognition of elementary surfaces as basic.
#include <IGESToBRep.ixx>
#include <Standard_Stream.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepTools.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <GeomLib.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <IGESBasic_SingleParent.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESGeom_RuledSurface.hxx>
#include <IGESGeom_SurfaceOfRevolution.hxx>
#include <IGESGeom_TabulatedCylinder.hxx>
#include <IGESGeom_OffsetSurface.hxx>
#include <IGESGeom_TrimmedSurface.hxx>
#include <IGESGeom_Boundary.hxx>
#include <IGESGeom_BoundedSurface.hxx>
#include <IGESGeom_BSplineCurve.hxx>
#include <IGESGeom_BSplineSurface.hxx>
#include <IGESGeom_CircularArc.hxx>
#include <IGESGeom_ConicArc.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_CompositeCurve.hxx>
#include <IGESGeom_ConicArc.hxx>
#include <IGESGeom_CopiousData.hxx>
#include <IGESGeom_CurveOnSurface.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_OffsetCurve.hxx>
#include <IGESGeom_OffsetSurface.hxx>
#include <IGESGeom_Plane.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_RuledSurface.hxx>
#include <IGESGeom_SplineCurve.hxx>
#include <IGESGeom_SplineSurface.hxx>
#include <IGESSolid_VertexList.hxx>
#include <IGESGeom_SurfaceOfRevolution.hxx>
#include <IGESGeom_TabulatedCylinder.hxx>
#include <IGESGeom_TrimmedSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_EdgeList.hxx>
#include <IGESSolid_Loop.hxx>
#include <IGESSolid_Face.hxx>
#include <IGESSolid_Shell.hxx>
#include <IGESSolid_Loop.hxx>
#include <IGESSolid_ManifoldSolid.hxx>
#include <IGESSolid_PlaneSurface.hxx>
#include <IGESBasic_SingleParent.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <Precision.hxx>
#include <BRep_Tool.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Wire.hxx>
#include <TopLoc_Location.hxx>
#include <Interface_Macros.hxx>
/* Just used for WriteShape */
#include <stdio.h>
#include <TCollection_HAsciiString.hxx>
#include <BRepTools.hxx>
//:21
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <BRep_Builder.hxx>
#include <GeomLib.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_Shell.hxx>
#include <IGESSolid_SphericalSurface.hxx>
#include <IGESSolid_ToroidalSurface.hxx>
#include <IGESSolid_VertexList.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <Interface_Macros.hxx>
#include <Precision.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <Standard_Stream.hxx>
#include <TCollection_HAsciiString.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Wire.hxx>
#include <XSAlgo.hxx>
#include <stdio.h>
/* Just used for WriteShape */
//:21
// =========================
// == Selection Members ==
// =========================
static Handle(IGESToBRep_AlgoContainer) theContainer;
//=======================================================================

View File

@@ -0,0 +1,142 @@
// Created on: 1994-03-22
// Created by: Frederic UNTEREINER
// 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 _IGESToBRep_HeaderFile
#define _IGESToBRep_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <TColStd_HSequenceOfTransient.hxx>
class IGESToBRep_AlgoContainer;
class IGESData_IGESEntity;
class TopoDS_Shape;
class TopoDS_Edge;
class TopoDS_Face;
class IGESToBRep_CurveAndSurface;
class IGESToBRep_BasicSurface;
class IGESToBRep_BasicCurve;
class IGESToBRep_TopoSurface;
class IGESToBRep_TopoCurve;
class IGESToBRep_BRepEntity;
class IGESToBRep_IGESBoundary;
class IGESToBRep_Reader;
class IGESToBRep_Actor;
class IGESToBRep_AlgoContainer;
class IGESToBRep_ToolContainer;
//! Provides tools in order to transfer IGES entities
//! to CAS.CADE.
class IGESToBRep
{
public:
DEFINE_STANDARD_ALLOC
//! Creates and initializes default AlgoContainer.
Standard_EXPORT static void Init();
//! Sets default AlgoContainer
Standard_EXPORT static void SetAlgoContainer (const Handle(IGESToBRep_AlgoContainer)& aContainer);
//! Returns default AlgoContainer
Standard_EXPORT static Handle(IGESToBRep_AlgoContainer) AlgoContainer();
//! Return True if the IGESEntity can be transfered by
//! TransferCurveAndSurface.
//! ex: All IGESEntity from IGESGeom
Standard_EXPORT static Standard_Boolean IsCurveAndSurface (const Handle(IGESData_IGESEntity)& start);
//! Return True if the IGESEntity can be transfered by
//! TransferBasicCurve.
//! ex: CircularArc, ConicArc, Line, CopiousData,
//! BSplineCurve, SplineCurve... from IGESGeom :
//! 104,110,112,126
Standard_EXPORT static Standard_Boolean IsBasicCurve (const Handle(IGESData_IGESEntity)& start);
//! Return True if the IGESEntity can be transfered by
//! TransferBasicSurface.
//! ex: BSplineSurface, SplineSurface... from IGESGeom :
//! 114,128
Standard_EXPORT static Standard_Boolean IsBasicSurface (const Handle(IGESData_IGESEntity)& start);
//! Return True if the IGESEntity can be transfered by
//! TransferTopoCurve.
//! ex: all Curves from IGESGeom :
//! all basic curves,102,130,142,144
Standard_EXPORT static Standard_Boolean IsTopoCurve (const Handle(IGESData_IGESEntity)& start);
//! Return True if the IGESEntity can be transfered by
//! TransferTopoSurface.
//! ex: All Surfaces from IGESGeom :
//! all basic surfaces,108,118,120,122,141,143
Standard_EXPORT static Standard_Boolean IsTopoSurface (const Handle(IGESData_IGESEntity)& start);
//! Return True if the IGESEntity can be transfered by
//! TransferBRepEntity.
//! ex: VertexList, EdgeList, Loop, Face, Shell,
//! Manifold Solid BRep Object from IGESSolid :
//! 502, 504, 508, 510, 514, 186.
Standard_EXPORT static Standard_Boolean IsBRepEntity (const Handle(IGESData_IGESEntity)& start);
//! Creates a file Shape_'number' with the shape being
//! able to be restored by Draw.
Standard_EXPORT static void WriteShape (const TopoDS_Shape& shape, const Standard_Integer number);
Standard_EXPORT static Standard_Integer IGESCurveToSequenceOfIGESCurve (const Handle(IGESData_IGESEntity)& curve, Handle(TColStd_HSequenceOfTransient)& sequence);
Standard_EXPORT static Standard_Boolean TransferPCurve (const TopoDS_Edge& fromedge, const TopoDS_Edge& toedge, const TopoDS_Face& face);
protected:
private:
friend class IGESToBRep_CurveAndSurface;
friend class IGESToBRep_BasicSurface;
friend class IGESToBRep_BasicCurve;
friend class IGESToBRep_TopoSurface;
friend class IGESToBRep_TopoCurve;
friend class IGESToBRep_BRepEntity;
friend class IGESToBRep_IGESBoundary;
friend class IGESToBRep_Reader;
friend class IGESToBRep_Actor;
friend class IGESToBRep_AlgoContainer;
friend class IGESToBRep_ToolContainer;
};
#endif // _IGESToBRep_HeaderFile

View File

@@ -1,57 +0,0 @@
-- Created on: 1994-11-03
-- Created by: Marie Jose MARTZ
-- 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 Actor from IGESToBRep
inherits ActorOfTransientProcess from Transfer
---Purpose : This class performs the transfer of an Entity from
-- IGESToBRep
--
-- I.E. for each type of Entity, it invokes the appropriate Tool
-- then returns the Binder which contains the Result
uses TransientProcess, Binder, InterfaceModel from Interface
is
Create returns Actor from IGESToBRep;
SetModel (me : mutable; model : InterfaceModel from Interface);
SetContinuity (me : mutable; continuity : Integer from Standard = 0);
---Purpose By default continuity = 0
-- if continuity = 1 : try C1
-- if continuity = 2 : try C2
GetContinuity (me) returns Integer from Standard;
---Purpose : Return "thecontinuity"
Recognize (me : mutable; start : Transient) returns Boolean is redefined;
Transfer (me : mutable; start : Transient; TP : TransientProcess)
returns Binder is redefined;
UsedTolerance (me) returns Real;
---Purpose : Returns the tolerance which was actually used, either from
-- the file or from statics
fields
themodel : InterfaceModel from Interface;
thecontinuity : Integer;
theeps : Real;
end Actor;

View File

@@ -11,29 +11,29 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <IGESToBRep_Actor.ixx>
#include <IGESToBRep.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_GlobalSection.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <BRepLib.hxx>
#include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx>
#include <ShapeExtend_Explorer.hxx>
#include <ShapeFix_ShapeTolerance.hxx>
#include <IGESData_GlobalSection.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_Actor.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Interface_InterfaceModel.hxx>
#include <Interface_Macros.hxx>
#include <Interface_Static.hxx>
#include <Message_ProgressSentry.hxx>
#include <ShapeExtend_Explorer.hxx>
#include <ShapeFix_ShapeTolerance.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_Binder.hxx>
#include <Transfer_TransientProcess.hxx>
#include <TransferBRep.hxx>
#include <TransferBRep_ShapeBinder.hxx>
#include <XSAlgo.hxx>
#include <XSAlgo_AlgoContainer.hxx>

View File

@@ -0,0 +1,93 @@
// Created on: 1994-11-03
// Created by: Marie Jose MARTZ
// 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 _IGESToBRep_Actor_HeaderFile
#define _IGESToBRep_Actor_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Real.hxx>
#include <Transfer_ActorOfTransientProcess.hxx>
#include <Standard_Boolean.hxx>
class Interface_InterfaceModel;
class Standard_Transient;
class Transfer_Binder;
class Transfer_TransientProcess;
class IGESToBRep_Actor;
DEFINE_STANDARD_HANDLE(IGESToBRep_Actor, Transfer_ActorOfTransientProcess)
//! This class performs the transfer of an Entity from
//! IGESToBRep
//!
//! I.E. for each type of Entity, it invokes the appropriate Tool
//! then returns the Binder which contains the Result
class IGESToBRep_Actor : public Transfer_ActorOfTransientProcess
{
public:
Standard_EXPORT IGESToBRep_Actor();
Standard_EXPORT void SetModel (const Handle(Interface_InterfaceModel)& model);
//! ---Purpose By default continuity = 0
//! if continuity = 1 : try C1
//! if continuity = 2 : try C2
Standard_EXPORT void SetContinuity (const Standard_Integer continuity = 0);
//! Return "thecontinuity"
Standard_EXPORT Standard_Integer GetContinuity() const;
Standard_EXPORT virtual Standard_Boolean Recognize (const Handle(Standard_Transient)& start) Standard_OVERRIDE;
Standard_EXPORT virtual Handle(Transfer_Binder) Transfer (const Handle(Standard_Transient)& start, const Handle(Transfer_TransientProcess)& TP) Standard_OVERRIDE;
//! Returns the tolerance which was actually used, either from
//! the file or from statics
Standard_EXPORT Standard_Real UsedTolerance() const;
DEFINE_STANDARD_RTTI(IGESToBRep_Actor,Transfer_ActorOfTransientProcess)
protected:
private:
Handle(Interface_InterfaceModel) themodel;
Standard_Integer thecontinuity;
Standard_Real theeps;
};
#endif // _IGESToBRep_Actor_HeaderFile

View File

@@ -1,42 +0,0 @@
-- Created on: 2000-02-07
-- Created by: data exchange team
-- Copyright (c) 2000-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 AlgoContainer from IGESToBRep inherits TShared from MMgt
---Purpose:
uses
ToolContainer from IGESToBRep
is
Create returns AlgoContainer from IGESToBRep;
---Purpose: Empty constructor
SetToolContainer (me: mutable; TC: ToolContainer from IGESToBRep);
---C++ : inline
---Purpose: Sets ToolContainer
ToolContainer (me) returns ToolContainer from IGESToBRep;
---C++ : inline
---Purpose: Returns ToolContainer
fields
myTC : ToolContainer from IGESToBRep;
end AlgoContainer;

View File

@@ -13,13 +13,15 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <IGESToBRep_AlgoContainer.ixx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <Standard_Type.hxx>
//=======================================================================
//function : IGESToBRep_AlgoContainer
//purpose :
//=======================================================================
IGESToBRep_AlgoContainer::IGESToBRep_AlgoContainer()
{
myTC = new IGESToBRep_ToolContainer;

View File

@@ -0,0 +1,70 @@
// Created on: 2000-02-07
// Created by: data exchange team
// Copyright (c) 2000-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 _IGESToBRep_AlgoContainer_HeaderFile
#define _IGESToBRep_AlgoContainer_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <MMgt_TShared.hxx>
class IGESToBRep_ToolContainer;
class IGESToBRep_AlgoContainer;
DEFINE_STANDARD_HANDLE(IGESToBRep_AlgoContainer, MMgt_TShared)
class IGESToBRep_AlgoContainer : public MMgt_TShared
{
public:
//! Empty constructor
Standard_EXPORT IGESToBRep_AlgoContainer();
//! Sets ToolContainer
void SetToolContainer (const Handle(IGESToBRep_ToolContainer)& TC);
//! Returns ToolContainer
Handle(IGESToBRep_ToolContainer) ToolContainer() const;
DEFINE_STANDARD_RTTI(IGESToBRep_AlgoContainer,MMgt_TShared)
protected:
private:
Handle(IGESToBRep_ToolContainer) myTC;
};
#include <IGESToBRep_AlgoContainer.lxx>
#endif // _IGESToBRep_AlgoContainer_HeaderFile

View File

@@ -1,99 +0,0 @@
-- Created on: 1994-09-28
-- Created by: Marie Jose MARTZ
-- 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 BRepEntity from IGESToBRep inherits CurveAndSurface from IGESToBRep
---Purpose : Provides methods to transfer BRep entities
-- ( VertexList 502, EdgeList 504, Loop 508,
-- Face 510, Shell 514, ManifoldSolid 186)
-- from IGES to CASCADE.
uses
CurveAndSurface from IGESToBRep,
IGESEntity from IGESData,
VertexList from IGESSolid,
EdgeList from IGESSolid,
Loop from IGESSolid,
Face from IGESSolid,
Shell from IGESSolid,
ManifoldSolid from IGESSolid,
Face from TopoDS,
Shape from TopoDS,
Vertex from TopoDS,
Trsf2d from gp
is
Create returns BRepEntity;
---Purpose : Creates a tool BRepEntity ready to run, with
-- epsilons set to 1.E-04, TheModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns BRepEntity;
---Purpose : Creates a tool BRepEntity ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean) returns BRepEntity;
---Purpose : Creates a tool BRepEntity ready to run.
TransferBRepEntity (me : in out;
start : IGESEntity from IGESData)
returns Shape from TopoDS;
---Purpose : Transfer the BRepEntity" : Face, Shell or ManifoldSolid.
TransferVertex (me : in out;
start : VertexList from IGESSolid;
index : Integer from Standard)
returns Vertex from TopoDS;
---Purpose : Transfer the entity number "index" of the VertexList "start"
TransferEdge (me : in out;
start : EdgeList from IGESSolid;
index : Integer from Standard)
returns Shape from TopoDS;
---Purpose : Transfer the entity number "index" of the EdgeList "start".
TransferLoop (me : in out;
start : Loop from IGESSolid;
Face : Face from TopoDS;
trans : Trsf2d from gp;
uFact :Real)
returns Shape from TopoDS;
---Purpose : Transfer the Loop Entity
TransferFace (me : in out;
start : Face from IGESSolid)
returns Shape from TopoDS;
---Purpose : Transfer the Face Entity
TransferShell (me : in out;
start : Shell from IGESSolid)
returns Shape from TopoDS;
---Purpose : Transfer the Shell Entity
TransferManifoldSolid (me : in out;
start : ManifoldSolid from IGESSolid)
returns Shape from TopoDS;
---Purpose : Transfer the ManifoldSolid Entity
end BRepEntity;

View File

@@ -22,47 +22,52 @@
//S4181 pdn 20.04.99 implementing of reading IGES elementary surfaces.
//pdn 20.04.99 CTS22655 avoid of exceptions in case of empty loops
#include <Standard_ErrorHandler.hxx>
#include <IGESToBRep_BRepEntity.ixx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepTools.hxx>
#include <Geom_Curve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <gp.hxx>
#include <gp_Pnt.hxx>
#include <gp_Trsf2d.hxx>
#include <gp_Vec2d.hxx>
#include <IGESBasic_SingleParent.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_HArray1OfIGESEntity.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_Boundary.hxx>
#include <IGESGeom_BoundedSurface.hxx>
#include <IGESGeom_CurveOnSurface.hxx>
#include <IGESGeom_Plane.hxx>
#include <IGESGeom_TrimmedSurface.hxx>
#include <IGESSolid_EdgeList.hxx>
#include <IGESSolid_Face.hxx>
#include <IGESSolid_Loop.hxx>
#include <IGESSolid_ManifoldSolid.hxx>
#include <IGESSolid_Shell.hxx>
#include <IGESSolid_VertexList.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_BRepEntity.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <Interface_Macros.hxx>
#include <Message_Msg.hxx>
#include <Message_ProgressSentry.hxx>
#include <Precision.hxx>
#include <ShapeBuild_Edge.hxx>
#include <ShapeExtend_WireData.hxx>
#include <Standard_ErrorHandler.hxx>
#include <TCollection_HAsciiString.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopExp.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
@@ -72,28 +77,11 @@
#include <TopoDS_Solid.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <Transfer_TransientProcess.hxx>
#include <stdio.h>
#include <gp_Vec2d.hxx>//rln
#include <ShapeExtend_WireData.hxx>
#include <ShapeBuild_Edge.hxx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <Message_Msg.hxx>
#include <TCollection_HAsciiString.hxx>
#include <IGESData_IGESModel.hxx>
//rln
//#include <ShapeFix_Face.hxx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <Message_ProgressSentry.hxx>
#include <IGESSolid_Face.hxx>
#include <IGESSolid_Shell.hxx>
#include <IGESSolid_ManifoldSolid.hxx>
#include <IGESSolid_VertexList.hxx>
#include <IGESSolid_EdgeList.hxx>
//=======================================================================
//function : IGESToBRep_BRepEntity
//purpose :

View File

@@ -0,0 +1,109 @@
// Created on: 1994-09-28
// Created by: Marie Jose MARTZ
// 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 _IGESToBRep_BRepEntity_HeaderFile
#define _IGESToBRep_BRepEntity_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
class IGESToBRep_CurveAndSurface;
class TopoDS_Shape;
class IGESData_IGESEntity;
class TopoDS_Vertex;
class IGESSolid_VertexList;
class IGESSolid_EdgeList;
class IGESSolid_Loop;
class TopoDS_Face;
class gp_Trsf2d;
class IGESSolid_Face;
class IGESSolid_Shell;
class IGESSolid_ManifoldSolid;
//! Provides methods to transfer BRep entities
//! ( VertexList 502, EdgeList 504, Loop 508,
//! Face 510, Shell 514, ManifoldSolid 186)
//! from IGES to CASCADE.
class IGESToBRep_BRepEntity : public IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool BRepEntity ready to run, with
//! epsilons set to 1.E-04, TheModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_BRepEntity();
//! Creates a tool BRepEntity ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_BRepEntity(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool BRepEntity ready to run.
Standard_EXPORT IGESToBRep_BRepEntity(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
//! Transfer the BRepEntity" : Face, Shell or ManifoldSolid.
Standard_EXPORT TopoDS_Shape TransferBRepEntity (const Handle(IGESData_IGESEntity)& start);
//! Transfer the entity number "index" of the VertexList "start"
Standard_EXPORT TopoDS_Vertex TransferVertex (const Handle(IGESSolid_VertexList)& start, const Standard_Integer index);
//! Transfer the entity number "index" of the EdgeList "start".
Standard_EXPORT TopoDS_Shape TransferEdge (const Handle(IGESSolid_EdgeList)& start, const Standard_Integer index);
//! Transfer the Loop Entity
Standard_EXPORT TopoDS_Shape TransferLoop (const Handle(IGESSolid_Loop)& start, const TopoDS_Face& Face, const gp_Trsf2d& trans, const Standard_Real uFact);
//! Transfer the Face Entity
Standard_EXPORT TopoDS_Shape TransferFace (const Handle(IGESSolid_Face)& start);
//! Transfer the Shell Entity
Standard_EXPORT TopoDS_Shape TransferShell (const Handle(IGESSolid_Shell)& start);
//! Transfer the ManifoldSolid Entity
Standard_EXPORT TopoDS_Shape TransferManifoldSolid (const Handle(IGESSolid_ManifoldSolid)& start);
protected:
private:
};
#endif // _IGESToBRep_BRepEntity_HeaderFile

View File

@@ -1,145 +0,0 @@
-- Created on: 1994-03-14
-- Created by: s: Christophe GUYOT & Frederic UNTEREINER
-- 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 BasicCurve from IGESToBRep inherits CurveAndSurface from IGESToBRep
---Purpose : Provides methods to transfer basic geometric curves entities
-- from IGES to CASCADE.
-- These can be :
-- * Circular arc
-- * Conic arc
-- * Spline curve
-- * BSpline curve
-- * Line
-- * Copious data
-- * Point
-- * Transformation matrix
uses
CurveAndSurface from IGESToBRep,
IGESEntity from IGESData,
BSplineCurve from IGESGeom,
CircularArc from IGESGeom,
ConicArc from IGESGeom,
CopiousData from IGESGeom,
Line from IGESGeom,
Point from IGESGeom,
SplineCurve from IGESGeom,
TransformationMatrix from IGESGeom,
Curve from Geom,
BezierCurve from Geom,
BSplineCurve from Geom,
TrimmedCurve from Geom,
CartesianPoint from Geom,
Transformation from Geom,
Curve from Geom2d,
BezierCurve from Geom2d,
BSplineCurve from Geom2d,
TrimmedCurve from Geom2d,
CartesianPoint from Geom2d
is
Create returns BasicCurve;
---Purpose : Creates a tool BasicCurve ready to run, with
-- epsilons set to 1.E-04, TheModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns BasicCurve;
---Purpose : Creates a tool BasicCurve ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean) returns BasicCurve;
---Purpose : Creates a tool BasicCurve ready to run.
TransferBasicCurve (me : in out;
start : IGESEntity from IGESData)
returns Curve from Geom;
---Purpose : Transfert a IGESEntity which answer True to the
-- member : IGESToBRep::IsBasicCurve(IGESEntity). If this
-- Entity could not be converted, this member returns a NullEntity.
Transfer2dBasicCurve (me : in out;
start : IGESEntity from IGESData)
returns Curve from Geom2d;
---Purpose : Transfert a IGESEntity which answer True to the
-- member : IGESToBRep::IsBasicCurve(IGESEntity).
-- The IGESEntity must be a curve UV and its associed TRSF must
-- be planar .If this Entity could not be converted, this member
-- returns a NullEntity.
TransferBSplineCurve (me : in out;
start : BSplineCurve from IGESGeom)
returns Curve from Geom;
Transfer2dBSplineCurve (me : in out;
start : BSplineCurve from IGESGeom)
returns Curve from Geom2d;
TransferCircularArc (me : in out;
start : CircularArc from IGESGeom)
returns Curve from Geom;
Transfer2dCircularArc (me : in out;
start : CircularArc from IGESGeom)
returns Curve from Geom2d;
TransferConicArc (me : in out;
start : ConicArc from IGESGeom)
returns Curve from Geom;
Transfer2dConicArc (me : in out;
start : ConicArc from IGESGeom)
returns Curve from Geom2d;
TransferCopiousData (me : in out;
start : CopiousData from IGESGeom)
returns BSplineCurve from Geom;
Transfer2dCopiousData (me : in out;
start : CopiousData from IGESGeom)
returns BSplineCurve from Geom2d;
TransferLine (me : in out;
start : Line from IGESGeom)
returns Curve from Geom;
Transfer2dLine (me : in out;
start : Line from IGESGeom)
returns Curve from Geom2d;
TransferSplineCurve (me : in out;
start : SplineCurve from IGESGeom)
returns BSplineCurve from Geom;
Transfer2dSplineCurve (me : in out;
start : SplineCurve from IGESGeom)
returns BSplineCurve from Geom2d;
TransferTransformation (me : in out;
start : TransformationMatrix from IGESGeom)
returns Transformation from Geom;
end BasicCurve;

View File

@@ -24,66 +24,60 @@
//sln 29.12.2001 OCC90 : Method checkBSplineCurve and varification before creation of bspline curves were added
//=======================================================================
#include <IGESToBRep_BasicCurve.ixx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <ElCLib.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_Line.hxx>
#include <Geom_Hyperbola.hxx>
#include <Geom_Parabola.hxx>
#include <Geom_Transformation.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_Circle.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom2d_Ellipse.hxx>
#include <Geom2d_Hyperbola.hxx>
#include <Geom2d_Line.hxx>
#include <Geom2d_Parabola.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_Hyperbola.hxx>
#include <Geom_Line.hxx>
#include <Geom_Parabola.hxx>
#include <Geom_Transformation.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <gp_Ax2.hxx>
#include <gp_Ax2d.hxx>
#include <gp_Dir.hxx>
#include <gp_Dir2d.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Hypr.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Trsf.hxx>
#include <gp_XY.hxx>
#include <gp_XYZ.hxx>
#include <IGESConvGeom.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_BSplineCurve.hxx>
#include <IGESGeom_CircularArc.hxx>
#include <IGESGeom_ConicArc.hxx>
#include <IGESGeom_CopiousData.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_SplineCurve.hxx>
#include <IGESGeom_TransformationMatrix.hxx>
#include <IGESConvGeom.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Interface_Macros.hxx>
#include <Precision.hxx>
#include <Message_Msg.hxx>
#include <Precision.hxx>
#include <ShapeConstruct_Curve.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TColGeom_SequenceOfCurve.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
#include <TColgp_HArray1OfPnt.hxx>
#include <TColgp_HArray2OfPnt.hxx>
#include <TColgp_HArray1OfPnt2d.hxx>
#include <TColGeom_SequenceOfCurve.hxx>
#include <TColgp_HArray2OfPnt.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TColStd_HArray1OfInteger.hxx>
@@ -91,15 +85,7 @@
#include <TColStd_SequenceOfInteger.hxx>
//:36
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
// S3767
#include <Message_Msg.hxx>
#include <ShapeConstruct_Curve.hxx>
#include <gp_Hypr.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_CopiousData.hxx>
//=======================================================================
//function : CheckBSplineCurve
//purpose : Check coincidede knots Check whether knots are in ascending

View File

@@ -0,0 +1,134 @@
// Created on: 1994-03-14
// Created by: s: Christophe GUYOT & Frederic UNTEREINER
// 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 _IGESToBRep_BasicCurve_HeaderFile
#define _IGESToBRep_BasicCurve_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
class IGESToBRep_CurveAndSurface;
class Geom_Curve;
class IGESData_IGESEntity;
class Geom2d_Curve;
class IGESGeom_BSplineCurve;
class IGESGeom_CircularArc;
class IGESGeom_ConicArc;
class Geom_BSplineCurve;
class IGESGeom_CopiousData;
class Geom2d_BSplineCurve;
class IGESGeom_Line;
class IGESGeom_SplineCurve;
class Geom_Transformation;
class IGESGeom_TransformationMatrix;
//! Provides methods to transfer basic geometric curves entities
//! from IGES to CASCADE.
//! These can be :
//! * Circular arc
//! * Conic arc
//! * Spline curve
//! * BSpline curve
//! * Line
//! * Copious data
//! * Point
//! * Transformation matrix
class IGESToBRep_BasicCurve : public IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool BasicCurve ready to run, with
//! epsilons set to 1.E-04, TheModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_BasicCurve();
//! Creates a tool BasicCurve ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_BasicCurve(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool BasicCurve ready to run.
Standard_EXPORT IGESToBRep_BasicCurve(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
//! Transfert a IGESEntity which answer True to the
//! member : IGESToBRep::IsBasicCurve(IGESEntity). If this
//! Entity could not be converted, this member returns a NullEntity.
Standard_EXPORT Handle(Geom_Curve) TransferBasicCurve (const Handle(IGESData_IGESEntity)& start);
//! Transfert a IGESEntity which answer True to the
//! member : IGESToBRep::IsBasicCurve(IGESEntity).
//! The IGESEntity must be a curve UV and its associed TRSF must
//! be planar .If this Entity could not be converted, this member
//! returns a NullEntity.
Standard_EXPORT Handle(Geom2d_Curve) Transfer2dBasicCurve (const Handle(IGESData_IGESEntity)& start);
Standard_EXPORT Handle(Geom_Curve) TransferBSplineCurve (const Handle(IGESGeom_BSplineCurve)& start);
Standard_EXPORT Handle(Geom2d_Curve) Transfer2dBSplineCurve (const Handle(IGESGeom_BSplineCurve)& start);
Standard_EXPORT Handle(Geom_Curve) TransferCircularArc (const Handle(IGESGeom_CircularArc)& start);
Standard_EXPORT Handle(Geom2d_Curve) Transfer2dCircularArc (const Handle(IGESGeom_CircularArc)& start);
Standard_EXPORT Handle(Geom_Curve) TransferConicArc (const Handle(IGESGeom_ConicArc)& start);
Standard_EXPORT Handle(Geom2d_Curve) Transfer2dConicArc (const Handle(IGESGeom_ConicArc)& start);
Standard_EXPORT Handle(Geom_BSplineCurve) TransferCopiousData (const Handle(IGESGeom_CopiousData)& start);
Standard_EXPORT Handle(Geom2d_BSplineCurve) Transfer2dCopiousData (const Handle(IGESGeom_CopiousData)& start);
Standard_EXPORT Handle(Geom_Curve) TransferLine (const Handle(IGESGeom_Line)& start);
Standard_EXPORT Handle(Geom2d_Curve) Transfer2dLine (const Handle(IGESGeom_Line)& start);
Standard_EXPORT Handle(Geom_BSplineCurve) TransferSplineCurve (const Handle(IGESGeom_SplineCurve)& start);
Standard_EXPORT Handle(Geom2d_BSplineCurve) Transfer2dSplineCurve (const Handle(IGESGeom_SplineCurve)& start);
Standard_EXPORT Handle(Geom_Transformation) TransferTransformation (const Handle(IGESGeom_TransformationMatrix)& start);
protected:
private:
};
#endif // _IGESToBRep_BasicCurve_HeaderFile

View File

@@ -1,112 +0,0 @@
-- Created on: 1994-03-14
-- Created by: Frederic UNTEREINER
-- 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 BasicSurface from IGESToBRep inherits CurveAndSurface from IGESToBRep
---Purpose : Provides methods to transfer basic geometric surface entities
-- from IGES to CASCADE.
-- These can be :
-- * Spline surface
-- * BSpline surface
uses
CurveAndSurface from IGESToBRep,
PlaneSurface from IGESSolid,
CylindricalSurface from IGESSolid,
ConicalSurface from IGESSolid,
SphericalSurface from IGESSolid,
ToroidalSurface from IGESSolid,
IGESEntity from IGESData,
SplineSurface from IGESGeom,
BSplineSurface from IGESGeom,
Surface from Geom,
BSplineSurface from Geom,
Plane from Geom,
CylindricalSurface from Geom,
ConicalSurface from Geom,
SphericalSurface from Geom,
ToroidalSurface from Geom
is
Create returns BasicSurface;
---Purpose: Creates a tool BasicSurface ready to run, with
-- epsilons set to 1.E-04, TheModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns BasicSurface;
---Purpose: Creates a tool BasicSurface ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean)
returns BasicSurface;
---Purpose: Creates a tool BasicSurface ready to run.
TransferBasicSurface (me : in out;
start : IGESEntity from IGESData)
returns Surface from Geom;
---Purpose: Returns Surface from Geom if the last transfer has
-- succeded.
TransferPlaneSurface (me : in out;
start : PlaneSurface from IGESSolid)
returns Plane from Geom;
---Purpose: Returns Plane from Geom if the transfer has
-- succeded.
TransferRigthCylindricalSurface(me : in out;
start: CylindricalSurface from IGESSolid)
returns CylindricalSurface from Geom;
---Purpose: Returns CylindricalSurface from Geom if the transfer has
-- succeded.
TransferRigthConicalSurface (me : in out;
start: ConicalSurface from IGESSolid)
returns ConicalSurface from Geom;
---Purpose: Returns ConicalSurface from Geom if the transfer has
-- succeded.
TransferSphericalSurface(me : in out;
start: SphericalSurface from IGESSolid)
returns SphericalSurface from Geom;
---Purpose: Returns SphericalSurface from Geom if the transfer has
-- succeded.
TransferToroidalSurface (me : in out;
start: ToroidalSurface from IGESSolid)
returns ToroidalSurface from Geom;
---Purpose: Returns SphericalSurface from Geom if the transfer has
-- succeded.
TransferSplineSurface (me : in out;
start: SplineSurface from IGESGeom)
returns BSplineSurface from Geom;
---Purpose: Returns BSplineSurface from Geom if the transfer has
-- succeded.
TransferBSplineSurface (me : in out;
start: BSplineSurface from IGESGeom)
returns BSplineSurface from Geom;
---Purpose: Returns BSplineSurface from Geom if the transfer has
-- succeded.
end BasicSurface;

View File

@@ -25,58 +25,53 @@
//sln 29.12.2001 OCC90 : Method checkBSplineSurfaceStatus and varification of creation of bspline surfaces were added
//=======================================================================
#include <IGESToBRep_BasicSurface.ixx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_SplineSurface.hxx>
#include <IGESGeom_BSplineSurface.hxx>
#include <IGESConvGeom.hxx>
#include <Interface_Macros.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Trsf.hxx>
#include <TColgp_Array2OfPnt.hxx>
#include <TColgp_HArray2OfPnt.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TColStd_Array2OfReal.hxx>
#include <TColStd_HArray1OfReal.hxx>
#include <TColStd_SequenceOfInteger.hxx>
//:36
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <Precision.hxx>
//S3767
#include <Message_Msg.hxx>
#include <IGESData_IGESModel.hxx>
//S4181
#include <gp_Pln.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_Direction.hxx>
#include <Precision.hxx>
#include <Geom_BSplineSurface.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_Plane.hxx>
#include <Geom_SphericalSurface.hxx>
#include <Geom_Surface.hxx>
#include <Geom_ToroidalSurface.hxx>
#include <gp_Ax3.hxx>
#include <gp_Cylinder.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Pln.hxx>
#include <gp_Trsf.hxx>
#include <IGESConvGeom.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_BSplineSurface.hxx>
#include <IGESGeom_Direction.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_SplineSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_PlaneSurface.hxx>
#include <IGESSolid_SphericalSurface.hxx>
#include <IGESSolid_ToroidalSurface.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Interface_Macros.hxx>
#include <Message_Msg.hxx>
#include <Precision.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <ShapeConstruct_Curve.hxx>
#include <IGESSolid_PlaneSurface.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_SphericalSurface.hxx>
#include <IGESSolid_ToroidalSurface.hxx>
#include <Geom_BSplineSurface.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TColgp_Array2OfPnt.hxx>
#include <TColgp_HArray2OfPnt.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TColStd_Array2OfReal.hxx>
#include <TColStd_HArray1OfReal.hxx>
#include <TColStd_SequenceOfInteger.hxx>
//:36
//S3767
//S4181
//=======================================================================
//function : CheckBSplineSurface
//purpose : Check coincidede knots. Check whether knots are in ascending

View File

@@ -0,0 +1,124 @@
// Created on: 1994-03-14
// Created by: Frederic UNTEREINER
// 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 _IGESToBRep_BasicSurface_HeaderFile
#define _IGESToBRep_BasicSurface_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
class IGESToBRep_CurveAndSurface;
class Geom_Surface;
class IGESData_IGESEntity;
class Geom_Plane;
class IGESSolid_PlaneSurface;
class Geom_CylindricalSurface;
class IGESSolid_CylindricalSurface;
class Geom_ConicalSurface;
class IGESSolid_ConicalSurface;
class Geom_SphericalSurface;
class IGESSolid_SphericalSurface;
class Geom_ToroidalSurface;
class IGESSolid_ToroidalSurface;
class Geom_BSplineSurface;
class IGESGeom_SplineSurface;
class IGESGeom_BSplineSurface;
//! Provides methods to transfer basic geometric surface entities
//! from IGES to CASCADE.
//! These can be :
//! * Spline surface
//! * BSpline surface
class IGESToBRep_BasicSurface : public IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool BasicSurface ready to run, with
//! epsilons set to 1.E-04, TheModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_BasicSurface();
//! Creates a tool BasicSurface ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_BasicSurface(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool BasicSurface ready to run.
Standard_EXPORT IGESToBRep_BasicSurface(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
//! Returns Surface from Geom if the last transfer has
//! succeded.
Standard_EXPORT Handle(Geom_Surface) TransferBasicSurface (const Handle(IGESData_IGESEntity)& start);
//! Returns Plane from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_Plane) TransferPlaneSurface (const Handle(IGESSolid_PlaneSurface)& start);
//! Returns CylindricalSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_CylindricalSurface) TransferRigthCylindricalSurface (const Handle(IGESSolid_CylindricalSurface)& start);
//! Returns ConicalSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_ConicalSurface) TransferRigthConicalSurface (const Handle(IGESSolid_ConicalSurface)& start);
//! Returns SphericalSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_SphericalSurface) TransferSphericalSurface (const Handle(IGESSolid_SphericalSurface)& start);
//! Returns SphericalSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_ToroidalSurface) TransferToroidalSurface (const Handle(IGESSolid_ToroidalSurface)& start);
//! Returns BSplineSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_BSplineSurface) TransferSplineSurface (const Handle(IGESGeom_SplineSurface)& start);
//! Returns BSplineSurface from Geom if the transfer has
//! succeded.
Standard_EXPORT Handle(Geom_BSplineSurface) TransferBSplineSurface (const Handle(IGESGeom_BSplineSurface)& start);
protected:
private:
};
#endif // _IGESToBRep_BasicSurface_HeaderFile

View File

@@ -1,245 +0,0 @@
-- Created on: 1994-03-14
-- Created by: s: Christophe GUYOT & Frederic UNTEREINER
-- 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 CurveAndSurface from IGESToBRep
---Purpose: Provides methods to transfer CurveAndSurface from IGES to CASCADE.
uses
Integer from Standard,
Real from Standard,
Boolean from Standard,
Shape from TopoDS,
IGESEntity from IGESData,
IGESModel from IGESData,
CString from Standard,
TransientProcess from Transfer,
Surface from Geom,
Msg from Message
is
Create returns CurveAndSurface;
---Purpose: Creates a tool CurveAndSurface ready to run, with
-- epsilons set to 1.E-04, myModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns CurveAndSurface;
---Purpose: Creates a tool CurveAndSurface ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean) returns CurveAndSurface;
---Purpose: Creates a tool CurveAndSurface ready to run.
Init(me: in out);
---Purpose: Initializes the field of the tool CurveAndSurface with
-- default creating values.
SetEpsilon(me: in out; eps : Real);
---C++: inline
---Purpose: Changes the value of "myEps"
GetEpsilon(me) returns Real;
---C++: inline
---Purpose: Returns the value of "myEps"
SetEpsCoeff(me: in out; eps : Real);
---C++: inline
---Purpose: Changes the value of "myEpsCoeff"
GetEpsCoeff(me) returns Real;
---C++: inline
---Purpose: Returns the value of "myEpsCoeff"
SetEpsGeom(me: in out; eps : Real);
---Purpose: Changes the value of "myEpsGeom"
GetEpsGeom(me) returns Real;
---C++: inline
---Purpose: Returns the value of "myEpsGeom"
SetMinTol(me: in out; mintol: Real);
---C++: inline
---Purpose: Changes the value of "myMinTol"
SetMaxTol(me: in out; maxtol: Real);
---C++: inline
---Purpose: Changes the value of "myMaxTol"
UpdateMinMaxTol(me: in out);
---Purpose: Sets values of "myMinTol" and "myMaxTol" as follows
-- myMaxTol = Max ("read.maxprecision.val", myEpsGeom * myUnitFactor)
-- myMinTol = Precision::Confusion()
-- Remark: This method is automatically invoked each time the values
-- of "myEpsGeom" or "myUnitFactor" are changed
GetMinTol(me) returns Real;
---C++: inline
---Purpose: Returns the value of "myMinTol"
GetMaxTol(me) returns Real;
---C++: inline
---Purpose: Returns the value of "myMaxTol"
SetModeApprox(me: in out; mode : Boolean);
---C++: inline
---Purpose: Changes the value of "myModeApprox"
GetModeApprox(me) returns Boolean;
---C++: inline
---Purpose: Returns the value of "myModeApprox"
SetModeTransfer(me: in out; mode : Boolean);
---C++: inline
---Purpose: Changes the value of "myModeIsTopo"
GetModeTransfer(me) returns Boolean;
---C++: inline
---Purpose: Returns the value of "myModeIsTopo"
SetOptimized(me: in out; optimized : Boolean);
---C++: inline
---Purpose: Changes the value of "myContIsOpti"
GetOptimized(me) returns Boolean;
---C++: inline
---Purpose: Returns the value of "myContIsOpti"
GetUnitFactor(me) returns Real;
---C++: inline
---Purpose: Returns the value of " myUnitFactor"
SetSurfaceCurve(me: in out; ival : Integer);
---C++: inline
---Purpose: Changes the value of "mySurfaceCurve"
GetSurfaceCurve(me) returns Integer;
---C++: inline
---Purpose: Returns the value of " mySurfaceCurve" 0 = value in
-- file , 2 = kepp 2d and compute 3d 3 = keep 3d and
-- compute 2d
SetModel(me: in out; model : IGESModel from IGESData);
---Purpose: Set the value of "myModel"
GetModel(me) returns IGESModel from IGESData;
---C++: inline
---Purpose: Returns the value of "myModel"
SetContinuity(me: in out; continuity : Integer);
---C++: inline
---Purpose: Changes the value of "myContinuity"
-- if continuity = 0 do nothing else
-- if continuity = 1 try C1
-- if continuity = 2 try C2
GetContinuity(me) returns Integer;
---C++: inline
---Purpose: Returns the value of "myContinuity"
SetTransferProcess(me: in out; TP: TransientProcess from Transfer);
---C++: inline
---Purpose: Set the value of "myMsgReg"
GetTransferProcess(me) returns TransientProcess from Transfer;
---C++: inline
---Purpose: Returns the value of "myMsgReg"
TransferCurveAndSurface(me: in out; start : IGESEntity from IGESData)
returns Shape from TopoDS;
---Purpose: Returns the result of the transfert of any IGES Curve
-- or Surface Entity. If the transfer has failed, this
-- member return a NullEntity.
TransferGeometry(me: in out; start : IGESEntity from IGESData)
returns Shape from TopoDS;
---Purpose: Returns the result of the transfert the geometry of
-- any IGESEntity. If the transfer has failed, this
-- member return a NullEntity.
SendFail (me: in out; start: IGESEntity from IGESData; amsg: Msg from Message);
---C++: inline
---Purpose: Records a new Fail message
SendWarning (me: in out; start: IGESEntity from IGESData; amsg: Msg from Message);
---C++: inline
---Purpose: Records a new Warning message
SendMsg (me: in out; start: IGESEntity from IGESData; amsg: Msg from Message);
---C++: inline
---Purpose: Records a new Information message from the definition
-- of a Msg (Original+Value)
HasShapeResult (me; start : IGESEntity from IGESData) returns Boolean;
---Purpose: Returns True if start was already treated and has a result in "myMap"
-- else returns False.
GetShapeResult (me; start : IGESEntity from IGESData) returns Shape from TopoDS;
---Purpose: Returns the result of the transfer of the IGESEntity "start" contained
-- in "myMap" . (if HasShapeResult is True).
SetShapeResult (me: in out; start : IGESEntity from IGESData; result : Shape from TopoDS);
---Purpose: set in "myMap" the result of the transfer of the IGESEntity "start".
NbShapeResult (me; start : IGESEntity from IGESData) returns Integer;
---Purpose: Returns the number of shapes results contained in "myMap" for the
-- IGESEntity start ( type VertexList or EdgeList).
GetShapeResult (me; start: IGESEntity from IGESData; num: Integer) returns Shape from TopoDS;
---Purpose: Returns the numth result of the IGESEntity start (type VertexList or
-- EdgeList) in "myMap". (if NbShapeResult is not null).
AddShapeResult (me: in out; start: IGESEntity from IGESData; result: Shape from TopoDS);
---Purpose: set in "myMap" the result of the transfer of the entity of the
-- IGESEntity start ( type VertexList or EdgeList).
SetSurface(me: in out; theSurface: Surface from Geom);
Surface(me) returns Surface from Geom;
GetUVResolution(me: in out) returns Real;
fields
myEps : Real;
myEpsCoeff : Real;
myEpsGeom : Real;
myMinTol : Real; -- Minimum tolerance used by translation algorithms
myMaxTol : Real; -- Maximum tolerance used by translation algorithms
myModeIsTopo : Boolean;
myModeApprox : Boolean;
myContIsOpti : Boolean;
myUnitFactor : Real;
mySurfaceCurve : Integer;
myContinuity : Integer;
mySurface : Surface from Geom;
myUVResolution : Real;
myIsResolCom : Boolean;
myModel : IGESModel from IGESData ;
myTP : TransientProcess from Transfer;
end CurveAndSurface;

View File

@@ -16,57 +16,48 @@
//#74 rln,pdn 11.03.99 S4135: Setting minimum and maximum tolerances according to static parameters
// sln 13.06.2002 OCC448 : Correction in method TransferGeometry to avoid transfering invisiable sub entities
#include <Standard_ErrorHandler.hxx>
#include <IGESToBRep_CurveAndSurface.ixx>
#include <Standard_Failure.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <IGESToBRep_BRepEntity.hxx>
#include <BRep_Builder.hxx>
#include <BRepLib.hxx>
#include <Geom_Surface.hxx>
#include <GeomAdaptor_Surface.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Trsf.hxx>
#include <gp_Vec.hxx>
#include <IGESBasic_Group.hxx>
#include <IGESBasic_GroupWithoutBackP.hxx>
#include <IGESBasic_SubfigureDef.hxx>
#include <IGESBasic_SingularSubfigure.hxx>
#include <IGESBasic_SubfigureDef.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_ToolLocation.hxx>
#include <BRep_Builder.hxx>
#include <BRepLib.hxx>
#include <gp_Trsf.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Vec.hxx>
#include <Precision.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BRepEntity.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <Interface_Macros.hxx>
#include <Interface_Static.hxx>
#include <Message_Messenger.hxx>
#include <Message_Msg.hxx>
#include <Message_ProgressSentry.hxx>
#include <Precision.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_TransientProcess.hxx>
#include <TransferBRep_ShapeBinder.hxx>
#include <TransferBRep_ShapeListBinder.hxx>
#include <stdio.h>
#include <Message_Msg.hxx>
#include <Message_Messenger.hxx>
#include <Message_ProgressSentry.hxx>
#include <GeomAdaptor_Surface.hxx>
//=======================================================================
//function : IGESToBRep_CurveAndSurface
//purpose :
//=======================================================================
IGESToBRep_CurveAndSurface::IGESToBRep_CurveAndSurface()
: myEps (1.e-04),
myEpsCoeff (1.e-06),

View File

@@ -0,0 +1,235 @@
// Created on: 1994-03-14
// Created by: s: Christophe GUYOT & Frederic UNTEREINER
// 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 _IGESToBRep_CurveAndSurface_HeaderFile
#define _IGESToBRep_CurveAndSurface_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
class Geom_Surface;
class IGESData_IGESModel;
class Transfer_TransientProcess;
class TopoDS_Shape;
class IGESData_IGESEntity;
class Message_Msg;
//! Provides methods to transfer CurveAndSurface from IGES to CASCADE.
class IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool CurveAndSurface ready to run, with
//! epsilons set to 1.E-04, myModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_CurveAndSurface();
//! Creates a tool CurveAndSurface ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_CurveAndSurface(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool CurveAndSurface ready to run.
Standard_EXPORT IGESToBRep_CurveAndSurface(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
//! Initializes the field of the tool CurveAndSurface with
//! default creating values.
Standard_EXPORT void Init();
//! Changes the value of "myEps"
void SetEpsilon (const Standard_Real eps);
//! Returns the value of "myEps"
Standard_Real GetEpsilon() const;
//! Changes the value of "myEpsCoeff"
void SetEpsCoeff (const Standard_Real eps);
//! Returns the value of "myEpsCoeff"
Standard_Real GetEpsCoeff() const;
//! Changes the value of "myEpsGeom"
Standard_EXPORT void SetEpsGeom (const Standard_Real eps);
//! Returns the value of "myEpsGeom"
Standard_Real GetEpsGeom() const;
//! Changes the value of "myMinTol"
void SetMinTol (const Standard_Real mintol);
//! Changes the value of "myMaxTol"
void SetMaxTol (const Standard_Real maxtol);
//! Sets values of "myMinTol" and "myMaxTol" as follows
//! myMaxTol = Max ("read.maxprecision.val", myEpsGeom * myUnitFactor)
//! myMinTol = Precision::Confusion()
//! Remark: This method is automatically invoked each time the values
//! of "myEpsGeom" or "myUnitFactor" are changed
Standard_EXPORT void UpdateMinMaxTol();
//! Returns the value of "myMinTol"
Standard_Real GetMinTol() const;
//! Returns the value of "myMaxTol"
Standard_Real GetMaxTol() const;
//! Changes the value of "myModeApprox"
void SetModeApprox (const Standard_Boolean mode);
//! Returns the value of "myModeApprox"
Standard_Boolean GetModeApprox() const;
//! Changes the value of "myModeIsTopo"
void SetModeTransfer (const Standard_Boolean mode);
//! Returns the value of "myModeIsTopo"
Standard_Boolean GetModeTransfer() const;
//! Changes the value of "myContIsOpti"
void SetOptimized (const Standard_Boolean optimized);
//! Returns the value of "myContIsOpti"
Standard_Boolean GetOptimized() const;
//! Returns the value of " myUnitFactor"
Standard_Real GetUnitFactor() const;
//! Changes the value of "mySurfaceCurve"
void SetSurfaceCurve (const Standard_Integer ival);
//! Returns the value of " mySurfaceCurve" 0 = value in
//! file , 2 = kepp 2d and compute 3d 3 = keep 3d and
//! compute 2d
Standard_Integer GetSurfaceCurve() const;
//! Set the value of "myModel"
Standard_EXPORT void SetModel (const Handle(IGESData_IGESModel)& model);
//! Returns the value of "myModel"
Handle(IGESData_IGESModel) GetModel() const;
//! Changes the value of "myContinuity"
//! if continuity = 0 do nothing else
//! if continuity = 1 try C1
//! if continuity = 2 try C2
void SetContinuity (const Standard_Integer continuity);
//! Returns the value of "myContinuity"
Standard_Integer GetContinuity() const;
//! Set the value of "myMsgReg"
void SetTransferProcess (const Handle(Transfer_TransientProcess)& TP);
//! Returns the value of "myMsgReg"
Handle(Transfer_TransientProcess) GetTransferProcess() const;
//! Returns the result of the transfert of any IGES Curve
//! or Surface Entity. If the transfer has failed, this
//! member return a NullEntity.
Standard_EXPORT TopoDS_Shape TransferCurveAndSurface (const Handle(IGESData_IGESEntity)& start);
//! Returns the result of the transfert the geometry of
//! any IGESEntity. If the transfer has failed, this
//! member return a NullEntity.
Standard_EXPORT TopoDS_Shape TransferGeometry (const Handle(IGESData_IGESEntity)& start);
//! Records a new Fail message
void SendFail (const Handle(IGESData_IGESEntity)& start, const Message_Msg& amsg);
//! Records a new Warning message
void SendWarning (const Handle(IGESData_IGESEntity)& start, const Message_Msg& amsg);
//! Records a new Information message from the definition
//! of a Msg (Original+Value)
void SendMsg (const Handle(IGESData_IGESEntity)& start, const Message_Msg& amsg);
//! Returns True if start was already treated and has a result in "myMap"
//! else returns False.
Standard_EXPORT Standard_Boolean HasShapeResult (const Handle(IGESData_IGESEntity)& start) const;
//! Returns the result of the transfer of the IGESEntity "start" contained
//! in "myMap" . (if HasShapeResult is True).
Standard_EXPORT TopoDS_Shape GetShapeResult (const Handle(IGESData_IGESEntity)& start) const;
//! set in "myMap" the result of the transfer of the IGESEntity "start".
Standard_EXPORT void SetShapeResult (const Handle(IGESData_IGESEntity)& start, const TopoDS_Shape& result);
//! Returns the number of shapes results contained in "myMap" for the
//! IGESEntity start ( type VertexList or EdgeList).
Standard_EXPORT Standard_Integer NbShapeResult (const Handle(IGESData_IGESEntity)& start) const;
//! Returns the numth result of the IGESEntity start (type VertexList or
//! EdgeList) in "myMap". (if NbShapeResult is not null).
Standard_EXPORT TopoDS_Shape GetShapeResult (const Handle(IGESData_IGESEntity)& start, const Standard_Integer num) const;
//! set in "myMap" the result of the transfer of the entity of the
//! IGESEntity start ( type VertexList or EdgeList).
Standard_EXPORT void AddShapeResult (const Handle(IGESData_IGESEntity)& start, const TopoDS_Shape& result);
Standard_EXPORT void SetSurface (const Handle(Geom_Surface)& theSurface);
Standard_EXPORT Handle(Geom_Surface) Surface() const;
Standard_EXPORT Standard_Real GetUVResolution();
protected:
private:
Standard_Real myEps;
Standard_Real myEpsCoeff;
Standard_Real myEpsGeom;
Standard_Real myMinTol;
Standard_Real myMaxTol;
Standard_Boolean myModeIsTopo;
Standard_Boolean myModeApprox;
Standard_Boolean myContIsOpti;
Standard_Real myUnitFactor;
Standard_Integer mySurfaceCurve;
Standard_Integer myContinuity;
Handle(Geom_Surface) mySurface;
Standard_Real myUVResolution;
Standard_Boolean myIsResolCom;
Handle(IGESData_IGESModel) myModel;
Handle(Transfer_TransientProcess) myTP;
};
#include <IGESToBRep_CurveAndSurface.lxx>
#endif // _IGESToBRep_CurveAndSurface_HeaderFile

View File

@@ -1,160 +0,0 @@
-- Created on: 1998-12-16
-- Created by: Roman LYGIN
-- Copyright (c) 1998-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 IGESBoundary from IGESToBRep inherits TShared from MMgt
---Purpose: This class is intended to translate IGES boundary entity
-- (142-CurveOnSurface, 141-Boundary or 508-Loop) into the wire.
-- Methods Transfer are virtual and are redefined in Advanced
-- Data Exchange to optimize the translation and take into
-- account advanced parameters.
uses
Trsf2d from gp,
Face from TopoDS,
IGESEntity from IGESData,
HArray1OfIGESEntity from IGESData,
CurveAndSurface from IGESToBRep,
WireData from ShapeExtend
is
Create returns IGESBoundary from IGESToBRep;
---Purpose: Empty constructor
Create (CS: CurveAndSurface from IGESToBRep) returns IGESBoundary from IGESToBRep;
---Purpose: Empty constructor
Init (me: mutable; CS : CurveAndSurface from IGESToBRep;
entity : IGESEntity from IGESData;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real;
filepreference: Integer);
---Purpose: Inits the object with parameters common for all
-- types of IGES boundaries.
-- <CS>: object to be used for retrieving translation parameters
-- and sending messages,
-- <entity>: boundary entity to be processed,
-- <face>, <trans>, <uFact>: as for IGESToBRep_TopoCurve
-- <filepreference>: preferred representation (2 or 3) given
-- in the IGES file
WireData (me) returns WireData from ShapeExtend;
---Purpose: Returns the resulting wire
---C++: inline
WireData3d (me) returns WireData from ShapeExtend;
---Purpose: Returns the wire from 3D curves (edges contain 3D curves
-- and may contain pcurves)
---C++: inline
WireData2d (me) returns WireData from ShapeExtend;
---Purpose: Returns the the wire from 2D curves (edges contain pcurves
-- only)
---C++: inline
Transfer (me: mutable; okCurve : in out Boolean;
okCurve3d : in out Boolean;
okCurve2d : in out Boolean;
curve3d : IGESEntity from IGESData;
toreverse3d: Boolean;
curves2d : HArray1OfIGESEntity from IGESData;
number : Integer)
returns Boolean;
---Purpose: Translates 141 and 142 entities.
-- Returns True if the curve has been successfully translated,
-- otherwise returns False.
-- <okCurve..>: flags that indicate whether corresponding
-- representation has been successfully translated
-- (must be set to True before first call),
-- <curve3d>: model space curve for 142 and current model space
-- curve for 141,
-- <toreverse3d>: False for 142 and current orientation flag
-- for 141,
-- <curves2d>: 1 parameter space curve for 142 or list of
-- them for current model space curves for 141,
-- <number>: 1 for 142 and rank number of model space curve for 141.
Transfer (me: mutable; okCurve : in out Boolean;
okCurve3d : in out Boolean;
okCurve2d : in out Boolean;
curve3d : WireData from ShapeExtend;
curves2d : HArray1OfIGESEntity from IGESData;
toreverse2d: Boolean;
number : Integer;
lsewd : out WireData from ShapeExtend)
returns Boolean;
---Purpose: Translates 508 entity.
-- Returns True if the curve has been successfully translated,
-- otherwise returns False.
-- Input object IGESBoundary must be created and initialized
-- before.
-- <okCurve..>: flags that indicate whether corresponding
-- representation has been successfully translated
-- (must be set to True before first call),
-- <curve3d>: result of translation of current edge,
-- <curves2d>: list of parameter space curves for edge,
-- <toreverse2d>: orientation flag of current edge in respect
-- to its model space curve,
-- <number>: rank number of edge,
-- <lsewd>: returns the result of translation of current edge.
Check (me: mutable; result, checkclosure, okCurve3d, okCurve2d: Boolean) is virtual;
---Purpose: Checks result of translation of IGES boundary entities
-- (types 141, 142 or 508).
-- Checks consistency of 2D and 3D representations and keeps
-- only one if they are inconsistent.
-- <result>: result of translation (returned by Transfer),
-- <checkclosure>: False for 142 without parent 144 entity,
-- otherwise True,
-- <okCurve3d>, <okCurve2d>: those returned by Transfer.
---Remark : Empty method for Open CASCADE and implemented for Advanced
-- Data Exchange.
---Level: Internal
Transfer (me: mutable; okCurve : in out Boolean;
okCurve3d : in out Boolean;
okCurve2d : in out Boolean;
icurve3d : IGESEntity from IGESData;
scurve3d : WireData from ShapeExtend;
usescurve : Boolean;
toreverse3d: Boolean;
curves2d : HArray1OfIGESEntity from IGESData;
toreverse2d: Boolean;
number : Integer;
lsewd : out WireData from ShapeExtend)
returns Boolean is virtual protected;
---Purpose: Methods called by both Transfer methods.
ReverseCurves3d (myclass; sewd: WireData from ShapeExtend) is protected;
ReverseCurves2d (myclass; sewd: WireData from ShapeExtend;
face: Face from TopoDS) is protected;
fields
myCS : CurveAndSurface from IGESToBRep is protected;
myentity : IGESEntity from IGESData is protected;
mysewd : WireData from ShapeExtend is protected; -- resulting wire
mysewd3d : WireData from ShapeExtend is protected; -- wire from 3D curves (edges contain 3D curves and may contain pcurves)
mysewd2d : WireData from ShapeExtend is protected; -- wire from 2D curves (edges contain pcurves only)
myface : Face from TopoDS is protected;
mytrsf : Trsf2d from gp is protected;
myuFact : Real is protected;
myfilepreference: Integer is protected;
end IGESBoundary;

View File

@@ -14,28 +14,33 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <IGESToBRep_IGESBoundary.ixx>
#include <TColStd_HSequenceOfTransient.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Plane.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <Precision.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Wire.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <ShapeBuild_Edge.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <ShapeFix_Wire.hxx>
#include <gp_Trsf2d.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <Precision.hxx>
#include <ShapeBuild_Edge.hxx>
#include <ShapeExtend_WireData.hxx>
#include <ShapeFix_Wire.hxx>
#include <Standard_Type.hxx>
#include <TColStd_HSequenceOfTransient.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Wire.hxx>
//=======================================================================
//function : IGESToBRep_IGESBoundary
//purpose :
//=======================================================================
IGESToBRep_IGESBoundary::IGESToBRep_IGESBoundary()
{
}

View File

@@ -0,0 +1,160 @@
// Created on: 1998-12-16
// Created by: Roman LYGIN
// Copyright (c) 1998-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 _IGESToBRep_IGESBoundary_HeaderFile
#define _IGESToBRep_IGESBoundary_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <TopoDS_Face.hxx>
#include <gp_Trsf2d.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
#include <Standard_Boolean.hxx>
#include <IGESData_HArray1OfIGESEntity.hxx>
class IGESData_IGESEntity;
class ShapeExtend_WireData;
class IGESToBRep_CurveAndSurface;
class TopoDS_Face;
class gp_Trsf2d;
class IGESToBRep_IGESBoundary;
DEFINE_STANDARD_HANDLE(IGESToBRep_IGESBoundary, MMgt_TShared)
//! This class is intended to translate IGES boundary entity
//! (142-CurveOnSurface, 141-Boundary or 508-Loop) into the wire.
//! Methods Transfer are virtual and are redefined in Advanced
//! Data Exchange to optimize the translation and take into
//! account advanced parameters.
class IGESToBRep_IGESBoundary : public MMgt_TShared
{
public:
//! Empty constructor
Standard_EXPORT IGESToBRep_IGESBoundary();
//! Empty constructor
Standard_EXPORT IGESToBRep_IGESBoundary(const IGESToBRep_CurveAndSurface& CS);
//! Inits the object with parameters common for all
//! types of IGES boundaries.
//! <CS>: object to be used for retrieving translation parameters
//! and sending messages,
//! <entity>: boundary entity to be processed,
//! <face>, <trans>, <uFact>: as for IGESToBRep_TopoCurve
//! <filepreference>: preferred representation (2 or 3) given
//! in the IGES file
Standard_EXPORT void Init (const IGESToBRep_CurveAndSurface& CS, const Handle(IGESData_IGESEntity)& entity, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact, const Standard_Integer filepreference);
//! Returns the resulting wire
Handle(ShapeExtend_WireData) WireData() const;
//! Returns the wire from 3D curves (edges contain 3D curves
//! and may contain pcurves)
Handle(ShapeExtend_WireData) WireData3d() const;
//! Returns the the wire from 2D curves (edges contain pcurves
//! only)
Handle(ShapeExtend_WireData) WireData2d() const;
//! Translates 141 and 142 entities.
//! Returns True if the curve has been successfully translated,
//! otherwise returns False.
//! <okCurve..>: flags that indicate whether corresponding
//! representation has been successfully translated
//! (must be set to True before first call),
//! <curve3d>: model space curve for 142 and current model space
//! curve for 141,
//! <toreverse3d>: False for 142 and current orientation flag
//! for 141,
//! <curves2d>: 1 parameter space curve for 142 or list of
//! them for current model space curves for 141,
//! <number>: 1 for 142 and rank number of model space curve for 141.
Standard_EXPORT Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(IGESData_IGESEntity)& curve3d, const Standard_Boolean toreverse3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Integer number);
//! Translates 508 entity.
//! Returns True if the curve has been successfully translated,
//! otherwise returns False.
//! Input object IGESBoundary must be created and initialized
//! before.
//! <okCurve..>: flags that indicate whether corresponding
//! representation has been successfully translated
//! (must be set to True before first call),
//! <curve3d>: result of translation of current edge,
//! <curves2d>: list of parameter space curves for edge,
//! <toreverse2d>: orientation flag of current edge in respect
//! to its model space curve,
//! <number>: rank number of edge,
//! <lsewd>: returns the result of translation of current edge.
Standard_EXPORT Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(ShapeExtend_WireData)& curve3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Boolean toreverse2d, const Standard_Integer number, Handle(ShapeExtend_WireData)& lsewd);
//! Checks result of translation of IGES boundary entities
//! (types 141, 142 or 508).
//! Checks consistency of 2D and 3D representations and keeps
//! only one if they are inconsistent.
//! <result>: result of translation (returned by Transfer),
//! <checkclosure>: False for 142 without parent 144 entity,
//! otherwise True,
//! <okCurve3d>, <okCurve2d>: those returned by Transfer.
Standard_EXPORT virtual void Check (const Standard_Boolean result, const Standard_Boolean checkclosure, const Standard_Boolean okCurve3d, const Standard_Boolean okCurve2d);
DEFINE_STANDARD_RTTI(IGESToBRep_IGESBoundary,MMgt_TShared)
protected:
//! Methods called by both Transfer methods.
Standard_EXPORT virtual Standard_Boolean Transfer (Standard_Boolean& okCurve, Standard_Boolean& okCurve3d, Standard_Boolean& okCurve2d, const Handle(IGESData_IGESEntity)& icurve3d, const Handle(ShapeExtend_WireData)& scurve3d, const Standard_Boolean usescurve, const Standard_Boolean toreverse3d, const Handle(IGESData_HArray1OfIGESEntity)& curves2d, const Standard_Boolean toreverse2d, const Standard_Integer number, Handle(ShapeExtend_WireData)& lsewd);
Standard_EXPORT static void ReverseCurves3d (const Handle(ShapeExtend_WireData)& sewd);
Standard_EXPORT static void ReverseCurves2d (const Handle(ShapeExtend_WireData)& sewd, const TopoDS_Face& face);
IGESToBRep_CurveAndSurface myCS;
Handle(IGESData_IGESEntity) myentity;
Handle(ShapeExtend_WireData) mysewd;
Handle(ShapeExtend_WireData) mysewd3d;
Handle(ShapeExtend_WireData) mysewd2d;
TopoDS_Face myface;
gp_Trsf2d mytrsf;
Standard_Real myuFact;
Standard_Integer myfilepreference;
private:
};
#include <IGESToBRep_IGESBoundary.lxx>
#endif // _IGESToBRep_IGESBoundary_HeaderFile

View File

@@ -1,108 +0,0 @@
-- Created on: 1994-09-01
-- Created by: Marie Jose MARTZ
-- 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 Reader from IGESToBRep
---Purpose : A simple way to read geometric IGES data.
-- Encapsulates reading file and calling transfer tools
uses
IGESModel from IGESData,
ShareFlags from Interface,
TransientProcess from Transfer,
Shape from TopoDS,
SequenceOfShape from TopTools,
Actor from IGESToBRep
is
Create returns Reader;
---Purpose : Creates a Reader
LoadFile (me : in out; filename : CString) returns Integer;
---Purpose : Loads a Model from a file.Returns 0 if success.
-- returns 1 if the file could not be opened,
-- returns -1 if an error occurred while the file was being loaded.
SetModel (me : in out; model : IGESModel);
---Purpose : Specifies a Model to work on
-- Also clears the result and Done status, sets TransientProcess
Model (me) returns IGESModel;
---Purpose : Returns the Model to be worked on.
SetTransientProcess (me : in out; TP : TransientProcess);
---Purpose : Allows to set an already defined TransientProcess
-- (to be called after LoadFile or SetModel)
TransientProcess (me) returns TransientProcess;
---Purpose : Returns the TransientProcess
Actor (me) returns Actor from IGESToBRep;
---Purpose : Returns "theActor"
Clear (me : in out);
---Purpose : Clears the results between two translation operations.
Check (me; withprint : Boolean) returns Boolean;
---Purpose : Checks the IGES file that was
-- loaded into memory. Displays error messages in the default
-- message file if withprint is true. Returns True if no fail
-- message was found and False if there was at least one fail message.
TransferRoots (me : in out; onlyvisible : Boolean = Standard_True);
---Purpose : Translates root entities in an
-- IGES file. Standard_True is the default value and means that only
-- visible root entities are translated. Standard_False
-- translates all of the roots (visible and invisible).
Transfer (me : in out; num : Integer) returns Boolean;
---Purpose : Transfers an Entity given its rank in the Model (Root or not)
-- Returns True if it is recognized as Geom-Topol.
-- (But it can have failed : see IsDone)
IsDone (me) returns Boolean;
---Purpose : Returns True if the LAST Transfer/TransferRoots was a success
UsedTolerance (me) returns Real;
---Purpose : Returns the Tolerance which has been actually used, converted
-- in millimeters
-- (either that from File or that from Session, according the mode)
NbShapes (me) returns Integer;
---Purpose : Returns the number of shapes produced by the translation.
Shape (me; num : Integer = 1) returns Shape from TopoDS;
---Purpose : Returns the num the resulting shape in a translation operation.
OneShape (me) returns Shape from TopoDS;
---Purpose : Returns all of the results in a
-- single shape which is:
-- - a null shape if there are no results,
-- - a shape if there is one result,
-- - a compound containing the resulting shapes if there are several.
fields
theModel : IGESModel from IGESData;
theDone : Boolean;
theShapes : SequenceOfShape from TopTools;
theActor : Actor from IGESToBRep;
theProc : TransientProcess from Transfer;
end Reader;

View File

@@ -14,60 +14,54 @@
//pdn 11.01.99 including <stdio.h> for compilation on NT
//#70 rln 03.03.99 syntax correction
// sln 11.06.2002 OCC448 : Initialize "read.onlyvisiable" parameter to control transfering invisiable sub entities which logicaly depend on the grouping entities
#include <stdio.h>
#include <IGESToBRep_Reader.ixx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <OSD_Timer.hxx>
#include <gp_Trsf.hxx>
#include <TopAbs.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Shape.hxx>
#include <BRep_Builder.hxx>
#include <BRepLib.hxx>
#include <BRepTools_Modifier.hxx>
#include <Message_Msg.hxx>
#include <Message_Messenger.hxx>
#include <IGESFile_Read.hxx>
#include <gp_Trsf.hxx>
#include <IGESAppli.hxx>
#include <IGESAppli_Protocol.hxx>
#include <IGESData_FileProtocol.hxx>
#include <IGESData_GlobalSection.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESFile_Read.hxx>
#include <IGESSolid.hxx>
#include <IGESSolid_Protocol.hxx>
#include <IGESAppli.hxx>
#include <IGESAppli_Protocol.hxx>
#include <Interface_Macros.hxx>
#include <Interface_CheckTool.hxx>
#include <Interface_CheckIterator.hxx>
#include <Interface_ShareFlags.hxx>
#include <Interface_Static.hxx>
#include <Interface_Check.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_Actor.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
//#include <ShapeCustom.hxx>
#include <IGESToBRep_Reader.hxx>
#include <Interface_Check.hxx>
#include <Interface_CheckIterator.hxx>
#include <Interface_CheckTool.hxx>
#include <Interface_Macros.hxx>
#include <Interface_ShareFlags.hxx>
#include <Interface_Static.hxx>
#include <Message_Messenger.hxx>
#include <Message_Msg.hxx>
#include <Message_ProgressSentry.hxx>
#include <OSD_Timer.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <ShapeExtend_Explorer.hxx>
#include <ShapeFix_ShapeTolerance.hxx>
#include <Transfer_TransferOutput.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TopAbs.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_IteratorOfProcessForTransient.hxx>
#include <Transfer_TransferOutput.hxx>
#include <Transfer_TransientProcess.hxx>
#include <TransferBRep.hxx>
#include <TransferBRep_ShapeBinder.hxx>
#include <TransferBRep_ShapeListBinder.hxx>
#include <XSAlgo.hxx>
#include <XSAlgo_AlgoContainer.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <Message_ProgressSentry.hxx>
#include <stdio.h>
//#include <ShapeCustom.hxx>
#ifdef WNT
#include <stdlib.h>
#else

View File

@@ -0,0 +1,138 @@
// Created on: 1994-09-01
// Created by: Marie Jose MARTZ
// 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 _IGESToBRep_Reader_HeaderFile
#define _IGESToBRep_Reader_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <TopTools_SequenceOfShape.hxx>
#include <Standard_Integer.hxx>
#include <Standard_CString.hxx>
#include <Standard_Real.hxx>
class IGESData_IGESModel;
class IGESToBRep_Actor;
class Transfer_TransientProcess;
class TopoDS_Shape;
//! A simple way to read geometric IGES data.
//! Encapsulates reading file and calling transfer tools
class IGESToBRep_Reader
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a Reader
Standard_EXPORT IGESToBRep_Reader();
//! Loads a Model from a file.Returns 0 if success.
//! returns 1 if the file could not be opened,
//! returns -1 if an error occurred while the file was being loaded.
Standard_EXPORT Standard_Integer LoadFile (const Standard_CString filename);
//! Specifies a Model to work on
//! Also clears the result and Done status, sets TransientProcess
Standard_EXPORT void SetModel (const Handle(IGESData_IGESModel)& model);
//! Returns the Model to be worked on.
Standard_EXPORT Handle(IGESData_IGESModel) Model() const;
//! Allows to set an already defined TransientProcess
//! (to be called after LoadFile or SetModel)
Standard_EXPORT void SetTransientProcess (const Handle(Transfer_TransientProcess)& TP);
//! Returns the TransientProcess
Standard_EXPORT Handle(Transfer_TransientProcess) TransientProcess() const;
//! Returns "theActor"
Standard_EXPORT Handle(IGESToBRep_Actor) Actor() const;
//! Clears the results between two translation operations.
Standard_EXPORT void Clear();
//! Checks the IGES file that was
//! loaded into memory. Displays error messages in the default
//! message file if withprint is true. Returns True if no fail
//! message was found and False if there was at least one fail message.
Standard_EXPORT Standard_Boolean Check (const Standard_Boolean withprint) const;
//! Translates root entities in an
//! IGES file. Standard_True is the default value and means that only
//! visible root entities are translated. Standard_False
//! translates all of the roots (visible and invisible).
Standard_EXPORT void TransferRoots (const Standard_Boolean onlyvisible = Standard_True);
//! Transfers an Entity given its rank in the Model (Root or not)
//! Returns True if it is recognized as Geom-Topol.
//! (But it can have failed : see IsDone)
Standard_EXPORT Standard_Boolean Transfer (const Standard_Integer num);
//! Returns True if the LAST Transfer/TransferRoots was a success
Standard_EXPORT Standard_Boolean IsDone() const;
//! Returns the Tolerance which has been actually used, converted
//! in millimeters
//! (either that from File or that from Session, according the mode)
Standard_EXPORT Standard_Real UsedTolerance() const;
//! Returns the number of shapes produced by the translation.
Standard_EXPORT Standard_Integer NbShapes() const;
//! Returns the num the resulting shape in a translation operation.
Standard_EXPORT TopoDS_Shape Shape (const Standard_Integer num = 1) const;
//! Returns all of the results in a
//! single shape which is:
//! - a null shape if there are no results,
//! - a shape if there is one result,
//! - a compound containing the resulting shapes if there are several.
Standard_EXPORT TopoDS_Shape OneShape() const;
protected:
private:
Handle(IGESData_IGESModel) theModel;
Standard_Boolean theDone;
TopTools_SequenceOfShape theShapes;
Handle(IGESToBRep_Actor) theActor;
Handle(Transfer_TransientProcess) theProc;
};
#endif // _IGESToBRep_Reader_HeaderFile

View File

@@ -1,32 +0,0 @@
-- Created on: 2000-02-07
-- Created by: data exchange team
-- Copyright (c) 2000-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 ToolContainer from IGESToBRep inherits TShared from MMgt
---Purpose:
uses
IGESBoundary from IGESToBRep
is
Create returns ToolContainer from IGESToBRep;
---Purpose: Empty constructor
IGESBoundary (me) returns IGESBoundary from IGESToBRep is virtual;
---Purpose: Returns IGESToBRep_IGESBoundary
end ToolContainer;

View File

@@ -13,13 +13,15 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <IGESToBRep_ToolContainer.ixx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <Standard_Type.hxx>
//=======================================================================
//function : IGESToBRep_ToolContainer
//purpose :
//=======================================================================
IGESToBRep_ToolContainer::IGESToBRep_ToolContainer()
{
}

View File

@@ -0,0 +1,65 @@
// Created on: 2000-02-07
// Created by: data exchange team
// Copyright (c) 2000-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 _IGESToBRep_ToolContainer_HeaderFile
#define _IGESToBRep_ToolContainer_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <MMgt_TShared.hxx>
class IGESToBRep_IGESBoundary;
class IGESToBRep_ToolContainer;
DEFINE_STANDARD_HANDLE(IGESToBRep_ToolContainer, MMgt_TShared)
class IGESToBRep_ToolContainer : public MMgt_TShared
{
public:
//! Empty constructor
Standard_EXPORT IGESToBRep_ToolContainer();
//! Returns IGESToBRep_IGESBoundary
Standard_EXPORT virtual Handle(IGESToBRep_IGESBoundary) IGESBoundary() const;
DEFINE_STANDARD_RTTI(IGESToBRep_ToolContainer,MMgt_TShared)
protected:
private:
};
#endif // _IGESToBRep_ToolContainer_HeaderFile

View File

@@ -1,198 +0,0 @@
-- Created on: 1994-04-21
-- Created by: s: Christophe GUYOT & Frederic UNTEREINER
-- 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 TopoCurve from IGESToBRep inherits CurveAndSurface from IGESToBRep
---Purpose : Provides methods to transfer topologic curves entities
-- from IGES to CASCADE.
uses
CurveAndSurface from IGESToBRep,
IGESEntity from IGESData,
HArray1OfIGESEntity from IGESData,
Boundary from IGESGeom,
CompositeCurve from IGESGeom,
OffsetCurve from IGESGeom,
CurveOnSurface from IGESGeom,
Point from IGESGeom,
Edge from TopoDS,
Face from TopoDS,
Shape from TopoDS,
Vertex from TopoDS,
Wire from TopoDS,
Curve from Geom,
Surface from Geom,
BSplineCurve from Geom,
SequenceOfCurve from TColGeom,
Curve from Geom2d,
BSplineCurve from Geom2d,
SequenceOfCurve from TColGeom2d,
WireData from ShapeExtend,
Trsf2d from gp
is
Create returns TopoCurve;
---Purpose : Creates a tool TopoCurve ready to run, with
-- epsilons set to 1.E-04, TheModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns TopoCurve;
---Purpose : Creates a tool TopoCurve ready to run and sets its
-- fields as CS's.
Create(CS : TopoCurve from IGESToBRep) returns TopoCurve;
---Purpose : Creates a tool TopoCurve ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean) returns TopoCurve;
---Purpose : Creates a tool TopoCurve ready to run.
TransferTopoCurve (me : in out;
start : IGESEntity from IGESData)
returns Shape from TopoDS;
Transfer2dTopoCurve (me : in out;
start : IGESEntity from IGESData;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS;
TransferTopoBasicCurve (me : in out;
start : IGESEntity from IGESData)
returns Shape from TopoDS;
Transfer2dTopoBasicCurve (me : in out;
start : IGESEntity from IGESData;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS;
TransferPoint (me : in out;
start : Point from IGESGeom)
returns Vertex from TopoDS;
Transfer2dPoint (me : in out;
start : Point from IGESGeom)
returns Vertex from TopoDS;
TransferCompositeCurveGeneral (me : in out;
start : CompositeCurve from IGESGeom;
is2d : Boolean;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS is private;
TransferCompositeCurve (me : in out;
start : CompositeCurve from IGESGeom)
returns Shape from TopoDS;
Transfer2dCompositeCurve (me : in out;
start : CompositeCurve from IGESGeom;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS;
TransferOffsetCurve (me : in out;
start : OffsetCurve from IGESGeom)
returns Shape from TopoDS;
Transfer2dOffsetCurve (me : in out;
start : OffsetCurve from IGESGeom;
face : Face from TopoDS;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS;
TransferCurveOnSurface (me : in out;
start : CurveOnSurface from IGESGeom)
returns Shape from TopoDS;
TransferCurveOnFace (me : in out;
face : in out Face from TopoDS;
start : CurveOnSurface from IGESGeom;
trans : Trsf2d from gp;
uFact : Real;
IsCurv : Boolean from Standard)
returns Shape from TopoDS;
---Purpose : Transfers a CurveOnSurface directly on a face to trim it.
-- The CurveOnSurface have to be defined Outer or Inner.
TransferBoundary (me : in out;
start : Boundary from IGESGeom)
returns Shape from TopoDS;
TransferBoundaryOnFace (me : in out;
face : in out Face from TopoDS;
start : Boundary from IGESGeom;
trans : Trsf2d from gp;
uFact : Real)
returns Shape from TopoDS;
---Purpose : Transfers a Boundary directly on a face to trim it.
ApproxBSplineCurve (me : in out;
start : BSplineCurve from Geom);
NbCurves (me)
returns Integer;
---Purpose : Returns the count of Curves in "TheCurves"
Curve (me;
num : Integer = 1)
returns Curve from Geom;
---Purpose : Returns a Curve given its rank, by default the first one
-- (null Curvee if out of range) in "TheCurves"
Approx2dBSplineCurve (me : in out;
start : BSplineCurve from Geom2d);
NbCurves2d (me)
returns Integer;
---Purpose : Returns the count of Curves in "TheCurves2d"
Curve2d (me;
num : Integer = 1)
returns Curve from Geom2d;
---Purpose : Returns a Curve given its rank, by default the first one
-- (null Curvee if out of range) in "TheCurves2d"
SetBadCase (me: in out; value: Boolean);
---Purpose: Sets TheBadCase flag
BadCase (me) returns Boolean;
---Purpose: Returns TheBadCase flag
fields
TheCurves : SequenceOfCurve from TColGeom;
TheCurves2d : SequenceOfCurve from TColGeom2d;
TheBadCase : Boolean from Standard;
end TopoCurve;

View File

@@ -25,100 +25,82 @@
//CAS.CADE surface)
//szv#9:PRO19565:04Oct99 missing location for standalone vertices corrected
#include <IGESToBRep_TopoCurve.ixx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <IGESGeom_CircularArc.hxx>//added by rln 32/12/97
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepLib_MakeFace.hxx>
#include <BRepTools.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom2d_OffsetCurve.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_OffsetCurve.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Surface.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom2d_OffsetCurve.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <gp.hxx>
#include <gp_Dir.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Trsf2d.hxx>
#include <gp_XY.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_HArray1OfIGESEntity.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_Boundary.hxx>
#include <IGESGeom_CircularArc.hxx>
#include <IGESGeom_CompositeCurve.hxx>
#include <IGESGeom_CurveOnSurface.hxx>
#include <IGESGeom_OffsetCurve.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_SplineCurve.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <Interface_Macros.hxx>
#include <Precision.hxx>
#include <Message_Msg.hxx>
#include <Precision.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <ShapeBuild_Edge.hxx>
#include <ShapeExtend_WireData.hxx>
#include <ShapeFix_Wire.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TColGeom2d_HSequenceOfBoundedCurve.hxx>
#include <TColGeom_HSequenceOfBoundedCurve.hxx>
#include <TColgp_Array1OfPnt.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
//#include <TColStd_Array1OfInteger.hxx>
//#include <TColStd_Array1OfReal.hxx>
#include <TCollection_HAsciiString.hxx>
#include <TopAbs.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <stdio.h>
#include <Geom_TrimmedCurve.hxx>
#include <TColGeom_HSequenceOfBoundedCurve.hxx>
#include <TColGeom2d_HSequenceOfBoundedCurve.hxx>
//added by rln 32/12/97
//#include <TColStd_Array1OfInteger.hxx>
//#include <TColStd_Array1OfReal.hxx>
//#include <TColStd_HSequenceOfTransient.hxx>
#include <ShapeBuild_Edge.hxx>
#include <IGESToBRep_IGESBoundary.hxx>
#include <Message_Msg.hxx>
#include <TCollection_HAsciiString.hxx>
#include <IGESData_IGESModel.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_AlgoContainer.hxx>
#include <IGESToBRep_ToolContainer.hxx>
#include <IGESGeom_Boundary.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_SplineCurve.hxx>
//=======================================================================
//function : IGESToBRep_TopoCurve
//purpose :
//=======================================================================
IGESToBRep_TopoCurve::IGESToBRep_TopoCurve()
:IGESToBRep_CurveAndSurface()
{

View File

@@ -0,0 +1,155 @@
// Created on: 1994-04-21
// Created by: s: Christophe GUYOT & Frederic UNTEREINER
// 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 _IGESToBRep_TopoCurve_HeaderFile
#define _IGESToBRep_TopoCurve_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <TColGeom_SequenceOfCurve.hxx>
#include <TColGeom2d_SequenceOfCurve.hxx>
#include <Standard_Boolean.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
class IGESToBRep_CurveAndSurface;
class TopoDS_Shape;
class IGESData_IGESEntity;
class TopoDS_Face;
class gp_Trsf2d;
class TopoDS_Vertex;
class IGESGeom_Point;
class IGESGeom_CompositeCurve;
class IGESGeom_OffsetCurve;
class IGESGeom_CurveOnSurface;
class IGESGeom_Boundary;
class Geom_BSplineCurve;
class Geom_Curve;
class Geom2d_BSplineCurve;
class Geom2d_Curve;
//! Provides methods to transfer topologic curves entities
//! from IGES to CASCADE.
class IGESToBRep_TopoCurve : public IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool TopoCurve ready to run, with
//! epsilons set to 1.E-04, TheModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_TopoCurve();
//! Creates a tool TopoCurve ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_TopoCurve(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool TopoCurve ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_TopoCurve(const IGESToBRep_TopoCurve& CS);
//! Creates a tool TopoCurve ready to run.
Standard_EXPORT IGESToBRep_TopoCurve(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
Standard_EXPORT TopoDS_Shape TransferTopoCurve (const Handle(IGESData_IGESEntity)& start);
Standard_EXPORT TopoDS_Shape Transfer2dTopoCurve (const Handle(IGESData_IGESEntity)& start, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact);
Standard_EXPORT TopoDS_Shape TransferTopoBasicCurve (const Handle(IGESData_IGESEntity)& start);
Standard_EXPORT TopoDS_Shape Transfer2dTopoBasicCurve (const Handle(IGESData_IGESEntity)& start, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact);
Standard_EXPORT TopoDS_Vertex TransferPoint (const Handle(IGESGeom_Point)& start);
Standard_EXPORT TopoDS_Vertex Transfer2dPoint (const Handle(IGESGeom_Point)& start);
Standard_EXPORT TopoDS_Shape TransferCompositeCurve (const Handle(IGESGeom_CompositeCurve)& start);
Standard_EXPORT TopoDS_Shape Transfer2dCompositeCurve (const Handle(IGESGeom_CompositeCurve)& start, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact);
Standard_EXPORT TopoDS_Shape TransferOffsetCurve (const Handle(IGESGeom_OffsetCurve)& start);
Standard_EXPORT TopoDS_Shape Transfer2dOffsetCurve (const Handle(IGESGeom_OffsetCurve)& start, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact);
Standard_EXPORT TopoDS_Shape TransferCurveOnSurface (const Handle(IGESGeom_CurveOnSurface)& start);
//! Transfers a CurveOnSurface directly on a face to trim it.
//! The CurveOnSurface have to be defined Outer or Inner.
Standard_EXPORT TopoDS_Shape TransferCurveOnFace (TopoDS_Face& face, const Handle(IGESGeom_CurveOnSurface)& start, const gp_Trsf2d& trans, const Standard_Real uFact, const Standard_Boolean IsCurv);
Standard_EXPORT TopoDS_Shape TransferBoundary (const Handle(IGESGeom_Boundary)& start);
//! Transfers a Boundary directly on a face to trim it.
Standard_EXPORT TopoDS_Shape TransferBoundaryOnFace (TopoDS_Face& face, const Handle(IGESGeom_Boundary)& start, const gp_Trsf2d& trans, const Standard_Real uFact);
Standard_EXPORT void ApproxBSplineCurve (const Handle(Geom_BSplineCurve)& start);
//! Returns the count of Curves in "TheCurves"
Standard_EXPORT Standard_Integer NbCurves() const;
//! Returns a Curve given its rank, by default the first one
//! (null Curvee if out of range) in "TheCurves"
Standard_EXPORT Handle(Geom_Curve) Curve (const Standard_Integer num = 1) const;
Standard_EXPORT void Approx2dBSplineCurve (const Handle(Geom2d_BSplineCurve)& start);
//! Returns the count of Curves in "TheCurves2d"
Standard_EXPORT Standard_Integer NbCurves2d() const;
//! Returns a Curve given its rank, by default the first one
//! (null Curvee if out of range) in "TheCurves2d"
Standard_EXPORT Handle(Geom2d_Curve) Curve2d (const Standard_Integer num = 1) const;
//! Sets TheBadCase flag
Standard_EXPORT void SetBadCase (const Standard_Boolean value);
//! Returns TheBadCase flag
Standard_EXPORT Standard_Boolean BadCase() const;
protected:
private:
Standard_EXPORT TopoDS_Shape TransferCompositeCurveGeneral (const Handle(IGESGeom_CompositeCurve)& start, const Standard_Boolean is2d, const TopoDS_Face& face, const gp_Trsf2d& trans, const Standard_Real uFact);
TColGeom_SequenceOfCurve TheCurves;
TColGeom2d_SequenceOfCurve TheCurves2d;
Standard_Boolean TheBadCase;
};
#endif // _IGESToBRep_TopoCurve_HeaderFile

View File

@@ -1,126 +0,0 @@
-- Created on: 1994-04-21
-- Created by: s: Christophe GUYOT & Frederic UNTEREINER
-- 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 TopoSurface from IGESToBRep inherits CurveAndSurface from IGESToBRep
---Purpose : Provides methods to transfer topologic surfaces entities
-- from IGES to CASCADE.
uses
CurveAndSurface from IGESToBRep,
IGESEntity from IGESData,
RuledSurface from IGESGeom,
SurfaceOfRevolution from IGESGeom,
TabulatedCylinder from IGESGeom,
OffsetSurface from IGESGeom,
Plane from IGESGeom,
TrimmedSurface from IGESGeom,
BoundedSurface from IGESGeom,
PlaneSurface from IGESSolid,
SingleParent from IGESBasic,
Shape from TopoDS,
Face from TopoDS,
Pln from gp,
Trsf from gp,
Trsf2d from gp
is
Create returns TopoSurface;
---Purpose : Creates a tool TopoSurface ready to run, with
-- epsilons set to 1.E-04, TheModeTopo to True, the
-- optimization of the continuity to False.
Create(CS : CurveAndSurface from IGESToBRep) returns TopoSurface;
---Purpose : Creates a tool TopoSurface ready to run and sets its
-- fields as CS's.
Create(eps : Real;
epsGeom : Real;
epsCoeff : Real;
mode : Boolean;
modeapprox : Boolean;
optimized : Boolean)
returns TopoSurface;
---Purpose : Creates a tool TopoSurface ready to run.
TransferTopoSurface (me : in out;
start : IGESEntity from IGESData)
returns Shape from TopoDS;
TransferTopoBasicSurface (me : in out;
start : IGESEntity from IGESData)
returns Shape from TopoDS;
TransferRuledSurface (me : in out;
start : RuledSurface from IGESGeom)
returns Shape from TopoDS;
TransferSurfaceOfRevolution (me : in out;
start : SurfaceOfRevolution from IGESGeom)
returns Shape from TopoDS;
TransferTabulatedCylinder (me : in out;
start : TabulatedCylinder from IGESGeom)
returns Shape from TopoDS;
TransferOffsetSurface (me : in out;
start : OffsetSurface from IGESGeom)
returns Shape from TopoDS;
TransferTrimmedSurface (me : in out;
start : TrimmedSurface from IGESGeom)
returns Shape from TopoDS;
TransferBoundedSurface (me : in out;
start : BoundedSurface from IGESGeom)
returns Shape from TopoDS;
TransferPlane (me : in out;
start : Plane from IGESGeom)
returns Shape from TopoDS;
TransferPlaneSurface (me : in out;
start : PlaneSurface from IGESSolid)
returns Shape from TopoDS;
TransferPerforate (me : in out;
start : SingleParent from IGESBasic)
returns Shape from TopoDS;
TransferPlaneParts (me : in out;
start : Plane from IGESGeom;
gplan : out Pln from gp;
locat : out Trsf from gp;
first : Boolean)
returns Shape from TopoDS is private;
ParamSurface (me : in out;
start : IGESEntity from IGESData;
trans : out Trsf2d from gp;
uFact : out Real)
returns Shape from TopoDS;
-- ---Purpose : Set the surface parameters:
-- IsRevol : True for TabulatedCylinder or SurfaceOfRevolution
-- ParamU ,Paramv, Length used for 2d Curves parametrization.
fields
TheULength : Real from Standard;
end TopoSurface;

View File

@@ -29,71 +29,101 @@
//#12 smh 12.12.99 FRA62468 - Using conversion to B-Spline for Offset surface
//=======================================================================
#include <IGESToBRep_TopoSurface.ixx>
#include <Standard_ErrorHandler.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepPrimAPI_MakePrism.hxx>
#include <BRepPrimAPI_MakeRevol.hxx>
//S4054: ShapeTool_MakeWire -> ShapeExtend_WireData //:g8: BRepLib_MakeWire -> ShapeTool_MakeWire
#include <BRepGProp.hxx>
#include <BRepFill.hxx>
#include <BRepLib_MakeFace.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepFill.hxx>
#include <BRepGProp.hxx>
#include <BRepLib_MakeFace.hxx>
#include <BRepOffset_MakeOffset.hxx>
#include <BRepPrimAPI_MakePrism.hxx>
#include <BRepPrimAPI_MakeRevol.hxx>
#include <BRepTools.hxx>
#include <BSplCLib.hxx>
#include <ElCLib.hxx>
#include <ElSLib.hxx>
#include <GProp.hxx>
#include <GProp_GProps.hxx>
#include <GeomAbs_Shape.hxx>
#include <Geom2d_Line.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom2d_Line.hxx>
#include <Geom_BezierCurve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_BSplineSurface.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_Curve.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_Line.hxx>
#include <Geom_OffsetSurface.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Surface.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_SphericalSurface.hxx>
#include <Geom_Surface.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_SurfaceOfRevolution.hxx>
#include <Geom_ToroidalSurface.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_BSplineSurface.hxx>
#include <IGESGeom_BoundedSurface.hxx>
#include <IGESGeom_CurveOnSurface.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_Direction.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_ToroidalSurface.hxx>
#include <IGESSolid_SphericalSurface.hxx>
#include <IGESSolid_PlaneSurface.hxx>
#include <Interface_Macros.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomConvert.hxx>
#include <GeomLib.hxx>
#include <gp.hxx>
#include <gp_Ax1.hxx>
#include <gp_Cone.hxx>
#include <gp_Cylinder.hxx>
#include <gp_Dir.hxx>
#include <gp_Dir2d.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Sphere.hxx>
#include <gp_Torus.hxx>
#include <gp_Trsf.hxx>
#include <gp_Trsf2d.hxx>
#include <gp_Vec.hxx>
#include <GProp.hxx>
#include <GProp_GProps.hxx>
#include <IGESBasic_SingleParent.hxx>
#include <IGESData_IGESEntity.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESData_ToolLocation.hxx>
#include <IGESGeom_BoundedSurface.hxx>
#include <IGESGeom_BSplineSurface.hxx>
#include <IGESGeom_CircularArc.hxx>
#include <IGESGeom_CurveOnSurface.hxx>
#include <IGESGeom_Direction.hxx>
#include <IGESGeom_Line.hxx>
#include <IGESGeom_OffsetSurface.hxx>
#include <IGESGeom_Plane.hxx>
#include <IGESGeom_Point.hxx>
#include <IGESGeom_RuledSurface.hxx>
#include <IGESGeom_SurfaceOfRevolution.hxx>
#include <IGESGeom_TabulatedCylinder.hxx>
#include <IGESGeom_TrimmedSurface.hxx>
#include <IGESSolid_ConicalSurface.hxx>
#include <IGESSolid_CylindricalSurface.hxx>
#include <IGESSolid_PlaneSurface.hxx>
#include <IGESSolid_SphericalSurface.hxx>
#include <IGESSolid_ToroidalSurface.hxx>
#include <IGESToBRep.hxx>
#include <IGESToBRep_BasicCurve.hxx>
#include <IGESToBRep_BasicSurface.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <IGESToBRep_TopoCurve.hxx>
#include <IGESToBRep_TopoSurface.hxx>
#include <Interface_Macros.hxx>
#include <Message_Msg.hxx>
#include <Precision.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <ShapeAnalysis.hxx>
#include <ShapeExtend_WireData.hxx>
#include <ShapeFix_Wire.hxx>
#include <Standard_ErrorHandler.hxx>
#include <TColgp_Array1OfPnt.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TopAbs.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
@@ -103,67 +133,16 @@
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <gp.hxx>
#include <gp_Ax1.hxx>
#include <gp_Cylinder.hxx>
#include <gp_Cone.hxx>
#include <gp_Dir.hxx>
#include <gp_Dir2d.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Sphere.hxx>
#include <gp_Torus.hxx>
#include <gp_Trsf.hxx>
#include <gp_Vec.hxx>
#include <stdio.h>
//S4054: ShapeTool_MakeWire -> ShapeExtend_WireData //:g8: BRepLib_MakeWire -> ShapeTool_MakeWire
//:e3
#include <TColgp_Array1OfPnt.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Line.hxx>
#include <BRepTools.hxx>//#16
#include <ShapeAnalysis.hxx>
//#16
//S4054
#include <ShapeExtend_WireData.hxx>
#include <ShapeFix_Wire.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomConvert.hxx>
#include <GeomLib.hxx>
#include <BSplCLib.hxx>
//S3767
#include <Message_Msg.hxx>
#include <IGESData_IGESModel.hxx>
#include <IGESGeom_CircularArc.hxx>
#include <ElCLib.hxx>
#include <BRepOffset_MakeOffset.hxx>
#include <BRep_Tool.hxx>
#include <Geom_BSplineSurface.hxx>
#include <ShapeAlgo.hxx>
#include <ShapeAlgo_AlgoContainer.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <Geom_SurfaceOfRevolution.hxx>
#include <IGESGeom_TrimmedSurface.hxx>
#include <IGESGeom_SurfaceOfRevolution.hxx>
#include <IGESGeom_TabulatedCylinder.hxx>
#include <IGESGeom_RuledSurface.hxx>
#include <IGESGeom_Plane.hxx>
#include <IGESGeom_OffsetSurface.hxx>
#include <IGESBasic_SingleParent.hxx>
//=======================================================================
//function : IGESToBRep_TopoSurface
//purpose :
//=======================================================================
IGESToBRep_TopoSurface::IGESToBRep_TopoSurface()
:IGESToBRep_CurveAndSurface()
{

View File

@@ -0,0 +1,115 @@
// Created on: 1994-04-21
// Created by: s: Christophe GUYOT & Frederic UNTEREINER
// 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 _IGESToBRep_TopoSurface_HeaderFile
#define _IGESToBRep_TopoSurface_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <IGESToBRep_CurveAndSurface.hxx>
#include <Standard_Boolean.hxx>
class IGESToBRep_CurveAndSurface;
class TopoDS_Shape;
class IGESData_IGESEntity;
class IGESGeom_RuledSurface;
class IGESGeom_SurfaceOfRevolution;
class IGESGeom_TabulatedCylinder;
class IGESGeom_OffsetSurface;
class IGESGeom_TrimmedSurface;
class IGESGeom_BoundedSurface;
class IGESGeom_Plane;
class IGESSolid_PlaneSurface;
class IGESBasic_SingleParent;
class gp_Pln;
class gp_Trsf;
class gp_Trsf2d;
//! Provides methods to transfer topologic surfaces entities
//! from IGES to CASCADE.
class IGESToBRep_TopoSurface : public IGESToBRep_CurveAndSurface
{
public:
DEFINE_STANDARD_ALLOC
//! Creates a tool TopoSurface ready to run, with
//! epsilons set to 1.E-04, TheModeTopo to True, the
//! optimization of the continuity to False.
Standard_EXPORT IGESToBRep_TopoSurface();
//! Creates a tool TopoSurface ready to run and sets its
//! fields as CS's.
Standard_EXPORT IGESToBRep_TopoSurface(const IGESToBRep_CurveAndSurface& CS);
//! Creates a tool TopoSurface ready to run.
Standard_EXPORT IGESToBRep_TopoSurface(const Standard_Real eps, const Standard_Real epsGeom, const Standard_Real epsCoeff, const Standard_Boolean mode, const Standard_Boolean modeapprox, const Standard_Boolean optimized);
Standard_EXPORT TopoDS_Shape TransferTopoSurface (const Handle(IGESData_IGESEntity)& start);
Standard_EXPORT TopoDS_Shape TransferTopoBasicSurface (const Handle(IGESData_IGESEntity)& start);
Standard_EXPORT TopoDS_Shape TransferRuledSurface (const Handle(IGESGeom_RuledSurface)& start);
Standard_EXPORT TopoDS_Shape TransferSurfaceOfRevolution (const Handle(IGESGeom_SurfaceOfRevolution)& start);
Standard_EXPORT TopoDS_Shape TransferTabulatedCylinder (const Handle(IGESGeom_TabulatedCylinder)& start);
Standard_EXPORT TopoDS_Shape TransferOffsetSurface (const Handle(IGESGeom_OffsetSurface)& start);
Standard_EXPORT TopoDS_Shape TransferTrimmedSurface (const Handle(IGESGeom_TrimmedSurface)& start);
Standard_EXPORT TopoDS_Shape TransferBoundedSurface (const Handle(IGESGeom_BoundedSurface)& start);
Standard_EXPORT TopoDS_Shape TransferPlane (const Handle(IGESGeom_Plane)& start);
Standard_EXPORT TopoDS_Shape TransferPlaneSurface (const Handle(IGESSolid_PlaneSurface)& start);
Standard_EXPORT TopoDS_Shape TransferPerforate (const Handle(IGESBasic_SingleParent)& start);
Standard_EXPORT TopoDS_Shape ParamSurface (const Handle(IGESData_IGESEntity)& start, gp_Trsf2d& trans, Standard_Real& uFact);
protected:
private:
Standard_EXPORT TopoDS_Shape TransferPlaneParts (const Handle(IGESGeom_Plane)& start, gp_Pln& gplan, gp_Trsf& locat, const Standard_Boolean first);
Standard_Real TheULength;
};
#endif // _IGESToBRep_TopoSurface_HeaderFile