Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

plot3d.h

Go to the documentation of this file.
00001 #ifndef PLOT3D
00002 #define PLOT3D
00003 
00004 #include "defines.h"
00005 
00006 #include "boolean.h"
00007 #include "htransform.h"
00008 #include "color.h"
00009 
00010 #include <stdio.h>
00011 
00023 /************************************************************************************/
00030 #define DCP3D_R 0
00031 
00038 #define DCP3D_G 0
00039 
00046 #define DCP3D_B 1
00047 /************************************************************************************/
00048 
00054 typedef struct {
00055   FILE *f; 
00056   char *fileName; 
00060   unsigned int nobj;
00062   Tcolor color; 
00064   boolean inObject;
00066 } Tplot3d;
00067 
00080 void InitPlot3d(char *name,boolean axes,int argc, char **arg,Tplot3d *p);
00081 
00092 unsigned int StartNew3dObject(Tcolor *c,Tplot3d *p);
00093 
00101 void  Close3dObject(Tplot3d *p);
00102 
00112 void  Delete3dObject(unsigned int nobj,Tplot3d *p);
00113 
00123 void Start3dBlock(Tplot3d *p);
00131 void Close3dBlock(Tplot3d *p);
00132 
00142 void SetColor3dObject(unsigned int nobj,Tcolor *c,Tplot3d *p);
00143 
00152 void Delay3dObject(double t,Tplot3d *p);
00153 
00154 
00164 void Move3dObject(unsigned int nobj,THTransform *t,Tplot3d *p);
00165 
00181 void PlotBox3d(double min_x,double max_x,
00182                double min_y,double max_y,
00183                double min_z,double max_z,
00184                Tplot3d *p);
00203 void PlotTriangle3d(double x1,double y1,double z1,
00204                     double x2,double y2,double z2,
00205                     double x3,double y3,double z3,
00206                     Tplot3d *p);
00225 void  Plot3dObject(unsigned int nv,unsigned int nf,unsigned int ne,
00226                    double **v,
00227                    unsigned int *nvf,
00228                    unsigned int **fv,Tplot3d *p);
00242 void PlotSphere(double r,double x,double y,double z,Tplot3d *p);
00243 
00258 void PlotCylinder(double r,double *p1,double *p2,Tplot3d *p);
00259 
00274 void PlotVect3d(unsigned int n,
00275                 double *x,double *y,double *z,
00276                 Tplot3d *p);
00288 void Take3dSnapshot(char *file,Tplot3d *p);
00289 
00308 void ClosePlot3d(boolean quit,double average_x,double average_y,double average_z,Tplot3d *p);
00309 
00310 #endif