Panda3D
 All Classes Functions Variables Enumerations
bamInfo.h
00001 // Filename: bamInfo.h
00002 // Created by:  drose (02Jul00)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #ifndef BAMINFO_H
00016 #define BAMINFO_H
00017 
00018 #include "pandatoolbase.h"
00019 
00020 #include "programBase.h"
00021 #include "filename.h"
00022 #include "sceneGraphAnalyzer.h"
00023 
00024 #include "pvector.h"
00025 
00026 class TypedWritable;
00027 class PandaNode;
00028 class Texture;
00029 class BamCacheIndex;
00030 class RecorderHeader;
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   typedef pvector<TypedWritable *> Objects;
00047 
00048   bool get_info(const Filename &filename);
00049   void describe_scene_graph(PandaNode *node);
00050   void describe_texture(Texture *tex);
00051   void describe_cache_index(BamCacheIndex *index);
00052   void describe_session(RecorderHeader *header, const Objects &objects);
00053   void describe_general_object(TypedWritable *object);
00054   void list_hierarchy(PandaNode *node, int indent_level);
00055 
00056   typedef pvector<Filename> Filenames;
00057   Filenames _filenames;
00058 
00059   bool _ls;
00060   bool _verbose_transitions;
00061   bool _verbose_geoms;
00062 
00063   int _num_scene_graphs;
00064   SceneGraphAnalyzer _analyzer;
00065 };
00066 
00067 #endif
 All Classes Functions Variables Enumerations