Panda3D
 All Classes Functions Variables Enumerations
bamInfo.h
1 // Filename: bamInfo.h
2 // Created by: drose (02Jul00)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef BAMINFO_H
16 #define BAMINFO_H
17 
18 #include "pandatoolbase.h"
19 
20 #include "programBase.h"
21 #include "filename.h"
22 #include "sceneGraphAnalyzer.h"
23 
24 #include "pvector.h"
25 
26 class TypedWritable;
27 class PandaNode;
28 class Texture;
29 class BamCacheIndex;
30 class RecorderHeader;
31 
32 ////////////////////////////////////////////////////////////////////
33 // Class : BamInfo
34 // Description :
35 ////////////////////////////////////////////////////////////////////
36 class BamInfo : public ProgramBase {
37 public:
38  BamInfo();
39 
40  void run();
41 
42 protected:
43  virtual bool handle_args(Args &args);
44 
45 private:
47 
48  bool get_info(const Filename &filename);
49  void describe_scene_graph(PandaNode *node);
50  void describe_texture(Texture *tex);
51  void describe_cache_index(BamCacheIndex *index);
52  void describe_session(RecorderHeader *header, const Objects &objects);
53  void describe_general_object(TypedWritable *object);
54  void list_hierarchy(PandaNode *node, int indent_level);
55 
57  Filenames _filenames;
58 
59  bool _ls;
60  bool _verbose_transitions;
61  bool _verbose_geoms;
62 
63  int _num_scene_graphs;
64  SceneGraphAnalyzer _analyzer;
65 };
66 
67 #endif
This is intended to be the base class for most general-purpose utility programs in the PANDATOOL tree...
Definition: programBase.h:37
A basic node of the scene graph or data graph.
Definition: pandaNode.h:72
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
Definition: texture.h:75
Base class for objects that can be written to and read from Bam files.
Definition: typedWritable.h:37
This is our own Panda specialization on the default STL vector.
Definition: pvector.h:39
This represents the in-memory index that records the list of files stored in the BamCache.
Definition: bamCacheIndex.h:37
A handy class that can scrub over a scene graph and collect interesting statistics on it...
The name of a file, such as a texture file or an Egg file.
Definition: filename.h:44
This object contains the header information written out at the beginning of a recorded session file...