OpenRM - RMV Library (rmvmesh.c)

## Index of OpenRM - RMV Library

     RMenum rmvJ3ComputeMeshNormals (RMvertex3D *v,
    			         RMvertex3D *normals,
    				 int usize,
    				 int vsize,
    				 RMenum flipNormalsBool)

     RMvertex3D *v - a handle to an array of size (usize * vsize)
        of RMvertex3D points (input).

     RMvertex3D *normals - a handle to a caller-supplied array of size
        (usize * vsize) ofRMvertex3D points (modified).

     int usize, vsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum flipNormalsBool - set to RM_TRUE to "flip" the normals computed by
        the vector cross product of coordinate differences. Set to RM_FALSE
        to use the normals as computed.

Computes approximate surface normals from a two-dimensional grid of 3D vertices. The surface normals are apporximate using a Catmull-Rom spline basis, thus producing C^1 continuity across interior vertices.

Note that although the array of input vertices are processed as though they were a 2D array, the array is not actually two-dimensional.

Upon successful computation of the surface normals, RM_CHILL is returned. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     void rmv3DRuledBox (RMvertex3D *grid_min,
    	             RMvertex3D *grid_max,
    		     int iusize,
    		     int ivsize,
    		     int iwsize,
    		     RMenum linewidth,
    		     RMenum linestyle,
    		     RMenum backface_cull_enable,
    		     RMnode *n)

     RMvertex3D *grid_min, *grid_max - handles to the minimum and maximum
        points of the bounding box for the ruled box (input).

     int iusize, ivsize, iwsize - int specifying the (u, v, w) rulings in
        each dimension (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMenum backface_cull_enable - an RMenum specifying whether or not to
        enable back face culling for the RMnode.  Must be one of RM_TRUE
        or RM_FALSE (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a ruled wireframe enclosure for annotating 3D structured, uniform grids. By enabling back face culling, as a visualization is moved around, the appropriate sides of the enclosure will be culled, thus revealing the dataset with a "ruled backstop".

Upon success, RM_CHILL is returned. Otherwise, RM_WHACKED is returned, and the return RMnode remains unmodified.

librmv library source file: rmvmesh.c

     RMenum rmvJ3Bar (RMvertex3D (*appgridfunc)(int i, int j),
    	          float (*appdatafunc)(int i, int j),
    		  float (*appdata2func)(int i, int j),
    		  RMvisMap *vmap,
    		  int axis_offset_enum,
    		  int iusize,
    		  int ivsize,
    		  float scale,
    		  int scaling_flag,
    		  RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     float scale - a float specifying the scaling factor for the bars.
        When the scaling mode is RMV_SCALE_ABSOLUTE, this parameter
        dictates the "diameter" of each bar directly.  When the mode is
        RMV_SCALE_RELATIVE, the product of this parameter and the adjacent
        grid spacing determines the "diameter" of the bar (input).

     int scaling_flag - an integer specifying the scaling type.  Must be
        one of RMV_SCALE_ABSOLUTE OR RMV_SCALE_RELATIVE (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D bar plot from data, with the data shown as 3D bars. The bars are a single color, the RMnode default color at render time. The bar plot can also be colored via the secondary data function and the RMvismap.

The position of each bar is centered on the underlying 2D grid defined by the grid function, its height determined by the data function, and its "diameter" is controlled with the scaling mode and scale parameter. The axis offset determines the placement of the bars relative to the underlying 2D grid.

Upon success, RM_CHILL is returned and the 3D filled bar plot primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3BarOutline (RMvertex3D (*appgridfunc)(int i, int j),
    		         float (*appdatafunc)(int i, int j),
    			 float (*appdata2func)(int i, int j),
    			 RMvisMap *vmap,
    			 int axis_offset_enum,
    			 int iusize,
    			 int ivsize,
    			 float scale,
    			 int scaling_flag,
    			 int linewidth_enum,
    			 int linestyle_enum,
    			 RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     float scale - a float specifying the scaling factor for the bars.
        When the scaling mode is RMV_SCALE_ABSOLUTE, this parameter
        dictates the "diameter" of each bar directly.  When the mode is
        RMV_SCALE_RELATIVE, the product of this parameter and the adjacent
        grid spacing determines the "diameter" of the bar (input).

     int scaling_flag - an integer specifying the scaling type.  Must be
        one of RMV_SCALE_ABSOLUTE OR RMV_SCALE_RELATIVE (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D bar outline plot from data, with the data shown as 3D bars. The bar outlines are a single color, the RMnode default color at render time. The bar plot can also be colored via the secondary data function and the RMvismap.

The position of each bar is centered on the underlying 2D grid defined by the grid function, its height determined by the data function, and its "diameter" is controlled with the scaling mode and scale parameter. The axis offset determines the placement of the bars relative to the underlying 2D grid.

Upon success, RM_CHILL is returned and the 3D bar outline plot primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3Impulse (RMvertex3D (*appgridfunc)(int i,int j),
    	              float (*appdatafunc)(int i, int j),
    		      float (*appdata2func)(int i, int j),
    		      RMvisMap *vmap,
    		      int axis_offset_enum,
    		      int usize,
    		      int vsize,
    		      int linewidth_enum,
    		      int linestyle_enum,
    		      RMnode *n)

     RMvertex3D (*appgridfunc)(int i,int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int usize, vsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D impulse plot from data, with the data shown as spikes. The impulse plot is a single color, the RMnode default color at render time. The impulse spikes can also be colored via the secondary data function and the RMvismap. The (i, j)th impulse spike is a combination of the grid point, the primary data function, and the axis offset chosen.

Upon success, RM_CHILL is returned and the 3D impulse plot primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshUOutline (RMvertex3D (*appgridfunc)(int i, int j),
    		           float (*appdatafunc)(int i, int j),
    			   float (*appdata2func)(int i, int j),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int iusize,
    			   int ivsize,
    			   int linewidth_enum,
    			   int linestyle_enum,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a wireframe representation of a mesh from the data, generating one polyline for each row of constant V of the underlying 2D grid. The wireframe is a single color, the default color of the RMnode at render time. The wireframe can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the U-mesh outline primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshUHorizon (RMvertex3D (*appgridfunc)(int i, int j),
    		           float (*appdatafunc)(int i, int j),
    			   float (*appdata2func)(int i, int j),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int iusize,
    			   int ivsize,
    			   float zerocrossing,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     float zerocrossing - a float specifying the zero value within the
        data range.  The "area fill" will be computed relative to this
        zero value (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a series of 3D horizon plots from the data. A horizon plot is similar to an "area fill", such as those created by rmv2DAreaFill(). Geometry representing a 2D area fill for each V-row of input data is created. The horizon plot is a single color, the default color of the RMnode at render time. The horizon plot can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the U-mesh horizon primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshUHorizonOutline (RMvertex3D (*appgridfunc)(int i, int j),
    			          float (*appdatafunc)(int i, int j),
    				  float (*appdata2func)(int i, int j),
    				  RMvisMap *vmap,
    				  int axis_offset_enum,
    				  int iusize,
    				  int ivsize,
    				  RMenum linewidth,
    				  RMenum linestyle,
    				  float zerocrossing,
    				  RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
         data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     float zerocrossing - a float specifying the zero value within the
        data range.  The "area fill" will be computed relative to this
        zero value (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a series of 3D horizon outline plots from the data. A horizon outline plot is similar to an "area fill", such as those created by rmv2DAreaFill(). Geometry representing a 2D area fill for each V-row of input data is created. The horizon outline plot is a single color, the default color of the RMnode at render time. The horizon outline plot can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the U-mesh horizon outline primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshVOutline (RMvertex3D (*appgridfunc)(int i, int j),
    		           float (*appdatafunc)(int i, int j),
    			   float (*appdata2func)(int i, int j),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int iusize,
    			   int ivsize,
    			   int linewidth,
    			   int linestyle,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a wireframe representation of a mesh, generating one polyline for each row of constant U of the underlying 2D grid. The wireframe is a single color, the default color of the RMnode at render time. The wireframe can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the V-mesh outline primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshVHorizon (RMvertex3D (*appgridfunc)(int i, int j),
    		           float (*appdatafunc)(int i, int j),
    			   float (*appdata2func)(int i, int j),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int iusize,
    			   int ivsize,
    			   float zerocrossing,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     float zerocrossing - a float specifying the zero value within the
        data range.  The "area fill" will be computed relative to this
        zero value (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a series of 3D horizon plots from the data. A horizon plot is similar to an "area fill", such as those created by rmv2DAreaFill(). Geometry representing a 2D area fill for each U-row of input data is created. The horizon plot is a single color, the default color of the RMnode at render time. The horizon plot can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the V-mesh horizon primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshVHorizonOutline (RMvertex3D (*appgridfunc)(int i, int j),
    			          float (*appdatafunc)(int i, int j),
    				  float (*appdata2func)(int i, int j),
    				  RMvisMap *vmap,
    				  int axis_offset_enum,
    				  int iusize,
    				  int ivsize,
    				  RMenum linewidth,
    				  RMenum linestyle,
    				  float zerocrossing,
    				  RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     float zerocrossing - a float specifying the zero value within the
        data range.  The "area fill" will be computed relative to this
        zero value (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a series of 3D horizon outline plots from the data. A horizon outline plot is similar to an "area fill", such as those created by rmv2DAreaFill(). Geometry representing a 2D area fill for each U-row of input data is created. The horizon outline plot is a single color, the default color of the RMnode at render time. The horizon outline plot can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the V-mesh horizon outline primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshOutline (RMvertex3D (*appgridfunc)(int i, int j),
    		          float (*appdatafunc)(int i, int j),
    			  float (*appdata2func)(int i, int j),
    			  RMvisMap *vmap,
    			  int axis_axis_offset_enum,
    			  int iusize,
    			  int ivsize,
    			  int linewidth,
    			  int linestyle,
    			  RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_axis_offset_enum - an integer specifying in which axis to
        offset the glyph.  Must be one of RMV_XAXIS_OFFSET,
        RMV_YAXIS_OFFSET, or RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - integer specifying the dimensions of the 2D grid
        of data (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

This is just a convenience routine, combining rmvJ3MeshUOutline and rmvJ3MeshVOutline in one operation, creating a ruled, wireframe representation of a surface from data. The wireframe is a single color, the default color of the RMnode at render time. The wireframe can also be colored via the secondary data function and the RMvismap.

See rmvJ3MeshVOutlin() and rmvJ3MeshUOutline().

Upon success, RM_CHILL is returned and the V-mesh horizon primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3MeshSurface (RMvertex3D (*appgridfunc)(int i, int j),
    		          float (*appdatafunc)(int i, int j),
    			  float (*appdata2func)(int i, int j),
    			  RMvisMap *vmap,
    			  int axis_offset_enum,
    			  int iusize,
    			  int ivsize,
    			  RMenum flipNormalsBool,
    			  RMnode *n)

     RMvertex3D (*appgridfunc)(int i, int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to
        offset the glyph.  Must be one of RMV_XAXIS_OFFSET,
        RMV_YAXIS_OFFSET, or RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum flipNormalsBool - use RM_TRUE to "flip the normals" computed by
        this routine, or use RM_FALSE to use the normals computed by this routine
        without modification (see rmvJ3ComputeMeshNormals).

     RMnode *n - a handle to an RMnode (modified).

Creates a surface representing the combination of the data and the underlying grid function. The surface is a single color, the RMnode default color at render time. The surface can also be colored via the secondary data function and the RMvismap. The surface vertices are a combination of the grid point, the primary data function, and the axis offset chosen.

Upon success, RM_CHILL is returned and the surface primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvJ3ScatterPoint (RMvertex3D (*appgridfunc)(int i, int j),
    		           float (*appdatafunc)(int i, int j),
    			   float (*appdata2func)(int i, int j),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int iusize,
    			   int ivsize,
    			   RMenum compute_normals_enum,
    			   RMenum flipNormalsBool,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i,int j) - a handle to a
        caller-supplied function that returns an RMvertex3D (x, y, z)
        corresponding to the grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i, j) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i, j) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the glyph.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int iusize, ivsize - int specifying the dimensions of the 2D grid of
        data (input).

     RMenum compute_normals_enum - an RMenum specifying whether or not to
        compute normals.  Must be one of RM_TRUE or RM_FALSE (input).

     RMenum flipNormalsBool - use RM_TRUE to "flip the normals" computed by
        this routine, or use RM_FALSE to use the normals computed by this routine
        without modification (see rmvJ3ComputeMeshNormals).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D scatterplot from data, with each position represented by a point. The scatterplot is a single color, the RMnode default color at render time. The points can also be colored via the secondary data function and the RMvismap. The size of the point primitives used in the scatterplot can be set with rmNodeSetPointSize().

Upon success, RM_CHILL is returned and the scatterplot point primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvI3ScatterCube (RMvertex3D (*appgridfunc)(int i),
    		          float (*appdatafunc)(int i),
    			  float (*appdata2func)(int i),
    			  RMvisMap *vmap,
    			  int axis_offset_enum,
    			  int npts,
    			  float scale,
    			  RMnode *n)

     RMvertex3D (*appgridfunc)(int i) - a handle to a caller-supplied
        function that returns an RMvertex3D (x, y, z) corresponding to the
        grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the cube.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int npts - an integer specifying number of data points (input).

     float scale - float specifying the size of the cubes, measured in
        world coordinates (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D scatterplot from data, with each position represented by a solid cube. The scatterplot is a single color, the RMnode default color at render time. The solid cubes can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the scatterplot solid cube primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvI3ScatterWireCube (RMvertex3D (*appgridfunc)(int i),
    		              float (*appdatafunc)(int i),
    			      float (*appdata2func)(int i),
    			      RMvisMap *vmap,
    			      int axis_offset_enum,
    			      int npts,
    			      float scale,
    			      RMenum linewidth,
    			      RMenum linestyle,
    			      RMnode *n)

     RMvertex3D (*appgridfunc)(int i) - a handle to a caller-supplied
        function that returns an RMvertex3D (x, y, z) corresponding to the
        grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i) (input).

     RMvisMap *map - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the wireframe cube.  Must be one of RMV_XAXIS_OFFSET,
        RMV_YAXIS_OFFSET, or RMV_ZAXIS_OFFSET (input).

     int npts - an integer specifying number of data points (input).

     float scale - float specifying the size of the wireframe cubes,
        measured in world coordinates (input).

     RMenum linewidth_enum - an RMenum specifying the line width.  Must be
        one of RM_LINEWIDTH_NARROW, RM_LINEWIDTH_MEDIUM,
        RM_LINEWIDTH_HEAVY, or RM_LINEWIDTH_[1..8] (input).

     RMenum linestyle_enum - an RMenum specifying the lline style.  Must
        be one of RM_LINES_SOLID, RM_LINES_DASHED, RM_LINES_DOTTED,
        RM_LINES_DOT_DASH, or RM_LINES_DASH_DASH_DOT (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D scatterplot from data, with each position represented by a wireframe cube. The scatterplot is a single color, the RMnode default color at render time. The wireframe cubes can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the scatterplot wireframe cube primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvI3ScatterSphere (RMvertex3D (*appgridfunc)(int i),
    		            float (*appdatafunc)(int i),
    			    float (*appdata2func)(int i),
    			    RMvisMap *vmap,
    			    int axis_offset_enum,
    			    int npts,
    			    float scale,
    			    RMnode *n)

     RMvertex3D (*appgridfunc)(int i) - a handle to a caller-supplied
        function that returns an RMvertex3D (x, y, z) corresponding to the
        grid point (i, j) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i) (input).

     float (*appdata2func)(int i) - a handle to a secondary
        caller-supplied function that returns a float which is the scalar
        value at the grid point (i) (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to offset
        the sphere.  Must be one of RMV_XAXIS_OFFSET, RMV_YAXIS_OFFSET, or
        RMV_ZAXIS_OFFSET (input).

     int npts - int specifying number of data points (input).

     float scale - float specifying the size of the spheres, measured in
        world coordinates (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D scatterplot from data, with each position represented by a sphere. The scatterplot is a single color, the RMnode default color at render time. The spheres can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the scatterplot sphere primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c

     RMenum rmvI3ScatterGlyph (RMvertex3D (*appgridfunc)(int i),
    		           float (*appdatafunc)(int i),
    			   float (*appdata2func)(int i),
    			   RMvisMap *vmap,
    			   int axis_offset_enum,
    			   int npts,
    			   RMenum size_enum,
    			   RMenum marker_enum,
    			   RMnode *n)

     RMvertex3D (*appgridfunc)(int i) - a handle to a caller-supplied
        function that returns an RMvertex3D (x, y, z) corresponding to the
        grid point (i) (input).

     float (*appdatafunc)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i) (input).

     float (*appdata2func)(int i) - a handle to a caller-supplied function
        that returns a float which is the scalar value at the grid point
        (i).  This value is used in conjunction with the RMvismap to
        compute vertex color (input).

     RMvisMap *vmap - a handle to an RMvisMap object (input).

     int axis_offset_enum - an integer specifying in which axis to
        offset the glyph.  Must be one of RMV_XAXIS_OFFSET,
        RMV_YAXIS_OFFSET, or RMV_ZAXIS_OFFSET (input).

     int npts - int specifying number of glyph points (input).

     RMenum size_enum - an RMenum specifying the size of the markers
        (input).  Must be one of RM_FONT_XXS, RM_FONT_XS, RM_FONT_S,
        RM_FONT_M, RM_FONT_L, RM_FONT_XL, RM_FONT_XXL (input).

     RMenum marker_enum - an Rmenum specifying the marker type (input).
        Must be one of RMV_ZAPFMARKER_STAR_FILLED,
        RMV_ZAPFMARKER_STAR_UNFILLED, RMV_ZAPFMARKER_ASTERIX_FILLED,
        RMV_ZAPFMARKER_ASTERIX_UNFILLED, RMV_ZAPFMARKER_CIRCLE_FILLED,
        RMV_ZAPFMARKER_CIRCLE_UNFILLED, RMV_ZAPFMARKER_SQUARE_FILLED,
        RMV_ZAPFMARKER_SQUARE_UNFILLED, RMV_ZAPFMARKER_UPTRIANGLE_FILLED,
        RMV_ZAPFMARKER_DOWNTRIANGLE_FILLED, RMV_ZAPFMARKER_CLUBS_FILLED,
        RMV_ZAPFMARKER_DIAMONDS_FILLED, RMV_ZAPFMARKER_HEARTS_FILLED,
        RMV_ZAPFMARKER_SPADES_FILLED (input).

     RMnode *n - a handle to an RMnode (modified).

Creates a 3D scatterplot from data, with each position represented with a glyph from the Zapf-Dingbats font. Note that the precise size of the markers onscreen is implementation dependent. The scatterplot is a single color, the RMnode default color at render time. The glyph markers can also be colored via the secondary data function and the RMvismap.

Upon success, RM_CHILL is returned and the scatterplot glyph primitives are added to the RMnode. Otherwise, RM_WHACKED is returned.

librmv library source file: rmvmesh.c