Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:03:17

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 
0038 //! This class implements the transfer of Shape Entities
0039 //! from Geom To IGES. These can be :
0040 //! . Vertex
0041 //! . Edge
0042 //! . Wire
0043 class BRepToIGES_BRWire  : public BRepToIGES_BREntity
0044 {
0045 public:
0046 
0047   DEFINE_STANDARD_ALLOC
0048 
0049   
0050   Standard_EXPORT BRepToIGES_BRWire();
0051   
0052   Standard_EXPORT BRepToIGES_BRWire(const BRepToIGES_BREntity& BR);
0053   
0054   //! Transfert a Shape entity from TopoDS to IGES
0055   //! this entity must be a Vertex or an Edge or a Wire.
0056   //! If this Entity could not be converted,
0057   //! this member returns a NullEntity.
0058   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire (const TopoDS_Shape& start);
0059   
0060   //! Transfert a Vertex entity from TopoDS to IGES
0061   //! If this Entity could not be converted,
0062   //! this member returns a NullEntity.
0063   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex (const TopoDS_Vertex& myvertex);
0064   
0065   //! Transfert a Vertex entity on an Edge from TopoDS to IGES
0066   //! Returns the parameter of myvertex on myedge.
0067   //! If this Entity could not be converted,
0068   //! this member returns a NullEntity.
0069   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex (const TopoDS_Vertex& myvertex, const TopoDS_Edge& myedge, Standard_Real& parameter);
0070   
0071   //! Transfert a Vertex entity of an edge on a Face
0072   //! from TopoDS to IGES
0073   //! Returns the parameter of myvertex on the pcurve
0074   //! of myedge on myface
0075   //! If this Entity could not be converted,
0076   //! this member returns a NullEntity.
0077   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex (const TopoDS_Vertex& myvertex, const TopoDS_Edge& myedge, const TopoDS_Face& myface, Standard_Real& parameter);
0078   
0079   //! Transfert a Vertex entity of an edge on a Surface
0080   //! from TopoDS to IGES
0081   //! Returns the parameter of myvertex on the pcurve
0082   //! of myedge on mysurface
0083   //! If this Entity could not be converted,
0084   //! this member returns a NullEntity.
0085   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex (const TopoDS_Vertex& myvertex, const TopoDS_Edge& myedge, const Handle(Geom_Surface)& mysurface, const TopLoc_Location& myloc, Standard_Real& parameter);
0086   
0087   //! Transfert a Vertex entity on a Face from TopoDS to IGES
0088   //! Returns the parameters of myvertex on myface
0089   //! If this Entity could not be converted,
0090   //! this member returns a NullEntity.
0091   Standard_EXPORT Handle(IGESData_IGESEntity) TransferVertex (const TopoDS_Vertex& myvertex, const TopoDS_Face& myface, gp_Pnt2d& mypoint);
0092   
0093   //! Transfert an Edge 3d entity from TopoDS to IGES
0094   //! If edge is REVERSED and isBRepMode is False 3D edge curve is reversed
0095   //! @param[in] theEdge input edge to transfer
0096   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not reversed
0097   //! @param[in] theIsBRepMode indicates if write mode is BRep
0098   //! @return Iges entity or null if could not be converted
0099   Standard_EXPORT Handle(IGESData_IGESEntity) TransferEdge (const TopoDS_Edge& theEdge, const TopTools_DataMapOfShapeShape& theOriginMap, const Standard_Boolean theIsBRepMode);
0100   
0101   //! Transfert an Edge 2d entity on a Face from TopoDS to IGES
0102   //! @param[in] theEdge input edge to transfer
0103   //! @param[in] theFace input face to get the surface and UV coordinates from it
0104   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not reversed
0105   //! @param[in] theLength input surface length
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 (const TopoDS_Edge& theEdge, const TopoDS_Face& theFace, const TopTools_DataMapOfShapeShape& theOriginMap, const Standard_Real theLength, const Standard_Boolean theIsBRepMode);
0109   
0110   //! Transfert a Wire entity from TopoDS to IGES
0111   //! If this Entity could not be converted,
0112   //! this member returns a NullEntity.
0113   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire (const TopoDS_Wire& mywire);
0114   
0115   //! Transfert a Wire entity from TopoDS to IGES.
0116   //! @param[in] theWire input wire
0117   //! @param[in] theFace input face
0118   //! @param[in] theOriginMap shapemap contains the original shapes. Should be empty if face is not reversed
0119   //! @param[in] theCurve2d input curve 2d
0120   //! @param[in] theLength input surface length
0121   //! @return Iges entity (the curve associated to mywire in the parametric space of myface)
0122   //! or null if could not be converted
0123   Standard_EXPORT Handle(IGESData_IGESEntity) TransferWire (const TopoDS_Wire& theWire, const TopoDS_Face& theFace, const TopTools_DataMapOfShapeShape& theOriginMap, Handle(IGESData_IGESEntity)& theCurve2d, const Standard_Real theLength);
0124 
0125 
0126 
0127 
0128 protected:
0129 
0130 
0131 
0132 
0133 
0134 private:
0135 
0136 
0137 
0138 
0139 
0140 };
0141 
0142 
0143 
0144 
0145 
0146 
0147 
0148 #endif // _BRepToIGES_BRWire_HeaderFile