From 4ae3692c799bc05f99d907d75a7722602a3dc452 Mon Sep 17 00:00:00 2001 From: Dave Schuyler Date: Thu, 30 Oct 2003 07:05:44 +0000 Subject: [PATCH] changed iteration --- panda/src/physics/baseIntegrator.cxx | 53 +++++++--------------------- 1 file changed, 13 insertions(+), 40 deletions(-) diff --git a/panda/src/physics/baseIntegrator.cxx b/panda/src/physics/baseIntegrator.cxx index 35a4dfc745..0ace90ca46 100644 --- a/panda/src/physics/baseIntegrator.cxx +++ b/panda/src/physics/baseIntegrator.cxx @@ -55,7 +55,6 @@ precompute_linear_matrices(Physical *physical, PhysicalNode *physical_node = physical->get_physical_node(); nassertv(physical_node); - int i; // by global forces, we mean forces not contained in the physical int global_force_vec_size = forces.size(); @@ -71,18 +70,6 @@ precompute_linear_matrices(Physical *physical, NodePath physical_np(physical_node); NodePath global_physical_np = physical_np.get_parent(); - #if 0 - - // tally the global xforms - for (i = 0; i < global_force_vec_size; ++i) { - force_node = forces[i]->get_force_node(); - nassertv(force_node != (ForceNode *) NULL); - - NodePath force_np(force_node); - //_precomputed_linear_matrices.push_back(global_physical_np.get_mat(force_node)); - _precomputed_linear_matrices.push_back(force_np.get_mat(global_physical_np)); - } - #else // tally the global xforms for (LinearForceVector::const_iterator fi = forces.begin(); fi != forces.end(); @@ -95,24 +82,9 @@ precompute_linear_matrices(Physical *physical, //_precomputed_linear_matrices.push_back(global_physical_np.get_mat(force_node)); _precomputed_linear_matrices.push_back(force_np.get_mat(global_physical_np)); } - #endif - - - + // tally the local xforms const LinearForceVector &force_vector = physical->get_linear_forces(); - - #if 0 - // tally the local xforms - for (i = 0; i < local_force_vec_size; ++i) { - force_node = force_vector[i]->get_force_node(); - nassertv(force_node != (ForceNode *) NULL); - - NodePath force_np(force_node); - _precomputed_linear_matrices.push_back(physical_np.get_mat(force_node)); - } - #else - // tally the local xforms for (LinearForceVector::const_iterator fi = force_vector.begin(); fi != force_vector.end(); ++fi) { @@ -122,8 +94,6 @@ precompute_linear_matrices(Physical *physical, NodePath force_np(force_node); _precomputed_linear_matrices.push_back(physical_np.get_mat(force_node)); } - #endif - } //////////////////////////////////////////////////////////////////// @@ -147,7 +117,6 @@ precompute_angular_matrices(Physical *physical, // by local forces, we mean members of the physical's force set. int local_force_vec_size = physical->get_angular_forces().size(); - int i; ForceNode *force_node; @@ -156,22 +125,26 @@ precompute_angular_matrices(Physical *physical, _precomputed_angular_matrices.reserve(global_force_vec_size + local_force_vec_size); NodePath physical_np(physical_node); + NodePath global_physical_np = physical_np.get_parent(); // tally the global xforms - for (i = 0; i < global_force_vec_size; ++i) { - force_node = forces[i]->get_force_node(); + for (AngularForceVector::const_iterator fi = forces.begin(); + fi != forces.end(); + ++fi) { + force_node = (*fi)->get_force_node(); nassertv(force_node != (ForceNode *) NULL); NodePath force_np(force_node); - _precomputed_angular_matrices.push_back(physical_np.get_mat(force_node)); + //_precomputed_angular_matrices.push_back(physical_np.get_mat(force_node)); + _precomputed_linear_matrices.push_back(force_np.get_mat(global_physical_np)); } - const AngularForceVector &force_vector = - physical->get_angular_forces(); - // tally the local xforms - for (i = 0; i < local_force_vec_size; ++i) { - force_node = force_vector[i]->get_force_node(); + const AngularForceVector &force_vector = physical->get_angular_forces(); + for (AngularForceVector::const_iterator fi = force_vector.begin(); + fi != force_vector.end(); + ++fi) { + force_node = (*fi)->get_force_node(); nassertv(force_node != (ForceNode *) NULL); NodePath force_np(force_node);