next up previous contents index
Next: Triang0d Up: Calculating a Move Previous: Calculating a Move

The Moving Methods

 

   

GRAPE(s, "first-moving")()
SCENE *s
This method moves a given test set (a surface or a curve) located at the object position of the next_scene and possibly positioned by a model transformation s->object_trans. It produces number_of_steps timesteps. The object to be moved could be read from disk or in the case of a Triang1d object selected by the picking method "mark-polygon-send". This method is implemented on scenes with an underlying Triang2d or Triang3d object. The move starts at time start_time, produces equi distant timesteps and ends at time end_time. The created sequence of timesteps forms the dynamic instance variable of a TimeScene instance inserted as s->next_scene. It is an adaptive data set and the discretization changes between two timesteps if a specific adaptation criteria is fulfilled.

   

GRAPE(s, "continue-moving")()
SCENE *s
This method inserts a new timestep in the precalculated list of timesteps located at s->next_scene->dynamic. Usually this list has been generated by an application of the method "first-moving". The "continue-moving" searches the timestep step with the largest time smaller then end_time. Then step->post_object is moved and the resulting object is inserted as a timestep at time end_time. Here step->post_object and step->next_step->pre_object have the same underlying discretization. Therefore no adaptation is possible while inserting timesteps in between the moving sequence.

   

GRAPE(s, "point-moving")()
SCENE *s
The method "point-moving" deals with the moving of single particles. It allows the flexible picking of points. For 3D objects the picking is performed on the intersection plane of the planar clipping methods. This single point is then moved in the same manner as other higher dimensional sets by the "first-moving" method. The resulting s->next_scene->dynamic is an instance of the class Trace containing the moving information. The user can preview particle moves and if they seem interesting enough it is finally possible to insert them in the hierarchy. The class of the created dynamic instance variable on the next node is Trace because a list of timesteps with points as pre_object or post_object is not handy and efficient enough. Trace is a subclass of Triang1d.

   

GRAPE(tr, "refine-moving")(refine)
TRIANG1(2)D *tr
This method refines the geometry to be moved according to some appropriate criteria such as the smoothness and regularity of the discretization. This operation takes place after each move in "first-moving". It must be ignored in "continue-moving". Otherwise the interpolation between the inserted timesteps and its post_step would be undefined. The argument refine gives a maximum percentage for the elements of the moved geometry which should be refined.


next up previous contents index
Next: Triang0d Up: Calculating a Move Previous: Calculating a Move

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.