RangeGrid.h
上传用户:kellyonhid
上传日期:2013-10-12
资源大小:932k
文件大小:1k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. #ifndef _RANGE_GRID_
  2. #define _RANGE_GRID_
  3. #include <limits.h>
  4. #include "defines.h"
  5. #include "Pnt3.h"
  6. typedef uchar vec3uc[3];
  7. class Mesh;
  8. class cStripeServer;
  9. class RangeGrid {
  10. private:
  11.   void addTriangleCheckLength(Mesh *mesh, 
  12.       int vin1, int vin2, int vin3, 
  13.       float maxLength);
  14.   void addTriangleCheckNormal(Mesh *mesh, 
  15.       int vin1, int vin2, int vin3, 
  16.       Pnt3 &viewDir, float minDot);
  17. public:
  18.   int nlg; // number of range columns (samples in x)
  19.   int nlt; // number of rows (samples in y)
  20.   int interlaced;       // is it interlaced data?
  21.   int numSamples;       // number of range samples
  22.   Pnt3 *coords;         // the range samples
  23.   float *confidence;    // confidence
  24.   float *intensity;     // intensity
  25.   vec3uc *matDiff;      // color
  26.   int *indices;         // row x col indices to the positions
  27.   int hasColor;         // color information?
  28.   int hasIntensity;     // intensity information?
  29.   int hasConfidence;    // confidence information?
  30.   int multConfidence;   // multiply confidence?
  31.   int hasTexture;
  32.   int isLinearScan;
  33.   int ltMax;
  34.   int lgMax;
  35.   int ltMin;
  36.   int lgMin;
  37.   char **obj_info; 
  38.   int num_obj_info;
  39.   Pnt3 viewDir;
  40.   int isModelMakerScan;
  41.   RangeGrid();
  42.   ~RangeGrid();
  43.   int readRangeGrid(const char *name);
  44.   int readCyfile(const char *name);
  45.   Mesh *toMesh(int subSamp, int hasTexture);
  46. };
  47. int is_range_grid_file(const char *filename);
  48. #endif