00001 /***************************************************************************** 00002 * M a t h e m a g i x 00003 ***************************************************************************** 00004 * Surface 00005 * 2008-03-21 00006 * Julien Wintz 00007 ***************************************************************************** 00008 * Copyright (C) 2006 INRIA Sophia-Antipolis 00009 ***************************************************************************** 00010 * Comments : 00011 ****************************************************************************/ 00012 00013 # ifndef SURFACE_H 00014 # define SURFACE_H 00015 00016 # include <shape/bounding_box.hpp> 00017 # include <shape/shape.hpp> 00018 00019 # define TMPL template<class V> 00020 //==================================================================== 00021 namespace mmx { 00022 namespace shape { 00023 00024 TMPL class surface; // TMPL struct surface; 00025 00026 //-------------------------------------------------------------------- 00027 struct surface_def {}; 00028 00029 template<> struct use<surface_def> { 00030 typedef surface<double> Surface; 00031 }; 00032 //-------------------------------------------------------------------- 00033 TMPL 00034 class surface : public SHAPE_OF(V) 00035 { 00036 public: 00037 surface(void): SHAPE_OF(V)() {} 00038 00039 virtual ~surface(void) {} 00040 } ; 00041 00042 } ; // namespace shape 00043 } ; // namespace mmx 00044 //==================================================================== 00045 # undef TMPL 00046 # undef Shape 00047 # endif // SURFACE_H