bool IntersectionPoint::operator ==(const IntersectionPoint &IP) {
	/*cout<< "IP.coord1.begin().size: "<< IP.coord1.size() << endl;
	cout<< "el1_coord().size: "<< el1_coord().size() << endl;
	cout<< "IP.coord2.begin().size: "<< IP.coord2.size() << endl;
	cout<< "el2_coord().size: "<< el2_coord().size() << endl;
*/
	if (! equal (IP.coord1.begin(), IP.coord1.end(), el1_coord().begin(), eps_double_equal)) return false;
	if (! equal (IP.coord2.begin(), IP.coord2.end(), el2_coord().begin(), eps_double_equal)) return false;
	return true;
}
bool IntersectionPoint::operator ==(const IntersectionPoint &IP) {
	if (! equal (IP.coord1.begin(), IP.coord1.end(), el1_coord().begin(), eps_double_equal)) return false;
	if (! equal (IP.coord2.begin(), IP.coord2.end(), el2_coord().begin(), eps_double_equal)) return false;
	return true;
}