00001
00002
00003
00004
00005
00007 #ifndef axel_mesh_H__
00008 #define axel_mesh_H__
00009
00010
00011 #include <synaps/init.h>
00012 #include <synaps/linalg/MethodName.h>
00013 #include <synaps/linalg/MATRIX3D.h>
00014 #include <synaps/mpol/MPOLDST.m>
00015 #include <synaps/topology/mesh/cell3d.h>
00016 #include <synaps/topology/box3d.h>
00017 #include <synaps/topology/mesh/cube3d.h>
00018 #include <synaps/topology/Octree.h>
00019 #include <synaps/topology/mesh/bezier3d.h>
00020 #include <synaps/topology/mesh/scene.h>
00021 #include <synaps/topology/mesh/subdivisor.h>
00022 #include <synaps/topology/mesh/geomview.h>
00023
00024 __BEGIN_NAMESPACE_SYNAPS
00025
00026
00027
00028 template<class MPOL, class REP3D>
00029 void mesh(scene<MPOL, REP3D> & scn,
00030 const MPOL & polynome,
00031 const typename MPOL::coeff_t& x0, const typename MPOL::coeff_t& x1,
00032 const typename MPOL::coeff_t& y0, const typename MPOL::coeff_t& y1,
00033 const typename MPOL::coeff_t& z0, const typename MPOL::coeff_t& z1,
00034 const typename MPOL::coeff_t& min,const typename MPOL::coeff_t& max )
00035 {
00036 scn.x=x0; scn.y=y0; scn.z=z0;
00037 scn.u=x1-x0; scn.v=y1-y0; scn.w=z1-z0;
00038 cell3d<MPOL,REP3D> bz3d(polynome, x0, x1, y0, y1, z0, z1);
00039
00040
00041 subdivisor<cell3d<MPOL,REP3D> > subdiv(min, max);
00042
00043
00044
00045
00046 adaptiveSplit(scn,bz3d,subdiv);
00047
00048
00049
00050
00051
00052
00053
00054 buildMesh(scn,bz3d,subdiv);
00055
00056
00057
00058 }
00059
00060
00061
00062 __END_NAMESPACE_SYNAPS
00063
00064 #endif // axel_mesh_H__