OneContour.h
上传用户:ynjin1970
上传日期:2014-10-13
资源大小:6438k
文件大小:1k
源码类别:

中间件编程

开发平台:

Visual C++

  1. // Contour.h: interface for the COneContour class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CONTOUR_H__1A402A48_1C4B_4F27_9DBD_719CF9D260D9__INCLUDED_)
  5. #define AFX_CONTOUR_H__1A402A48_1C4B_4F27_9DBD_719CF9D260D9__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Triangulate.h"
  10. #include "GlobalFunctions.h"
  11. class COneContour  
  12. {
  13. public:
  14. COneContour(CTriangulate *T, double z);
  15. virtual ~COneContour();
  16. private:
  17. void SearchZValuePointsOfTris();
  18. public:
  19. int GetSegCount();
  20. double GetZValue();
  21. int * GetAfterPointsCount();
  22. XYZ ** GetAfterPoints();
  23. int * GetPointsCount();
  24. XYZ ** GetPoints();
  25. COneContour();
  26. void Initial(CTriangulate *T, double z, int smoothmethod = 0);
  27. void CreateContour();
  28. // void SetSmoothMethod( int method) { smoothmethod_ = method; };
  29. private:
  30. double epsilon;
  31. CTriangulate *T;
  32. XYZ *points_[1024]; // 找到的三角形的等值线点(未平滑插值)
  33. int pointscount_[1024];
  34. XYZ *afterpoints_[1024]; // 插值后形成的等值点
  35. int afterpointscount_[1024];
  36. int smoothmethod_; // 平滑方法,具体的平滑方法待定
  37. double zvalue;
  38. int segsum_; // 保存在一个指针内的等值线段的数量
  39. };
  40. #endif // !defined(AFX_CONTOUR_H__1A402A48_1C4B_4F27_9DBD_719CF9D260D9__INCLUDED_)