Advertisement
Guest User

Untitled

a guest
May 25th, 2015
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "DxOpenNIMouse.h"
  3.  
  4. bool DxOpenNIMouse::Init(HWND hWnd, bool EngFlag, LPDIRECT3DDEVICE9 lpDevice, WCHAR *f_path) {
  5. int i;
  6. for (i = 0; i < 15; i++) {
  7. BP_Vector[i].x = 0;
  8. BP_Vector[i].y = DxOpenNIBase::LostVertexY;
  9. BP_Vector[i].z = 0;
  10. }
  11. GetCursorPos(&BasePos);
  12. virtualDepth = 0.0f;
  13. speedX = speedY = 1.5f;
  14. speedZ = 45.0f;
  15. DxOpenNIBase::CreateDepthTexture(lpDevice, 10, 10);
  16.  
  17. // test
  18. /*
  19. D3DLOCKED_RECT LPdest;
  20. DepthTex->LockRect(0,&LPdest,NULL, 0);
  21. DWORD *pDestImage = (DWORD*)LPdest.pBits;
  22.  
  23. for(i = 0; i < texHeight * texWidth; i++) {
  24. *pDestImage++ = 0xffff0000;
  25. }
  26. DepthTex->UnlockRect(0);
  27. */
  28.  
  29. return true;
  30. }
  31.  
  32. void DxOpenNIMouse::Clean(void) {
  33. DxOpenNIBase::ReleaseDepthTexture();
  34. }
  35.  
  36. void DxOpenNIMouse::GetSkeltonJointPosition(int num, D3DXVECTOR3 *vec) {
  37. #define SPEEDSTEP 0.1f
  38. POINT now;
  39. if (num == 0) {
  40. GetCursorPos(&now);
  41. if ((GetKeyState(VK_LBUTTON) < 0) && (GetKeyState(VK_RBUTTON) < 0)) {
  42. BasePos = now;
  43. virtualDepth = 0;
  44. }
  45.  
  46. // Depth control
  47. if (GetKeyState('1') < 0) {
  48. virtualDepth += speedZ;
  49. }
  50. if (GetKeyState('2') < 0) {
  51. virtualDepth -= speedZ;
  52. }
  53.  
  54. // Speed Control
  55. if (GetKeyState(VK_SHIFT) < 0) {
  56. if (GetKeyState(VK_F1) < 0) {
  57. speedX -= SPEEDSTEP;
  58. }
  59. if (GetKeyState(VK_F2) < 0) {
  60. speedY -= SPEEDSTEP;
  61. }
  62. if (GetKeyState(VK_F3) < 0) {
  63. speedZ -= SPEEDSTEP * 15;
  64. }
  65. } else {
  66. if (GetKeyState(VK_F1) < 0) {
  67. speedX += SPEEDSTEP;
  68. }
  69. if (GetKeyState(VK_F2) < 0) {
  70. speedY += SPEEDSTEP;
  71. }
  72. if (GetKeyState(VK_F3) < 0) {
  73. speedZ += SPEEDSTEP * 15;
  74. }
  75. }
  76. BP_Vector[0].x = (now.x - BasePos.x) * speedX;
  77. BP_Vector[0].y = (BasePos.y - now.y) * speedY;
  78. BP_Vector[0].z = virtualDepth;
  79. }
  80. *vec = BP_Vector[num];
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement