Example #1
0
Obj FuncKILL_CHILD_IOSTREAM( Obj self, Obj stream )
{
  UInt pty = INT_INTOBJ(stream);
  while (!PtyIOStreams[pty].inuse)
    pty = INT_INTOBJ(ErrorReturnObj("IOSTREAM %d is not in use",pty,0L,
                                    "you can replace stream number <num> via 'return <num>;'"));
  /* Don't check for child having changes status */
  KillChild( pty );
  return 0;
}
int ParticleEngineServer::RenderIndex(int ID,float animate)
{
	InitRendering();
	int numRendered=0;
	if(children[ID])
	{
		numRendered=children[ID]->RenderParticles(&rminu,&rpluu,animate);
		childrenRendered[ID]=1;
		if(children[ID]->killFlag)
			KillChild(ID);
	}
	CloseRendering();
	return numRendered;
}
int ParticleEngineServer::RenderAll(float animate)
{
	InitRendering();
	int numRendered=0;
	for(int a=0;a<numChildren;a++)
	{
		if(children[a] && !childrenRendered[a])		// Validate that the child exists
		{
			numRendered+=children[a]->RenderParticles(&rminu,&rpluu,animate);
			if(children[a]->killFlag)
				KillChild(a);
		}
		childrenRendered[a] = 0;
	}
	CloseRendering();
	return numRendered;
}