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-01-11 01:18:01 +05:00
|
|
|
class Tcl_Interp;
|
|
|
|
|
|
|
|
namespace netgen
|
|
|
|
{
|
2009-08-24 06:03:40 +06:00
|
|
|
|
|
|
|
class NetgenGeometry
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~NetgenGeometry () { ; }
|
2009-08-25 20:00:20 +06:00
|
|
|
|
2011-01-11 01:18:01 +05:00
|
|
|
virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam,
|
|
|
|
int perfstepsstart, int perfstepsend);
|
2009-08-25 20:00:20 +06:00
|
|
|
|
2010-03-23 17:52:07 +05:00
|
|
|
virtual const Refinement & GetRefinement () const;
|
2011-01-11 01:18:01 +05:00
|
|
|
|
|
|
|
virtual void Save (string filename) const;
|
|
|
|
virtual void SaveToMeshFile (ostream & ost) const { ; }
|
2009-08-24 06:03:40 +06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2010-03-23 17:52:07 +05:00
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-11 01:18:01 +05:00
|
|
|
class GeometryRegister
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~GeometryRegister();
|
|
|
|
virtual NetgenGeometry * Load (string filename) const = 0;
|
|
|
|
virtual NetgenGeometry * LoadFromMeshFile (istream & ist) const { return NULL; }
|
|
|
|
virtual class VisualScene * GetVisualScene (const NetgenGeometry * geom) const
|
|
|
|
{ return NULL; }
|
|
|
|
virtual void SetParameters (Tcl_Interp * interp) { ; }
|
|
|
|
};
|
|
|
|
|
|
|
|
extern Array<GeometryRegister*> geometryregister;
|
|
|
|
}
|
|
|
|
|
2010-03-23 17:52:07 +05:00
|
|
|
|
|
|
|
|
2009-08-24 06:03:40 +06:00
|
|
|
#endif
|