module DVaxis {
Mesh+Iparam &in {
nnodes+req;
};
float+req+Iparam limits[2];
float+req+Iparam reference;
float+req+Iparam tick_step;
float+req+Iparam tick_y_below;
float+req+Iparam tick_y_above;
float+req+Iparam tick_z_below;
float+req+Iparam tick_z_above;
int+req+Iparam minor_ticks;
float+req+Iparam minor_scale;
int+req+Iparam ndig;
float+req+Iparam y_anno;
float+req+Iparam z_anno;
int+write ntick;
string+write labels[ntick];
float+write xyz[ntick*3];
Mesh+Oparam out;
Mesh+Oparam out_minor {
&xform => <-.out.xform;
};
TextField out_anno {
nspace=3;
nnodes => <-.ntick;
text_values => <-.labels;
coordinates {
&values+nres => <-.<-.xyz;
};
&xform => <-.out.xform;
};
method+notify_val+notify_inst upd_axis<status=1> = "DVaxis";
};
DVaxis generates an axis line with optional tick marks. It can be transformed to any position.
A field whose extents define the size of the axis
The lower and upper limits of the axis line
The value along the axis at which the perpendicular axes will be drawn
The spacing between major tick lines
How far below the Y axis the Y-axis ticks extend
How far above the Y axis the Y-axis ticks extend
How far below the Z axis the Z-axis ticks extend
How far above the Z axis the Z-axis ticks extend
If 1, minor tick lines are drawn. If 0, no minor tick lines are drawn.
The spacing between minor tick lines
Number of digits to display on the axis labels
Offset for annotation text from the xyz positions
Offset for annotation text from the xyz positions
Label strings to be drawn at the tick positions
Output mesh describing the lines to be drawn for the major ticks
Output mesh describing the lines to be drawn for the minor ticks
Output field describing the numeric labels to be drawn along the axis
Libraries.Main.Geometries.Axis2D
Libraries.Main.Geometries.Axis3D