Continuation d'un processus continu


o GoOneStepForwardProcess
Le corps, affecté par SetGoOneStepForward, code l'avancée pour un pas de l'effet du processus sur les composants du système touchés par le processus.

void myContinuousProcess_goOneStepForwardProcess_Body(ProcessMethod* pM) {
  ContinuousProcess* pCP = pM->DescribedContinuousProcess();
  Entity* pE = pCP->ProcessedEntity();
  ... // l'évolution en un pas de l'état du système touché par le processus
}
MyContinuousProcess::MyContinuousProcess() 
   : ContinuousProcess(MY_CONTINUOUS_PROCESS, "myContinuousProcess") {
  Step(24);
  ProcessedEntityClassId(BD_ENTITY);
  SetGoOneStepForward(myContinuousProcess_goOneStepForwardProcess_Body);
};

Le constructeur GoOneStepForwardProcess() affecte le symbole de classe GOONESTEPFORWARD_PROCESS et le nom de classe "goOneStepForwardProcess". Ainsi, on peut écrire :

int main(...) {
  ...
  ContinuousProcess* pCP = new MyContinuousProcess();

  // le code ci-dessous ...
  Method* pM = pCP->GetMethod(GOONESTEPFORWARD_PROCESS);
  ((VoidProcessMethod*)pM)->Body((ProcessMethod*)pM);

  // ... est équivalent à celui-ci
  pCP->ExecVoidMethod(GOONESTEPFORWARD_PROCESS);
  ...
}

This page was generated with the help of DOC++.