#ifndef SINGULARITYJUDGER_SINGULARITYJUDGER_H #define SINGULARITYJUDGER_SINGULARITYJUDGER_H #include "tinynurbs/tinynurbs.h" #include "vector" #include "srf_mesh.h" #include "tinynurbs/tinynurbs.h" using namespace std; using namespace tinynurbs; class SingularityJudger { public: SingularityJudger(RationalSurface &srf1_, RationalSurface &srf2_, SrfMesh &mesh1_, SrfMesh &mesh2_); SrfMesh &mesh1; SrfMesh &mesh2; // 调用各个工具直接传入mesh信息,避免nurbs曲面的重复采样 // 但曲面参数信息仍然需要传入,因为C2C4在最小的网格的基础上还需要进一步细分采样 RationalSurface &srf1; RationalSurface &srf2; // 关注mesh的采样网格中的哪个范围 // 假设mesh.sampleLevel = 5; bool judge(pair focusRange_u1, pair focusRange_v1, pair focusRange_u2, pair focusRange_v2); vector> judgeRes; }; #endif //SINGULARITYJUDGER_SINGULARITYJUDGER_H