Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // Created on: 1999-02-11
0002 // Created by: Pavel DURANDIN
0003 // Copyright (c) 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 _STEPSelections_Counter_HeaderFile
0018 #define _STEPSelections_Counter_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023 
0024 #include <Standard_Integer.hxx>
0025 #include <TColStd_MapOfTransient.hxx>
0026 class Interface_Graph;
0027 class Standard_Transient;
0028 class StepShape_ConnectedFaceSet;
0029 class StepGeom_CompositeCurve;
0030 
0031 
0032 
0033 class STEPSelections_Counter 
0034 {
0035 public:
0036 
0037   DEFINE_STANDARD_ALLOC
0038 
0039   
0040   Standard_EXPORT STEPSelections_Counter();
0041   
0042   Standard_EXPORT void Count (const Interface_Graph& graph, const Handle(Standard_Transient)& start);
0043   
0044   Standard_EXPORT void Clear();
0045   
0046     Standard_Integer NbInstancesOfFaces() const;
0047   
0048     Standard_Integer POP() const;
0049   
0050     Standard_Integer POP2() const;
0051   
0052     Standard_Integer NbInstancesOfShells() const;
0053   
0054     Standard_Integer NbInstancesOfSolids() const;
0055   
0056     Standard_Integer NbInstancesOfEdges() const;
0057   
0058     Standard_Integer NbInstancesOfWires() const;
0059   
0060     Standard_Integer NbSourceFaces() const;
0061   
0062     Standard_Integer NbSourceShells() const;
0063   
0064     Standard_Integer NbSourceSolids() const;
0065   
0066     Standard_Integer NbSourceEdges() const;
0067   
0068     Standard_Integer NbSourceWires() const;
0069 
0070 
0071 
0072 
0073 protected:
0074 
0075 
0076 
0077 
0078 
0079 private:
0080 
0081   
0082   Standard_EXPORT void AddShell (const Handle(StepShape_ConnectedFaceSet)& cfs);
0083   
0084   Standard_EXPORT void AddCompositeCurve (const Handle(StepGeom_CompositeCurve)& ccurve);
0085 
0086 
0087   Standard_Integer myNbFaces;
0088   Standard_Integer myNbShells;
0089   Standard_Integer myNbSolids;
0090   Standard_Integer myNbEdges;
0091   Standard_Integer myNbWires;
0092   TColStd_MapOfTransient myMapOfFaces;
0093   TColStd_MapOfTransient myMapOfShells;
0094   TColStd_MapOfTransient myMapOfSolids;
0095   TColStd_MapOfTransient myMapOfEdges;
0096   TColStd_MapOfTransient myMapOfWires;
0097 
0098 
0099 };
0100 
0101 
0102 #include <STEPSelections_Counter.lxx>
0103 
0104 
0105 
0106 
0107 
0108 #endif // _STEPSelections_Counter_HeaderFile