OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SmoothingVisitor.h
Go to the documentation of this file.
1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2  *
3  * This library is open source and may be redistributed and/or modified under
4  * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5  * (at your option) any later version. The full license is in LICENSE file
6  * included with this distribution, and on the openscenegraph.org website.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * OpenSceneGraph Public License for more details.
12 */
13 
14 #ifndef OSGUTIL_SMOOTHINGVISITOR
15 #define OSGUTIL_SMOOTHINGVISITOR 1
16 
17 #include <osg/NodeVisitor>
18 #include <osg/Geode>
19 #include <osg/Geometry>
20 
21 #include <osgUtil/Export>
22 
23 namespace osgUtil {
24 
29 {
30  public:
31 
34  virtual ~SmoothingVisitor();
35 
37  static void smooth(osg::Geometry& geoset, double creaseAngle=osg::PI);
38 
40  virtual void apply(osg::Geode& geode);
41 
44  void setCreaseAngle(double angle) { _creaseAngle = angle; }
45  double getCreaseAngle() const { return _creaseAngle; }
46 
47  protected:
48 
49  double _creaseAngle;
50 
51 };
52 
53 }
54 
55 #endif
double getCreaseAngle() const
void setCreaseAngle(double angle)
const double PI
Definition: Math.h:30
#define OSGUTIL_EXPORT
Definition: Export.h:40
Shader generator framework.
Definition: RenderInfo.h:20