Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

MayaCopy Class Reference

A program to copy Maya .mb files into the cvs tree. More...

#include <mayaCopy.h>

Inheritance diagram for MayaCopy:

CVSCopy ProgramBase List of all members.

Public Types

typedef pdeque< string > Args

Public Member Functions

 MayaCopy ()
void run ()
CVSSourceDirectoryimport (const Filename &source, void *extra_data, CVSSourceDirectory *suggested_dir)
 Checks for the given filename somewhere in the directory hierarchy, and chooses a place to import it.

bool continue_after_error ()
 Prompts the user (unless -f was specified) if he wants to continue the copy operation after some error has occurred.

void show_description ()
 Writes the program description to stderr.

void show_usage ()
 Writes the usage line(s) to stderr.

void show_options ()
 Describes each of the available options to stderr.

void show_text (const string &text)
 Formats the indicated text to stderr with the known _terminal_width.

void show_text (const string &prefix, int indent_width, string text)
 Formats the indicated text and its prefix for output to stderr with the known _terminal_width.

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_args().

string get_exec_command () const
 Returns the command that invoked this program, as a shell-friendly string, suitable for pasting into the comments of output files.


Public Attributes

Filename _program_name
Args _program_args

Protected Types

typedef vector_string SourceFiles
typedef pmap< string, CVSSourceDirectory * > CopiedFiles
typedef bool(* OptionDispatchFunction )(const string &opt, const string &parm, void *data)
typedef bool(* OptionDispatchMethod )(ProgramBase *self, const string &opt, const string &parm, void *data)

Protected Member Functions

virtual bool copy_file (const Filename &source, const Filename &dest, CVSSourceDirectory *dir, void *extra_data, bool new_file)
 Called by import() if verify_file() indicates that a file needs to be copied.

virtual string filter_filename (const string &source)
 Given a source filename (including the basename only, without a dirname), return the appropriate corresponding filename within the source directory.

virtual bool handle_args (Args &args)
 Does something with the additional arguments on the command line (after all the -options have been parsed).

virtual bool handle_args (Args &args)
 Does something with the additional arguments on the command line (after all the -options have been parsed).

virtual bool post_command_line ()
 This is called after the command line has been completely processed, and it gives the program a chance to do some last-minute processing and validation of the options and arguments.

virtual bool verify_file (const Filename &source, const Filename &dest, CVSSourceDirectory *dest_dir, void *extra_data)
 Verifies that the file is identical and does not need to be recopied.

bool verify_binary_file (Filename source, Filename dest)
 Verifies that the file is identical and does not need to be recopied.

bool copy_binary_file (Filename source, Filename dest)
 Copies a file without modifying it or scanning it in any way.

bool cvs_add (const Filename &filename)
 Invokes CVS to add the indicated filename to the repository, if the user so requested.

void set_program_description (const string &description)
 Sets the description of the program that will be reported by show_usage().

void clear_runlines ()
 Removes all of the runlines that were previously added, presumably before adding some new ones.

void add_runline (const string &runline)
 Adds an additional line to the list of lines that will be displayed to describe briefly how the program is to be run.

void clear_options ()
 Removes all of the options that were previously added, presumably before adding some new ones.

void add_option (const string &option, const string &parm_name, int index_group, const string &description, OptionDispatchFunction option_function, bool *bool_var=(bool *) NULL, void *option_data=(void *) NULL)
 Adds (or redefines) a command line option.

void add_option (const string &option, const string &parm_name, int index_group, const string &description, OptionDispatchMethod option_method, bool *bool_var=(bool *) NULL, void *option_data=(void *) NULL)
 This is another variant on add_option(), above, except that it receives a pointer to a "method", which is really just another static (or global) function, whose first parameter is a ProgramBase *.

bool redescribe_option (const string &option, const string &description)
 Changes the description associated with a previously-defined option.

bool remove_option (const string &option)
 Removes a previously-defined option.

void add_path_replace_options ()
 Adds -pr etc.

void add_path_store_options ()
 Adds -ps etc.


Static Protected Member Functions

string protect_from_shell (const string &source)
 Inserts escape characters into the indicated source string to protect it from the shell, so that it may be given on the command line.

bool dispatch_none (const string &opt, const string &arg, void *)
 Standard dispatch function for an option that takes no parameters, and does nothing special.

