netgen/libsrc/meshing/basegeom.hpp

61 lines
1.6 KiB
C++
Raw Normal View History

2009-08-24 06:03:40 +06:00
#ifndef FILE_BASEGEOM
#define FILE_BASEGEOM
/**************************************************************************/
/* File: basegeom.hpp */
/* Author: Joachim Schoeberl */
/* Date: 23. Aug. 09 */
/**************************************************************************/
2011-03-03 01:50:39 +05:00
struct Tcl_Interp;
2011-01-11 01:18:01 +05:00
namespace netgen
{
2009-08-24 06:03:40 +06:00
class DLL_HEADER NetgenGeometry
2011-03-03 01:50:39 +05:00
{
public:
virtual ~NetgenGeometry () { ; }
2009-08-25 20:00:20 +06:00
virtual int GenerateMesh (shared_ptr<Mesh> & mesh, MeshingParameters & mparam);
2009-08-25 20:00:20 +06:00
2011-03-03 01:50:39 +05:00
virtual const Refinement & GetRefinement () const;
2011-01-11 01:18:01 +05:00
2011-03-03 01:50:39 +05:00
virtual void Save (string filename) const;
2011-08-29 16:09:11 +06:00
virtual void SaveToMeshFile (ostream & /* ost */) const { ; }
2011-03-03 01:50:39 +05:00
};
2009-08-24 06:03:40 +06:00
2010-03-23 17:52:07 +05:00
class DLL_HEADER GeometryRegister
2011-03-03 01:50:39 +05:00
{
public:
virtual ~GeometryRegister();
virtual NetgenGeometry * Load (string filename) const = 0;
2011-08-29 16:09:11 +06:00
virtual NetgenGeometry * LoadFromMeshFile (istream & /* ist */) const { return NULL; }
virtual class VisualScene * GetVisualScene (const NetgenGeometry * /* geom */) const
2011-03-03 01:50:39 +05:00
{ return NULL; }
2011-08-29 16:09:11 +06:00
virtual void SetParameters (Tcl_Interp * /* interp */) { ; }
2011-03-03 01:50:39 +05:00
};
2013-02-06 18:55:20 +06:00
class DLL_HEADER GeometryRegisterArray : public Array<GeometryRegister*>
{
public:
virtual ~GeometryRegisterArray()
{
for (int i = 0; i < Size(); i++)
delete (*this)[i];
}
};
// extern DLL_HEADER Array<GeometryRegister*> geometryregister;
extern DLL_HEADER GeometryRegisterArray geometryregister;
2011-01-11 01:18:01 +05:00
}
2010-03-23 17:52:07 +05:00
2009-08-24 06:03:40 +06:00
#endif