Code:
CL_Contour contour; 
contour.get_points().push_back( CL_Pointf(150.0f,50.0f) );
That looks like unexpected usage. I have not checked the internals to see if that is safe.

Ideally contour should contain: contour.add_point(const CL_Pointf &point);
And the get_points() should only return a const reference.