bool dispatch_true (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes no parameters, and when it is present sets a bool variable to the 'true' value.

bool dispatch_false (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes no parameters, and when it is present sets a bool variable to the 'false' value.

bool dispatch_count (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes no parameters, but whose presence on the command line increments an integer counter for each time it appears.

bool dispatch_int (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as an integer.

bool dispatch_int_pair (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes a pair of integer parameters.

bool dispatch_double (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a double.

bool dispatch_double_pair (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes a pair of double parameters.

bool dispatch_double_triple (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes a triple of double parameters.

bool dispatch_double_quad (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes a quad of double parameters.

bool dispatch_color (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes a color, either as r,g,b or as r,g,b,a.

bool dispatch_string (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a string.

bool dispatch_filename (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a filename.

bool dispatch_search_path (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a single directory name to add to a search path.

bool dispatch_coordinate_system (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a coordinate system string.

bool dispatch_units (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a unit of distance measurement.

bool dispatch_image_type (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to indicate an image file type, like rgb, bmp, jpg, etc.

bool dispatch_path_replace (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a single component of a path replace request.

bool dispatch_path_store (const string &opt, const string &arg, void *var)
 Standard dispatch function for an option that takes one parameter, which is to be interpreted as a path store string.

bool handle_help_option (const string &opt, const string &arg, void *)
 Called when the user enters '-h', this describes how to use the program and then exits.

void format_text (ostream &out, bool &last_newline, const string &prefix, int indent_width, const string &text, int line_width)
 Word-wraps the indicated text to the indicated output stream.


Protected Attributes

bool _force
bool _interactive
bool _got_model_dirname
Filename _model_dirname
bool _got_map_dirname
Filename _map_dirname
bool _got_root_dirname
Filename _root_dirname
Filename _key_filename
bool _no_cvs
string _cvs_binary
bool _user_aborted
SourceFiles _source_files
CVSSourceTree _tree
CVSSourceDirectory_model_dir
CVSSourceDirectory_map_dir
CopiedFiles _copied_files
PointerTo< PathReplace_path_replace
bool _got_path_store
bool _got_path_directory

Private Types

enum  FileType { FT_maya, FT_texture }

Private Member Functions

bool copy_maya_file (const Filename &source, const Filename &dest, CVSSourceDirectory *dir)
bool extract_texture (MayaShaderColorDef &color_def, CVSSourceDirectory *dir)
 Gets the texture out of the indicated color channel and copies it in, updating the channel with the new texture filename.

bool copy_texture (const Filename &source, const Filename &dest, CVSSourceDirectory *dir)
bool collect_shaders ()
 Recursively walks through the maya scene graph hierarchy, looking for shaders.

bool collect_shader_for_node (const MDagPath &dag_path)
 Gets the relevant shader on the current node, if it has one.


Private Attributes

bool _keep_ver
PointerTo< MayaApi_maya
MayaShaders _shaders

Detailed Description

A program to copy Maya .mb files into the cvs tree.

Definition at line 47 of file mayaCopy.h.


Member Typedef Documentation

typedef pdeque<string> ProgramBase::Args [inherited]
 

Definition at line 66 of file programBase.h.

typedef pmap<string, CVSSourceDirectory *> CVSCopy::CopiedFiles [protected, inherited]
 

Definition at line 100 of file cvsCopy.h.

typedef bool(* ProgramBase::OptionDispatchFunction)(const string &opt, const string &parm, void *data) [protected, inherited]
 

Definition at line 71 of file programBase.h.

typedef bool(* ProgramBase::OptionDispatchMethod)(ProgramBase *self, const string &opt, const string &parm, void *data) [protected, inherited]
 

Definition at line 72 of file programBase.h.

typedef vector_string CVSCopy::SourceFiles [protected, inherited]
 

Definition at line 93 of file cvsCopy.h.


Member Enumeration Documentation

enum MayaCopy::FileType [private]
 

Enumeration values:
FT_maya 
FT_texture 

Definition at line 61 of file mayaCopy.h.


Constructor & Destructor Documentation

MayaCopy::MayaCopy  ) 
 

Definition at line 48 of file mayaCopy.cxx.

References ProgramBase::dispatch_none().


Member Function Documentation

void ProgramBase::add_option const string &  option,
const string &  parm_name,
int  index_group,
const string &  description,
OptionDispatchMethod  option_method,
bool *  bool_var = (bool *)NULL,
void *  option_data = (void *)NULL
[protected, inherited]
 

This is another variant on add_option(), above, except that it receives a pointer to a "method", which is really just another static (or global) function, whose first parameter is a ProgramBase *.

We can't easily add a variant that accepts a real method, because the C++ syntax for methods requires us to know exactly what class object the method is defined for, and we want to support adding pointers for methods that are defined in other classes. So we have this hacky thing, which requires the "method" to be declared static, and receive its this pointer explicitly, as the first argument.

Definition at line 690 of file programBase.cxx.

References ProgramBase::_got_path_directory, ProgramBase::_got_path_store, ProgramBase::_path_replace, ProgramBase::add_option(), ProgramBase::dispatch_filename(), and ProgramBase::dispatch_path_store().

void ProgramBase::add_option const string &  option,
const string &  parm_name,
int  index_group,
const string &  description,
OptionDispatchFunction  option_function,
bool *  bool_var = (bool *)NULL,
void *  option_data = (void *)NULL
[protected, inherited]
 

Adds (or redefines) a command line option.

When parse_command_line() is executed it will look for these options (followed by a hyphen) on the command line; when a particular option is found it will call the indicated option_function, supplying the provided option_data. This allows the user to define a function that does some special behavior for any given option, or to use any of a number of generic pre-defined functions to fill in data for each option.

Each option may or may not take a parameter. If parm_name is nonempty, it is assumed that the option does take a parameter (and parm_name contains the name that will be printed by show_options()). This parameter will be supplied as the second parameter to the dispatch function. If parm_name is empty, it is assumed that the option does not take a parameter. There is no provision for optional parameters.

The options are listed first in order by their index_group number, and then in the order that add_option() was called. This provides a mechanism for listing the options defined in derived classes before those of the base classes.

Definition at line 634 of file programBase.cxx.

References ProgramBase::_path_replace, ProgramBase::add_option(), ProgramBase::dispatch_path_replace(), ProgramBase::dispatch_search_path(), NULL, and PointerTo< PathReplace >::p().

Referenced by SomethingToEgg::add_animation_options(), ProgramBase::add_option(), EggReader::add_texture_options(), SomethingToEgg::add_units_options(), EggMultiBase::EggMultiBase(), EggMultiFilter::EggMultiFilter(), EggReader::EggReader(), EggTextureCards::EggTextureCards(), EggToBam::EggToBam(), EggToC::EggToC(), EggTopstrip::EggTopstrip(), EggTrans::EggTrans(), FltTrans::FltTrans(), GtkStats::GtkStats(), ImageResize::ImageResize(), and TestProgram::TestProgram().

void ProgramBase::add_path_replace_options  )  [protected, inherited]
 

Adds -pr etc.

as valid options for this program. These are appropriate for a model converter or model reader type program, and specify how to locate possibly-invalid pathnames in the source model file.

Definition at line 771 of file programBase.cxx.

void ProgramBase::add_path_store_options  )  [protected, inherited]
 

Adds -ps etc.

as valid options for this program. These are appropriate for a model converter type program, and specify how to represent filenames in the output file.

Definition at line 818 of file programBase.cxx.

void ProgramBase::add_runline const string &  runline  )  [protected, inherited]
 

Adds an additional line to the list of lines that will be displayed to describe briefly how the program is to be run.

Each line should be something like "[opts] arg1 arg2", that is, it does *not* include the name of the program, but it includes everything that should be printed after the name of the program.

Normally there is only one runline for a given program, but it is possible to define more than one.

Definition at line 552 of file programBase.cxx.

void ProgramBase::clear_options  )  [protected, inherited]
 

Removes all of the options that were previously added, presumably before adding some new ones.

Normally you wouldn't want to do this unless you want to completely replace all of the options defined by base classes.

Definition at line 573 of file programBase.cxx.

References ProgramBase::Option::_bool_var, ProgramBase::Option::_description, ProgramBase::Option::_index_group, ProgramBase::_next_sequence, ProgramBase::Option::_option, ProgramBase::Option::_option_data, ProgramBase::Option::_option_function, ProgramBase::Option::_option_method, ProgramBase::_options_by_name, ProgramBase::Option::_parm_name, ProgramBase::Option::_sequence, ProgramBase::_sorted_options, and NULL.

void ProgramBase::clear_runlines  )  [protected, inherited]
 

Removes all of the runlines that were previously added, presumably before adding some new ones.

Definition at line 523 of file programBase.cxx.

References ProgramBase::Option::_bool_var, ProgramBase::Option::_description, ProgramBase::Option::_index_group, ProgramBase::_next_sequence, ProgramBase::Option::_option, ProgramBase::Option::_option_data, ProgramBase::Option::_option_function, ProgramBase::Option::_option_method, ProgramBase::_options_by_name, ProgramBase::Option::_parm_name, ProgramBase::Option::_sequence, ProgramBase::_sorted_options, and NULL.

bool MayaCopy::collect_shader_for_node const MDagPath &  dag_path  )  [private]
 

Gets the relevant shader on the current node, if it has one.

Definition at line 360 of file mayaCopy.cxx.

bool MayaCopy::collect_shaders  )  [private]
 

Recursively walks through the maya scene graph hierarchy, looking for shaders.

Definition at line 314 of file mayaCopy.cxx.

References _shaders, MayaShaders::find_shader_for_node(), and MayaShaders::find_shader_for_shading_engine().

bool CVSCopy::continue_after_error  )  [inherited]
 

Prompts the user (unless -f was specified) if he wants to continue the copy operation after some error has occurred.

Returns true to continue, false otherwise.

Definition at line 199 of file cvsCopy.cxx.

References CVSCopy::_source_files, and nout.

bool CVSCopy::copy_binary_file Filename  source,
Filename  dest
[protected, inherited]
 

Copies a file without modifying it or scanning it in any way.

This is particularly useful for copying textures. This is provided as a convenience function for derived programs because so many model file formats will also require copying textures or other black-box files.

Definition at line 392 of file cvsCopy.cxx.

References nout.

bool MayaCopy::copy_file const Filename source,
const Filename dest,
CVSSourceDirectory dir,
void *  extra_data,
bool  new_file
[protected, virtual]
 

Called by import() if verify_file() indicates that a file needs to be copied.

This does the actual copy of a file from source to destination. If new_file is true, then dest does not already exist.

Implements CVSCopy.

Definition at line 115 of file mayaCopy.cxx.

bool MayaCopy::copy_maya_file const Filename source,
const Filename dest,
CVSSourceDirectory dir
[private]
 

Definition at line 178 of file mayaCopy.cxx.

bool MayaCopy::copy_texture const Filename source,
const Filename dest,
CVSSourceDirectory dir
[private]
 

Definition at line 294 of file mayaCopy.cxx.

bool CVSCopy::cvs_add const Filename filename  )  [protected, inherited]
 

Invokes CVS to add the indicated filename to the repository, if the user so requested.

Returns true if successful, false if there is an error.

Definition at line 441 of file cvsCopy.cxx.

bool ProgramBase::dispatch_color const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes a color, either as r,g,b or as r,g,b,a.

The data pointer is to an array of four floats, e.g. a Colorf.

Definition at line 1159 of file programBase.cxx.

References ProgramBase::show_description(), ProgramBase::show_options(), and ProgramBase::show_usage().

Referenced by EggMakeFont::EggMakeFont(), and EggTextureCards::EggTextureCards().

bool ProgramBase::dispatch_coordinate_system const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a coordinate system string.

The data pointer is to a CoordinateSystem variable.

Definition at line 1281 of file programBase.cxx.

Referenced by EggBase::EggBase(), and EggMultiBase::EggMultiBase().

bool ProgramBase::dispatch_count const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes no parameters, but whose presence on the command line increments an integer counter for each time it appears.

-v is often an option that works this way. The data pointer is to an int counter variable.

Definition at line 944 of file programBase.cxx.

References string_to_float(), and tokenize().

Referenced by MayaToEgg::MayaToEgg(), and TestProgram::TestProgram().

bool ProgramBase::dispatch_double const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a double.

The data pointer is to an double variable.

Definition at line 1024 of file programBase.cxx.

References DSearchPath::append_directory(), Filename::from_os_specific(), and nout.

Referenced by SomethingToEgg::add_animation_options(), EggMakeFont::EggMakeFont(), FltTrans::FltTrans(), ImageResize::ImageResize(), and MayaToEgg::MayaToEgg().

bool ProgramBase::dispatch_double_pair const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes a pair of double parameters.

The data pointer is to an array of two doubles.

Definition at line 1049 of file programBase.cxx.

References CoordinateSystem, CS_invalid, nout, and parse_coordinate_system_string().

Referenced by EggTextureCards::EggTextureCards().

bool ProgramBase::dispatch_double_quad const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes a quad of double parameters.

The data pointer is to an array of four doubles.

Definition at line 1120 of file programBase.cxx.

References PathReplace::add_pattern(), nout, and size_t.

Referenced by EggTextureCards::EggTextureCards().

bool ProgramBase::dispatch_double_triple const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes a triple of double parameters.

The data pointer is to an array of three doubles.

Definition at line 1084 of file programBase.cxx.

References PNMFileTypeRegistry::get_ptr(), PNMFileTypeRegistry::get_type_from_extension(), nout, NULL, and PNMFileTypeRegistry::write_types().

Referenced by EggCrop::EggCrop().

bool ProgramBase::dispatch_false const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes no parameters, and when it is present sets a bool variable to the 'false' value.

This is another way to handle a boolean flag. See also dispatch_none() and dispatch_true().

The data pointer is to a bool variable.

Definition at line 921 of file programBase.cxx.

Referenced by EggTopstrip::EggTopstrip().

bool ProgramBase::dispatch_filename const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a filename.

The data pointer is to a Filename variable.

Definition at line 1223 of file programBase.cxx.

Referenced by ProgramBase::add_option(), CVSCopy::CVSCopy(), EggMakeFont::EggMakeFont(), EggMultiFilter::EggMultiFilter(), EggPalettize::EggPalettize(), EggTopstrip::EggTopstrip(), and FltTrans::FltTrans().

bool ProgramBase::dispatch_image_type const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to indicate an image file type, like rgb, bmp, jpg, etc.

The data pointer is to a PNMFileType pointer.

Definition at line 1338 of file programBase.cxx.

References ProgramBase::_got_option_indent, ProgramBase::_got_terminal_width, and ProgramBase::_terminal_width.

Referenced by EggReader::add_texture_options().

bool ProgramBase::dispatch_int const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as an integer.

The data pointer is to an int variable.

Definition at line 964 of file programBase.cxx.

Referenced by EggMakeFont::EggMakeFont(), EggToBam::EggToBam(), GtkStats::GtkStats(), TestProgram::TestProgram(), and TextStats::TextStats().

bool ProgramBase::dispatch_int_pair const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes a pair of integer parameters.

The data pointer is to an array of two integers.

Definition at line 989 of file programBase.cxx.

bool ProgramBase::dispatch_none const string &  opt,
const string &  arg,
void * 
[static, protected, inherited]
 

Standard dispatch function for an option that takes no parameters, and does nothing special.

Typically this would be used for a boolean flag, whose presence means something and whose absence means something else. Use the bool_var parameter to add_option() to determine whether the option appears on the command line or not.

Definition at line 869 of file programBase.cxx.

References nout.

Referenced by BamInfo::BamInfo(), CVSCopy::CVSCopy(), EggMakeFont::EggMakeFont(), EggMultiBase::EggMultiBase(), EggMultiFilter::EggMultiFilter(), EggPalettize::EggPalettize(), EggReader::EggReader(), EggTextureCards::EggTextureCards(), EggToBam::EggToBam(), EggToC::EggToC(), EggToX::EggToX(), EggTrans::EggTrans(), FltInfo::FltInfo(), ImageResize::ImageResize(), MayaCopy(), MayaToEgg::MayaToEgg(), SoftCVS::SoftCVS(), and TestProgram::TestProgram().

bool ProgramBase::dispatch_path_replace const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a single component of a path replace request.

The data pointer is to a PathReplace variable.

Definition at line 1370 of file programBase.cxx.

Referenced by ProgramBase::add_option().

bool ProgramBase::dispatch_path_store const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a path store string.

The data pointer is to a PathStore variable.

Definition at line 1398 of file programBase.cxx.

Referenced by ProgramBase::add_option().

bool ProgramBase::dispatch_search_path const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a single directory name to add to a search path.

The data pointer is to a DSearchPath variable. This kind of option may appear multiple times on the command line; each time, the new directory is appended.

Definition at line 1254 of file programBase.cxx.

Referenced by ProgramBase::add_option().

bool ProgramBase::dispatch_string const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a string.

The data pointer is to a string variable.

Definition at line 1203 of file programBase.cxx.

Referenced by SomethingToEgg::add_units_options(), CVSCopy::CVSCopy(), EggMakeFont::EggMakeFont(), EggPalettize::EggPalettize(), EggTopstrip::EggTopstrip(), and SoftCVS::SoftCVS().

bool ProgramBase::dispatch_true const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes no parameters, and when it is present sets a bool variable to the 'true' value.

This is another way to handle a boolean flag. See also dispatch_none() and dispatch_false().

The data pointer is to a bool variable.

Definition at line 894 of file programBase.cxx.

References string_to_double().

Referenced by EggTopstrip::EggTopstrip().

bool ProgramBase::dispatch_units const string &  opt,
const string &  arg,
void *  var
[static, protected, inherited]
 

Standard dispatch function for an option that takes one parameter, which is to be interpreted as a unit of distance measurement.

The data pointer is to a DistanceUnit variable.

Definition at line 1310 of file programBase.cxx.

bool MayaCopy::extract_texture MayaShaderColorDef color_def,
CVSSourceDirectory dir
[private]
 

Gets the texture out of the indicated color channel and copies it in, updating the channel with the new texture filename.

Returns true on success, false on failure.

Definition at line 255 of file mayaCopy.cxx.

string MayaCopy::filter_filename const string &  source  )  [protected, virtual]
 

Given a source filename (including the basename only, without a dirname), return the appropriate corresponding filename within the source directory.

This may be used by derived classes to, for instance, strip a version number from the filename.

Reimplemented from CVSCopy.

Definition at line 147 of file mayaCopy.cxx.

void ProgramBase::format_text ostream &  out,
bool &  last_newline,
const string &  prefix,
int  indent_width,
const string &  text,
int  line_width
[static, protected, inherited]
 

Word-wraps the indicated text to the indicated output stream.

The first line is prefixed with the indicated prefix, then tabbed over to indent_width where the text actually begins. A newline is inserted at or before column line_width. Each subsequent line begins with indent_width spaces.

An embedded newline character ('
') forces a line break, while an embedded carriage-return character (''), or two or more consecutive newlines, marks a paragraph break, which is usually printed as a blank line. Redundant newline and carriage-return characters are generally ignored.

The flag last_newline should be initialized to false for the first call to format_text, and then preserved for future calls; it tracks the state of trailing newline characters between calls so we can correctly identify doubled newlines.

Definition at line 1479 of file programBase.cxx.

Referenced by ProgramBase::show_options().

string ProgramBase::get_exec_command  )  const [inherited]
 

Returns the command that invoked this program, as a shell-friendly string, suitable for pasting into the comments of output files.

Definition at line 396 of file programBase.cxx.

bool ProgramBase::handle_args ProgramBase::Args args  )  [protected, virtual, inherited]
 

Does something with the additional arguments on the command line (after all the -options have been parsed).

Returns true if the arguments are good, false otherwise.

Reimplemented in BamInfo, EggToBam, EggMakeFont, EggPalettize, EggFilter, EggMultiFilter, EggReader, EggToSomething, EggWriter, EggTextureCards, FltInfo, FltTrans, ImageFilter, ImageReader, ImageWriter, ImageInfo, and LwoScan.

Definition at line 454 of file programBase.cxx.

References ProgramBase::_description.

bool CVSCopy::handle_args Args args  )  [protected, virtual, inherited]
 

Does something with the additional arguments on the command line (after all the -options have been parsed).

Returns true if the arguments are good, false otherwise.

Definition at line 239 of file cvsCopy.cxx.

References CVSCopy::_map_dir, CVSCopy::_map_dirname, CVSCopy::_tree, CVSSourceTree::find_directory(), nout, and NULL.

bool ProgramBase::handle_help_option const string &  opt,
const string &  arg,
void *  data
[static, protected, inherited]
 

Called when the user enters '-h', this describes how to use the program and then exits.

Definition at line 1423 of file programBase.cxx.

CVSSourceDirectory * CVSCopy::import const Filename source,
void *  extra_data,
CVSSourceDirectory suggested_dir
[inherited]
 

Checks for the given filename somewhere in the directory hierarchy, and chooses a place to import it.

Copies the file by calling copy_file().

Extra_data may be NULL or a pointer to some user-defined structure; CVSCopy simply passes it unchanged to copy_file(). It presumably gives the class a hint as to how the file should be copied. Suggested_dir is the suggested directory in which to copy the file, if it does not already exist elsewhere.

On success, returns the CVSSourceDirectory it was actually copied to. On failure, returns NULL.

Definition at line 138 of file cvsCopy.cxx.

References nout.

void ProgramBase::parse_command_line int  argc,
char *  argv[]
[virtual, inherited]
 

Dispatches on each of the options on the command line, and passes the remaining parameters to handle_args().

If an error on the command line is detected, will automatically call show_usage() and exit(1).

Reimplemented in GtkBase.

Definition at line 241 of file programBase.cxx.

References ProgramBase::_options_by_name.

Referenced by GtkBase::~GtkBase().

bool CVSCopy::post_command_line  )  [protected, virtual, inherited]
 

This is called after the command line has been completely processed, and it gives the program a chance to do some last-minute processing and validation of the options and arguments.

It should return true if everything is fine, false if there is an error.

Reimplemented from ProgramBase.

Definition at line 268 of file cvsCopy.cxx.

string CVSCopy::protect_from_shell const string &  source  )  [static, protected, inherited]
 

Inserts escape characters into the indicated source string to protect it from the shell, so that it may be given on the command line.

Returns the modified string.

Definition at line 480 of file cvsCopy.cxx.

References CVSCopy::_tree.

bool ProgramBase::redescribe_option const string &  option,
const string &  description
[protected, inherited]
 

Changes the description associated with a previously-defined option.

Returns true if the option was changed, false if it hadn't been defined.

Definition at line 726 of file programBase.cxx.

Referenced by BamToEgg::BamToEgg(), EggToBam::EggToBam(), FltToEgg::FltToEgg(), LwoToEgg::LwoToEgg(), and XFileToEgg::XFileToEgg().

bool ProgramBase::remove_option const string &  option  )  [protected, inherited]
 

Removes a previously-defined option.

Returns true if the option was removed, false if it hadn't existed.

Definition at line 746 of file programBase.cxx.

void MayaCopy::run void   ) 
 

