next up previous contents index
Next: Time_Parm Up: Time_Object Previous: Time_Object

The Time_Object Structure

 

Time_Object provides instance variables for the task, frame and time handling, a Time_Parm instance for time-dependent parameter, the geometry which consists of a list of TimeStep sequences and the geometry inter for the current time section.  

#CLASS Time_Object : Root {
  TASK_TYPE task, task_mask; /* Task description, needed
                                for computation etc          */
  int frame, num_of_frames;  /* Current frame number, total
                                number of frames             */
  int *status;               /* Pointer to memory for frame
                                status (COMPUTED, MERGED etc)*/
  double *time, *time_step;  /* Pointer to current time and
                                memory for the time of each frame  */
  TIME_PARM *time_parm;      /* Time_Object parameter (see below)   */
  CHAIN *geometry, *inter;   /* TimeSteps with Time_Object geometry */
                             /* Interpol instance for displays etc */
  SCENE *tree;
};

The task must be tskGeometry for Time_Objects, for subclasses which provide more than one geometry more tasks are available (tskDomain corresponds to the domain geometry of Surface, tskNewton correspond to the newton geometry of Amandus and so on):  

typedef enum {
  tskGeometry,  /* bitwise flags */
  tskGauss,
  tskConjugate,
  tskDomain,
  tskNewton,
  tskExplicit,
  tskAny
} TASK_TYPE;

To create or update the inter instance which holds the time section of the geometry for the current * time the method "get-object" is used, see section 4.4.4.



SFB 256 Universität Bonn and IAM Universität Freiburg

Copyright © by the Sonderforschungsbereich 256 at the Institut für Angewandte Mathematik, Universität Bonn.