Path: blob/devel/ElmerGUI/netgen/libsrc/meshing/bisect.hpp
3206 views
#ifndef BISECT1#define BISECT23class BisectionOptions4{5public:6const char * outfilename;7const char * mlfilename;8const char * refinementfilename;9const char * femcode;10int maxlevel;11int usemarkedelements;12bool refine_hp;13bool refine_p;14BisectionOptions ();15};1617class ZRefinementOptions18{19public:20int minref;21ZRefinementOptions();22};232425/*26extern void BisectTets (Mesh &, const CSGeometry *,27BisectionOptions & opt);28*/2930extern void BisectTetsCopyMesh (Mesh &, const class CSGeometry *,31BisectionOptions & opt);3233extern void ZRefinement (Mesh &, const CSGeometry *,34ZRefinementOptions & opt);353637383940class Refinement41{42MeshOptimize2d * optimizer2d;4344public:45Refinement ();46virtual ~Refinement ();4748void Refine (Mesh & mesh);49void Bisect (Mesh & mesh, class BisectionOptions & opt, ARRAY<double> * quality_loss = NULL);50void MakeSecondOrder (Mesh & mesh);5152virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,53int surfi,54const PointGeomInfo & gi1,55const PointGeomInfo & gi2,56Point<3> & newp, PointGeomInfo & newgi);5758virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,59int surfi1, int surfi2,60const EdgePointGeomInfo & ap1,61const EdgePointGeomInfo & ap2,62Point<3> & newp, EdgePointGeomInfo & newgi);6364virtual Vec<3> GetTangent (const Point<3> & p, int surfi1, int surfi2,65const EdgePointGeomInfo & egi) const;6667virtual Vec<3> GetNormal (const Point<3> & p, int surfi1,68const PointGeomInfo & gi) const;697071virtual void ProjectToSurface (Point<3> & p, int surfi);7273virtual void ProjectToSurface (Point<3> & p, int surfi, const PointGeomInfo & /* gi */)74{75ProjectToSurface (p, surfi);76}7778virtual void ProjectToEdge (Point<3> & p, int surfi1, int surfi2, const EdgePointGeomInfo & egi) const;798081void ValidateSecondOrder (Mesh & mesh);82void ValidateRefinedMesh (Mesh & mesh,83ARRAY<INDEX_2> & parents);8485MeshOptimize2d * Get2dOptimizer(void)86{87return optimizer2d;88}89void Set2dOptimizer(MeshOptimize2d * opti)90{91optimizer2d = opti;92}939495virtual void LocalizeEdgePoints(Mesh & mesh) const {;}96};9798#endif99100101