MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / updateEmitter

Method updateEmitter

Engine/source/T3D/vehicles/hoverVehicle.cpp:949–977  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

947}
948
949void HoverVehicle::updateEmitter(bool active,F32 dt,ParticleEmitterData *emitter,S32 idx,S32 count)
950{
951 if (!emitter)
952 return;
953 for (S32 j = idx; j < idx + count; j++)
954 if (active) {
955 if (mDataBlock->jetNode[j] != -1) {
956 if (!bool(mJetEmitter[j])) {
957 mJetEmitter[j] = new ParticleEmitter;
958 mJetEmitter[j]->onNewDataBlock( emitter, false );
959 mJetEmitter[j]->registerObject();
960 }
961 MatrixF mat;
962 Point3F pos,axis;
963 mat.mul(getRenderTransform(),
964 mShapeInstance->mNodeTransforms[mDataBlock->jetNode[j]]);
965 mat.getColumn(1,&axis);
966 mat.getColumn(3,&pos);
967 mJetEmitter[j]->emitParticles(pos,true,axis,getVelocity(),(U32)(dt * 1000.0f));
968 }
969 }
970 else {
971 for (S32 k = idx; k < idx + count; k++)
972 if (bool(mJetEmitter[k])) {
973 mJetEmitter[k]->deleteWhenEmpty();
974 mJetEmitter[k] = 0;
975 }
976 }
977}

Callers

nothing calls this directly

Calls 7

getVelocityFunction · 0.85
getColumnMethod · 0.80
deleteWhenEmptyMethod · 0.80
onNewDataBlockMethod · 0.45
registerObjectMethod · 0.45
mulMethod · 0.45
emitParticlesMethod · 0.45

Tested by

no test coverage detected