• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Mouse in region

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

### #1rpiller  Members

Posted 03 February 2013 - 07:46 AM

Does anyone know where I can find any code that checks if the mouse is in a region that can be defined as any kind of region? Checking for a rectangle is easy, but checking for any polygon region I'm not sure how to go about doing that.

### #2Endurion  Members

Posted 03 February 2013 - 08:13 AM

This is a snippet I found on the internet a while ago, seemed to work fine for everything I threw at it.

xp and yp are point to an array of corners, x,y is the point you want to check:

template < typename T >
bool is_point_in_poly( int num_edges, T *xp, T *yp, T x, T y)
{
int i, j;
bool c = 0;
for (i = 0, j = num_edges-1; i < num_edges; j = i++) {
if ((((yp[i]<=y) && (y<yp[j])) ||
((yp[j]<=y) && (y<yp[i]))) &&
(x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i]))

c = !c;
}
return c;
}

Edited by Endurion, 03 February 2013 - 08:15 AM.

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

### #3MrDaaark  Members

Posted 03 February 2013 - 08:22 AM

There is tons of example code for stuff like this in all kinds of different situations on the real time rendering book site.

http://www.realtimerendering.com/intersections.html

Edited by Daaark, 03 February 2013 - 08:22 AM.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.