1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public override bool IsSelectedByMouse(Device device, int MouseX, int MouseY)
{
Vector3 nearVector = new Vector3(MouseX, MouseY, 0);
Vector3 farVector = new Vector3(MouseX, MouseY, 1);
// Create ray.
nearVector.Unproject(device.Viewport,
device.Transform.Projection,
device.Transform.View,
Matrix.Translation(objectLocation));
farVector.Unproject(device.Viewport,
device.Transform.Projection,
device.Transform.View,
Matrix.Translation(objectLocation));
farVector.Subtract(nearVector);
return Geometry.BoxBoundProbe( meshBoundingBoxMinValues,
meshBoundingBoxMaxValues, nearVector, farVector) ;
} |