00001 /************************************************************************* 00002 * * 00003 * Open Physics Abstraction Layer * 00004 * Copyright (C) 2004-2005 * 00005 * Alan Fischer alan.fischer@gmail.com * 00006 * Andres Reinot andres@reinot.com * 00007 * Tyler Streeter tylerstreeter@gmail.com * 00008 * Oleksandr Lozitskiy mr.olexander@gmail.com * 00009 * All rights reserved. * 00010 * Web: opal.sourceforge.net * 00011 * * 00012 * This library is free software; you can redistribute it and/or * 00013 * modify it under the terms of EITHER: * 00014 * (1) The GNU Lesser General Public License as published by the Free * 00015 * Software Foundation; either version 2.1 of the License, or (at * 00016 * your option) any later version. The text of the GNU Lesser * 00017 * General Public License is included with this library in the * 00018 * file license-LGPL.txt. * 00019 * (2) The BSD-style license that is included with this library in * 00020 * the file license-BSD.txt. * 00021 * * 00022 * This library is distributed in the hope that it will be useful, * 00023 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00025 * license-LGPL.txt and license-BSD.txt for more details. * 00026 * * 00027 *************************************************************************/ 00028 00029 #ifndef OPAL_MOVEMENT_EVENT_HANDLER_H 00030 #define OPAL_MOVEMENT_EVENT_HANDLER_H 00031 00032 namespace opal 00033 { 00035 00038 class MovementEvent 00039 { 00040 public: 00041 MovementEvent( Solid * moved_solid ) 00042 { 00043 solid = moved_solid; 00044 } 00045 00046 Solid * solid; 00047 }; 00048 00050 00053 class MovementEventHandler 00054 { 00055 public: 00056 OPAL_DECL virtual ~MovementEventHandler() {} 00057 00058 OPAL_DECL virtual void OPAL_CALL handleMovementEvent( const MovementEvent & move ) = 0; 00059 }; 00060 } 00061 00062 #endif