shape_doc 0.1
|
00001 #ifndef SYNAPS_SHAPE_SSIQTS_H 00002 #define SYNAPS_SHAPE_SSIQTS_H 00003 00004 #include <shape/surface_parametric.hpp> 00005 #include <shape/fxv.hpp> 00006 #include <iostream> 00007 00008 #define ParametricSurface shape::surface_parametric<double> 00009 00010 namespace mmx { 00011 00012 00013 struct SSIQTS 00014 { 00015 typedef fxv<double,3> vector3; 00016 typedef double aabb3 [3][2]; 00017 typedef double ipoint [7]; 00018 00019 int udeg; 00020 int vdeg; 00021 int m; 00022 00023 struct sample 00024 { 00025 00026 double * m_uvals; 00027 double * m_vvals; 00028 vector3 * m_svals; 00029 int m_nrows; 00030 int m_ncols; 00031 inline vector3& operator[]( int i ) { return m_svals[i]; }; 00032 inline const vector3& operator[]( int i ) const { return m_svals[i]; }; 00033 sample( ParametricSurface * s, int m, int n ); 00034 ~sample(); 00035 }; 00036 00037 sample * smpa; 00038 sample * smpb; 00039 00040 aabb3 * boxa; 00041 aabb3 * boxb; 00042 00043 int * m_bcf; 00044 int * m_ecf; 00045 00046 void cfprint( std::ostream& gpr, std::ostream& gpl ); 00047 00048 SSIQTS( ParametricSurface * srfa, ParametricSurface * srfb, int n, int degu, int degv ); 00049 ~SSIQTS(); 00050 00051 }; 00052 00053 } //namespace mmx 00054 00055 # undef ParametricSurface 00056 # endif