Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-28 09:17:58

0001 // Created on: 1995-01-27
0002 // Created by: Marie Jose MARTZ
0003 // Copyright (c) 1995-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _BRepToIGES_BRWire_HeaderFile
0018 #define _BRepToIGES_BRWire_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023 
0024 #include <BRepToIGES_BREntity.hxx>
0025 #include <TopTools_DataMapOfShapeShape.hxx>
0026 
0027 class IGESData_IGESEntity;
0028 class TopoDS_Shape;
0029 class TopoDS_Vertex;
0030 class TopoDS_Edge;
0031 class TopoDS_Face;
0032 class Geom_Surface;
0033 class TopLoc_Location;
0034 class gp_Pnt2d;
0035 class TopoDS_Wire;
0036 
0037 //! This class implements the transfer of Shape Entities
0038 //! from Geom To IGES. These can be :
0039 //! . Vertex
0040 //! . Edge
0041 //! . Wire
0042 class BRepToIGES_BRWire : public BRepToIGES_BREntity
0043 {
0044 public:
0045   DEFINE_STANDARD_ALLOC
0046 
0047   Standard_EXPORT BRepToIGES_BRWire();
0048 
0049   Standard_EXPORT BRepToIGES_BRWire(const BRepToIGES_BREntity& BR);
0050 
0051   //! Transfert a Shape entity from TopoDS to IGES
0052   //! this entity must be a Vertex or an Edge or a Wire.
0053   //! If this Entity could not be converted,
0054   //! this member returns a NullEntity.
0055   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire(const TopoDS_Shape& start);
0056 
0057   //! Transfert a Vertex entity from TopoDS to IGES
0058   //! If this Entity could not be converted,
0059   //! this member returns a NullEntity.
0060   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex(const TopoDS_Vertex& myvertex);
0061 
0062   //! Transfert a Vertex entity on an Edge from TopoDS to IGES
0063   //! Returns the parameter of myvertex on myedge.
0064   //! If this Entity could not be converted,
0065   //! this member returns a NullEntity.
0066   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex(const TopoDS_Vertex& myvertex,
0067                                                              const TopoDS_Edge&   myedge,
0068                                                              Standard_Real&       parameter);
0069 
0070   //! Transfert a Vertex entity of an edge on a Face
0071   //! from TopoDS to IGES
0072   //! Returns the parameter of myvertex on the pcurve
0073   //! of myedge on myface
0074   //! If this Entity could not be converted,
0075   //! this member returns a NullEntity.
0076   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex(const TopoDS_Vertex& myvertex,
0077                                                              const TopoDS_Edge&   myedge,
0078                                                              const TopoDS_Face&   myface,
0079                                                              Standard_Real&       parameter);
0080 
0081   //! Transfert a Vertex entity of an edge on a Surface
0082   //! from TopoDS to IGES
0083   //! Returns the parameter of myvertex on the pcurve
0084   //! of myedge on mysurface
0085   //! If this Entity could not be converted,
0086   //! this member returns a NullEntity.
0087   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex(const TopoDS_Vertex&        myvertex,
0088                                                              const TopoDS_Edge&          myedge,
0089                                                              const Handle(Geom_Surface)& mysurface,
0090                                                              const TopLoc_Location&      myloc,
0091                                                              Standard_Real&              parameter);
0092 
0093   //! Transfert a Vertex entity on a Face from TopoDS to IGES
0094   //! Returns the parameters of myvertex on myface
0095   //! If this Entity could not be converted,
0096   //! this member returns a NullEntity.
0097   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex(const TopoDS_Vertex& myvertex,
0098                                                              const TopoDS_Face&   myface,
0099                                                              gp_Pnt2d&            mypoint);
0100 
0101   //! Transfert an Edge 3d entity from TopoDS to IGES
0102   //! If edge is REVERSED and isBRepMode is False 3D edge curve is reversed
0103   //! @param[in] theEdge input edge to transfer
0104   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not
0105   //! reversed
0106   //! @param[in] theIsBRepMode indicates if write mode is BRep
0107   //! @return Iges entity or null if could not be converted
0108   Standard_EXPORT Handle(IGESData_IGESEntity) TransferEdge(
0109     const TopoDS_Edge&                  theEdge,
0110     const TopTools_DataMapOfShapeShape& theOriginMap,
0111     const Standard_Boolean              theIsBRepMode);
0112 
0113   //! Transfert an Edge 2d entity on a Face from TopoDS to IGES
0114   //! @param[in] theEdge input edge to transfer
0115   //! @param[in] theFace input face to get the surface and UV coordinates from it
0116   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not
0117   //! reversed
0118   //! @param[in] theLength input surface length
0119   //! @param[in] theIsBRepMode indicates if write mode is BRep
0120   //! @return Iges entity or null if could not be converted
0121   Standard_EXPORT Handle(IGESData_IGESEntity) TransferEdge(
0122     const TopoDS_Edge&                  theEdge,
0123     const TopoDS_Face&                  theFace,
0124     const TopTools_DataMapOfShapeShape& theOriginMap,
0125     const Standard_Real                 theLength,
0126     const Standard_Boolean              theIsBRepMode);
0127 
0128   //! Transfert a Wire entity from TopoDS to IGES
0129   //! If this Entity could not be converted,
0130   //! this member returns a NullEntity.
0131   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire(const TopoDS_Wire& mywire);
0132 
0133   //! Transfert a Wire entity from TopoDS to IGES.
0134   //! @param[in] theWire input wire
0135   //! @param[in] theFace input face
0136   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not
0137   //! reversed
0138   //! @param[in] theCurve2d input curve 2d
0139   //! @param[in] theLength input surface length
0140   //! @return Iges entity (the curve associated to mywire in the parametric space of myface)
0141   //! or null if could not be converted
0142   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire(
0143     const TopoDS_Wire&                  theWire,
0144     const TopoDS_Face&                  theFace,
0145     const TopTools_DataMapOfShapeShape& theOriginMap,
0146     Handle(IGESData_IGESEntity)&        theCurve2d,
0147     const Standard_Real                 theLength);
0148 
0149 protected:
0150 private:
0151 };
0152 
0153 #endif // _BRepToIGES_BRWire_HeaderFile