RMmatrix * rmMatrixNew (void)
No arguments.librm library source file: rmmatrix.c
RMenum rmMatrixCopy (RMmatrix *dst, const RMmatrix *src)
RMmatrix *dst - a handle to the "copy to" RMmatrix (modified). const RMmatrix *src - a handle to the "copy from" RMmatrix (input).librm library source file: rmmatrix.c
RMenum rmMatrixDelete (RMmatrix *toDelete)
RMmatrix *toDelete - a handle to an RMmatrix object to delete (modified).librm library source file: rmmatrix.c
RMenum rmMatrixIdentity (RMmatrix *toModify)
RMmatrix *toModify - a handle to an RMmatrix object (modified).librm library source file: rmmatrix.c
RMenum rmMatrixSetValue (RMmatrix *toModify, int row, int col, float newValue)
RMmatrix *toModify - a handle to an RMmatrix object (modified). int row, col - integer values, treated as indices. Must both be in the range 0..3, otherwise an error condition results. float newValue - a floating point value to place into the RMmatrix object (input).librm library source file: rmmatrix.c
float rmMatrixGetValue (const RMmatrix *toQuery, int row, int col)
query (input). int row, col - integer values assumed to be indices into the 4x4 matrix contained within the RMmatrix object. Must be in the range 0..3 else an error condition is detected.librm library source file: rmmatrix.c
RMenum rmMatrixTranspose (const RMmatrix *src, RMmatrix *dst)
const RMmatrix *src - a handle to an RMmatrix object (input). RMmatrix *dst - a handle to an RMmatrix object (modified).librm library source file: rmmatrix.c
RMenum rmMatrixMultiply (const RMmatrix *srcA, const RMmatrix *srcB, RMmatrix *dst)
const RMmatrix *srcA, *srcB - handles to RMmatrix objects (input). RMmatrix *dst - a handle to an RMmatrix object (modified).librm library source file: rmmatrix.c
RMenum rmMatrixInverse (const RMmatrix *src, RMmatrix *dst)
const RMmatrix *src - a handle to an RMmatrix object (input). RMmatrix *dst - a handle to an RMmatrix object (result).librm library source file: rmmatrix.c
RMenum rmPoint4MatrixTransform (const float *src, const RMmatrix *matrix, float *dst)
const float *src - a handle to an array of floats of length 4 (input). const RMmatrix *matrix - a handle to an RMmatrix object. float *dst - a handle to an array of floats of length 4 (ouput).librm library source file: rmmatrix.c
RMenum rmPointMatrixTransform (const RMvertex3D *src, const RMmatrix *matrix, RMvertex3D *dst)
const RMvertex3D *src - a handle to an RMvertex3D object (input). const RMmatrix *matrix - a handle to an RMmatrix object. RMvertex3D *dst - a handle to an RMvertex3D (ouput).librm library source file: rmmatrix.c
RMenum rmPrintMatrix (const RMmatrix *toPrint)
const RMmatrix *toPrint - a handle to an RMmatrix that will be printed (input).librm library source file: rmmatrix.c
RMenum rmPointMin (const float *input, int count, int vdims, int stride, RMvertex3D *minReturn)
const float *input - a handle to an array of floating point values (input). int count - an integer value indicating the number of "vertices" that will be processed (input). int vdims - an integer value indicating the cardinality, or number of dimensions, of each vertex. Should be either 1, 2 or 3 (input). int stride - an integer value specifying the stride length in floats from one vertex to the next (input). RMvertex3D *minReturn - a handle to an RMvertex3D object (modified).librm library source file: rmmatrix.c
RMenum rmPointMax (const float *input, int count, int vdims, int stride, RMvertex3D *maxReturn)
const float *input - a handle to an array of floating point values (input). int count - an integer value indicating the number of "vertices" that will be processed (input). int vdims - an integer value indicating the cardinality, or number of dimensions, of each vertex. Should be either 1, 2 or 3 (input). int stride - an integer value specifying the stride length in floats from one vertex to the next (input). RMvertex3D *maxReturn - a handle to an RMvertex3D object (modified).librm library source file: rmmatrix.c
RMenum rmPointMinMax (const float *input, int count, int vdims, int stride, RMvertex3D *minReturn, RMvertex3D *maxReturn)
const float *input - a handle to an array of floating point values (input). int count - an integer value indicating the number of "vertices" that will be processed (input). int vdims - an integer value indicating the cardinality, or number of dimensions, of each vertex. Should be either 1, 2 or 3 (input). int stride - an integer value specifying the stride length in floats from one vertex to the next (input). RMvertex3D *minReturn, *maxReturn - handles to RMvertex3D objects (modified).librm library source file: rmmatrix.c
double rmVertex3DMag (const RMvertex3D *src)
const RMvertex3D *src - a handle to an RMvertex3D object (input).librm library source file: rmmatrix.c
RMenum rmVertex3DSum (const RMvertex3D *a, const RMvertex3D *b, RMvertex3D *dst)
const RMvertex3D *a, *b - handles to RMvertex3D objects (input). RMvertex3D *dst - a handle to an RMvertex3D object (result).librm library source file: rmmatrix.c
RMenum rmVertex3DDiff (const RMvertex3D *a, const RMvertex3D *b, RMvertex3D *dst)
const RMvertex3D *a, *b - handles to RMvertex3D objects (input). RMvertex3D *dst - a handle to an RMvertex3D object (result).librm library source file: rmmatrix.c
double rmVertex3DDot (const RMvertex3D *a, const RMvertex3D *b)
const RMvertex3D *a, *b - handles to RMvertex3D objects (input).librm library source file: rmmatrix.c
RMenum rmVertex3DCross (RMvertex3D *p, RMvertex3D *r, RMvertex3D *result)
RMvertex3D *p, *r - handles to RMvertex3D objects (input). RMvertex3D *result - a handle to an RMvertex3D object (result).librm library source file: rmmatrix.c
RMenum rmVertex3DNormalize (RMvertex3D *toNormalize)
RMvertex3D *toNormalize - a handle to the RMvertex3D object (modified).librm library source file: rmmatrix.c
RMenum rmVertex3DMagNormalize (RMvertex3D *toNormalize, double *magReturn)
RMvertex3D *toNormalize - a handle to an RMvertex3D object (modified). double *magReturn - a pointer to a double (result).librm library source file: rmmatrix.c
RMenum rmVertex3DMidpoint (const RMvertex3D *a, const RMvertex3D *b, RMvertex3D *dst)
const RMvertex3D *a,*b - handles to RMvertex3D objects (input). RMvertex3D *dst - a handle to an RMvertex3D object (result).librm library source file: rmmatrix.c
RMenum rmDCFromWC3 (const RMvertex3D *src, RMvertex3D *dst, int nPoints, const RMcamera3D *cam3d, const RMmatrix *model, float viewPort[4], int windowWidth, int windowHeight)
const RMvertex3D *src - an array of RMvertex3D objects (input). RMvertex3D *dst - an array of RMvertex3D objects (result). int nPoints - an integer value indicating the number of points from "src" that will be transformed. RMcamera3D *cam3d - a handle to an RMcamera3D object that specifies view geometry (input). RMmatrix *model - an RMmatrix object specifying a model transformation in world coordinates (input). This parameter is optional, and NULL may be used in place of an RMmatrix object. float viewPort[4] - an array of floating point values (length 4) specifying the viewport geometry within the display window. Each array value should be in the range 0..1, specifying the viewport origin and width/height in NDC coordinates. The array is in the following order: xmin, ymin, xmax,ymax. In other words, the viewport is specified using two coordinates defining the min/max corners of the viewport in NDC space. int windowWidth, windowHeight - integer values specifying the width and height in pixels of the display window (input).librm library source file: rmmatrix.c
RMenum rmDCFromWC2 (const RMvertex2D *src, RMvertex2D *dst, int nPoints, const RMcamera2D *cam3d, const RMmatrix *model, float viewPort[4], int windowWidth, int windowHeight)
const RMvertex2D *src - an array of RMvertex2D objects (input). RMvertex2D *dst - an array of RMvertex2D objects (result). int nPoints - an integer value indicating the number of points from "src" that will be transformed. RMcamera2D *cam2d - a handle to an RMcamera2D object that specifies view geometry (input). RMmatrix *model - an RMmatrix object specifying a model transformation in world coordinates (input). This parameter is optional, and NULL may be used in place of an RMmatrix object. float viewPort[4] - an array of floating point values (length 4) specifying the viewport geometry within the display window. Each array value should be in the range 0..1. The array is in the following order: xmin, ymin, xmax,ymax. In other words, the viewport is specified using two coordinates defining the min/max corners of the viewport in NDC space. int windowWidth, windowHeight - integer values specifying the width and height in pixels of the display window (input).librm library source file: rmmatrix.c