我对增强交叉点有一个很大的问题.我想将三角形与四边形相交,但我得到一个剪辑:

有人能帮助我吗?
我试图改变几何的方向,没有发生任何事情.交叉点与其他三角形一起工作,但不是这个.
typedef model::polygon<model::d2::point_xy<double> > polygon
std::deque<polygon> tmp;
bool ok = intersection(quad, triangle, tmp)
Run Code Online (Sandbox Code Playgroud)
三角形:
-213.57 -2.13163e-14 0
-350 37.5 0
-350 -2.84217e-14 0
Run Code Online (Sandbox Code Playgroud)
盒子:
BoundingBox(-300, -165, 2, 170, -0.1, 0.1)
Run Code Online (Sandbox Code Playgroud)
更新:
在这里我的代码.我在Ubuntu 12.10上使用gcc 4.7.2和boost 1.53.0
#include <deque>
#include <fstream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/io/wkt/wkt.hpp>
#include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
using namespace boost::geometry;
int main()
{
typedef model::polygon<model::d2::point_xy<double> > polygon;
typedef typename model::d2::point_xy<double> point_type;
polygon quad, triangle;
read_wkt("POLYGON((-213.57 -2.131 , -350.0 37.5 , -350.0 -2.842 , -213.57 -2.131))", triangle); …Run Code Online (Sandbox Code Playgroud)