Definition at line 80 of file mayaCopy.cxx.

References CVSCopy::_model_dir, CVSCopy::_source_files, FT_maya, nout, and NULL.

void ProgramBase::set_program_description const string &  description  )  [protected, inherited]
 

Sets the description of the program that will be reported by show_usage().

The description should be one long string of text. Embedded newline characters are interpreted as paragraph breaks and printed as blank lines.

Definition at line 508 of file programBase.cxx.

Referenced by BamToEgg::BamToEgg(), EggTrans::EggTrans(), FltToEgg::FltToEgg(), FltTrans::FltTrans(), LwoToEgg::LwoToEgg(), and XFileToEgg::XFileToEgg().

void ProgramBase::show_description  )  [inherited]
 

Writes the program description to stderr.

Definition at line 153 of file programBase.cxx.

References ProgramBase::_program_name, ProgramBase::_runlines, Filename::get_basename_wo_extension(), nout, and ProgramBase::show_text().

Referenced by ProgramBase::dispatch_color().

void ProgramBase::show_options  )  [inherited]
 

Describes each of the available options to stderr.

Definition at line 186 of file programBase.cxx.

References ProgramBase::_last_newline, ProgramBase::_terminal_width, ProgramBase::format_text(), and ProgramBase::get_terminal_width().

