OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Validator.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 //osgFX - Copyright (C) 2003 Marco Jez
14 
15 #ifndef OSGFX_VALIDATOR_
16 #define OSGFX_VALIDATOR_
17 
18 #include <osgFX/Effect>
19 
20 #include <osg/ref_ptr>
21 #include <osg/StateAttribute>
22 
23 #include <vector>
24 
25 namespace osgFX
26 {
27 
36  public:
37 
38  Validator();
39  Validator(Effect* effect);
40  Validator(const Validator& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
41 
42  META_StateAttribute(osgFX, Validator, VALIDATOR);
43 
44  void apply(osg::State& state) const;
45  void compileGLObjects(osg::State& state) const;
46 
47  inline int compare(const osg::StateAttribute& sa) const;
48 
49  inline void disable() { _effect = 0; }
50 
51  protected:
52  virtual ~Validator() {}
53  Validator& operator=(const Validator&) { return *this; }
54 
55  private:
56  mutable Effect* _effect;
57  };
58 
59  // INLINE METHODS
60 
61  inline int Validator::compare(const osg::StateAttribute& sa) const
62  {
63  // check the types are equal and then create the rhs variable
64  //used by the COMPARE_StateAttribute_Parameter macros below.
66 
67  // compare parameters
69 
70  return 0;
71  }
72 
73 }
74 
75 #endif
int compare(const osg::StateAttribute &sa) const
Definition: Validator.h:61
#define COMPARE_StateAttribute_Types(TYPE, rhs_attribute)
virtual ~Validator()
Definition: Validator.h:52
Validator & operator=(const Validator &)
Definition: Validator.h:53
void disable()
Definition: Validator.h:49
#define META_StateAttribute(library, name, type)
#define OSGFX_EXPORT
Definition: Export.h:27
#define COMPARE_StateAttribute_Parameter(parameter)