Fawkes API  Fawkes Development Version
shapemodel.h
1 
2 /***************************************************************************
3  * shapemodel.h - Abstract class defining a shape model
4  *
5  * Created: Tue May 03 19:50:02 2005
6  * Copyright 2005-2007 Tim Niemueller [www.niemueller.de]
7  * 2005 Martin Heracles <Martin.Heracles@rwth-aachen.de>
8  * 2005 Hu Yuxiao <Yuxiao.Hu@rwth-aachen.de>
9  *
10  ****************************************************************************/
11 
12 /* This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version. A runtime exception applies to
16  * this software (see LICENSE.GPL_WRE file mentioned below for details).
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Library General Public License for more details.
22  *
23  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
24  */
25 
26 #ifndef __FIREVISION_MODELS_SHAPE_SHAPEMODEL_H_
27 #define __FIREVISION_MODELS_SHAPE_SHAPEMODEL_H_
28 
29 #include <string>
30 #include <vector>
31 
32 namespace firevision {
33 #if 0 /* just to make Emacs auto-indent happy */
34 }
35 #endif
36 
37 class ROI;
38 
39 class Shape
40 {
41  public:
42  virtual ~Shape();
43 
44  virtual void setMargin( unsigned int margin ) = 0;
45  virtual bool isClose(unsigned int in_roi_x, unsigned int in_roi_y) = 0;
46 
47 };
48 
50 {
51 public:
52  virtual ~ShapeModel();
53  virtual std::string getName(void) const = 0;
54  virtual int parseImage( unsigned char* buffer, ROI *roi ) = 0;
55  virtual int getShapeCount(void) const = 0;
56  virtual Shape* getShape(int id) const = 0;
57  virtual Shape* getMostLikelyShape(void) const = 0;
58 };
59 
60 } // end namespace firevision
61 
62 #endif
virtual bool isClose(unsigned int in_roi_x, unsigned int in_roi_y)=0
Check if the given point is close to the shape.
Region of interest.
Definition: roi.h:58
virtual void setMargin(unsigned int margin)=0
Set margin around shape.
virtual ~Shape()
Virtual empty destructor.
Definition: shapemodel.cpp:49
Shape model interface.
Definition: shapemodel.h:49
Shape interface.
Definition: shapemodel.h:39