Referenced by ProgramBase::dispatch_color().

void ProgramBase::show_text const string &  prefix,
int  indent_width,
string  text
[inherited]
 

Formats the indicated text and its prefix for output to stderr with the known _terminal_width.

Definition at line 214 of file programBase.cxx.

References ProgramBase::_program_args, ProgramBase::_program_name, argv, Filename::from_os_specific(), long_options, and options.

void ProgramBase::show_text const string &  text  )  [inline, inherited]
 

Formats the indicated text to stderr with the known _terminal_width.

Definition at line 34 of file programBase.I.

Referenced by ProgramBase::show_description(), ProgramBase::show_usage(), and WordWrapStreamBuf::write_chars().

void ProgramBase::show_usage  )  [inherited]
 

Writes the usage line(s) to stderr.

Definition at line 166 of file programBase.cxx.

References ProgramBase::Option::_description, ProgramBase::_got_option_indent, ProgramBase::Option::_option, ProgramBase::_option_indent, ProgramBase::_options_by_index, ProgramBase::Option::_parm_name, ProgramBase::_terminal_width, ProgramBase::get_terminal_width(), nout, ProgramBase::show_text(), and ProgramBase::sort_options().

Referenced by ProgramBase::dispatch_color().

bool CVSCopy::verify_binary_file Filename  source,
Filename  dest
[protected, inherited]
 

