void Spike::updateStaticSwarmInfo() { Spike *swarmPtr = mSwarm; Spike *swarmPtr2; float *swarmInfoPtr; float *swarmInfoPtr2; for (int i=0; i < NUM_SPIKES; i++) { swarmInfoPtr = mSwarmInfo + (i * (NUM_SPIKES+6) + NUM_SPIKES); Ogre::Vector3 position = swarmPtr->getPosition(); *(swarmInfoPtr++) = position.x; *(swarmInfoPtr++) = position.y; *(swarmInfoPtr++) = position.z; Ogre::Vector3 velocity = (swarmPtr++)->getWorldVelocity(); *(swarmInfoPtr++) = velocity.x; *(swarmInfoPtr++) = velocity.y; *(swarmInfoPtr) = velocity.z; swarmInfoPtr = mSwarmInfo + (i * (NUM_SPIKES+6) + (i + 1)); swarmInfoPtr2 = mSwarmInfo + ((i + 1) * (NUM_SPIKES+6) + i); swarmPtr2 = mSwarm + (i + 1); for (int j=i+1; j < NUM_SPIKES; j++) { *(swarmInfoPtr++) = *(swarmInfoPtr2) = position.squaredDistance((swarmPtr2++)->getPosition()); swarmInfoPtr2 += (NUM_SPIKES+6); } } }