Added geometric constraint check