Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:05:15

0001 // Created on: 1994-12-16
0002 // Created by: Frederic MAUPAS
0003 // Copyright (c) 1994-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 _StepToTopoDS_Tool_HeaderFile
0018 #define _StepToTopoDS_Tool_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023 
0024 #include <StepToTopoDS_DataMapOfTRI.hxx>
0025 #include <StepToTopoDS_PointVertexMap.hxx>
0026 #include <StepToTopoDS_PointEdgeMap.hxx>
0027 #include <Standard_Integer.hxx>
0028 class Transfer_TransientProcess;
0029 class StepShape_TopologicalRepresentationItem;
0030 class TopoDS_Shape;
0031 class StepToTopoDS_PointPair;
0032 class TopoDS_Edge;
0033 class StepGeom_CartesianPoint;
0034 class TopoDS_Vertex;
0035 class Geom_Surface;
0036 class Geom_Curve;
0037 class Geom2d_Curve;
0038 
0039 
0040 //! This Tool Class provides Information to build
0041 //! a Cas.Cad BRep from a ProSTEP Shape model.
0042 class StepToTopoDS_Tool 
0043 {
0044 public:
0045 
0046   DEFINE_STANDARD_ALLOC
0047 
0048   
0049   Standard_EXPORT StepToTopoDS_Tool();
0050   
0051   Standard_EXPORT StepToTopoDS_Tool(const StepToTopoDS_DataMapOfTRI& Map, const Handle(Transfer_TransientProcess)& TP);
0052   
0053   Standard_EXPORT void Init (const StepToTopoDS_DataMapOfTRI& Map, const Handle(Transfer_TransientProcess)& TP);
0054   
0055   Standard_EXPORT Standard_Boolean IsBound (const Handle(StepShape_TopologicalRepresentationItem)& TRI);
0056   
0057   Standard_EXPORT void Bind (const Handle(StepShape_TopologicalRepresentationItem)& TRI, const TopoDS_Shape& S);
0058   
0059   Standard_EXPORT const TopoDS_Shape& Find (const Handle(StepShape_TopologicalRepresentationItem)& TRI);
0060   
0061   Standard_EXPORT void ClearEdgeMap();
0062   
0063   Standard_EXPORT Standard_Boolean IsEdgeBound (const StepToTopoDS_PointPair& PP);
0064   
0065   Standard_EXPORT void BindEdge (const StepToTopoDS_PointPair& PP, const TopoDS_Edge& E);
0066   
0067   Standard_EXPORT const TopoDS_Edge& FindEdge (const StepToTopoDS_PointPair& PP);
0068   
0069   Standard_EXPORT void ClearVertexMap();
0070   
0071   Standard_EXPORT Standard_Boolean IsVertexBound (const Handle(StepGeom_CartesianPoint)& PG);
0072   
0073   Standard_EXPORT void BindVertex (const Handle(StepGeom_CartesianPoint)& P, const TopoDS_Vertex& V);
0074   
0075   Standard_EXPORT const TopoDS_Vertex& FindVertex (const Handle(StepGeom_CartesianPoint)& P);
0076   
0077   Standard_EXPORT void ComputePCurve (const Standard_Boolean B);
0078   
0079   Standard_EXPORT Standard_Boolean ComputePCurve() const;
0080   
0081   Standard_EXPORT Handle(Transfer_TransientProcess) TransientProcess() const;
0082   
0083   Standard_EXPORT void AddContinuity (const Handle(Geom_Surface)& GeomSurf);
0084   
0085   Standard_EXPORT void AddContinuity (const Handle(Geom_Curve)& GeomCurve);
0086   
0087   Standard_EXPORT void AddContinuity (const Handle(Geom2d_Curve)& GeomCur2d);
0088   
0089   Standard_EXPORT Standard_Integer C0Surf() const;
0090   
0091   Standard_EXPORT Standard_Integer C1Surf() const;
0092   
0093   Standard_EXPORT Standard_Integer C2Surf() const;
0094   
0095   Standard_EXPORT Standard_Integer C0Cur2() const;
0096   
0097   Standard_EXPORT Standard_Integer C1Cur2() const;
0098   
0099   Standard_EXPORT Standard_Integer C2Cur2() const;
0100   
0101   Standard_EXPORT Standard_Integer C0Cur3() const;
0102   
0103   Standard_EXPORT Standard_Integer C1Cur3() const;
0104   
0105   Standard_EXPORT Standard_Integer C2Cur3() const;
0106 
0107 
0108 
0109 
0110 protected:
0111 
0112 
0113 
0114 
0115 
0116 private:
0117 
0118 
0119 
0120   StepToTopoDS_DataMapOfTRI myDataMap;
0121   StepToTopoDS_PointVertexMap myVertexMap;
0122   StepToTopoDS_PointEdgeMap myEdgeMap;
0123   Standard_Boolean myComputePC;
0124   Handle(Transfer_TransientProcess) myTransProc;
0125   Standard_Integer myNbC0Surf;
0126   Standard_Integer myNbC1Surf;
0127   Standard_Integer myNbC2Surf;
0128   Standard_Integer myNbC0Cur2;
0129   Standard_Integer myNbC1Cur2;
0130   Standard_Integer myNbC2Cur2;
0131   Standard_Integer myNbC0Cur3;
0132   Standard_Integer myNbC1Cur3;
0133   Standard_Integer myNbC2Cur3;
0134 
0135 
0136 };
0137 
0138 
0139 
0140 
0141 
0142 
0143 
0144 #endif // _StepToTopoDS_Tool_HeaderFile