X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fvehicle.cpp;h=2c31ba19f189467ad07233dc0ff600e87fe6643e;hb=f8a7788cee0261babfc4c804a58515aad6dfbc3d;hp=3fdc7a44c7a2722b7afa763dbf87aea182062a8f;hpb=460c64181aca1a134d74cb15ea4ad3bb4f275b60;p=r2c2.git diff --git a/source/libr2c2/vehicle.cpp b/source/libr2c2/vehicle.cpp index 3fdc7a4..2c31ba1 100644 --- a/source/libr2c2/vehicle.cpp +++ b/source/libr2c2/vehicle.cpp @@ -293,17 +293,17 @@ void Vehicle::update_rods() const Axle &axle = get_axle(i->type->pivot_index); float c = cos(axle.angle); float s = sin(axle.angle); - const Point &pp = i->type->pivot_point; - i->position = Point(axle.type->position+pp.x*c+pp.z*s, pp.y, axle.type->wheel_dia/2+pp.z*c-pp.x*s); + const Vector &pp = i->type->pivot_point; + i->position = Vector(axle.type->position+pp.x*c+pp.z*s, pp.y, axle.type->wheel_dia/2+pp.z*c-pp.x*s); } else if(i->type->pivot==VehicleType::Rod::ROD) { const Rod &prod = get_rod(i->type->pivot_index); float c = cos(prod.angle); float s = sin(prod.angle); - const Point &pos = prod.position; - const Point &off = i->type->pivot_point; - i->position = Point(pos.x+off.x*c-off.z*s, pos.y+off.y, pos.z+off.z*c+off.x*s); + const Vector &pos = prod.position; + const Vector &off = i->type->pivot_point; + i->position = Vector(pos.x+off.x*c-off.z*s, pos.y+off.y, pos.z+off.z*c+off.x*s); } if(i->type->connect_index>=0) @@ -346,8 +346,8 @@ void Vehicle::adjust_for_distance(TrackPosition &front, TrackPosition &back, flo int adjust_dir = 0; while(1) { - Point front_point = front.get_point().pos; - Point back_point = back.get_point().pos; + Vector front_point = front.get_point().pos; + Vector back_point = back.get_point().pos; float dx = front_point.x-back_point.x; float dy = front_point.y-back_point.y; @@ -373,14 +373,14 @@ void Vehicle::adjust_for_distance(TrackPosition &front, TrackPosition &back, flo } } -TrackPoint Vehicle::get_point(const Point &front, const Point &back, float ratio) const +TrackPoint Vehicle::get_point(const Vector &front, const Vector &back, float ratio) const { float dx = front.x-back.x; float dy = front.y-back.y; float dz = front.z-back.z; TrackPoint tp; - tp.pos = Point(back.x+dx*ratio, back.y+dy*ratio, back.z+dz*ratio); + tp.pos = Vector(back.x+dx*ratio, back.y+dy*ratio, back.z+dz*ratio); tp.dir = atan2(dy, dx); return tp;