Previous Next Up Title Contents Index Functions Index Top Library

SET OF AXIS DEFINED ON PARALLELEPIPED RELATING TO THE VIEW

tauto_cube_axis


CALL SEQUENCE

void tauto_cube_axis (strid, wkid, view_ind, p1,p2, x_linlog,y_linlog, z_linlog, x_label,y_label,z_label)

INPUT PARAMETERS

Pint	strid;
Pint	wkid;
Pint	view_ind;
Ppoint3	*p1, *p2;
Taxis_type	x_linlog, y_linlog, z_linlog;
char	*x_label, *y_label, *z_label;

ARGUMENTS

strid
Structure identifier of axis. Identifiers strid+1 to strid+12 will be used by PHIGURE.
wkid
Workstation identifier on which the view is defined.
view_ind
View index.
p1, p2
Diagonal points of the parallelepiped.
x/y/z_linlog
Linear or logarithmic, X, Y or Z axis.
x/y/z_label
Title of X, Y and Z axis.

TYPE

typedef enum {
	TAXIS_LINEAR,
	TAXIS_LOGARITHMIC
} Taxis_type;

EFFECT

This function creates a set of 3D axis displayed on some of the 12 edges of a parallelepiped. The choice of the edges depends on the current view definition of view index view_ind on the workstation wkid. With this function a set of 3D axis is built with always legible graduations, whatever is the view definition. Every time the view view_ind is changed, tauto_cube_axis can be called to create this legible axis system.

Because a view is defined relating to a workstation, the two parameters view_ind and wkid are necessary and the function may be called only if the workstation wkid is opened.

The two points (p1 and p2) define the diagonal of a parallelepiped and only edges which are intersecting a visible face and an invisible face will be graduated. Visible and invisible faces depend on current view definition.

Titles and graduations are always drawn to be legible whatever is the view definition. a "set of fill area sets 3 with data" primitive is inserted in the structure to `draw' invisible faces (and so to display the `bottom' of the parallelepiped ).

Following figure shows selection of axis to be graduated (bold axis are chosen):

Organization of the structure:

LABEL -1: Possibly execute structure (strid+1) for X axis with vertices 0-7

LABEL -2: Possibly execute structure (strid+2) for X axis with vertices 3-4

LABEL -3: Possibly execute structure (strid+3) for X axis with vertices 2-5

LABEL -4: Possibly execute structure (strid+4) for X axis with vertices 1-6

LABEL -5: Possibly execute structure (strid+5) for Y axis with vertices 6-7

LABEL -6: Possibly execute structure (strid+6) for Y axis with vertices 0-1

LABEL -7: Possibly execute structure (strid+7) for Y axis with vertices 2-3

LABEL -8: Possibly execute structure (strid+8) for Y axis with vertices 4-5

LABEL -9: Possibly execute structure (strid+9) for Z axis with vertices 4-7

LABEL -10: Possibly execute structure (strid+10) for Z axis with vertices 5-6

LABEL -11: Possibly execute structure (strid+11) for Z axis with vertices 2-1

LABEL -12: Possibly execute structure (strid+12) for Z axis with vertices 3-0

LABEL -13: set of fill area sets 3 with data attributes (style hollow and edges on)

set of fill area sets 3 with data for invisible faces (" bottom of the parallelepiped").

example of a set of axes built by tauto_cube_axis


Previous Next Up Title Contents Index Functions Index Top Library