Verifies that the file is identical and does not need to be recopied.

Returns true if the files are identical, false if they differ.

Definition at line 334 of file cvsCopy.cxx.

References nout.

bool CVSCopy::verify_file const Filename source,
const Filename dest,
CVSSourceDirectory dest_dir,
void *  extra_data
[protected, virtual, inherited]
 

Verifies that the file is identical and does not need to be recopied.

Returns true if the files are identical, false if they differ.

Definition at line 316 of file cvsCopy.cxx.


Member Data Documentation

CopiedFiles CVSCopy::_copied_files [protected, inherited]
 

Definition at line 101 of file cvsCopy.h.

string CVSCopy::_cvs_binary [protected, inherited]
 

Definition at line 90 of file cvsCopy.h.

bool CVSCopy::_force [protected, inherited]
 

Definition at line 80 of file cvsCopy.h.

bool CVSCopy::_got_map_dirname [protected, inherited]
 

Definition at line 84 of file cvsCopy.h.

bool CVSCopy::_got_model_dirname [protected, inherited]
 

Definition at line 82 of file cvsCopy.h.

bool ProgramBase::_got_path_directory [protected, inherited]
 

Definition at line 125 of file programBase.h.

Referenced by ProgramBase::add_option(), and EggWriter::post_process_egg_file().

