next up previous contents index
Next: Memory Methods on Bnd_Curve Up: Curves Previous: Other Methods on Triang1d

Bnd_Curve

 

The class Bnd_Curve adds instance variables to Triang1d which allow points of the curve to lie on an associated surface. The surface is connected to the Bnd_Curve via the Triang2d pointer geom, the ith point of the Bnd_Curve then corresponds to the vertex[i]th point of geom.

Since Bnd_Curve instances have their own coordinate arrays they don't depend entirely on the surface, most methods will also work with a NULL geom pointer. Changing the surface geom will not change the Bnd_Curve instance directly, this is done by calling "assign-curve-send".

Instances of this class are used as boundary curves of Geom2d instances. In this case the neighbour variable contains the indices of the triangles along the Bnd_Curve, this allows to easily create the new connectivity if two Geom2d are merged and closed. Additionally information about the type of the curve (planar, circular etc.) can be stored in the restrict structure.

 

#CLASS Bnd_Curve : Triang1d {
  int flag;       /* flag if bnd_curve ACTIVE */
  TRIANG2D *geom; /* pointer to triang2d to which the bnd_curve belongs */
                  /* only to be changed with "set-geom" */
  int *vertex;    /* index of corresponding point in triang2d */
  int *neighbour; /* index of triangle which the next edge belongs to */
  struct {                           /* restriction information for curve */
      void (*f)(struct bnd_curve *); /* subject to changes in the future */
      int size;
      double *data;
  } restrict;
};





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.