00001 // Filename: hideInterval.h 00002 // Created by: drose (27Aug02) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 #ifndef HIDEINTERVAL_H 00020 #define HIDEINTERVAL_H 00021 00022 #include "directbase.h" 00023 #include "cInterval.h" 00024 #include "nodePath.h" 00025 00026 //////////////////////////////////////////////////////////////////// 00027 // Class : HideInterval 00028 // Description : An interval that calls NodePath::hide(). 00029 //////////////////////////////////////////////////////////////////// 00030 class EXPCL_DIRECT HideInterval : public CInterval { 00031 PUBLISHED: 00032 HideInterval(const NodePath &node, const string &name = string()); 00033 00034 virtual void priv_instant(); 00035 virtual void priv_reverse_instant(); 00036 00037 private: 00038 NodePath _node; 00039 static int _unique_index; 00040 00041 public: 00042 static TypeHandle get_class_type() { 00043 return _type_handle; 00044 } 00045 static void init_type() { 00046 CInterval::init_type(); 00047 register_type(_type_handle, "HideInterval", 00048 CInterval::get_class_type()); 00049 } 00050 virtual TypeHandle get_type() const { 00051 return get_class_type(); 00052 } 00053 virtual TypeHandle force_init_type() {init_type(); return get_class_type();} 00054 00055 private: 00056 static TypeHandle _type_handle; 00057 }; 00058 00059 #include "hideInterval.I" 00060 00061 #endif 00062