shape_doc 0.1
|
# include <shape/viewer_axel.hpp> # include <shape/bounding_box.hpp> # include <shape/surface_algebraic.hpp> # include <shape/solver_implicit.hpp> # include <shape/mesher3d_shape.hpp> # include <shape/cell3d_surface_algebraic.hpp> # include <shape/find_minimal_edges.hpp> # define Kernel double # define BoundingBox bounding_box<Kernel> # define AlgebraicSurface surface_algebraic<Kernel> # define Cell3dAlgebraicSurface cell3d_surface_algebraic< Kernel > # define Topology3d mesher3d_shape< Kernel > int main(int argc, char** argv) { using namespace mmx; using namespace mmx::shape; BoundingBox bx(-2.1,2,-2,2.1,-2,2); AlgebraicSurface* s= new AlgebraicSurface((char *)"x^3+y^5-z^2"); Cell3dAlgebraicSurface* cl= new Cell3dAlgebraicSurface(s->equation(),bx); std::cout<<"Cell: "<<cl->boundingBox()<<std::endl; // typedef mesher3d_shape<double,default_env> Mesher; // Mesher tp(s,bx); // tp.set_smoothness(0.05); // // tp.push_back(s); // tp.run(); // EdgeListBuilder<Mesher::Node> elb; // elb.cellProc( tp.output()->m_tree.root() ); // std::cout << "Active edges: " << elb.edgeList().size() << std::endl; // std::cout << "Active faces: " << elb.faceList().size() << std::endl; /* axel::ostream axl((char *)"surface.axl"); axl<<(&tp); axl.view(); */ }