From cb72a4ccbe87536c61dda277504417fca4b22164 Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Sun, 19 Nov 2017 22:01:50 +0000 Subject: [PATCH] [Change] Renamed rigid body stuff. --- src/Makefile.am | 8 ++--- src/{rigid_body.cpp => dynamic_body.cpp} | 14 ++++----- src/{rigid_body.h => dynamic_body.h} | 8 ++--- src/{static_rigid_body.cpp => model_body.cpp} | 30 +++++++++---------- src/{static_rigid_body.h => model_body.h} | 6 ++-- src/ship.cpp | 2 +- src/ship.h | 4 +-- src/space.cpp | 14 ++++----- src/space_station.cpp | 2 +- src/space_station.h | 4 +-- 10 files changed, 46 insertions(+), 46 deletions(-) rename src/{rigid_body.cpp => dynamic_body.cpp} (75%) rename src/{rigid_body.h => dynamic_body.h} (77%) rename src/{static_rigid_body.cpp => model_body.cpp} (83%) rename src/{static_rigid_body.h => model_body.h} (91%) diff --git a/src/Makefile.am b/src/Makefile.am index cec8087..4132250 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,17 +4,17 @@ SUBDIRS = sbre/ bin_PROGRAMS = Lephisto3D Lephisto3D_SOURCES = main.cpp gui_button.cpp gui.cpp gui_fixed.cpp gui_screen.cpp gui_label.cpp glfreetype.cpp \ objimport.cpp body.cpp space.cpp ship.cpp player.cpp gui_toggle_button.cpp gui_radio_button.cpp \ - gui_radio_group.cpp rigid_body.cpp planet.cpp star.cpp frame.cpp gui_image_button.cpp gui_image.cpp \ + gui_radio_group.cpp dynamic_body.cpp planet.cpp star.cpp frame.cpp gui_image_button.cpp gui_image.cpp \ gui_image_radio_button.cpp gui_multi_state_image_button.cpp ship_cpanel.cpp gui_widget.cpp sector_view.cpp \ mtrand.cpp world_view.cpp system_view.cpp star_system.cpp sector.cpp system_info_view.cpp generic_system_view.cpp \ - gui_container.cpp date.cpp space_station.cpp space_station_view.cpp static_rigid_body.cpp ship_type.cpp \ + gui_container.cpp date.cpp space_station.cpp space_station_view.cpp model_body.cpp ship_type.cpp \ info_view.cpp model_coll_mesh_data.cpp Lephisto3D_LDADD = sbre/libsbre.a include_HEADERS = body.h frame.h generic_system_view.h glfreetype.h gui_button.h gui_container.h gui_events.h gui_fixed.h \ gui.h gui_image_button.h gui_image.h gui_image_radio_button.h gui_label.h gui_multi_state_image_button.h gui_radio_button.h \ gui_radio_group.h gui_screen.h gui_toggle_button.h gui_widget.h libs.h matrix4x4.h mtrand.h objimport.h l3d.h \ - planet.h player.h rigid_body.h sector.h sector_view.h ship_cpanel.h ship.h space.h star.h star_system.h system_info_view.h \ - system_view.h vector3.h view.h world_view.h date.h space_station.h space_station_view.h static_rigid_body.h gui_iselectable.h \ + planet.h player.h dynamic_body.h sector.h sector_view.h ship_cpanel.h ship.h space.h star.h star_system.h system_info_view.h \ + system_view.h vector3.h view.h world_view.h date.h space_station.h space_station_view.h model_body.h gui_iselectable.h \ ship_type.h object.h info_view.h model_coll_mesh_data.h diff --git a/src/rigid_body.cpp b/src/dynamic_body.cpp similarity index 75% rename from src/rigid_body.cpp rename to src/dynamic_body.cpp index 71f7adf..02f28ae 100644 --- a/src/rigid_body.cpp +++ b/src/dynamic_body.cpp @@ -1,10 +1,10 @@ #include "libs.h" -#include "rigid_body.h" +#include "dynamic_body.h" #include "space.h" #include "objimport.h" #include "frame.h" -RigidBody::RigidBody(void) : StaticRigidBody() { +DynamicBody::DynamicBody(void) : ModelBody() { m_flags = Body::FLAG_CAN_MOVE_FRAME; m_body = dBodyCreate(Space::world); dMassSetBox(&m_mass, 1, 50, 50, 50); @@ -13,7 +13,7 @@ RigidBody::RigidBody(void) : StaticRigidBody() { dBodySetMass(m_body, &m_mass); } -void RigidBody::SetMassDistributionFromCollMesh(const CollMesh* m) { +void DynamicBody::SetMassDistributionFromCollMesh(const CollMesh* m) { vector3d min = vector3d(FLT_MAX); vector3d max = vector3d(-FLT_MAX); for(int i = 0; i < 3*m->nv; i += 3) { @@ -28,21 +28,21 @@ void RigidBody::SetMassDistributionFromCollMesh(const CollMesh* m) { dBodySetMass(m_body, &m_mass); } -vector3d RigidBody::GetAngularMomentum(void) { +vector3d DynamicBody::GetAngularMomentum(void) { matrix4x4d I; I.LoadFromOdeMatrix(m_mass.I); return I * vector3d(dBodyGetAngularVel(m_body)); } -RigidBody::~RigidBody(void) { +DynamicBody::~DynamicBody(void) { dBodyDestroy(m_body); } -void RigidBody::SetVelocity(vector3d v) { +void DynamicBody::SetVelocity(vector3d v) { dBodySetLinearVel(m_body, v.x, v.y, v.z); } -void RigidBody::SetAngVelocity(vector3d v) { +void DynamicBody::SetAngVelocity(vector3d v) { dBodySetAngularVel(m_body, v.x, v.y, v.z); } diff --git a/src/rigid_body.h b/src/dynamic_body.h similarity index 77% rename from src/rigid_body.h rename to src/dynamic_body.h index 4a3c8a4..8891242 100644 --- a/src/rigid_body.h +++ b/src/dynamic_body.h @@ -1,15 +1,15 @@ #pragma once #include "body.h" -#include "static_rigid_body.h" +#include "model_body.h" #include "vector3.h" #include "matrix4x4.h" class ObjMesh; -class RigidBody: public StaticRigidBody { +class DynamicBody : public ModelBody { public: - RigidBody(void); - virtual ~RigidBody(void); + DynamicBody(void); + virtual ~DynamicBody(void); void SetVelocity(vector3d v); void SetAngVelocity(vector3d v); void SetMesh(ObjMesh* m); diff --git a/src/static_rigid_body.cpp b/src/model_body.cpp similarity index 83% rename from src/static_rigid_body.cpp rename to src/model_body.cpp index c8a1bea..e1873fc 100644 --- a/src/static_rigid_body.cpp +++ b/src/model_body.cpp @@ -1,5 +1,5 @@ #include "libs.h" -#include "static_rigid_body.h" +#include "model_body.h" #include "space.h" #include "matrix4x4.h" #include "frame.h" @@ -7,24 +7,24 @@ #include "world_view.h" #include "model_coll_mesh_data.h" -StaticRigidBody::StaticRigidBody(void): Body() { +ModelBody::ModelBody(void): Body() { triMeshLastMatrixIndex = 0; } -StaticRigidBody::~StaticRigidBody(void) { +ModelBody::~ModelBody(void) { SetFrame(0); /* Will remove geom from frame if necessary. */ for(unsigned int i = 0; i < geoms.size(); i++) { dGeomDestroy(geoms[i]); } } -void StaticRigidBody::GeomsSetBody(dBodyID body) { +void ModelBody::GeomsSetBody(dBodyID body) { for(unsigned int i = 0; i < geoms.size(); i++) { dGeomSetBody(geoms[i], body); } } -void StaticRigidBody::SetGeomFromSBREModel(int sbreModel, ObjParams* params) { +void ModelBody::SetGeomFromSBREModel(int sbreModel, ObjParams* params) { assert(geoms.size() == 0); CollMeshSet* mset = GetModelCollMeshSet(sbreModel); @@ -39,33 +39,33 @@ void StaticRigidBody::SetGeomFromSBREModel(int sbreModel, ObjParams* params) { } } -void StaticRigidBody::SetPosition(vector3d p) { +void ModelBody::SetPosition(vector3d p) { for(unsigned int i = 0; i < geoms.size(); i++) { dGeomSetPosition(geoms[i], p.x, p.y, p.z); } } -void StaticRigidBody::SetVelocity(vector3d v) { +void ModelBody::SetVelocity(vector3d v) { assert(0); } -vector3d StaticRigidBody::GetPosition(void) { +vector3d ModelBody::GetPosition(void) { const dReal* pos = dGeomGetPosition(geoms[0]); return vector3d(pos[0], pos[1], pos[2]); } -void StaticRigidBody::GetRotMatrix(matrix4x4d& m) { +void ModelBody::GetRotMatrix(matrix4x4d& m) { m.LoadFromOdeMatrix(dGeomGetRotation(geoms[0])); } -void StaticRigidBody::ViewingRotation(void) { +void ModelBody::ViewingRotation(void) { matrix4x4d m; GetRotMatrix(m); m = m.InverseOf(); glMultMatrixd(&m[0]); } -void StaticRigidBody::TransformCameraTo(void) { +void ModelBody::TransformCameraTo(void) { const dReal* p = dGeomGetPosition(geoms[0]); matrix4x4d m; GetRotMatrix(m); @@ -74,7 +74,7 @@ void StaticRigidBody::TransformCameraTo(void) { glTranslated(-p[0], -p[1], -p[2]); } -void StaticRigidBody::TransformToModelCoords(const Frame* camFrame) { +void ModelBody::TransformToModelCoords(const Frame* camFrame) { vector3d fpos = GetPositionRelTo(camFrame); const dReal* r = dGeomGetRotation(geoms[0]); @@ -86,7 +86,7 @@ void StaticRigidBody::TransformToModelCoords(const Frame* camFrame) { glMultMatrixd(&m[0]); } -void StaticRigidBody::SetFrame(Frame* f) { +void ModelBody::SetFrame(Frame* f) { if(GetFrame()) { for(unsigned int i = 0; i < geoms.size(); i++) { GetFrame()->RemoveGeom(geoms[i]); @@ -100,7 +100,7 @@ void StaticRigidBody::SetFrame(Frame* f) { } } -void StaticRigidBody::TriMeshUpdateLastPos(void) { +void ModelBody::TriMeshUpdateLastPos(void) { /* ODE tri mesh likes to know our old position. */ const dReal* r = dGeomGetRotation(geoms[0]); vector3d pos = GetPosition(); @@ -115,7 +115,7 @@ void StaticRigidBody::TriMeshUpdateLastPos(void) { } } -void StaticRigidBody::RenderSbreModel(const Frame* camFrame, int model, ObjParams* params) { +void ModelBody::RenderSbreModel(const Frame* camFrame, int model, ObjParams* params) { glPushMatrix(); glMatrixMode(GL_PROJECTION); diff --git a/src/static_rigid_body.h b/src/model_body.h similarity index 91% rename from src/static_rigid_body.h rename to src/model_body.h index 321160b..6e791d3 100644 --- a/src/static_rigid_body.h +++ b/src/model_body.h @@ -7,10 +7,10 @@ class ObjMesh; -class StaticRigidBody: public Body { +class ModelBody: public Body { public: - StaticRigidBody(void); - virtual ~StaticRigidBody(void); + ModelBody(void); + virtual ~ModelBody(void); void SetPosition(vector3d p); /* Not valid to do SetVelocity on these. They are for huge things like * space stations and will be static relative to their frame of reference. diff --git a/src/ship.cpp b/src/ship.cpp index fd5a080..4729a93 100644 --- a/src/ship.cpp +++ b/src/ship.cpp @@ -22,7 +22,7 @@ static ObjParams params = { { "IR-L33T", "ME TOO" }, }; -Ship::Ship(ShipType::Type shipType) : RigidBody() { +Ship::Ship(ShipType::Type shipType) : DynamicBody() { m_wheelTransition = 0; m_wheelState = 0; m_dockedWith = 0; diff --git a/src/ship.h b/src/ship.h index 14fc6ba..e38a6f8 100644 --- a/src/ship.h +++ b/src/ship.h @@ -1,6 +1,6 @@ #pragma once #include "libs.h" -#include "rigid_body.h" +#include "dynamic_body.h" #include "ship_type.h" #include "sbre/sbre.h" @@ -14,7 +14,7 @@ struct shipstats_t { float hyperspace_range; }; -class Ship : public RigidBody { +class Ship : public DynamicBody { public: Ship(ShipType::Type shipType); virtual Object::Type GetType(void) { return Object::SHIP; } diff --git a/src/space.cpp b/src/space.cpp index 88d275e..bfcf594 100644 --- a/src/space.cpp +++ b/src/space.cpp @@ -132,11 +132,11 @@ static bool _OnCollision(dGeomID g1, dGeomID g2, Object* o1, Object* o2, } Ship::LaserObj* lobj = static_cast(o2); if(o1 == lobj->owner) return false; - printf("%s (geom flag %x) was shot by %s\n", ((StaticRigidBody::Geom*)o1)->parent->GetLabel().c_str(), - ((StaticRigidBody::Geom*)o1)->flags, lobj->owner->GetLabel().c_str()); + printf("%s (geom flag %x) was shot by %s\n", ((ModelBody::Geom*)o1)->parent->GetLabel().c_str(), + ((ModelBody::Geom*)o1)->flags, lobj->owner->GetLabel().c_str()); if(o1->GetType() == Object::SHIP) { - RigidBody* rb = (RigidBody*)o1; + DynamicBody* rb = (DynamicBody*)o1; dVector3 start, dir; dGeomRayGet(g2, start, dir); dBodyAddForceAtPos(rb->m_body, @@ -153,12 +153,12 @@ static bool _OnCollision(dGeomID g1, dGeomID g2, Object* o1, Object* o2, int flags = 0; /* Geom bodies point to their parents. */ if(o1->GetType() == Object::GEOM) { - pb1 = static_cast(o1)->parent; - flags |= static_cast(o1)->flags; + pb1 = static_cast(o1)->parent; + flags |= static_cast(o1)->flags; } else pb1 = static_cast(o1); if(o2->GetType() == Object::GEOM) { - pb2 = static_cast(o2)->parent; - flags |= static_cast(o2)->flags; + pb2 = static_cast(o2)->parent; + flags |= static_cast(o2)->flags; } else pb2 = static_cast(o2); printf("Collision flags %x\n", flags); diff --git a/src/space_station.cpp b/src/space_station.cpp index 5279ced..e5f9ec8 100644 --- a/src/space_station.cpp +++ b/src/space_station.cpp @@ -20,7 +20,7 @@ static ObjParams params = { { "Hello you!", "CATZ" }, }; -SpaceStation::SpaceStation(void) : StaticRigidBody() { +SpaceStation::SpaceStation(void) : ModelBody() { SetGeomFromSBREModel(STATION_SBRE_MODEL, ¶ms); matrix4x4d m = matrix4x4d::RotateYMatrix(-M_PI/4); dMatrix3 _m; diff --git a/src/space_station.h b/src/space_station.h index 6949654..c696a9d 100644 --- a/src/space_station.h +++ b/src/space_station.h @@ -1,8 +1,8 @@ #pragma once #include "libs.h" -#include "static_rigid_body.h" +#include "model_body.h" -class SpaceStation : public StaticRigidBody { +class SpaceStation : public ModelBody { public: SpaceStation(void); virtual ~SpaceStation(void);