border.erase(graham_scan(border.begin(), border.end()), border.end());
}
+TrackType3D::~TrackType3D()
+{
+ for(vector<GL::Mesh *>::iterator i=path_meshes.begin(); i!=path_meshes.end(); ++i)
+ delete *i;
+}
+
void TrackType3D::get_bounds(float angle, Point &minp, Point &maxp) const
{
float c = cos(-angle);
void TrackType3D::build_part(const TrackPart &part, const Profile &profile, const Point &offset, GL::MeshBuilder &bld, unsigned &base_index)
{
float plen = part.get_length();
- unsigned nsegs = (part.is_curved() ? static_cast<unsigned>(plen*16)+1 : 1);
+ unsigned nsegs = (part.is_curved() ? static_cast<unsigned>(plen*32)+1 : 1);
unsigned n_points = profile.get_n_points();
for(unsigned i=0; i<=nsegs; ++i)