OpenWalnut
1.2.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
core
dataHandler
WGrid.h
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#ifndef WGRID_H
26
#define WGRID_H
27
28
#include <cstddef>
29
30
#include "../common/WBoundingBox.h"
31
#include "WExportDataHandler.h"
32
33
// forward declarations
34
class
WProperties
;
35
36
/**
37
* Base class to all grid types, e.g. a regular grid.
38
* \ingroup dataHandler
39
*/
40
class
OWDATAHANDLER_EXPORT
WGrid
// NOLINT
41
{
42
public
:
43
/**
44
* Constructs a new WGrid instance.
45
* \param size number of positions in grid
46
*/
47
explicit
WGrid
(
size_t
size );
48
49
/**
50
* Since WGrid is a base class and thus should be polymorphic we add
51
* virtual destructor.
52
*/
53
virtual
~
WGrid
();
54
55
/**
56
* The number of positions in this grid.
57
*
58
* \return \copybrief WGrid::size()
59
*/
60
size_t
size()
const
;
61
62
/**
63
* Axis aligned Bounding Box that encloses this grid.
64
*
65
* \return \copybrief WGrid::getBoundingBox()
66
*/
67
virtual
WBoundingBox
getBoundingBox()
const
= 0;
68
69
/**
70
* Returns a pointer to the information properties object of the grid. The grid intends these properties to not be modified.
71
*
72
* \return the properties.
73
*/
74
boost::shared_ptr< WProperties > getInformationProperties()
const
;
75
76
protected
:
77
/**
78
* The property object for the grid containing only props whose purpose is "PV_PURPOSE_INFORMNATION". It is useful to define some property
79
* to only be of informational nature. The GUI does not modify them.
80
*/
81
boost::shared_ptr< WProperties >
m_infoProperties
;
82
83
private
:
84
/**
85
* Stores the number of positions.
86
*/
87
size_t
m_size
;
88
};
89
90
#endif // WGRID_H
Generated by
1.8.1.2