Next: I/O Methods on Triang2d
Up: Triang2d
Previous: Memory Methods on Triang2d
- GRAPE(triang2d, "display")()
-
TRIANG2D *triang2d;
The Triang2d instance is rendered on the standard device in a default
manner.
- GRAPE(triang2d, "clip-ball-disp")()
-
- GRAPE(triang2d, "clip-plane-disp")()
-
- (TRIANG2D *)GRAPE(triang2d, "fix-clip-send")()
-
- GRAPE(triang2d, "fix-clip")(f, var)
-
- GRAPE(triang2d, "clip")(f, var)
-
TRIANG2D *triang2d ; /* set of triangles to be clipped */
double (*f)() ; /* pointer to clipping function */
void *var ; /* pointer to parameters of clipping function */
The methods are designed to support general clipping facilities with
varying hypersurface and local rendering function. A set of triangles
is divided by the implicitly given clipping function f into a
visible (f > 0) and an invisible (f < 0) part. The zero
level of this clipping function defines the clipping level.
The function f must be of the following form:
f(double x, double y, double z, char *var)
The variable var in the parameter list of the method call and of
the function f must be of the same type. *var determines
the clipping function. The implicit function description of a plane or a
ball are predefined for interactive use:
double plane(double x, double y, double z, PLANE_PARM *var)
typedef struct {
double n_x, n_y, n_z;
double distance;
} PLANE_PARM; /* Hesse Form */
double ball(double x, double y, double z, BALL_PARM *var)
typedef struct {
double center_x, center_y, center_z;
double radius;
} BALL_PARM;
The "fix" methods fix the clipping and give it back in the
Triang2d instance.
- GRAPE(triang2d, "shrink-disp")()
-
- GRAPE(triang2d, "shrink-foc-tria-disp")()
-
- GRAPE(triang2d, "shrink-foc-point-disp")()
-
- GRAPE(triang2d, "shrink-layer-disp")()
-
- GRAPE(triang2d, "shrink-angle-disp")()
-
- GRAPE(triang2d, "shrink")(p, f, fpar)
-
TRIANG2D *triang2d;
double p;
int (*f)();
char *fpar;
The set of tetrahedron belonging to the Triang2d instance is displayed
on the standard device as a patch model. It is possible to identify each
triangle because they are separated from each other through a small
space given by the parameter p. There is a selection criterion
for those elements which are of interest. The specific triangle is
displayed if f(tr, i, fpar) is YES. There are several
interactive versions with different functions f:
- "shrink-layer-disp"
-
displays a layer of triangles whose centers lie in a layer surrounding a
certain plane.
- "shrink-angle-disp"
-
displays those elements with the spatial angles between two bounds.
- "shrink-foc-point-disp"
-
displays the neighbourhood of a certain point with the index given by a
ruler variable.
- "shrink-foc-tria-disp"
-
does the same for an element index.
- GRAPE(triang2d, "points-disp")()
-
- GRAPE(triang2d, "points")(radius)
-
TRIANG2D *triang2d;
double radius;
The Triang2d instance is rendered as a cloud of points. The ball
radius is controlled by a ruler which is added to the manager by
the interactive method "points-disp".
Next: I/O Methods on Triang2d
Up: Triang2d
Previous: Memory Methods on Triang2d
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.