root/OpenSceneGraph/trunk/src/osgGA/EventVisitor.cpp @ 13890

Revision 13890, 1.2 kB (checked in by robert, 4 hours ago)

From Mattias Helsing, "Seems I was only half right given what you asked for. CMP0017 only
says that modules that are found and ran from cmake modules dir should
prefer cmake-provided modules. find_package() and include() still look
in CMAKE_MODULE_PATH first.

After some investigating I've come up with a proposal examplified in
the attached FindGDAL.cmake script. It simply calls the cmake provided
FindGDAL.cmake if it exists and returns if it succeeds in finding GDAL
using that, otherwise continue with our local cmake code.
Pro: Wont clutter our root CMakeLists.txt
Con: If we begin to write more advanced Findxxx modules (using
COMPONENTS, REQUIRED etc.) we may have to revise this scheme.
"

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
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#include <osgGA/EventVisitor>
14
15#include <algorithm>
16
17using namespace osg;
18using namespace osgGA;
19
20EventVisitor::EventVisitor()
21:    NodeVisitor(EVENT_VISITOR,TRAVERSE_ACTIVE_CHILDREN),
22    _handled(false)
23{
24}
25
26
27EventVisitor::~EventVisitor()
28{
29}
30
31void EventVisitor::addEvent(Event* event)
32{
33    _events.push_back(event);
34}
35
36void EventVisitor::removeEvent(Event* event)
37{
38    EventQueue::Events::iterator itr = std::find(_events.begin(), _events.end(), event);
39    if (itr!=_events.end()) _events.erase(itr);
40}
41
42
43void EventVisitor::reset()
44{
45    _events.clear();
46    _handled = false;
47}
Note: See TracBrowser for help on using the browser.