Path: blob/devel/ElmerGUI/netgen/libsrc/csg/meshsurf.hpp
3206 views
#ifndef FILE_MESHSURF1#define FILE_MESHSURF23///4class Meshing2Surfaces : public Meshing25{6///7const Surface & surface;89public:10///11// Meshing2Surfaces (const Surface & asurf);12///13Meshing2Surfaces (const Surface & asurf, const Box<3> & aboundingbox);1415protected:16///17virtual void DefineTransformation (const Point3d & p1, const Point3d & p2,18const PointGeomInfo * geominfo1,19const PointGeomInfo * geominfo2);20///21virtual void TransformToPlain (const Point3d & locpoint,22const MultiPointGeomInfo & geominfo,23Point2d & plainpoint,24double h, int & zone);25///26virtual int TransformFromPlain (Point2d & plainpoint,27Point3d & locpoint,28PointGeomInfo & gi,29double h);30///31virtual double CalcLocalH (const Point3d & p, double gh) const;32};33343536///37class MeshOptimize2dSurfaces : public MeshOptimize2d38{39///40const CSGeometry & geometry;4142public:43///44MeshOptimize2dSurfaces (const CSGeometry & ageometry);4546///47virtual void ProjectPoint (INDEX surfind, Point<3> & p) const;48///49virtual void ProjectPoint2 (INDEX surfind, INDEX surfind2, Point<3> & p) const;50///51virtual void GetNormalVector(INDEX surfind, const Point<3> & p, Vec<3> & n) const;52};535455565758class RefinementSurfaces : public Refinement59{60const CSGeometry & geometry;6162public:63RefinementSurfaces (const CSGeometry & ageometry);64virtual ~RefinementSurfaces ();6566virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,67int surfi,68const PointGeomInfo & gi1,69const PointGeomInfo & gi2,70Point<3> & newp, PointGeomInfo & newgi);7172virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,73int surfi1, int surfi2,74const EdgePointGeomInfo & ap1,75const EdgePointGeomInfo & ap2,76Point<3> & newp, EdgePointGeomInfo & newgi);7778virtual Vec<3> GetTangent (const Point<3> & p, int surfi1, int surfi2,79const EdgePointGeomInfo & ap1) const;8081virtual Vec<3> GetNormal (const Point<3> & p, int surfi1,82const PointGeomInfo & gi) const;838485virtual void ProjectToSurface (Point<3> & p, int surfi);8687virtual void ProjectToEdge (Point<3> & p, int surfi1, int surfi2, const EdgePointGeomInfo & egi) const;8889};90919293#endif94959697