public virtual bool Trigger(PointF position)
{
if (direction == Direction.Right || direction == Direction.Down)
{
if (JoinInfo.direction == JoinDirection.BackwardOnly) return false;
}
else if (JoinInfo.direction == JoinDirection.ForwardOnly) return false;
return (position.X >= threshXmin && position.X <= threshXmax &&
position.Y >= threshYmin && position.Y <= threshYmax);
}