bool ProgramBase::_got_path_store [protected, inherited]
 

Definition at line 124 of file programBase.h.

Referenced by ProgramBase::add_option().

bool CVSCopy::_got_root_dirname [protected, inherited]
 

Definition at line 86 of file cvsCopy.h.

bool CVSCopy::_interactive [protected, inherited]
 

Definition at line 81 of file cvsCopy.h.

bool MayaCopy::_keep_ver [private]
 

Definition at line 81 of file mayaCopy.h.

Filename CVSCopy::_key_filename [protected, inherited]
 

Definition at line 88 of file cvsCopy.h.

CVSSourceDirectory* CVSCopy::_map_dir [protected, inherited]
 

Definition at line 98 of file cvsCopy.h.

Referenced by CVSCopy::handle_args().

Filename CVSCopy::_map_dirname [protected, inherited]
 

Definition at line 85 of file cvsCopy.h.

Referenced by CVSCopy::handle_args().

PointerTo< MayaApi > MayaCopy::_maya [private]
 

Definition at line 83 of file mayaCopy.h.

CVSSourceDirectory* CVSCopy::_model_dir [protected, inherited]
 

Definition at line 97 of file cvsCopy.h.

Referenced by run().

Filename CVSCopy::_model_dirname [protected, inherited]
 

