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

中间件编程

开发平台:

Visual C++

  1. #if !defined(XLD_GLOBALFUNCTIONS_H)
  2. #define XLD_GLOBALFUNCTIONS_H
  3. typedef enum trineighbor // 大于或等于0均为三角形的序号
  4. {
  5. NEIGHBOR_NOT_EXISTED = -2,
  6. NEIGHBOR_UNKNOWN = -1
  7. } TRINEIGHBOR ;
  8. struct XYZ{ //定义点
  9. double x,y,z;
  10. bool operator==(const XYZ& right) const
  11. {
  12. if (x == right.x && y == right.y && z == right.z)
  13. return true;
  14. else
  15. return false;
  16. };
  17. XYZ(double x0, double y0, double z0 = 0 );
  18. XYZ();
  19. } ;
  20. struct TRIANGLE { // 定义三角形
  21. int p1,p2,p3; // 在顶点数组中的序号
  22. int t1; //与此三角形共享边p2p3的另一个三角形
  23. int t2; //与此三角形共享边p1p3的另一个三角形
  24. int t3; //与此三角形共享边p1p2的另一个三角形
  25. TRIANGLE();
  26. };
  27. int compare( const void *elem1, const void *elem2 );
  28. template<class T> bool ReMalloc(T **p, long len, long newlen)
  29. {
  30. T *tmpP;
  31. tmpP = *p;
  32. if ( (*p = new T[newlen]) == NULL ) 
  33. return false;
  34. memcpy(*p, tmpP, sizeof(T) * len);
  35. delete []tmpP;
  36. }
  37. #endif