00001 // Filename: bamInfo.h 00002 // Created by: drose (02Jul00) 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 BAMINFO_H 00020 #define BAMINFO_H 00021 00022 #include "pandatoolbase.h" 00023 00024 #include "programBase.h" 00025 #include "filename.h" 00026 #include "sceneGraphAnalyzer.h" 00027 00028 #include "pvector.h" 00029 00030 class TypedWritable; 00031 00032 //////////////////////////////////////////////////////////////////// 00033 // Class : BamInfo 00034 // Description : 00035 //////////////////////////////////////////////////////////////////// 00036 class BamInfo : public ProgramBase { 00037 public: 00038 BamInfo(); 00039 00040 void run(); 00041 00042 protected: 00043 virtual bool handle_args(Args &args); 00044 00045 private: 00046 bool get_info(const Filename &filename); 00047 void describe_scene_graph(PandaNode *node); 00048 void describe_general_object(TypedWritable *object); 00049 void list_hierarchy(PandaNode *node, int indent_level); 00050 00051 typedef pvector<Filename> Filenames; 00052 Filenames _filenames; 00053 00054 bool _ls; 00055 bool _verbose_transitions; 00056 bool _verbose_geoms; 00057 00058 int _num_scene_graphs; 00059 SceneGraphAnalyzer _analyzer; 00060 }; 00061 00062 #endif