00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef SOMETHINGTOEGG_H
00016 #define SOMETHINGTOEGG_H
00017
00018 #include "pandatoolbase.h"
00019
00020 #include "eggConverter.h"
00021 #include "distanceUnit.h"
00022 #include "animationConvert.h"
00023
00024 class SomethingToEggConverter;
00025
00026
00027
00028
00029
00030
00031
00032 class SomethingToEgg : public EggConverter {
00033 public:
00034 SomethingToEgg(const string &format_name,
00035 const string &preferred_extension = string(),
00036 bool allow_last_param = true,
00037 bool allow_stdout = true);
00038
00039 void add_units_options();
00040 void add_animation_options();
00041 void add_merge_externals_options();
00042
00043 protected:
00044 void apply_units_scale(EggData *data);
00045 void apply_parameters(SomethingToEggConverter &converter);
00046
00047 virtual bool handle_args(Args &args);
00048 virtual bool post_command_line();
00049 virtual void post_process_egg_file();
00050
00051 static bool dispatch_animation_convert(const string &opt, const string &arg, void *var);
00052
00053
00054 Filename _input_filename;
00055
00056 DistanceUnit _input_units;
00057 DistanceUnit _output_units;
00058
00059 AnimationConvert _animation_convert;
00060 string _character_name;
00061 double _start_frame;
00062 double _end_frame;
00063 double _frame_inc;
00064 double _neutral_frame;
00065 double _input_frame_rate;
00066 double _output_frame_rate;
00067 bool _got_start_frame;
00068 bool _got_end_frame;
00069 bool _got_frame_inc;
00070 bool _got_neutral_frame;
00071 bool _got_input_frame_rate;
00072 bool _got_output_frame_rate;
00073
00074 bool _merge_externals;
00075 bool _noexist;
00076 bool _allow_errors;
00077 };
00078
00079 #endif
00080
00081