private bool IsPointInFence( GeoPoint geoPoint, GeoFence geoFence )
{
if( !GeoMath.IsPointInRectangular( geoPoint, geoFence.NWPoint, geoFence.SEPoint ) )
{
return false;
}
if( geoFence.Type == FenceType.CIRCLE && !GeoMath.IsPointInCircle( geoPoint, geoFence.Nodes[ 0 ], GeoMath.Distance( geoFence.Nodes[ 0 ].Latitude, geoFence.Nodes[ 0 ].Longitude, geoFence.Nodes[ 1 ].Latitude, geoFence.Nodes[ 1 ].Longitude ) ) )
{
return false;
}
if( geoFence.Type == FenceType.SHAPE && !GeoMath.IsPointInShape( geoPoint, geoFence.Nodes ) )
{
return false;
}
return true;
}