Panda3D

Loading...
Searching...
No Matches
lwoScan.cxx
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file lwoScan.cxx
10 * @author drose
11 * @date 2001-04-24
12 */
13
14#include "lwoScan.h"
15
16#include "lwoInputFile.h"
17#include "lwoChunk.h"
18#include "config_lwo.h"
19
20/**
21 *
22 */
23LwoScan::
24LwoScan() {
25 clear_runlines();
26 add_runline("[opts] input.lwo");
27
28 set_program_brief("describe the contents of a Lightwave object file");
29 set_program_description
30 ("This program simply reads a Lightwave object file and dumps its "
31 "contents to standard output. It's mainly useful for debugging "
32 "problems with lwo2egg.");
33}
34
35/**
36 *
37 */
38 void LwoScan::
39run() {
40 LwoInputFile in;
41 if (!in.open_read(_input_filename)) {
42 nout << "Unable to open " << _input_filename << "\n";
43 exit(1);
44 }
45
46 PT(IffChunk) chunk = in.get_chunk();
47 if (chunk == nullptr) {
48 nout << "Unable to read file.\n";
49 } else {
50 while (chunk != nullptr) {
51 chunk->write(std::cout, 0);
52 chunk = in.get_chunk();
53 }
54 }
55}
56
57/**
58 *
59 */
60 bool LwoScan::
61handle_args(ProgramBase::Args &args) {
62 if (args.empty()) {
63 nout << "You must specify the Lightwave object file to read on the command line.\n";
64 return false;
65 }
66 if (args.size() != 1) {
67 nout << "You may specify only one Lightwave object file to read on the command line.\n";
68 return false;
69 }
70
71 _input_filename = args[0];
72
73 return true;
74}
75
76
77 int
78main(int argc, char *argv[]) {
79 init_liblwo();
80 LwoScan prog;
81 prog.parse_command_line(argc, argv);
82 prog.run();
83 return 0;
84}
IffInputFile::open_read
bool open_read(Filename filename)
Attempts to open the indicated filename for reading.
Definition iffInputFile.cxx:50
LwoScan
A program to read a Lightwave file and report its structure and contents.
Definition lwoScan.h:23
ProgramBase::parse_command_line
virtual void parse_command_line(int argc, char **argv)
Dispatches on each of the options on the command line, and passes the remaining parameters to handle_...
Definition programBase.cxx:286
init_liblwo
void init_liblwo()
Initializes the library.
Definition config_lwo.cxx:68
config_lwo.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lwoChunk.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lwoInputFile.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
lwoScan.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.