Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. int i;
  2. for (i = 0; i < out.numberofpoints; i++)
  3. {
  4. Ogre::Vector3 ray_pos = pos; // camera position;
  5. Ogre::Vector3 ray_dir = (Ogre::Vector3 (out.pointlist[(i*3)], out.pointlist[(3*i)+1], out.pointlist[(3*i)+2]) - pos).normalisedCopy(); // vertex - camea pos ;
  6.  
  7. Ogre::Ray ray;
  8. ray.setOrigin(Ogre::Vector3( ray_pos.x, ray_pos.y, ray_pos.z));
  9. ray.setDirection(Ogre::Vector3(ray_dir.x, ray_dir.y, ray_dir.z));
  10. Ogre::Vector3 result;
  11. unsigned int u1;
  12. unsigned int u2;
  13. unsigned int u3;
  14. bool rayCastResult = RaycastFromPoint(ray.getOrigin(), ray.getDirection(), result, u1, u2, u3);
  15.  
  16. if ( rayCastResult )
  17. {
  18. Ogre::Vector3 targetVertex(out.pointlist[(i*3)], out.pointlist[(3*i)+1], out.pointlist[(3*i)+2]);
  19. float distanceTargetFocus = targetVertex.squaredDistance(pos);
  20. float distanceIntersectionFocus = result.squaredDistance(pos);
  21. if(abs(distanceTargetFocus) >= abs(distanceIntersectionFocus))
  22. {
  23. if ( u1 != -1 && u2 != -1 && u3 != -1)
  24. {
  25. std::cout << "Remove index "<< "u1 ==> " <<u1 << "u2 ==>"<<u2<<"u3 ==> "<<u3<< std::endl;
  26. // remove indices
  27. }
  28. }
  29. }
  30.  
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement