#ifndef FILE_OCC_EDGE_INCLUDED #define FILE_OCC_EDGE_INCLUDED #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" #include #include #include #include #include #include #pragma clang diagnostic pop #include "occ_vertex.hpp" #include "meshing.hpp" namespace netgen { class OCCEdge : public GeometryEdge { public: TopoDS_Edge edge; Handle(Geom_Curve) curve; double s0, s1; GProp_GProps props; public: OCCEdge(TopoDS_Shape edge_, GeometryVertex & start_, GeometryVertex & end_); auto Shape() const { return edge; } double GetLength() const override; Point<3> GetCenter() const override; Point<3> GetPoint(double t) const override; double CalcStep(double t, double sag) const override; void ProjectPoint(Point<3>& p, EdgePointGeomInfo* gi) const override; Vec<3> GetTangent(double t) const override; bool IsDegenerated(double) const override { return BRep_Tool::Degenerated(edge); } }; } #endif // FILE_OCCEDGE_INCLUDED