00001
00002 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00003 #pragma implementation
00004 #endif
00005
00006 #include "ImageSequenceName.h"
00007
00008 #include <vcl_iostream.h>
00009
00010 ImageSequenceName::ImageSequenceName(char const* s,
00011 char const* read_or_write,
00012 char const* default_extension):
00013 SequenceFileName(s, read_or_write)
00014 {
00015 init(read_or_write, default_extension);
00016 }
00017
00018 ImageSequenceName::ImageSequenceName(char const* s, int start_frame, int step,
00019 char const* read_or_write,
00020 char const* default_extension):
00021 SequenceFileName(s, start_frame, step, read_or_write)
00022 {
00023 init(read_or_write, default_extension);
00024 }
00025
00026 void ImageSequenceName::init(char const* read_or_write, char const* default_extension)
00027 {
00028
00029 if (read_or_write[0] == 'r') {
00030 if (!ext_.length()) {
00031 vcl_cerr << "ImageSequenceName: Searching for extension\n";
00032 static char const * extensions[] = {
00033 "",
00034 "",
00035 ".png",
00036 ".ppm",
00037 ".tif",
00038 ".jpg",
00039 ".rgb",
00040
00041 ".pgm",
00042 ".mit",
00043 0
00044 };
00045 ok_ = false;
00046 if (default_extension)
00047 extensions[0] = default_extension;
00048 for (char const* const* p = extensions; *p; ++p)
00049 if (exists(fmt_, *p, get_start_frame())) {
00050 ok_ = true;
00051 ext_ = *p;
00052 break;
00053 }
00054 }
00055 }
00056 }