Main Page   Class Hierarchy   Compound List   File List   Compound Members  

f_nurbsSub.cpp

00001 #include "nurbsSub.cpp"
00002 
00003 namespace PLib {
00004 
00005   #ifdef NO_IMPLICIT_TEMPLATES
00006 
00007   template class SurfSample<float> ;
00008   template class NurbsSubSurface<float> ;
00009   template class NurbSurface<float> ;
00010   template class RenderMesh<float>;
00011   template class RenderMeshPS<float>;
00012   template class RenderMeshVRML<float>;
00013   template class RenderMeshVRML97<float>;
00014   template class RenderMeshPoints<float> ;
00015 
00016   
00017   float NurbSurface<float>::epsilon = 1e-6 ;
00018   float SurfSample<float>::epsilon = 1e-6 ;
00019 
00020   template void DrawSubdivision( NurbSurface<float> *, float tolerance );
00021   template void DrawEvaluation( NurbSurface<float> * );
00022            
00023   template int FindBreakPoint( float u, float * kv, int m, int k );
00024   template void AllocNurb( NurbSurface<float> *, float *, float * );
00025   template void CloneNurb( NurbSurface<float> *, NurbSurface<float> * );
00026   template void FreeNurb( NurbSurface<float> * );
00027   template void RefineSurface( NurbSurface<float> *, NurbSurface<float> *, BOOL );
00028            
00029   template void CalcPoint( float, float, NurbSurface<float> *, Point_nD<float,3> *, Point_nD<float,3> *, Point_nD<float,3> * );
00030 
00031 
00032   template void GetNormal( NurbSurface<float> * n, int indV, int indU );
00033   template void DoSubdivision( NurbSurface<float> * n, float tolerance, BOOL dirflag, int level ) ;
00034   template void BasisFunctions( float u, int brkPoint, float * kv, int k, float * bvals );
00035   template void BasisDerivatives( float u, int brkPoint, float * kv, int k, float * dvals );
00036   template void CalcAlpha( float * ukv, float * wkv, int m, int n, int k, float *** alpha );
00037 
00038   template void AdjustNormal( SurfSample<float> * samp );
00039   template BOOL TestFlat( NurbSurface<float> * n, float tolerance );
00040   template void EmitTriangles( NurbSurface<float> * n );
00041   template void SplitSurface( NurbSurface<float> * parent,
00042               NurbSurface<float> * kid0, NurbSurface<float> * kid1,
00043               BOOL dirflag );
00044 
00045 
00046   template BOOL IsCurveStraight( NurbSurface<float> * n,float tolerance,int crvInd,BOOL dirflag );  
00047   template void FixNormals( SurfSample<float> * s0, SurfSample<float> * s1, SurfSample<float> * s2 );
00048   template int SplitKV( float * srckv,float ** destkv,int * splitPt,int m, int k );
00049   template void MakeNewCorners( NurbSurface<float> * parent,NurbSurface<float> * kid0,NurbSurface<float> * kid1,BOOL dirflag );
00050   template void ProjectToLine( Point_nD<float,3> * firstPt, Point_nD<float,3> * lastPt, Point_nD<float,3> * midPt );
00051 
00052   //template class vector<Point_nD<float,3> >;
00053 
00054   //template class deque<Point_nD<float,3> > ;
00055   //template class deque<int> ; 
00056 
00057 #ifdef USING_LINUX
00058   /*
00059   template void fill<int *, int>(int *, int *, int const &);
00060   template void fill<_Deque_iterator<int, int &, int *, 0>, int>(_Deque_iterator<int, int &, int *, 0>, _Deque_iterator<int, int &, int *, 0>, int const &);
00061   template void fill<_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> >(_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, _Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> const &);
00062   template void deque<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::insert<_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, _Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, _Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, forward_iterator_tag);
00063   
00064   //template class _Deque_base<int,allocator<int>,0>;
00065   template void deque<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::_M_insert_aux<_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(_Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, _Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, _Deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, unsigned int);
00066   template void _Deque_base<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::_M_initialize_map(unsigned int);
00067   template void _Deque_base<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::_M_destroy_nodes(PLib::Point_nD<float, 3> **, PLib::Point_nD<float, 3> **);
00068   template _Deque_base<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::~_Deque_base(void);
00069   template void deque<int, allocator<int>, 0>::insert<_Deque_iterator<int, int const &, int const &, 0> >(_Deque_iterator<int, int &, int *, 0>, _Deque_iterator<int, int const &, int const &, 0>, _Deque_iterator<int, int const &, int const &, 0>, forward_iterator_tag);
00070   template void _Deque_base<PLib::Point_nD<float, 3>, allocator<PLib::Point_nD<float, 3> >, 0>::_M_create_nodes(PLib::Point_nD<float, 3> **, PLib::Point_nD<float, 3> **);
00071   template void deque<int, allocator<int>, 0>::_M_insert_aux<_Deque_iterator<int, int const &, int const &, 0> >(_Deque_iterator<int, int &, int *, 0>, _Deque_iterator<int, int const &, int const &, 0>, _Deque_iterator<int, int const &, int const &, 0>, unsigned int);
00072   template void _Deque_base<int, allocator<int>, 0>::_M_initialize_map(unsigned int);
00073   template _Deque_base<int, allocator<int>, 0>::~_Deque_base(void);
00074   template void _Deque_base<int, allocator<int>, 0>::_M_destroy_nodes(int **, int **);
00075   template void _Deque_base<int, allocator<int>, 0>::_M_create_nodes(int **, int **);
00076   */
00077 
00078 #endif
00079 
00080 #ifdef USING_GNU_SOLARIS
00081   template void fill<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> const &);
00082   template void deque<int, __default_alloc_template<false, 0>, 0>::insert<__deque_iterator<int, int const &, int const &, 0> >(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int const &, int const &, 0>, __deque_iterator<int, int const &, int const &, 0>, forward_iterator_tag);
00083   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<false, 0>, 0>::insert<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, forward_iterator_tag);
00084   template __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> __uninitialized_copy_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __false_type);
00085   template void __uninitialized_fill_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> const &, __false_type);
00086   template void __uninitialized_fill_aux<PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> >(PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> const &, __false_type);
00087   template __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> __uninitialized_copy_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __false_type);
00088   template void fill<__deque_iterator<int, int &, int *, 0>, int>(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int &, int *, 0>, int const &);
00089   template void fill<int *, int>(int *, int *, int const &);
00090   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<false, 0>, 0>::insert_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, unsigned int);
00091   template void deque<int, __default_alloc_template<false, 0>, 0>::insert_aux<__deque_iterator<int, int const &, int const &, 0> >(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int const &, int const &, 0>, __deque_iterator<int, int const &, int const &, 0>, unsigned int);
00092 #endif
00093 
00094 #ifdef USING_GNU_DECALPHA
00095   template void fill<__deque_iterator<Point_nD<float, 3>, Point_nD<float, 3> &, Point_nD<float, 3> *, 0>, Point_nD<float, 3> >(__deque_iterator<Point_nD<float, 3>, Point_nD<float, 3> &, Point_nD<float, 3> *, 0>, __deque_iterator<Point_nD<float, 3>, Point_nD<float, 3> &, Point_nD<float, 3> *, 0>, Point_nD<float, 3> const &);
00096   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<0, 0>, 0>::insert<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, forward_iterator_tag);
00097   template __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> __uninitialized_copy_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __false_type);
00098   template __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> __uninitialized_copy_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __false_type);
00099   template void __uninitialized_fill_aux<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, PLib::Point_nD<float, 3> const &, __false_type);
00100   template void __uninitialized_fill_aux<PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> >(PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> *, PLib::Point_nD<float, 3> const &, __false_type);
00101   template void deque<int, __default_alloc_template<0, 0>, 0>::insert<__deque_iterator<int, int const &, int const &, 0> >(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int const &, int const &, 0>, __deque_iterator<int, int const &, int const &, 0>, forward_iterator_tag);
00102   template void fill<__deque_iterator<int, int &, int *, 0>, int>(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int &, int *, 0>, int const &);
00103   template void fill<int *, int>(int *, int *, int const &);
00104   template void deque<int, __default_alloc_template<true, 0>, 0>::insert<__deque_iterator<int, int const &, int const &, 0> >(__deque_iterator<int, int &, int *, 0>, __deque_iterator<int, int const &, int const &, 0>, __deque_iterator<int, int const &, int const &, 0>, forward_iterator_tag);
00105   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<false, 0>, 0>::destroy_nodes_at_back(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>);
00106   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<true, 0>, 0>::destroy_nodes_at_back(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>);
00107   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<false, 0>, 0>::destroy_nodes_at_front(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>);
00108   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<true, 0>, 0>::destroy_nodes_at_front(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>);
00109   template void deque<PLib::Point_nD<float, 3>, __default_alloc_template<true, 0>, 0>::insert<__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0> >(__deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> &, PLib::Point_nD<float, 3> *, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, __deque_iterator<PLib::Point_nD<float, 3>, PLib::Point_nD<float, 3> const &, PLib::Point_nD<float, 3> const &, 0>, forward_iterator_tag);
00110   template void* __default_alloc_template<true, 0>::free_list ;
00111   template char* __default_alloc_template<true, 0>::end_free;
00112   template char* __default_alloc_template<true, 0>::heap_size;
00113   template char* __default_alloc_template<true, 0>::start_free;
00114 
00115 #endif
00116 
00117 #endif
00118 
00119 }

Generated on Tue Jun 24 13:26:55 2003 for NURBS++ by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002