Panda3D
Loading...
Searching...
No Matches
lwoToEgg.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 lwoToEgg.cxx
10 * @author drose
11 * @date 2001-04-17
12 */
13
14#include "lwoToEgg.h"
15
16#include "lwoToEggConverter.h"
17#include "lwoHeader.h"
18#include "lwoInputFile.h"
19#include "config_lwo.h"
20
21/**
22 *
23 */
24LwoToEgg::
25LwoToEgg() :
26 SomethingToEgg("Lightwave", ".lwo")
27{
28 add_path_replace_options();
29 add_path_store_options();
30 add_units_options();
31 add_normals_options();
32 add_transform_options();
33
34 set_program_brief("convert a Lightwave Object file to .egg");
35 set_program_description
36 ("This program converts Lightwave Object (.lwo) files to egg. Many "
37 "rendering characteristics of Lightwave (like layered shaders, etc.) "
38 "are not supported, but fundamental things like polygons and texture "
39 "maps are. This program is primarily designed to support files written "
40 "by Lightwave version 6.x (LWO2 files), but it also has some limited "
41 "support for version 5.x files (LWOB files).");
42
43 redescribe_option
44 ("cs",
45 "Specify the coordinate system of the input " + _format_name +
46 " file. Normally, this is y-up-left.");
47
48 redescribe_option
49 ("ui",
50 "Specify the units of the input Lightwave file. By convention, "
51 "this is assumed to be meters if it is unspecified.");
52
53 _coordinate_system = CS_yup_left;
54}
55
56/**
57 *
58 */
59void LwoToEgg::
60run() {
61 _data->set_coordinate_system(_coordinate_system);
62
63 if (_input_units == DU_invalid) {
64 _input_units = DU_meters;
65 }
66
67 LwoToEggConverter converter;
68 converter.set_egg_data(_data);
69 apply_parameters(converter);
70
71 if (!converter.convert_file(_input_filename)) {
72 nout << "Errors in conversion.\n";
73 exit(1);
74 }
75
77 nout << "\n";
78}
79
80
81int main(int argc, char *argv[]) {
83 LwoToEgg prog;
84 prog.parse_command_line(argc, argv);
85 prog.run();
86 return 0;
87}
void write_egg_file()
Writes out the egg file as the normal result of the program.
This class supervises the construction of an EggData structure from the data represented by the LwoHe...
virtual bool convert_file(const Filename &filename)
Handles the reading of the input file and converting it to egg.
A program to read a Lightwave file and generate an egg file.
Definition lwoToEgg.h:27
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_...
void set_egg_data(EggData *egg_data)
Sets the egg data that will be filled in when convert_file() is called.
This is the general base class for a file-converter program that reads some model file format and gen...
void init_liblwo()
Initializes the library.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.