Definition at line 83 of file cvsCopy.h.

bool CVSCopy::_no_cvs [protected, inherited]
 

Definition at line 89 of file cvsCopy.h.

PointerTo< PathReplace > ProgramBase::_path_replace [protected, inherited]
 

Definition at line 123 of file programBase.h.

Referenced by ProgramBase::add_option(), and EggWriter::post_process_egg_file().

Args ProgramBase::_program_args [inherited]
 

Definition at line 68 of file programBase.h.

Referenced by ProgramBase::show_text().

Filename ProgramBase::_program_name [inherited]
 

Definition at line 67 of file programBase.h.

Referenced by ProgramBase::show_description(), and ProgramBase::show_text().

Filename CVSCopy::_root_dirname [protected, inherited]
 

Definition at line 87 of file cvsCopy.h.

MayaShaders MayaCopy::_shaders [private]
 

Definition at line 84 of file mayaCopy.h.

Referenced by collect_shaders().

SourceFiles CVSCopy::_source_files [protected, inherited]
 

Definition at line 94 of file cvsCopy.h.

Referenced by CVSCopy::continue_after_error(), and run().

CVSSourceTree CVSCopy::_tree [protected, inherited]
 

Definition at line 96 of file cvsCopy.h.

Referenced by CVSCopy::handle_args(), and CVSCopy::protect_from_shell().

bool CVSCopy::_user_aborted [protected, inherited]
 

Definition at line 91 of file cvsCopy.h.


The documentation for this class was generated from the following files:
Generated on Fri May 2 03:27:38 2003 for Panda-Tool by doxygen1.3