File indexing completed on 2025-01-18 10:05:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
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