#ifndef INCLUDE_NASTGEOMETRY2D_H #define INCLUDE_NASTGEOMETRY2D_H //----------------------------------------------------------------------------- // NastGeometry2d.h //----------------------------------------------------------------------------- // // Copyright (C) 1998 Technische Universitaet Muenchen, Germany // written by Bernhard Brueck // // This file is part of Nast++ // //----------------------------------------------------------------------------- // CNastGeometry2d stellt die Schnittstelle zur Geometriebeschreibung dar. // Es handelt sich dabei um eine abstrakte Basisklasse die folgende Funktion // vorschreibt: // boundingBox liefert Ausdehnung der Geometrie // inside gibt an welche Zellen innerhalb der Geometrie liegen // boundaryPoint liefert eine Punkt auf dem Rand (siehe CNastBoundaryPoint2d) // isMovable true falls die Goemetrie bewegt werden muss // move bewegt die Geometrie Anhand der Ergebnisse aus der // Loesung der Navier-Stokes-Gleichungen //----------------------------------------------------------------------------- // Aenderungen: // #include "NastConfig.h" #include "NastObject.h" #include "NastBoundaryPoint2d.h" template class CNastArray2d; class CNastNavierStokes; class CNastBox2d; class CNastCellField2d; class CNastGeometry2d : public CNastObject { public: //------------------------------------------------------------------------- // Memberfunktionen //------------------------------------------------------------------------- virtual CNastBox2d boundingBox() const = 0; virtual void setCells( CNastCellField2d &cellField ) const = 0; virtual CNastBoundaryPoint2d boundaryPoint( const CNastPoint2d &pnt, const CNastVector2d &direction ) const = 0; virtual bool isMovable() const = 0 ; virtual void move( const CNastNavierStokes &solution ) = 0; virtual double maxTimeStep() const = 0; }; #endif // INCLUDE_NASTGEOMETRY2D_H