next up previous contents index
Next: Reflection_Control Up: Surface Previous: Surface

The Surface Structure

 

In contrast to Time_Object and Time_Curve which only uses one geometry, class Surface provides additional geometries:

 

#CLASS Surface : Time_Object {
  CHAIN *model;                  /* This is the model which is used for
                                    almost all operations (computation,
                                    reflection etc). Depending on the
                                    current TASK, model points to
                                    geometry, domain, gauss or conjugate */
  CHAIN *domain;                 /* Chain of timesteps for domain */
  CHAIN *gauss;                  /* Chain of timesteps for gauss */
  CHAIN *conjugate;              /* map and conjugate surface */
  CHAIN *conj_inter;             /* Interpol instance for display etc */
  double *asso;                  /* Pointer to current associate value */
  REFLECTION_CONTROL *reflect;   /* Used for reflection */
};

These geometries are used to store the domain, the gauss map, i.e. the stereographic projection of the normals onto the plane, and a conjugate geometry which usually has the same connectivity as the geometry.

For Surface and its subclasses the task is used to select one of the geometries as the current model (compare section 7.4.1.1), changing the task with "set-task" will also change the model. Most methods which work on a single geometry use the model, "display" for example computes the current time section from the model and stores it in inter.

Like inter for the model, the conj_inter instance is usually used to store the current time section of the conjugate geometry. Together with the asso variable which can be used to define an interpolation between inter and conj_inter this allows to visualize a two-parameter family of surfaces, see 7.4.3.4 for an example.



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.