other.cpp
上传用户:jinmajixie
上传日期:2022-07-12
资源大小:435k
文件大小:3k
源码类别:

OpenGL

开发平台:

Visual C++

  1. #include "main.h"
  2. void DrawBoundingSphere(CVector *p, float r)
  3. {
  4. glPushMatrix();
  5. glTranslatef(p->x, p->y, p->z);
  6. glDisable(GL_TEXTURE_2D);
  7. auxWireSphere(r);
  8. glPopMatrix();
  9. }
  10. void DrawBoundingBox(CVector *p, float x, float y, float z)
  11. {
  12. glPushMatrix();
  13. CVector min;
  14. min = *p;
  15. CVector max;
  16. max = *p;
  17. min.x -= x; max.x += x;
  18. min.y -= y; max.y += y;
  19. min.z -= z; max.z += z;
  20. int mode = GL_LINES;
  21. glBegin(mode);
  22. glVertex3f(min.x, min.y, min.z);
  23. glVertex3f(max.x, min.y, min.z);
  24. glVertex3f(max.x, min.y, max.z);
  25. glVertex3f(min.x, min.y, max.z);
  26. glEnd();
  27. glBegin(mode);
  28. glVertex3f(min.x, max.y, min.z);
  29. glVertex3f(max.x, max.y, min.z);
  30. glVertex3f(max.x, max.y, max.z);
  31. glVertex3f(min.x, max.y, max.z);
  32. glEnd();
  33. glBegin(mode);
  34. glVertex3f(max.x, min.y, min.z);
  35. glVertex3f(max.x, min.y, max.z);
  36. glVertex3f(max.x, max.y, max.z);
  37. glVertex3f(max.x, max.y, min.z);
  38. glEnd();
  39. glBegin(mode);
  40. glVertex3f(min.x, min.y, min.z);
  41. glVertex3f(min.x, min.y, max.z);
  42. glVertex3f(min.x, max.y, max.z);
  43. glVertex3f(min.x, max.y, min.z);
  44. glEnd();
  45. glBegin(mode);
  46. glVertex3f(min.x, min.y, min.z);
  47. glVertex3f(max.x, min.y, min.z);
  48. glVertex3f(max.x, max.y, min.z);
  49. glVertex3f(min.x, max.y, min.z);
  50. glEnd();
  51. glBegin(mode);
  52. glVertex3f(min.x, min.y, max.z);
  53. glVertex3f(max.x, min.y, max.z);
  54. glVertex3f(max.x, max.y, max.z);
  55. glVertex3f(min.x, max.y, max.z);
  56. glEnd();
  57. glPopMatrix();
  58. }
  59. ////////////////////////////////////////////////////////////////////////////////
  60. void errf(char *message, char *var)
  61. {
  62. static char filename[64]="errors.txt";
  63. static char error[256];
  64. strcpy(error, message);
  65. strcat(error, " ( ");
  66. strcat(error, var);
  67. strcat(error, " )n");
  68. FILE *fff;
  69. if (fff=fopen(filename, "a"))
  70. {
  71. char tmp[1]; fgets(tmp, 1, fff); // this goes to eof
  72. fputs(error, fff);
  73. fclose(fff);
  74. }
  75. }
  76. ////////////////////////////////////////////////////////////////////////////////
  77. ////////////////////////////////////////////////////////////////////////////////
  78. void err(char *text, char *title)
  79. {
  80. MessageBox( NULL, text, title, MB_OK | MB_ICONERROR );
  81. }
  82. ////////////////////////////////////////////////////////////////////////////////
  83. void errfi(char *txt, float nmb1, float nmb2, float nmb3)
  84. {
  85. char brm[16];
  86. char str[256];
  87. itoa((int)nmb1, brm, 10); strcpy(str, brm); strcat(str, ", ");
  88. itoa((int)nmb2, brm, 10); strcat(str, brm); strcat(str, ", ");
  89. itoa((int)nmb3, brm, 10); strcat(str, brm);
  90. errf(txt, str);
  91. }
  92. void erri(char *txt, float nmb1, float nmb2, float nmb3)
  93. {
  94. char brm[16];
  95. char str[256];
  96. itoa((int)nmb1, brm, 10); strcpy(str, brm); strcat(str, ", ");
  97. itoa((int)nmb2, brm, 10); strcat(str, brm); strcat(str, ", ");
  98. itoa((int)nmb3, brm, 10); strcat(str, brm);
  99. err(str, txt);
  100. }