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:
27
src/IGESToBRep/FILES
Normal file
27
src/IGESToBRep/FILES
Normal 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
|
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
//=======================================================================
|
||||
|
142
src/IGESToBRep/IGESToBRep.hxx
Normal file
142
src/IGESToBRep/IGESToBRep.hxx
Normal 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
|
@@ -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;
|
@@ -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>
|
||||
|
||||
|
93
src/IGESToBRep/IGESToBRep_Actor.hxx
Normal file
93
src/IGESToBRep/IGESToBRep_Actor.hxx
Normal 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
|
@@ -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;
|
@@ -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;
|
||||
|
70
src/IGESToBRep/IGESToBRep_AlgoContainer.hxx
Normal file
70
src/IGESToBRep/IGESToBRep_AlgoContainer.hxx
Normal 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
|
@@ -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;
|
@@ -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 :
|
||||
|
109
src/IGESToBRep/IGESToBRep_BRepEntity.hxx
Normal file
109
src/IGESToBRep/IGESToBRep_BRepEntity.hxx
Normal 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
|
@@ -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;
|
@@ -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
|
||||
|
134
src/IGESToBRep/IGESToBRep_BasicCurve.hxx
Normal file
134
src/IGESToBRep/IGESToBRep_BasicCurve.hxx
Normal 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
|
@@ -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;
|
@@ -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
|
||||
|
124
src/IGESToBRep/IGESToBRep_BasicSurface.hxx
Normal file
124
src/IGESToBRep/IGESToBRep_BasicSurface.hxx
Normal 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
|
@@ -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;
|
@@ -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),
|
||||
|
235
src/IGESToBRep/IGESToBRep_CurveAndSurface.hxx
Normal file
235
src/IGESToBRep/IGESToBRep_CurveAndSurface.hxx
Normal 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
|
@@ -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;
|
@@ -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()
|
||||
{
|
||||
}
|
||||
|
160
src/IGESToBRep/IGESToBRep_IGESBoundary.hxx
Normal file
160
src/IGESToBRep/IGESToBRep_IGESBoundary.hxx
Normal 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
|
@@ -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;
|
@@ -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
|
||||
|
138
src/IGESToBRep/IGESToBRep_Reader.hxx
Normal file
138
src/IGESToBRep/IGESToBRep_Reader.hxx
Normal 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
|
@@ -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;
|
@@ -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()
|
||||
{
|
||||
}
|
||||
|
65
src/IGESToBRep/IGESToBRep_ToolContainer.hxx
Normal file
65
src/IGESToBRep/IGESToBRep_ToolContainer.hxx
Normal 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
|
@@ -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;
|
@@ -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()
|
||||
{
|
||||
|
155
src/IGESToBRep/IGESToBRep_TopoCurve.hxx
Normal file
155
src/IGESToBRep/IGESToBRep_TopoCurve.hxx
Normal 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
|
@@ -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;
|
@@ -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()
|
||||
{
|
||||
|
115
src/IGESToBRep/IGESToBRep_TopoSurface.hxx
Normal file
115
src/IGESToBRep/IGESToBRep_TopoSurface.hxx
Normal 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
|
Reference in New Issue
Block a user