xc
Surface2d.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // xc utils library; general purpose classes and functions.
4 //
5 // Copyright (C) Luis C. Pérez Tato
6 //
7 // XC utils is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.
19 // If not, see <http://www.gnu.org/licenses/>.
20 //----------------------------------------------------------------------------
21 //Surface2d.h
22 
23 #ifndef SURFACE2D_H
24 #define SURFACE2D_H
25 
26 #include "../d2/GeomObj2d.h"
27 
28 class Pos2d;
29 
31 //
33 class Surface2d : public GeomObj2d
34  {
35  public:
36  Surface2d(void): GeomObj2d(){}
38  inline virtual unsigned short int Dimension(void) const
39  { return 2; }
41  virtual GEOM_FT getLength(void) const
42  { return 0.0; }
44  GEOM_FT getPerimeter(void) const
45  { return getLength(); }
47  virtual GEOM_FT getArea(void) const;
49  virtual GEOM_FT getVolume(void) const
50  { return 0.0; }
51  virtual inline GEOM_FT IArea(void) const
52  { return getArea(); }
53  //@brief Return true if the point is on the surface.
54  virtual bool In(const Pos2d &p, const double &tol= 0.0) const= 0;
55  };
56 #endif
57 
58 
59 
virtual GEOM_FT getLength(void) const
Return the object length.
Definition: Surface2d.h:41
virtual unsigned short int Dimension(void) const
Return the dimension of the object 0, 1, 2 or 3.
Definition: Surface2d.h:38
Posición en dos dimensiones.
Definition: Pos2d.h:41
Base class for the two-dimensional geometric objects.
Definition: GeomObj2d.h:37
Base class for surfaces in a two-dimensional space.
Definition: Surface2d.h:33
virtual bool In(const Pos2d &p, const double &tol=0.0) const =0
Return true if the point lies inside the object.
virtual GEOM_FT getVolume(void) const
Return the object volume.
Definition: Surface2d.h:49
GEOM_FT getPerimeter(void) const
Return the object perimeter.
Definition: Surface2d.h:44
virtual GEOM_FT getArea(void) const
Return the object area.
Definition: Surface2d.cc:30