File indexing completed on 2025-01-18 10:03:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _BRepMesh_EdgeTessellationExtractor_HeaderFile
0017 #define _BRepMesh_EdgeTessellationExtractor_HeaderFile
0018
0019 #include <IMeshTools_CurveTessellator.hxx>
0020 #include <BRepMesh_EdgeParameterProvider.hxx>
0021 #include <TColStd_Array1OfInteger.hxx>
0022 #include <TopLoc_Location.hxx>
0023
0024
0025
0026 class BRepMesh_EdgeTessellationExtractor : public IMeshTools_CurveTessellator
0027 {
0028 public:
0029
0030
0031 Standard_EXPORT BRepMesh_EdgeTessellationExtractor (
0032 const IMeshData::IEdgeHandle& theEdge,
0033 const IMeshData::IFaceHandle& theFace);
0034
0035
0036 Standard_EXPORT virtual ~BRepMesh_EdgeTessellationExtractor ();
0037
0038
0039 Standard_EXPORT virtual Standard_Integer PointsNb () const Standard_OVERRIDE;
0040
0041
0042
0043
0044
0045
0046 Standard_EXPORT virtual Standard_Boolean Value (
0047 const Standard_Integer theIndex,
0048 gp_Pnt& thePoint,
0049 Standard_Real& theParameter) const Standard_OVERRIDE;
0050
0051 DEFINE_STANDARD_RTTIEXT(BRepMesh_EdgeTessellationExtractor, IMeshTools_CurveTessellator)
0052
0053 private:
0054
0055 BRepMesh_EdgeParameterProvider<Handle(TColStd_HArray1OfReal)> myProvider;
0056 const Poly_Triangulation* myTriangulation;
0057 const TColStd_Array1OfInteger* myIndices;
0058 TopLoc_Location myLoc;
0059 };
0060
0061 #endif