MorphoGraphX  2.0-1-227
Surface.hpp
Go to the documentation of this file.
1 //
2 // This file is part of MorphoGraphX - http://www.MorphoGraphX.org
3 // Copyright (C) 2012-2016 Richard S. Smith and collaborators.
4 //
5 // If you use MorphoGraphX in your work, please cite:
6 // http://dx.doi.org/10.7554/eLife.05864
7 //
8 // MorphoGraphX is free software, and is licensed under under the terms of the
9 // GNU General (GPL) Public License version 2.0, http://www.gnu.org/licenses.
10 //
11 
12 // Surface class
13 #ifndef SURFACE_HPP
14 #define SURFACE_HPP
15 
16 #include <cmath>
17 #include <Parms.hpp>
18 #include <QString>
19 #include <CellTissue.hpp>
20 
21 namespace mgx
22 {
23  class mgxBase_EXPORT Surface
24  {
25  public:
26  Surface() {};
27  virtual ~Surface() {}
28 
29  // Methods to be implemented in derived classes, define some defaults.
30  virtual bool processParms(const QStringList &parms) { return true; };
31  virtual bool setPoint(vertex p, vertex sp, Point3d cp) { return true; };
32  virtual bool updatePos(vertex p) { return true; };
33  virtual bool updateNormal(vertex p) { return true; };
34  virtual bool initialCell(CellTissue &T, double size, int cellInitWall);
35  virtual double distance(const vertex &u, const vertex &v) { return norm(u->pos - v->pos); };
36 
37  // We will normaly have on or the other of these
38  virtual bool growPoint(vertex p, double dt, double time) { return true; };
39  virtual bool growSurface(double time) { return true; };
40  };
41 }
42 #endif
mgx::Surface::Surface
Surface()
Definition: Surface.hpp:26
mgx::CellTissue
Definition: CellTissue.hpp:46
mgx::Surface::distance
virtual double distance(const vertex &u, const vertex &v)
Definition: Surface.hpp:35
mgx::Surface::growSurface
virtual bool growSurface(double time)
Definition: Surface.hpp:39
mgx
Distributed matrix library.
Definition: Assert.hpp:26
mgx::Surface::processParms
virtual bool processParms(const QStringList &parms)
Definition: Surface.hpp:30
CellTissue.hpp
Parms.hpp
mgx::Surface::updateNormal
virtual bool updateNormal(vertex p)
Definition: Surface.hpp:33
mgx::Surface::updatePos
virtual bool updatePos(vertex p)
Definition: Surface.hpp:32
mgx::Surface::~Surface
virtual ~Surface()
Definition: Surface.hpp:27
mgx::Vector< 3, double >
mgx::Surface
Definition: Surface.hpp:23
mgx::norm
ScalarT norm(DVector< DistNhbdT, MatrixT, VectorT, ScalarT > &v)
Definition: DistMatrix.hpp:540
mgx::Surface::setPoint
virtual bool setPoint(vertex p, vertex sp, Point3d cp)
Definition: Surface.hpp:31
mgx::Surface::growPoint
virtual bool growPoint(vertex p, double dt, double time)
Definition: Surface.hpp:38
mgx::Vertex
Definition: Vertex.hpp:58