2
/* osgEarth - Dynamic map generation toolkit for OpenSceneGraph
3
* Copyright 2008-2010 Pelican Mapping
6
* osgEarth is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU Lesser General Public License for more details.
16
* You should have received a copy of the GNU Lesser General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>
20
#ifndef OSGEARTHFEATURES_SCALE_FILTER_H
21
#define OSGEARTHFEATURES_SCALE_FILTER_H 1
23
#include <osgEarthFeatures/Common>
24
#include <osgEarthFeatures/Feature>
25
#include <osgEarthFeatures/Filter>
27
namespace osgEarth { namespace Features
29
using namespace osgEarth;
32
* The scale filter is kind of a poor-man's buffer. It simply
33
* scales and re-centers the feature geometry within its envelope.
35
class OSGEARTHFEATURES_EXPORT ScaleFilter : public FeatureFilter
39
ScaleFilter( double scale );
41
double scale() const { return _scale; }
42
double& scale() { return _scale; }
45
virtual FilterContext push( FeatureList& input, const FilterContext& cx );
50
bool push( Feature* input, const FilterContext& cx );
53
} } // namespace osgEarth::Features
55
#endif // OSGEARTHFEATURES_SCALE_FILTER_H