Page MenuHomec4science

plinproj.c
No OneTemporary

File Metadata

Created
Wed, May 28, 12:18

plinproj.c

#include <math.h>
#include "mex.h"
#include "geometry.h"
void
mexFunction (int nlhs, mxArray * plhs[], int nrhs, const mxArray * prhs[])
{
char str[256];
mxArray *proj, *dist;
double *l1, *l2, *r, *proj_p, *dist_p;
int flag;
if (nrhs <3 || nrhs>4)
mexErrMsgTxt ("Invalid number of input arguments");
if (mxGetM(prhs[0])!=1 || mxGetN(prhs[0])!=3)
mexErrMsgTxt ("Invalid dimension for input argument 1");
if (mxGetM(prhs[1])!=1 || mxGetN(prhs[1])!=3)
mexErrMsgTxt ("Invalid dimension for input argument 2");
if (mxGetM(prhs[2])!=1 || mxGetN(prhs[2])!=3)
mexErrMsgTxt ("Invalid dimension for input argument 3");
l1 = mxGetData (prhs[0]);
l2 = mxGetData (prhs[1]);
r = mxGetData (prhs[2]);
if (nrhs==4)
flag = (int)mxGetScalar (prhs[3]);
else
flag = 0;
proj = mxCreateDoubleMatrix (1, 3, mxREAL);
dist = mxCreateDoubleMatrix (1, 1, mxREAL);
proj_p = mxGetData (proj);
dist_p = mxGetData (dist);
(*dist_p) = plinproj(l1, l2, r, proj_p, flag);
/* assign the output parameters */
plhs[0] = proj;
if (nlhs>1)
plhs[1] = dist;
return;
}

Event Timeline