$search
00001 #ifndef REGION_HH 00002 #define REGION_HH 00003 00004 /* 00005 James R. Diebel 00006 Stanford University 00007 00008 Started: 27 August 2004 00009 Last revised: 27 Sugust 2004 00010 00011 region.hh - class definition for a face region class in a 3d surface mesh 00012 as defined in the header file mesh.hh 00013 00014 Depends on: 00015 - Vec3d class (vec3d.hh) 00016 - Mesh class (mesh.hh) 00017 - Face class (face.hh) 00018 00019 Used almost exclusively by Mesh class (mesh.hh) 00020 */ 00021 00022 #include <iostream> 00023 #include <vector> 00024 #include "vec3d.hh" 00025 #include "mesh.hh" 00026 00027 namespace bmtk { 00028 00029 using namespace std; 00030 00031 class Region { 00032 public: 00033 // Data 00034 vector<int> vi; // list of vertex indices defining approx. region boundary 00035 vector<int> tvi; // triangulated list of the same 00036 vector<Vec3d> ni; // the fit normal vector for each vertex 00037 vector<int> fi; // list of faces in region 00038 int i; // self-reference in global region list 00039 int p; // population of region 00040 Vec3d n; // normal vector 00041 Vec3d* ns; // mean normals for each of the (m->nd) data sets 00042 float ssn2; // sum of normal vector variance (sum sigma_n squared) 00043 class Mesh *m; // pointer to parent mesh 00044 00045 // Constructor/Destructor 00046 Region(); 00047 ~Region(); 00048 }; 00049 00050 } // namespace bmtk 00051 00052 #endif