X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Ftracktype.cpp;h=ab417cff171155a6c8bc4eea15b5903396b02503;hb=e621dd4120cb253417167b4295e436cee095ccb0;hp=a60c9a6f7611425c737fb09c2e69ec3f6b8d717e;hpb=26e741a3e8f1c83e717318f69ff02eed9b0ef6de;p=r2c2.git diff --git a/source/3d/tracktype.cpp b/source/3d/tracktype.cpp index a60c9a6..ab417cf 100644 --- a/source/3d/tracktype.cpp +++ b/source/3d/tracktype.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2010-2011 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #include #include #include @@ -94,7 +87,7 @@ TrackType3D::TrackType3D(Catalogue3D &cat3d, const TrackType &tt): string obj_name = tt.get_object(); if(!obj_name.empty()) { - object = catalogue.get(obj_name); + object = &catalogue.get(obj_name); const GL::Mesh *m = object->get_mesh(); const GL::VertexArray &vertices = m->get_vertices(); int vertex_offs = vertices.get_format().offset(GL::VERTEX2); @@ -127,7 +120,7 @@ TrackType3D::TrackType3D(Catalogue3D &cat3d, const TrackType &tt): object = new GL::Object; object->set_mesh(mesh); - object->set_technique(catalogue.get(cat.get_track_technique())); + object->set_technique(&catalogue.get(cat.get_track_technique())); } unsigned paths = tt.get_paths(); @@ -184,8 +177,10 @@ void TrackType3D::get_bounds(float angle, Vector &minp, Vector &maxp) const const GL::Mesh &TrackType3D::get_path_mesh(unsigned p) const { - if(p>=path_meshes.size() || !path_meshes[p]) - throw InvalidParameterValue("Invalid path"); + if(p>=path_meshes.size()) + throw out_of_range("TrackType3D::get_path_mesh"); + if(!path_meshes[p]) + throw invalid_argument("TrackType3D::get_path_mesh"); return *path_meshes[p]; }