You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
2 years ago
|
#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<float> &srf1_, RationalSurface<float> &srf2_, SrfMesh &mesh1_, SrfMesh &mesh2_);
|
||
|
|
||
|
SrfMesh &mesh1;
|
||
|
SrfMesh &mesh2;
|
||
|
// 调用各个工具直接传入mesh信息,避免nurbs曲面的重复采样
|
||
|
// 但曲面参数信息仍然需要传入,因为C2C4在最小的网格的基础上还需要进一步细分采样
|
||
|
RationalSurface<float> &srf1;
|
||
|
RationalSurface<float> &srf2;
|
||
|
|
||
|
// 关注mesh的采样网格中的哪个范围
|
||
|
// 假设mesh.sampleLevel = 5;
|
||
|
bool judge(pair<int, int> focusRange_u1, pair<int, int> focusRange_v1,
|
||
|
pair<int, int> focusRange_u2, pair<int, int> focusRange_v2);
|
||
|
|
||
|
vector<vector<char>> judgeRes;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif //SINGULARITYJUDGER_SINGULARITYJUDGER_H
|